Reprise d'un projet Flutter existant, refonte des fonctionnalités et renforcement de la protection des données pour une app utilisée par plus de 10 000 personnes.
Protected est une application mobile dédiée à la protection de la vie privée sur internet. Quand le projet nous a été confié, l'app existait déjà et comptait une base d'utilisateurs active. Le défi n'était pas de partir d'une page blanche : c'était de reprendre un code existant, le moderniser, faire évoluer les fonctionnalités et renforcer la couche de protection des données, sans casser l'expérience des utilisateurs déjà installés.
Le contexte du projet
Protected adresse une problématique simple à énoncer, complexe à bien résoudre : permettre à un utilisateur de maîtriser ce que les services numériques savent de lui et de limiter les fuites de données personnelles. L'application avait été développée par une précédente équipe technique, puis laissée sans évolution majeure pendant plusieurs mois. Le client voulait reprendre la main sur son produit : corriger les bugs accumulés, ajouter les fonctionnalités demandées par sa communauté et surtout remettre à niveau la partie la plus sensible du produit, le traitement des données utilisateurs.
Notre mission a démarré par un audit technique complet du code existant : dépendances Flutter obsolètes, architecture à clarifier, points de friction dans les parcours utilisateurs, zones à risque côté sécurité. De cet audit est sortie une feuille de route claire, priorisée par impact utilisateur et niveau de risque.
Le défi : reprendre sans casser
Reprendre un projet existant est souvent plus exigeant que repartir de zéro. Chaque ligne de code a une raison d'être, parfois documentée, souvent pas. Sur Protected, les contraintes étaient précises :
- Ne pas perdre d'utilisateurs : la base installée devait continuer à fonctionner pendant et après la montée de version, sans déconnexion ni perte de données locales.
- Garder la compatibilité avec les anciens formats : certaines données étaient stockées localement selon un schéma hérité. Il fallait assurer la migration sans friction au premier lancement après mise à jour.
- Durcir la sécurité sans sacrifier l'ergonomie : dans une app de protection de la vie privée, la moindre erreur de conception trahit la promesse du produit.
- Maintenir la publication sur les stores : chaque mise à jour devait passer la review Apple et Google sans interruption du service.
La solution technique
Audit et remise à niveau du socle Flutter
Première étape : remettre le projet sur les rails techniques actuels. Montée de version du SDK Flutter, mise à jour des dépendances critiques, suppression des packages abandonnés par leurs mainteneurs, remplacement par des équivalents maintenus. Ce travail de fond n'est jamais visible pour l'utilisateur, mais il conditionne toute la suite : on ne construit pas proprement sur un socle fragile.
En parallèle, on a clarifié l'architecture interne. Séparation nette entre la couche métier, la couche de données et la présentation. Extraction des services sensibles (stockage sécurisé, gestion des permissions, chiffrement local) dans des modules dédiés, testables et auditables indépendamment.
Renforcement de la protection des données
C'est le cœur du produit. Sur une app dont la promesse est la confidentialité, chaque détail compte.
Stockage local chiffré
Les données sensibles sont stockées via le keystore natif (iOS Keychain et Android Keystore), pas en clair dans des préférences partagées.
Minimisation des permissions
Revue de chaque permission demandée à l'utilisateur. Toute permission non strictement nécessaire à la fonctionnalité a été retirée.
Consentement granulaire
L'utilisateur choisit précisément ce qu'il partage, avec la possibilité de revenir en arrière à tout moment depuis les paramètres.
Transparence sur les traitements
Chaque écran sensible explique ce qui est stocké, où, et pour combien de temps. La politique de confidentialité est accessible depuis l'app.
Évolution des fonctionnalités
Au-delà du durcissement technique, le client avait une liste de fonctionnalités attendues par sa communauté. On a priorisé celles qui répondaient à de vrais usages observés dans les retours utilisateurs, plutôt que de tout construire d'un coup. Les évolutions ont été livrées par vagues de 2 à 3 semaines, chacune mesurée après déploiement pour vérifier son impact.
Les résultats
Après plusieurs cycles de mises à jour, Protected est redevenue une application vivante, à jour et fiable. Les indicateurs clés :
- +10 000 utilisateurs actifs continuent d'utiliser l'application au quotidien.
- Stabilité nettement améliorée grâce à la remise à niveau des dépendances et à la refonte des parties les plus fragiles.
- Conformité renforcée sur la partie données personnelles, avec des parcours de consentement plus clairs et un stockage local durci.
- Cycle de publication stabilisé sur l'App Store et le Play Store, sans rejet lors des reviews.
Ce qu'on retient de ce projet
Reprendre un projet Flutter existant demande une posture différente de la création from scratch. On hérite de choix qui ne sont pas les nôtres, de compromis dont on ne connaît pas toujours la raison, et d'une base utilisateurs qu'on ne peut pas se permettre de perdre. La règle d'or : comprendre avant de réécrire, documenter ce qu'on touche, et livrer par petits lots mesurables.
Sur Protected, ce sont aussi les contraintes métier qui ont guidé les décisions techniques. Une app de protection de la vie privée n'a pas le droit à l'à-peu-près sur le traitement des données. Chaque choix (stockage, permissions, consentement, logs) a été pensé pour que la promesse du produit soit tenue dans le code, pas seulement dans la communication.
Tu as un projet d'application mobile ?
Échange avec moi gratuitement pour évaluer ton projet, obtenir une estimation réaliste et définir un plan d'action concret.
✓ Gratuit · ✓ Sans engagement · ✓ Réponse sous 24h



