Nehos Groupe
Un technicien relève des mesures avec une perche équipée d'une tablette, au bord d'une tranchée près d'un champ
Photo : Michael Singer · Pexels

Migrer de Cordova vers Flutter : méthode complète et exemple de situation

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.

Nos clients types

Scale-up
PME
ETI
Grand Groupe

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 sensibles 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 est inférieur à celui d'un développement from scratch, et le retour se mesure sur la réduction des coûts de maintenance.

Chez Nehos, nous menons ce type de migration de manière progressive. La durée dépend du nombre d'écrans et de la complexité (mode offline, intégrations) ; elle est estimée après audit.

S
Souhail Tourjmen
··8 min de lecture·mobile

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 méthode de migration de Cordova vers Flutter, illustrée par un exemple de situation.

#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. Une grande partie des plugins Cordova répertoriés sur npm n'ont reçu aucune mise à jour récente. 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 smartphone Android d'entrée de gamme, l'écart de fluidité sur les transitions de page entre Cordova et Flutter est visible et ressenti par les utilisateurs ; il se mesure sur votre propre parc d'appareils.

Absence de support officiel. Adobe a arrêté PhoneGap en octobre 2020. Ionic, qui utilisait Cordova comme runtime, a migré vers Capacitor. L'activité de la communauté Cordova a nettement baissé depuis 2020.

#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.

Des mains sombres tiennent un smartphone à l'horizontale, écran blanc, sur fond flou

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 important sur les interactions utilisateur et 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. 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 CordovaPackage FlutterNotes
cordova-plugin-cameracamera / image_pickerPlus performant, accès galerie natif
cordova-plugin-geolocationgeolocatorGéofencing inclus
cordova-plugin-filepath_provider + dart:ioSandboxing natif
cordova-plugin-inappbrowserurl_launcher / webview_flutterSécurité renforcée
cordova-plugin-network-informationconnectivity_plusStream réactif
cordova-plugin-devicedevice_info_plusPlus de métadonnées
cordova-plugin-statusbarflutter_statusbar_managerIntégré au framework
cordova-plugin-splashscreenflutter_native_splashGénéré au build
cordova-plugin-pushfirebase_messagingFCM natif
cordova-plugin-sqlite-storagesqflite / driftORM typé disponible
cordova-plugin-secure-storageflutter_secure_storageKeychain iOS + Keystore Android
cordova-plugin-barcodescannermobile_scannerML Kit intégré

Les plugins Cordova ont presque toujours un équivalent Flutter mature. Pour les rares cas sans équivalent, on développe des platform channels custom (quelques 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 :

  1. Authentification et navigation principale (semaines 1-2)
  2. Écrans critiques à forte valeur métier (semaines 3-5)
  3. Écrans secondaires et fonctionnalités périphériques (semaines 6-8)
  4. 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

#Exemple de situation : migration d'une app de gestion d'interventions

Exemple construit pour illustrer la démarche, ce n'est pas un projet client. Imaginons une entreprise de services techniques qui utilise une application Cordova depuis plusieurs années pour la gestion des interventions terrain. L'application compte une vingtaine d'écrans : planning, fiche intervention, photos, signature client, géolocalisation et mode offline.

Un homme en sweat noir consulte une tablette dans un atelier de mécanique, près d'un escalier en colimaçon

Problèmes typiques de l'application Cordova :

  • Temps de démarrage long sur les smartphones Android du parc
  • Freeze de plusieurs secondes lors de l'ajout de photos (compression JavaScript dans la WebView)
  • Mode offline instable : pertes de données lors de la synchronisation
  • Failles de sécurité identifiées dans les plugins non maintenus
  • Coût de maintenance élevé pour corriger les incompatibilités système

Ce que la migration Flutter vise à corriger, et les indicateurs à suivre :

  • Temps de démarrage, mesuré avant et après sur les mêmes smartphones
  • Ajout de photos : compression native Dart via isolate
  • Mode offline : architecture Drift + queue de synchronisation, avec suivi des pertes de données
  • Failles de sécurité : audit post-migration
  • Coût de maintenance annuel
  • Satisfaction des utilisateurs (NPS)

Le retour de la migration se calcule à partir des économies de maintenance et de la réduction du temps d'intervention terrain, grâce à la fluidité de l'application.

#Coûts de migration Cordova vers Flutter

Taille de l'app CordovaNombre d'écransDurée migration indicativeBudget
Petite5-10 écrans6-8 semainesSur devis
Moyenne15-25 écrans10-14 semainesSur devis
Grande30-50 écrans16-24 semainesSur devis
Complexe (offline, temps réel)30+ écrans + offline20-30 semainesSur devis

Les durées sont indicatives. Le budget est chiffré sur devis, en 48 h après un premier échange, et inclut l'audit initial, le développement Flutter, les tests comparatifs, le déploiement et un support post-migration. Il n'inclut 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.

Photos : Tima Miroshnichenko, Andrea Piacquadio sur Pexels.

Questions & réponses

Questions fréquentes sur la migration Cordova vers Flutter

La durée dépend de la taille et de la complexité de l'application. Pour une application de 5 à 10 écrans sans mode offline, comptez 6 à 8 semaines. Pour une application de 15 à 25 écrans avec fonctionnalités standard (géolocalisation, photos, notifications), comptez 10 à 14 semaines. Pour une application complexe avec mode offline, synchronisation et intégrations tierces, comptez 16 à 24 semaines. Ces durées incluent l'audit initial, le développement, les tests comparatifs et le déploiement.

Non, dans la grande majorité des cas. Le backend API (REST ou GraphQL) reste identique. Seul le client mobile change. C'est l'un des avantages majeurs de cette migration : le risque est limité au frontend mobile. Cependant, nous recommandons de profiter de la migration pour auditer la sécurité de l'API existante et mettre à jour les versions des dépendances serveur si elles sont obsolètes. Il arrive que nous recommandions des ajustements mineurs de l'API pour optimiser les performances mobiles.

Non, le code JavaScript de l'application Cordova ne peut pas être réutilisé directement en Flutter car Flutter utilise le langage Dart. La migration est une réécriture du frontend mobile. En revanche, plusieurs éléments sont réutilisables : les spécifications fonctionnelles, les parcours utilisateur, les assets graphiques (icônes, images, logos), les appels API (endpoints, formats de données) et la logique métier documentée. C'est pourquoi le coût de migration est inférieur à celui d'un développement from scratch.

Oui, c'est notre stratégie de déploiement recommandée. Nous publions la nouvelle application Flutter sur les stores comme une mise à jour de l'application existante (même identifiant de bundle). Les utilisateurs reçoivent la mise à jour automatiquement ou via une notification. L'ancienne version Cordova reste fonctionnelle pendant 30 jours pour les utilisateurs qui n'auraient pas mis à jour. Les données utilisateur sont migrées automatiquement côté backend car l'API est la même.

Parlons de votre projet

Un devis chiffré, sans engagement

Décrivez votre besoin en deux minutes : un consultant senior vous répond avec une première estimation et les prochaines étapes.

  • Réponse sous 24 h ouvrées
  • Sans engagement
  • Un consultant senior vous répond
Prendre rendez-vous