01
Quand faire appel à nous
Les dossiers ios et android sont modifiés à la main.
Personne ne sait plus quelles lignes du Podfile, du build.gradle ou de l’AppDelegate ont été ajoutées, ni pourquoi. Chaque montée de version rejoue le même diff à l’aveugle.
Le build ne passe que sur une machine.
Un Mac précis, une version de Xcode précise, un profil de signature que personne n’ose régénérer. Les builds de release dépendent d’une seule personne.
Un correctif JS attend la revue des stores.
Une typo ou un bug de logique repasse par une revue complète, voire plusieurs en cas de rejet. Une mise à jour OTA pousserait le correctif sans nouveau binaire.
Une lib Expo que vous ne pouvez pas installer.
expo-camera, expo-notifications ou un config plugin tiers réglerait le problème, mais le projet n’a pas le SDK Expo.
Un nouveau développeur met une semaine à obtenir un build.
Ruby, CocoaPods, JDK, SDK Android, certificats. Avec un development build, il installe l’app et branche Metro.
Plusieurs apps, la config native dupliquée.
Marques blanches ou variantes par pays : la configuration native est copiée d’un projet à l’autre. Prebuild et config plugins la décrivent une fois.
02
Comment ça se passe
1 / Jours 1–5
Diagnostic de migration
Diff entre vos dossiers natifs et le template Expo de référence, inventaire des libs, des modules natifs maison et des étapes de release. Diagnostic écrit de trois pages max, avec le chemin et les points durs.
2 / Semaines 1–2
Installer Expo sans rien casser
Le SDK Expo et les Expo Modules entrent dans le projet existant, dossiers natifs conservés. Development build distribué à toute l’équipe, Metro inchangé.
3 / Semaines 2–N
Déplacer chaque modif native dans un config plugin
Permissions, schémas d’URL, entitlements, SDK tiers, modules maison : chaque modification manuelle devient un config plugin ou un Expo Module. Quand npx expo prebuild --clean redonne un build identique, les dossiers natifs sortent du repo.
4 / Dernières semaines
Release et transmission
EAS Build, Submit et Update configurés si vous les adoptez, runtime version posée, profils de build par environnement. Runbook de release et passation à votre équipe.
03
Ce que vous recevez
- Diagnostic écrit avec le chemin de migration
- App sur le SDK Expo, projets natifs générés par prebuild
- Config plugins pour chaque modification native
- Modules natifs maison portés sur Expo Modules
- Development builds pour toute l’équipe
- Pipeline EAS Build, Submit et Update, si adopté
- Runbook de release
04
Missions comparables
Nacon · Du hardware. Dans React Native.
L’app compagnon d’une manette PlayStation, de la puce au store.
Epsor · Web et mobile. Un seul code.
Une app d’épargne salariale qui partage enfin son code entre le web et le mobile.
Crisp · Le SDK officiel. De zéro à npm.
Le chat de support Crisp dans n’importe quelle app React Native ou Expo, en une ligne.
05
Questions fréquentes
Combien coûte une migration vers Expo ?
Ça dépend du nombre de modifications natives à transformer en config plugins, des modules maison à porter et du nombre d’apps ou de cibles. Le diagnostic de cinq jours sert à le chiffrer sur pièces, avant la première PR.
Faut-il réécrire l’app ?
Non. Le code React Native reste le même. Ce qui change, c’est la façon dont les projets natifs sont produits : décrits dans la config Expo et des config plugins plutôt que maintenus à la main. Vos écrans, votre navigation et vos stores ne bougent pas.
Est-ce qu’on perd le contrôle du natif ?
Non. Prebuild génère les projets, et vous pouvez les ouvrir dans Xcode ou Android Studio à tout moment. Un besoin que les config plugins ne couvrent pas se code en Swift ou Kotlin dans un Expo Module. Et vous pouvez garder vos dossiers natifs dans le repo si vous préférez.
EAS est-il obligatoire ?
Non. Expo fonctionne avec votre CI actuelle : prebuild, puis build en local ou sur vos runners. EAS apporte les builds cloud, la soumission aux stores et les mises à jour OTA. On le met en place si vous le choisissez.
Que peut-on livrer en OTA ?
Le JavaScript, les styles et les assets. Pas le code natif, pas une nouvelle permission, pas un changement de SDK : ceux-là passent par un nouveau binaire. La runtime version garantit qu’une mise à jour n’atteint que les builds compatibles.
Combien de temps dure la migration ?
Cinq jours pour le diagnostic. La migration elle-même dépend du nombre de modifications natives à transformer et de modules maison à porter : c’est ce que le diagnostic chiffre. L’app reste livrable pendant tout le chantier.
Voir aussi
Montée de version
Rattraper les versions React Native et passer à la New Architecture sans geler la roadmap. Des seniors dans votre repo, PRs relues, démo chaque semaine.
Développement d’app
De l’idée aux stores avec une squad de seniors React Native déjà rodée : cadrage, architecture Expo, design system, CI/CD, publication, passation.
Mis à jour le 26 octobre 2026