Actuellement en mission freelance
React Native freelance

Développement Web

React Native en freelance : pour qui, combien, et comment livrer vite sans dette

Guide pratique pour vendre et livrer une app React Native: cadrage, choix Expo, architecture, publication stores, et maintenance.

Publié le
Temps de lecture ~ 12 minutes
Par Judikaël BELLANCE
#react-native #freelance #mobile #expo #architecture #maintenance

React Native en freelance

React Native est souvent le meilleur compromis pour sortir une app iOS + Android avec une equipe reduite. En freelance, votre valeur vient de votre capacite a cadrer et a livrer en iterations.

1) Pour quels projets React Native est pertinent ?

  • MVP mobile avec time-to-market
  • apps internes (logistique, terrain)
  • produit B2B simple (auth + listes + formulaires)

Moins pertinent si:

  • besoin de rendu 3D lourd
  • contraintes natives tres specifiques sans budget

2) Expo vs bare workflow

Expo est souvent le meilleur choix pour:

  • demarrer vite
  • reduire la complexite des builds
  • industrialiser la publication

Passez en “bare” uniquement si vous avez un besoin natif non couvert.

3) Architecture minimale (qui tient)

  • navigation claire
  • gestion etat previsible
  • API typed (TypeScript)
  • gestion erreurs (Sentry)
  • feature flags simples

4) Publication: le vrai mur

Les delais ne sont pas que du dev:

  • comptes Apple/Google
  • certificats
  • policies (tracking, privacy)
  • review store

Prevoir une marge et un plan de release.

5) Maintenance

Plan mensuel minimal:

  • mise a jour dependances
  • verif crash
  • regression e2e sur parcours cle

Conclusion

En React Native, la vitesse se gagne en reduisant la surface de risque: Expo, scope clair, et release process solide.

Atelier pratique (partie 1)

Cette section est volontairement operationnelle: vous pouvez la convertir en checklist, en backlog Jira/Notion, ou en plan de sprint. L’objectif est de transformer “React Native en freelance : pour qui, combien, et comment livrer vite sans dette” en une suite d’actions claires a realiser sur 7 a 30 jours, avec des points de controle et des livrables.

Pour eviter le flou, chaque sous-partie se termine par un resultat attendu (un fichier, une page, une mesure, une capture, un tableau). C’est ce qui rend le travail actionnable, meme en petite equipe.

Deliverables (a produire, pas juste “lire”)

  • Un fichier “release-checklist.md” avec vos etapes de build/soumission.
  • Un plan de marquage analytics (events, proprietes, objectifs).
  • Un dossier “store-assets” (icones, screenshots, textes, privacy).
  • Un plan de support (qui fait quoi si la review bloque).

Creation des comptes (Apple + Google)

  1. Apple Developer Program: verifiez si vous avez besoin d’un compte Individuel ou Organisation (D-U-N-S souvent requis pour Organisation).
  2. Activez App Store Connect, creez votre “App” (bundle id, SKU, informations legales), puis preparez vos acces (roles/permissions).
  3. Google Play Console: creez le compte developpeur, configurez les infos de paiement et de profil, puis creez l’application (package name, listings, policies).

Choix techniques (garder la simplicite)

  • Navigation: structure stable, pas de refonte en pleine validation store.
  • Etat et data: 1 solution principale (evitez 3 libs en parallele).
  • Offline: decidez clairement ce qui marche sans reseau.
  • Crash reporting: branchez un outil (Sentry, Firebase Crashlytics), et testez un crash volontaire en dev.

Pipeline de release (simple, robuste)

  • Versioning: decidez une regle (SemVer ou incremental) et tenez-la.
  • Build reproductible: scripts npm uniques, variables d’environnement documentees, et une machine CI si possible.
  • Signature: iOS (certificats/profiles) et Android (keystore) stockes de facon securisee, jamais dans le repo.
  • Tests avant soumission: parcours critique, permissions, offline, crash-free, et validation des analytics.

