ScaleRocket/Mobile

Mises à jour OTA

Poussez des mises à jour JavaScript vers votre app sans passer par la review du store avec EAS Update.

Mises à jour OTA

EAS Update vous permet de pousser des mises à jour JavaScript et d'assets vers vos utilisateurs sans passer par la review de l'App Store ou du Play Store. C'est idéal pour les corrections de bugs, les changements de texte et les petites mises à jour de fonctionnalités.

Comment ça fonctionne

Les mises à jour OTA (Over-The-Air) fonctionnent en téléchargeant un nouveau bundle JavaScript au lancement de l'app. Le code natif reste identique — seuls le JavaScript et les assets sont mis à jour.

Ce que vous pouvez mettre à jour via OTA :

  • Corrections de bugs dans le code JavaScript/TypeScript
  • Changements d'UI (nouveaux écrans, layouts mis à jour)
  • Changements d'assets (images, polices)
  • Changements de configuration

Ce qui nécessite un nouveau build :

  • Nouveaux modules natifs (ex. ajout d'un nouveau plugin Expo)
  • Changements de config native dans app.json (ex. permissions, écran de démarrage)
  • Mises à jour du SDK Expo
  • Tout changement de code natif

Configuration

1. Installer expo-updates

npx expo install expo-updates

2. Configurer EAS Update

eas update:configure

Cela met à jour votre app.json et eas.json avec la configuration nécessaire.

3. Build avec les mises à jour activées

Créez un nouveau build qui inclut le client de mise à jour :

eas build --platform all --profile production

Publier des mises à jour

Pousser une mise à jour

eas update --branch production --message "Fix login button alignment"

Cela uploade le bundle JavaScript actuel sur EAS et l'associe à la branche production.

Mettre à jour une plateforme spécifique

eas update --branch production --platform ios --message "iOS-specific fix"
eas update --branch production --platform android --message "Android-specific fix"

Gestion des canaux

Les canaux connectent les builds aux branches de mise à jour. Par défaut, votre build de production pointe vers la branche production.

Profil de buildCanalBranche
productionproductionproduction
previewpreviewpreview

Créer un canal personnalisé

Configurez les canaux dans eas.json :

{
  "build": {
    "production": {
      "channel": "production"
    },
    "preview": {
      "channel": "preview"
    }
  }
}

Pointer un canal vers une autre branche

eas channel:edit production --branch hotfix-v1

Cela redirige tous les builds de production pour récupérer les mises à jour depuis la branche hotfix-v1.

Rollback

Si une mise à jour cause des problèmes, vous pouvez revenir en arrière en publiant une version précédente :

Option 1 : Republier depuis un tag Git

git checkout v1.0.0
eas update --branch production --message "Rollback to v1.0.0"

Option 2 : Pointer le canal vers une branche précédente

eas channel:edit production --branch previous-stable

Option 3 : Désactiver les mises à jour temporairement

En cas d'urgence, pointez le canal vers une branche vide :

eas channel:edit production --branch disabled

Suivre les mises à jour

Voir les mises à jour publiées :

eas update:list

Voir les détails d'une mise à jour :

eas update:view <update-id>

Vérifiez quelles mises à jour sont en cours d'exécution sur le dashboard Expo.

Bonnes pratiques

  1. Testez toujours les mises à jour sur le canal preview d'abord avant de pousser vers production
  2. Utilisez des messages significatifs — ils vous aident à identifier les mises à jour plus tard
  3. Taggez les releases dans Git — facilite le rollback
  4. Surveillez les rapports de crash après avoir poussé une mise à jour
  5. Ne comptez pas sur l'OTA pour les corrections critiques — si les utilisateurs n'ont pas ouvert l'app, ils ne recevront la mise à jour qu'à la prochaine ouverture

On this page