Le développement d'une application qui recueille des renseignements personnels doit tenir compte de l'article 3.3 de la Loi sur la protection des renseignements personnels dans le secteur privé, qui exige une évaluation des facteurs relatifs à la vie privée pour « tout projet d'acquisition, de développement et de refonte de système d'information ou de prestation électronique de services » impliquant de tels renseignements. Côté sécurité, l'OWASP propose le MASVS (en anglais), une norme de vérification de la sécurité des applications mobiles.
Réponse courte
Vous décrivez votre idée, vos utilisateurs et les fonctions essentielles : votre demande est analysée par l'équipe Courtier TI puis confiée à l'entreprise de services TI qui préparera votre soumission. L'approche technique, les étapes et le calendrier sont établis avec vous.
Ce que la soumission devrait couvrir
- L'atelier de définition des besoins et la liste des fonctions de la première version
- L'approche technique : native ou multiplateforme, et ses raisons
- Les maquettes et le parcours des utilisateurs
- Le serveur, les API et l'hébergement des données
- Les tests sur différents appareils et la sécurité visée
- La publication dans l'App Store et Google Play, et les comptes de développeur
- La maintenance après le lancement : mises à jour du système, correctifs, évolutions
Les étapes d'un projet d'application mobile
- Définition des utilisateurs, des besoins et des fonctions prioritaires
- Maquettes et prototype pour valider le parcours
- Choix de l'approche technique et de l'hébergement des données
- Développement par étapes, avec des tests réguliers
- Publication dans les magasins d'applications
- Suivi, correctifs et versions suivantes
Native ou multiplateforme
Une application native est développée séparément pour iOS et pour Android, par exemple en Swift et en Kotlin. Une approche multiplateforme, par exemple avec Flutter ou React Native, permet de partager une grande partie du code entre les deux. Ces technologies ne sont que des exemples : le bon choix dépend des fonctions voulues, de l'accès aux fonctions de l'appareil, de votre budget et de qui maintiendra l'application.
Une première version limitée aux fonctions essentielles, souvent appelée produit minimum viable, permet de tester l'idée auprès de vrais utilisateurs avant d'investir dans la suite. Le calendrier dépend du périmètre retenu et est à établir avec vous : méfiez-vous d'une durée annoncée avant la définition des fonctions.
Publication dans les magasins
Les magasins ont leurs propres règles. Les directives d'examen de l'App Store (en anglais) exigent que toutes les applications incluent un lien vers leur politique de confidentialité dans les métadonnées et dans l'application (5.1.1 i). Elles exigent aussi qu'une application qui permet de créer un compte offre la suppression du compte dans l'application (5.1.1 v). Google Play exige de même qu'une application qui permet de créer un compte permette de demander la suppression du compte (en anglais).
Faites préciser au nom de qui seront ouverts les comptes de développeur Apple et Google : idéalement au nom de votre entreprise, pour que vous gardiez le contrôle de l'application si vous changez de fournisseur. Exigez aussi l'accès au code source.
Données personnelles et sécurité
Si l'application utilise la localisation ou d'autres fonctions qui permettent d'identifier, de localiser ou de profiler une personne, l'article 8.1 de la Loi exige d'en informer la personne au préalable, ainsi que des moyens offerts pour activer ces fonctions. L'article 9.1 exige que, par défaut, les paramètres de confidentialité d'un produit technologique offert au public assurent « le plus haut niveau de confidentialité », sans intervention de la personne. Si les données sont hébergées à l'extérieur du Québec, l'article 17 exige une évaluation et une entente écrite.
Le MASVS regroupe ses contrôles par domaine : stockage des données sensibles sur l'appareil, cryptographie, authentification et autorisation, communications réseau, interaction avec la plateforme, qualité du code et mises à jour, résistance à la rétro-ingénierie et protection de la vie privée. Indiquez dans votre demande s'il doit servir de référence, et prévoyez un test d'intrusion si l'application traite des données sensibles. En cas d'incident, la page Réponse aux incidents décrit les obligations à prévoir.
Maintenance après le lancement
Une application n'est jamais terminée : les systèmes iOS et Android évoluent, et les magasins imposent leurs exigences. Par exemple, Google Play fixe des exigences liées au niveau d'API cible : les nouvelles applications et les mises à jour doivent cibler une version récente d'Android, et une application existante qui ne suit pas cesse d'être proposée aux utilisateurs d'appareils plus récents.
La soumission devrait donc séparer le coût du développement initial de celui de la maintenance, et préciser ce qui est inclus : mises à jour pour les nouvelles versions des systèmes, correctifs de sécurité, surveillance des erreurs, petites évolutions, renouvellement des comptes de développeur.
Questions à vous poser avant de demander une soumission
- Qui utilisera l'application : vos clients, vos employés, les deux ?
- Quelles fonctions sont indispensables dans la première version ?
- L'application doit-elle fonctionner sans connexion Internet ?
- Quels renseignements personnels recueillera-t-elle, et pourquoi ?
- Doit-elle échanger des données avec vos logiciels actuels ?
- Qui maintiendra l'application après son lancement ?
Pièges à éviter
- Vouloir toutes les fonctions dans la première version
- Des comptes de développeur ouverts au nom du fournisseur
- Oublier la suppression de compte exigée par les magasins
- Recueillir la localisation ou d'autres données sans en informer l'utilisateur
- Une soumission sans volet maintenance
- Une durée de projet promise avant la définition des fonctions
Ce qu'il faut préciser dans votre demande
- L'objectif de l'application et ses utilisateurs
- Les fonctions essentielles et celles qui peuvent attendre
- Les plateformes visées : iOS, Android ou les deux
- Les logiciels ou services avec lesquels elle doit communiquer
- Les données personnelles prévues
- Votre budget approximatif et vos contraintes de date, s'il y en a
Vous pouvez ensuite décrire votre projet : l'équipe communique avec vous pour préciser votre besoin et vous remettre une soumission.
Questions fréquentes
Faut-il développer pour iOS et Android ?
Cela dépend de vos utilisateurs. Une approche multiplateforme, par exemple avec Flutter ou React Native, permet de couvrir les deux avec une grande partie du code en commun. Une application native peut se justifier pour des fonctions avancées de l'appareil.
Combien de temps faut-il pour créer une application ?
Cela dépend des fonctions, des intégrations, du nombre de plateformes et de la disponibilité de votre équipe pour valider les étapes. Le calendrier est établi avec vous après la définition des fonctions de la première version.
Faut-il une politique de confidentialité ?
Oui. Les directives de l'App Store exigent un lien vers la politique de confidentialité dans les métadonnées et dans l'application, et la Loi exige de publier une politique de confidentialité lorsque des renseignements personnels sont recueillis par un moyen technologique (art. 8.2).
Qui est propriétaire de l'application ?
Cela dépend du contrat. Exigez la propriété ou un accès complet au code source, et des comptes de développeur Apple et Google ouverts au nom de votre entreprise.
Qu'est-ce que l'OWASP MASVS ?
C'est une norme publiée par l'OWASP pour vérifier la sécurité des applications mobiles. Elle regroupe des contrôles sur le stockage, la cryptographie, l'authentification, le réseau, la plateforme, le code, la résilience et la vie privée. Elle peut servir de référence dans votre demande.