Tests concrets a faire avant soumission

  • Installation fresh install (pas juste update).
  • Permission denial (refuser la camera/notifications) et verifier que l’app ne casse pas.
  • Mode avion: comportement degrade acceptable (messages clairs).
  • App restart: revenir sur l’ecran attendu, pas sur un ecran vide.
  • Performances: ouverture a froid, liste longue, ecran critique.

Validation store (eviter les rejets)

  • Privacy: decrivez clairement ce qui est collecte, pourquoi, et comment l’utilisateur peut exercer ses droits.
  • Contenu: screenshots actuels, description precise, et pas de promesses non verifiables.
  • Conformite: verifiez les policies avant d’integrer un SDK (pub, tracking, paiement).

Plan 30 jours (realiste)

Semaine 1: socle technique + navigation + design minimal + analytics. Semaine 2: features coeur + tests + crash reporting + ameliorations perf. Semaine 3: store assets + privacy + beta testing + corrections. Semaine 4: soumission + reponse review + monitoring + plan de release suivante.

Support (quand ca bloque)

Si vous etes bloque (compte, paiement, verification, review), ouvrez un ticket le plus factuel possible: identifiants (sans secrets), timestamps, captures, et etapes de reproduction. A Lille, ce qui fait gagner du temps est d’avoir un dossier “release” avec tout: policies, checklists, captures, et historique des soumissions.

Atelier pratique (partie 2)

Cette section est volontairement operationnelle: vous pouvez la convertir en checklist, en backlog Jira/Notion, ou en plan de sprint. L’objectif est de transformer “React Native en freelance : pour qui, combien, et comment livrer vite sans dette” en une suite d’actions claires a realiser sur 7 a 30 jours, avec des points de controle et des livrables.

Pour eviter le flou, chaque sous-partie se termine par un resultat attendu (un fichier, une page, une mesure, une capture, un tableau). C’est ce qui rend le travail actionnable, meme en petite equipe.

Deliverables (a produire, pas juste “lire”)

  • Un fichier “release-checklist.md” avec vos etapes de build/soumission.
  • Un plan de marquage analytics (events, proprietes, objectifs).
  • Un dossier “store-assets” (icones, screenshots, textes, privacy).
  • Un plan de support (qui fait quoi si la review bloque).

Creation des comptes (Apple + Google)

  1. Apple Developer Program: verifiez si vous avez besoin d’un compte Individuel ou Organisation (D-U-N-S souvent requis pour Organisation).
  2. Activez App Store Connect, creez votre “App” (bundle id, SKU, informations legales), puis preparez vos acces (roles/permissions).
  3. Google Play Console: creez le compte developpeur, configurez les infos de paiement et de profil, puis creez l’application (package name, listings, policies).

Choix techniques (garder la simplicite)

  • Navigation: structure stable, pas de refonte en pleine validation store.
  • Etat et data: 1 solution principale (evitez 3 libs en parallele).
  • Offline: decidez clairement ce qui marche sans reseau.
  • Crash reporting: branchez un outil (Sentry, Firebase Crashlytics), et testez un crash volontaire en dev.

Pipeline de release (simple, robuste)

  • Versioning: decidez une regle (SemVer ou incremental) et tenez-la.
  • Build reproductible: scripts npm uniques, variables d’environnement documentees, et une machine CI si possible.
  • Signature: iOS (certificats/profiles) et Android (keystore) stockes de facon securisee, jamais dans le repo.
  • Tests avant soumission: parcours critique, permissions, offline, crash-free, et validation des analytics.

Tests concrets a faire avant soumission

  • Installation fresh install (pas juste update).
  • Permission denial (refuser la camera/notifications) et verifier que l’app ne casse pas.
  • Mode avion: comportement degrade acceptable (messages clairs).
  • App restart: revenir sur l’ecran attendu, pas sur un ecran vide.
  • Performances: ouverture a froid, liste longue, ecran critique.

