Passer au contenu

Restaurations

Les mises à jour en direct permettent d’aller vite, mais il faut aussi pouvoir revenir en arrière proprement si une version pose problème.

Capgo propose des restaurations manuelles et une protection automatique.

Capgo inclut un mécanisme de sécurité : si une erreur JavaScript critique survient avant notifyAppReady(), le plugin revient automatiquement à la version précédente fonctionnelle.

Après installation d’une mise à jour, Capgo attend l’appel à notifyAppReady() dans un délai configuré.

Cet appel confirme que :

  • le bundle s’est chargé sans erreur critique
  • les fonctions essentielles de l’application sont opérationnelles
  • la mise à jour peut rester active

Si notifyAppReady() n’est pas appelée :

  1. Capgo considère la mise à jour comme un échec
  2. Capgo restaure automatiquement la version précédente
  3. Capgo marque la version défectueuse pour éviter sa réapplication
import { CapacitorUpdater } from '@capgo/capacitor-updater'
await CapacitorUpdater.notifyAppReady()

Vous pouvez régler le timeout avec appReadyTimeout :

{
"plugins": {
"CapacitorUpdater": {
"appReadyTimeout": 10000
}
}
}

La valeur est en millisecondes. Augmentez-la si votre application initialise beaucoup de services au démarrage.

Chaque bundle assigné à un canal reste dans l’historique. Vous pouvez revenir à n’importe quel bundle précédent.

Interface de restauration

  1. Connectez-vous au Tableau de bord Capgo.
  2. Ouvrez la section Canaux.
  3. Sélectionnez le canal cible.
  4. Ouvrez l’onglet Historique.
  5. Choisissez le bundle de retour.
  6. Définissez-le comme bundle actif.
  7. Confirmez l’action.
  1. Dans la vue du canal, repérez le bundle voulu.
  2. Cliquez sur l’icône couronne pour le rendre actif. Options de gestion du canal
  3. Confirmez la restauration.

Au prochain check, les appareils de ce canal recevront le bundle restauré comme une nouvelle mise à jour.

Si vous devez geler temporairement les diffusions :

  1. Ouvrez le canal dans le tableau de bord.
  2. Cliquez sur Unlink.
  3. Confirmez.

Un canal délié ne distribue plus de nouvelles mises à jour tant qu’il n’est pas relié à un bundle.

En cas de problème sévère, vous pouvez forcer le retour au bundle web inclus dans le binaire natif publié en store.

  1. Ouvrez le canal dans le tableau de bord.
  2. Cliquez sur Built-in Bundle.
  3. Confirmez.

Tous les appareils de ce canal reviendront au bundle intégré lors de leur prochain check.

Pour limiter l’impact d’une version défectueuse :

  • surveillez les crashs et retours utilisateurs juste après diffusion
  • utilisez des canaux de préproduction pour valider avant production
  • formalisez qui décide d’un rollback et dans quels cas
  • communiquez clairement en cas d’incident majeur

Avec cette discipline, vous gardez la vitesse des OTA tout en conservant un filet de sécurité robuste.