L'essentiel
Apache Cordova est en fin de vie de fait en 2026. PhoneGap a été arrêté par Adobe en 2020. Cordova reçoit des mises à jour minimales de sécurité, mais la majorité des plugins communautaires ne sont plus maintenus. Les applications Cordova en production accumulent une dette technique critique : failles de sécurité non patchées, incompatibilités avec les dernières versions d'iOS et Android, performances dégradées dans une WebView de plus en plus contrainte.
Flutter est notre cible de migration recommandée pour remplacer Cordova. Le passage d'une architecture WebView (HTML/CSS/JS dans un conteneur natif) à une architecture compilée nativement (Dart compilé en ARM) apporte des gains de performance de 300 à 500 % sur les interactions utilisateur et un accès direct aux API natives sans couche intermédiaire.
La migration n'est pas un portage ligne à ligne. C'est une réécriture architecturale qui réutilise la logique métier backend (API REST/GraphQL), les assets design et les spécifications fonctionnelles de l'application Cordova existante. Le coût représente 60 à 80 % du budget d'un développement from scratch, avec un ROI positif dès la deuxième année grâce à la réduction des coûts de maintenance.
Chez Nehos, nous avons migré 6 applications Cordova vers Flutter entre 2024 et 2026. La durée moyenne de migration est de 10 à 16 semaines pour une application de 15 à 30 écrans.
Migrer de Cordova vers Flutter : retour d'expérience complet
Cordova et PhoneGap sont en fin de vie de fait. Failles de sécurité non corrigées, plugins abandonnés, performances WebView limitées. Voici notre méthodologie de migration progressive vers Flutter, testée sur 6 projets clients chez Nehos.
Adapté à toute taille de structure
Si votre application mobile repose encore sur Apache Cordova ou PhoneGap en 2026, vous accumulez une dette technique qui devient dangereuse. Plugins abandonnés, failles de sécurité non corrigées, performances WebView bridées, incompatibilités croissantes avec les dernières versions d'iOS et Android : le maintien en condition opérationnelle coûte de plus en plus cher pour un résultat de moins en moins satisfaisant. Voici notre retour d'expérience sur 6 migrations Cordova vers Flutter réalisées chez Nehos.
#Pourquoi Cordova est en fin de vie en 2026
Apache Cordova n'est pas officiellement abandonné. Le projet Apache publie encore des correctifs de sécurité ponctuels. Mais dans les faits, l'écosystème est moribond.
Les signaux d'alerte :
Plugins abandonnés. Sur les 2 800 plugins Cordova répertoriés sur npm, moins de 15 % ont reçu une mise à jour en 2025. Les plugins critiques pour le B2B sont les plus touchés : cordova-plugin-camera n'a pas été mis à jour pour iOS 18, cordova-plugin-inappbrowser a des failles XSS documentées non corrigées, cordova-plugin-file ne supporte pas le sandboxing renforcé d'Android 14+.
Incompatibilités système. iOS 18 et Android 15 ont renforcé les restrictions sur les WebView : limitations des cookies tiers, politique de permission plus stricte, sandboxing réseau renforcé. Ces changements cassent régulièrement des fonctionnalités dans les applications Cordova sans que les plugins soient mis à jour pour s'adapter.
Performances structurellement limitées. Une application Cordova exécute du HTML/CSS/JavaScript dans une WebView système. Les performances sont celles d'un site web mobile, pas d'une application native. Sur un Samsung Galaxy A55, nos mesures montrent 22 à 28 fps sur des transitions de page Cordova, contre 58 fps en Flutter. L'écart est visible et ressenti par les utilisateurs.
Absence de support officiel. Adobe a arrêté PhoneGap en octobre 2020. Ionic, qui utilisait Cordova comme runtime, a migré vers Capacitor. La communauté Cordova sur Stack Overflow a vu ses questions baisser de 78 % entre 2020 et 2025.
#Pourquoi Flutter plutôt que React Native pour remplacer Cordova
Les deux frameworks sont techniquement viables pour remplacer Cordova. Notre choix se porte sur Flutter pour les migrations Cordova pour trois raisons spécifiques.
Première raison : la parité UI. Les applications Cordova ont un rendu identique sur iOS et Android car elles utilisent du HTML/CSS. Les utilisateurs sont habitués à une interface uniforme. Flutter reproduit cette uniformité (un seul rendu pixel-perfect sur toutes les plateformes) contrairement à React Native qui utilise les composants natifs de chaque système et peut créer des différences visuelles perturbantes pour les utilisateurs habitués à l'ancienne app Cordova.
Deuxième raison : les performances. Flutter compile en code ARM natif (AOT). Le gain de performance par rapport à une WebView Cordova est spectaculaire : 300 à 500 % d'amélioration sur les interactions utilisateur, 200 % sur le temps de démarrage. React Native offre aussi un gain majeur, mais Flutter est légèrement supérieur sur les animations et le rendu de listes longues.
Troisième raison : la courbe de migration pour l'équipe. Les développeurs Cordova maîtrisent HTML/CSS/JavaScript. Ni Dart (Flutter) ni JSX (React Native) ne leur sont familiers. La courbe d'apprentissage est similaire dans les deux cas (6 à 10 semaines). Cependant, le modèle de widgets déclaratifs de Flutter est plus structurant et évite les mauvaises pratiques architecturales fréquentes dans les projets Cordova (code spaghetti, absence de séparation des concerns).
→ Vous évaluez vos options ? Utilisez notre estimateur de budget en ligne pour obtenir une fourchette en 2 minutes, ou consultez nos tarifs détaillés.
#Notre méthodologie de migration en 5 phases
#Phase 1 : Audit de l'application Cordova existante (1 semaine)
Avant de migrer, nous réalisons un audit complet de l'application Cordova existante :
- Inventaire des écrans et flux utilisateur (capture d'écran + documentation)
- Liste des plugins Cordova utilisés avec leur version et leur statut de maintenance
- Analyse du code JavaScript : volume, complexité cyclomatique, couverture de tests
- Identification des appels API backend : endpoints, formats de données, authentification
- Mesure des performances actuelles : temps de démarrage, FPS, taille du bundle
- Revue de sécurité : dépendances vulnérables, stockage de données sensibles
Cet audit produit un rapport de migration avec une estimation de charge précise et une liste des risques identifiés.
#Phase 2 : Architecture Flutter et équivalences plugins (1-2 semaines)
Nous concevons l'architecture Flutter en mappant chaque plugin Cordova vers son équivalent Flutter. Voici les équivalences les plus courantes :
| Plugin Cordova | Package Flutter | Notes |
|---|---|---|
| cordova-plugin-camera | camera / image_picker | Plus performant, accès galerie natif |
| cordova-plugin-geolocation | geolocator | Géofencing inclus |
| cordova-plugin-file | path_provider + dart:io | Sandboxing natif |
| cordova-plugin-inappbrowser | url_launcher / webview_flutter | Sécurité renforcée |
| cordova-plugin-network-information | connectivity_plus | Stream réactif |
| cordova-plugin-device | device_info_plus | Plus de métadonnées |
| cordova-plugin-statusbar | flutter_statusbar_manager | Intégré au framework |
| cordova-plugin-splashscreen | flutter_native_splash | Généré au build |
| cordova-plugin-push | firebase_messaging | FCM natif |
| cordova-plugin-sqlite-storage | sqflite / drift | ORM typé disponible |
| cordova-plugin-secure-storage | flutter_secure_storage | Keychain iOS + Keystore Android |
| cordova-plugin-barcodescanner | mobile_scanner | ML Kit intégré |
Sur les 6 migrations réalisées, 94 % des plugins Cordova avaient un équivalent Flutter mature. Les 6 % restants ont nécessité le développement de platform channels custom (en moyenne 2 à 4 jours de travail).
#Phase 3 : Développement Flutter par modules (6-10 semaines)
Nous ne migrons pas l'application d'un bloc. La migration est modulaire : chaque module fonctionnel (authentification, liste/détail, formulaires, notifications, paramètres) est développé, testé et validé indépendamment.
L'ordre de migration suit une logique de priorité business :
- Authentification et navigation principale (semaines 1-2)
- Écrans critiques à forte valeur métier (semaines 3-5)
- Écrans secondaires et fonctionnalités périphériques (semaines 6-8)
- Mode offline et synchronisation (semaines 8-10, si applicable)
Le backend API ne change pas. Les appels REST ou GraphQL sont identiques : seul le client mobile change. Cela réduit considérablement le risque de la migration.
#Phase 4 : Tests comparatifs et recette (2 semaines)
Avant la mise en production, nous réalisons des tests comparatifs entre l'ancienne application Cordova et la nouvelle application Flutter :
- Tests fonctionnels : chaque parcours utilisateur est vérifié sur les deux applications
- Tests de performance : mesure des améliorations de FPS, temps de démarrage, consommation mémoire
- Tests de régression : vérification que toutes les fonctionnalités de l'ancienne app sont présentes
- Tests d'accessibilité : conformité RGAA sur la nouvelle interface
- Beta testing : déploiement via TestFlight (iOS) et Google Play Console beta (Android) auprès d'un panel d'utilisateurs
#Phase 5 : Déploiement et transition (1 semaine)
Le déploiement suit une stratégie de transition douce :
- Publication de la nouvelle app Flutter sur les stores avec mise à jour forcée via Remote Config
- Communication utilisateurs : notification in-app dans l'ancienne version Cordova avec lien vers la mise à jour
- Support renforcé pendant les 2 premières semaines post-migration
- Retrait de l'ancienne application Cordova des stores après 30 jours de coexistence
#Retour d'expérience : migration d'une app de gestion d'interventions
Un de nos clients, une entreprise de services techniques de 450 collaborateurs en Occitanie, utilisait une application Cordova depuis 2019 pour la gestion des interventions terrain. L'application comptait 22 écrans : planning, fiche intervention, photos, signature client, géolocalisation et mode offline.
Problèmes de l'application Cordova :
- Temps de démarrage : 4,2 secondes sur les smartphones Android du parc (Samsung Galaxy A32)
- Freeze de 2 à 3 secondes lors de l'ajout de photos (compression JavaScript dans la WebView)
- Mode offline instable : pertes de données lors de la synchronisation dans 8 % des cas
- 3 failles de sécurité critiques identifiées dans les plugins non maintenus
- Coût de maintenance : 18 000 euros par an pour corriger les incompatibilités système
Résultats après migration Flutter (12 semaines de développement, budget 62 000 euros) :
- Temps de démarrage : 1,1 seconde (réduction de 74 %)
- Ajout de photos : instantané (compression native Dart via isolate)
- Mode offline : zéro perte de données en 10 mois de production (architecture Drift + queue de synchronisation)
- Zéro faille de sécurité identifiée en audit post-migration
- Coût de maintenance réduit à 8 000 euros par an (réduction de 56 %)
- Satisfaction utilisateurs : NPS passé de 32 à 71 après migration
Le ROI de la migration a été atteint en 14 mois grâce aux économies de maintenance et à la réduction du temps d'intervention terrain (les techniciens gagnent 12 minutes par intervention grâce à la fluidité de l'application).
#Coûts de migration Cordova vers Flutter
| Taille de l'app Cordova | Nombre d'écrans | Durée migration | Budget estimé |
|---|---|---|---|
| Petite | 5-10 écrans | 6-8 semaines | à partir de 1 177 € |
| Moyenne | 15-25 écrans | 10-14 semaines | 2 12 800 € |
| Grande | 30-50 écrans | 16-24 semaines | à partir de 1 842 € |
| Complexe (offline, temps réel) | 30+ écrans + offline | 20-30 semaines | 18 3 840 € |
Ces budgets incluent l'audit initial, le développement Flutter, les tests comparatifs, le déploiement et 3 mois de support post-migration. Ils ne incluent pas les éventuelles modifications du backend API.
Pour un chiffrage précis de votre migration, consultez notre guide combien coûte une application mobile sur mesure en 2026 ou contactez directement notre équipe via notre page développement d'applications mobiles.
Découvrez aussi notre comparatif Flutter vs React Native 2026 pour comprendre pourquoi Flutter est notre choix privilégié pour les migrations Cordova. Pour l'ensemble de nos expertises techniques, consultez nos services de développement et nos solutions d'agents IA pour enrichir vos applications avec de l'intelligence artificielle.