Validation store (eviter les rejets)

  • Privacy: decrivez clairement ce qui est collecte, pourquoi, et comment l’utilisateur peut exercer ses droits.
  • Contenu: screenshots actuels, description precise, et pas de promesses non verifiables.
  • Conformite: verifiez les policies avant d’integrer un SDK (pub, tracking, paiement).

Plan 30 jours (realiste)

Semaine 1: socle technique + navigation + design minimal + analytics. Semaine 2: features coeur + tests + crash reporting + ameliorations perf. Semaine 3: store assets + privacy + beta testing + corrections. Semaine 4: soumission + reponse review + monitoring + plan de release suivante.

Support (quand ca bloque)

Si vous etes bloque (compte, paiement, verification, review), ouvrez un ticket le plus factuel possible: identifiants (sans secrets), timestamps, captures, et etapes de reproduction. A Hauts-de-France, ce qui fait gagner du temps est d’avoir un dossier “release” avec tout: policies, checklists, captures, et historique des soumissions.

Atelier pratique (partie 3)

Cette section est volontairement operationnelle: vous pouvez la convertir en checklist, en backlog Jira/Notion, ou en plan de sprint. L’objectif est de transformer “React Native en freelance : pour qui, combien, et comment livrer vite sans dette” en une suite d’actions claires a realiser sur 7 a 30 jours, avec des points de controle et des livrables.

Pour eviter le flou, chaque sous-partie se termine par un resultat attendu (un fichier, une page, une mesure, une capture, un tableau). C’est ce qui rend le travail actionnable, meme en petite equipe.

Deliverables (a produire, pas juste “lire”)

  • Un fichier “release-checklist.md” avec vos etapes de build/soumission.
  • Un plan de marquage analytics (events, proprietes, objectifs).
  • Un dossier “store-assets” (icones, screenshots, textes, privacy).
  • Un plan de support (qui fait quoi si la review bloque).

Creation des comptes (Apple + Google)

  1. Apple Developer Program: verifiez si vous avez besoin d’un compte Individuel ou Organisation (D-U-N-S souvent requis pour Organisation).
  2. Activez App Store Connect, creez votre “App” (bundle id, SKU, informations legales), puis preparez vos acces (roles/permissions).
  3. Google Play Console: creez le compte developpeur, configurez les infos de paiement et de profil, puis creez l’application (package name, listings, policies).

Choix techniques (garder la simplicite)

  • Navigation: structure stable, pas de refonte en pleine validation store.
  • Etat et data: 1 solution principale (evitez 3 libs en parallele).
  • Offline: decidez clairement ce qui marche sans reseau.
  • Crash reporting: branchez un outil (Sentry, Firebase Crashlytics), et testez un crash volontaire en dev.

Pipeline de release (simple, robuste)

  • Versioning: decidez une regle (SemVer ou incremental) et tenez-la.
  • Build reproductible: scripts npm uniques, variables d’environnement documentees, et une machine CI si possible.
  • Signature: iOS (certificats/profiles) et Android (keystore) stockes de facon securisee, jamais dans le repo.
  • Tests avant soumission: parcours critique, permissions, offline, crash-free, et validation des analytics.

Tests concrets a faire avant soumission

  • Installation fresh install (pas juste update).
  • Permission denial (refuser la camera/notifications) et verifier que l’app ne casse pas.
  • Mode avion: comportement degrade acceptable (messages clairs).
  • App restart: revenir sur l’ecran attendu, pas sur un ecran vide.
  • Performances: ouverture a froid, liste longue, ecran critique.

Validation store (eviter les rejets)

  • Privacy: decrivez clairement ce qui est collecte, pourquoi, et comment l’utilisateur peut exercer ses droits.
  • Contenu: screenshots actuels, description precise, et pas de promesses non verifiables.
  • Conformite: verifiez les policies avant d’integrer un SDK (pub, tracking, paiement).

Plan 30 jours (realiste)

Semaine 1: socle technique + navigation + design minimal + analytics. Semaine 2: features coeur + tests + crash reporting + ameliorations perf. Semaine 3: store assets + privacy + beta testing + corrections. Semaine 4: soumission + reponse review + monitoring + plan de release suivante.

Support (quand ca bloque)

Si vous etes bloque (compte, paiement, verification, review), ouvrez un ticket le plus factuel possible: identifiants (sans secrets), timestamps, captures, et etapes de reproduction. A Hauts-de-France, ce qui fait gagner du temps est d’avoir un dossier “release” avec tout: policies, checklists, captures, et historique des soumissions.

Atelier pratique (partie 4)

Cette section est volontairement operationnelle: vous pouvez la convertir en checklist, en backlog Jira/Notion, ou en plan de sprint. L’objectif est de transformer “React Native en freelance : pour qui, combien, et comment livrer vite sans dette” en une suite d’actions claires a realiser sur 7 a 30 jours, avec des points de controle et des livrables.

Pour eviter le flou, chaque sous-partie se termine par un resultat attendu (un fichier, une page, une mesure, une capture, un tableau). C’est ce qui rend le travail actionnable, meme en petite equipe.

Deliverables (a produire, pas juste “lire”)

  • Un fichier “release-checklist.md” avec vos etapes de build/soumission.
  • Un plan de marquage analytics (events, proprietes, objectifs).
  • Un dossier “store-assets” (icones, screenshots, textes, privacy).
  • Un plan de support (qui fait quoi si la review bloque).

Creation des comptes (Apple + Google)

  1. Apple Developer Program: verifiez si vous avez besoin d’un compte Individuel ou Organisation (D-U-N-S souvent requis pour Organisation).
  2. Activez App Store Connect, creez votre “App” (bundle id, SKU, informations legales), puis preparez vos acces (roles/permissions).
  3. Google Play Console: creez le compte developpeur, configurez les infos de paiement et de profil, puis creez l’application (package name, listings, policies).

Choix techniques (garder la simplicite)

  • Navigation: structure stable, pas de refonte en pleine validation store.
  • Etat et data: 1 solution principale (evitez 3 libs en parallele).
  • Offline: decidez clairement ce qui marche sans reseau.
  • Crash reporting: branchez un outil (Sentry, Firebase Crashlytics), et testez un crash volontaire en dev.

Pipeline de release (simple, robuste)

  • Versioning: decidez une regle (SemVer ou incremental) et tenez-la.
  • Build reproductible: scripts npm uniques, variables d’environnement documentees, et une machine CI si possible.
  • Signature: iOS (certificats/profiles) et Android (keystore) stockes de facon securisee, jamais dans le repo.
  • Tests avant soumission: parcours critique, permissions, offline, crash-free, et validation des analytics.

Tests concrets a faire avant soumission

  • Installation fresh install (pas juste update).
  • Permission denial (refuser la camera/notifications) et verifier que l’app ne casse pas.
  • Mode avion: comportement degrade acceptable (messages clairs).
  • App restart: revenir sur l’ecran attendu, pas sur un ecran vide.
  • Performances: ouverture a froid, liste longue, ecran critique.

Validation store (eviter les rejets)

  • Privacy: decrivez clairement ce qui est collecte, pourquoi, et comment l’utilisateur peut exercer ses droits.
  • Contenu: screenshots actuels, description precise, et pas de promesses non verifiables.
  • Conformite: verifiez les policies avant d’integrer un SDK (pub, tracking, paiement).

Plan 30 jours (realiste)

Semaine 1: socle technique + navigation + design minimal + analytics. Semaine 2: features coeur + tests + crash reporting + ameliorations perf. Semaine 3: store assets + privacy + beta testing + corrections. Semaine 4: soumission + reponse review + monitoring + plan de release suivante.

Support (quand ca bloque)

Si vous etes bloque (compte, paiement, verification, review), ouvrez un ticket le plus factuel possible: identifiants (sans secrets), timestamps, captures, et etapes de reproduction. A Lille, ce qui fait gagner du temps est d’avoir un dossier “release” avec tout: policies, checklists, captures, et historique des soumissions.

Sources et liens utiles