27 sept. 2025·8 min de lecture

Plan de sauvegarde et de récupération pour fondateurs de petites apps

Un plan léger de sauvegarde et de récupération pour petites apps : quoi sauvegarder, à quelle fréquence, exercices de restauration et rollbacks que les fondateurs peuvent maintenir.

Plan de sauvegarde et de récupération pour fondateurs de petites apps

À quoi ressemble une perte de données accidentelle dans les petites apps

La perte de données accidentelle dans une petite app n'a souvent rien de spectaculaire au départ. Ça commence par un changement banal, une correction faite à la va-vite ou un « nettoyage rapide » qui supprime ou corrompt silencieusement des données clients réelles.

Quelques causes courantes :

  • Un mauvais déploiement lance une migration qui supprime ou réécrit la mauvaise table
  • Quelqu'un supprime des enregistrements en production en testant un écran d'admin
  • Des identifiants fuitent et un attaquant efface la base de données ou un bucket de stockage d'objets
  • Votre hébergeur a une panne et votre app revient sans les dernières données
  • Un script « temporaire » est exécuté deux fois et écrase des données valides par des valeurs par défaut

La partie douloureuse, c'est que beaucoup d'équipes disent « on a des sauvegardes » et perdent quand même une semaine. Les sauvegardes n'aident que si vous pouvez restaurer rapidement, au bon point dans le temps, et sans aggraver la situation. Si la seule personne qui sait restaurer dort, est en avion ou a quitté le projet, votre sauvegarde ressemble plus à une idée optimiste qu'à un filet de sécurité.

« Assez bien » pour une petite équipe signifie pouvoir répondre à deux questions en langage clair : combien de données pouvons-nous nous permettre de perdre, et combien de temps l'app peut-elle être indisponible ? Ces cibles s'appellent généralement :

  • RPO (Recovery Point Objective) : jusqu'où dans le passé vous êtes prêt à revenir (par exemple perdre jusqu'à 1 heure d'inscriptions)
  • RTO (Recovery Time Objective) : combien de temps vous pouvez être hors ligne (par exemple être de nouveau opérationnel en 2 heures)

Si vous avez construit votre app avec un outil IA et hérité d'un code en bazar ou d'une configuration d'hébergement floue, ces cibles comptent encore plus. Quand FixMyMess audite des apps générées par IA, « il y a des sauvegardes mais personne n'a testé la restauration » est l'une des surprises les plus fréquentes, juste après les secrets exposés et les migrations fragiles.

Ce que vous devriez sauvegarder (et ce que vous pouvez recréer)

Si vous ne sauvegardez qu'une chose, faites-en votre base de données. Pour la plupart des petites apps, c'est le seul endroit où vit la valeur client unique : comptes, état de facturation, contenu et relations entre enregistrements. Un code propre peut être reconstruit. Les données perdues, généralement non.

Les fichiers uploadés sont la deuxième surprise la plus fréquente. Photos d'utilisateurs, PDF, audio et exports générés sont souvent en dehors de la base. S'ils sont sur le disque du serveur, ils peuvent être effacés lors d'un redeploy. S'ils sont dans un stockage d'objets, vous avez besoin de versioning ou de copies, et d'un moyen de restaurer rapidement.

Les secrets et la config méritent la même considération que les données. Les variables d'environnement, clés API et surtout les clés de chiffrement font la différence entre « on peut restaurer » et « on a restauré une base qu'on ne peut plus déchiffrer ». Gardez une copie sécurisée et contrôlée des secrets critiques, et documentez où ils se trouvent.

Certaines parties de l'état applicatif sont sûres à reconstruire. Les caches se remplissent à nouveau. La plupart des files de jobs peuvent être rejouées si vous stockez les événements sources dans la base. Le terrain dangereux intermédiaire, c'est « l'état dont on a oublié l'existence », comme une file contenant des factures impayées à traiter ou des e-mails à envoyer.

Les fournisseurs tiers sont un cas particulier. Beaucoup d'outils SaaS ne vous laissent pas tout exporter, et certaines données ne vous appartiennent pas. Concentrez-vous sur la sauvegarde de la source de vérité que vous contrôlez (base et fichiers), et exportez régulièrement ce que le fournisseur accepte (listes clients, factures).

Un plan simple de sauvegarde et de récupération pour petites apps se résume souvent à :

  • Snapshots de base de données + récupération point-in-time si disponible
  • Uploads utilisateurs et fichiers générés (avec versioning)
  • Secrets, clés de chiffrement et notes de configuration
  • Trace des exports fournisseurs et de leurs limites

Exemple : un fondateur gère un petit SaaS construit avec un code généré par IA. Un déploiement « rapide » réinitialise le serveur et supprime les uploads locaux. La sauvegarde de la base sauve les comptes, mais sans sauvegarde des fichiers, les documents clients sont perdus. Sauvegardez les deux, et le même incident devient une restauration de 30 minutes au lieu d'une semaine d'excuses.

Un calendrier de sauvegarde que vous pouvez vraiment tenir

Un bon calendrier de sauvegarde est volontairement ennuyeux. S'il nécessite un tableau et une réunion hebdomadaire, il échouera la première fois que vous déployez vite.

Pour un plan pratique pour petites apps, commencez avec deux déclencheurs : une sauvegarde automatique quotidienne, plus une sauvegarde manuelle (ou scriptée) juste avant chaque déploiement. Cette seconde sauvegarde fait la différence entre un petit rollback et un long week-end.

Un rythme simple qui couvre la plupart des risques

Les sauvegardes quotidiennes vous protègent des suppressions accidentelles, des mauvaises migrations ou d'un bug qui corrompt silencieusement les données. Les sauvegardes pré-déploiement vous protègent des changements que vous avez choisis de faire.

La rétention n'a pas besoin d'être compliquée. Un schéma courant :

  • Conserver 7 sauvegardes quotidiennes
  • Conserver 4 sauvegardes hebdomadaires
  • Conserver 3 sauvegardes mensuelles
  • Conserver 1 sauvegarde « pré-déploiement » pour les 5 dernières releases

Ajustez si votre app change rarement (conservez moins) ou si vous avez des obligations de conformité (conservez plus). L'important : supprimez les anciennes sauvegardes volontairement, pas par accident.

Gardez plus d'une copie, et verrouillez-les

Stockez les sauvegardes dans au moins deux endroits pour qu'une erreur de compte unique ne vous anéantisse pas. Une copie peut être dans votre stockage cloud, l'autre dans un emplacement hors site avec une connexion différente. Si un coéquipier a accès à la production, il ne devrait pas automatiquement pouvoir supprimer les sauvegardes.

Nommez les sauvegardes comme si quelqu'un allait chercher sous stress. Un format simple aide : nom de l'app, environnement, date et pourquoi elle existe.

  • myapp-prod-2026-01-14-daily
  • myapp-prod-2026-01-14-predeploy-auth-fix
  • myapp-staging-2026-01-14-daily

Chiffrez les sauvegardes et gardez la clé de déchiffrement séparée du fichier de sauvegarde. Si vous faites appel à de l'aide externe (par exemple quand FixMyMess répare un code généré par IA), vous pouvez donner un accès limité et temporaire sans tout exposer.

Outils légers et configurations qui fonctionnent pour les très petites équipes

Vous n'avez pas besoin d'une configuration d'entreprise pour avoir un plan de sauvegarde et de récupération. Il vous faut quelques pièces ennuyeuses, faciles à exécuter et encore plus faciles à restaurer.

Sauvegardes de base : snapshots vs dumps (termes simples)

Un snapshot est une copie complète du disque de la base à un instant t. Il est généralement rapide à créer et à restaurer, mais il peut ramener tout, y compris des problèmes comme des données corrompues ou une mauvaise migration.

Un dump logique est une exportation des données (tables et lignes). Il est plus lent, mais portable et permet de restaurer dans une base propre. Pour beaucoup de petites apps, un bon défaut est : snapshots quotidiens pour la rapidité, plus un dump logique quotidien pour la sûreté.

Les fournisseurs de bases managés incluent souvent des sauvegardes, mais vous devez quand même vérifier les réglages. Vérifiez que les sauvegardes sont activées, combien de temps elles sont conservées et si vous pouvez restaurer à un point précis (point-in-time recovery). Confirmez aussi où se fait la restauration : écrase-t-on la production ou peut-on restaurer d'abord sur une nouvelle instance ?

Pour les uploads utilisateurs et fichiers générés, activez le versioning du stockage d'objets si possible. Le versioning conserve les anciennes copies lorsqu'un fichier est supprimé ou écrasé, ce qui est exactement ce dont vous avez besoin après une suppression accidentelle.

L'automatisation doit utiliser un outil que vous touchez déjà. Un cron nocturne, le scheduler de votre hébergeur ou un simple workflow CI suffit, tant qu'il s'exécute même quand vous oubliez.

Avant de déclarer la tâche terminée, confirmez les bases :

  • Les sauvegardes sont stockées en dehors du compte/projet principal si possible
  • Vous recevez une alerte quand une sauvegarde échoue
  • Une personne peut restaurer sans courir après des mots de passe
  • L'accès est limité à un petit groupe de responsables
  • Les étapes de restauration sont écrites

Stockez les clés de chiffrement et les accès admins des fournisseurs dans un gestionnaire de mots de passe partagé, et nommez deux personnes qui peuvent y accéder. Si vous avez hérité d'un code généré par IA (courant avec Lovable, Bolt, v0, Cursor ou Replit), c'est particulièrement important car les secrets y sont souvent exposés ou dispersés. Corriger ça tôt rend chaque sauvegarde plus sûre.

Pas à pas : créer un plan simple en une après-midi

Sécurisez vos secrets et configurations
Nous trouvons les clés exposées dans le code généré par IA et verrouillons l'accès avant que les sauvegardes ne deviennent inutiles.

Un plan de sauvegarde et de récupération pour petites apps ne fonctionne que si vous pouvez le garder ennuyeux et répétable. Bloquez 2 heures, ouvrez un doc et visez « assez bien pour aujourd'hui » plutôt que parfait.

1) Inventairez ce dont vous avez réellement besoin pour récupérer

Commencez par lister chaque endroit où votre app stocke des données importantes, et qui en est le « propriétaire » (la personne qui peut se connecter et réparer). Sources courantes : base de données, stockage de fichiers (uploads), variables d'environnement et secrets, systèmes tiers critiques (facturation, listes d'e-mails, CRM). Si une source n'a pas de propriétaire clair, elle sera oubliée.

2) Choisissez une fréquence, une rétention et un emplacement sûr

Adaptez la fréquence des sauvegardes à la douleur d'une perte. Une base active peut nécessiter des sauvegardes horaires ; le stockage de fichiers peut être quotidien ; les exports de config hebdomadaires.

Indiquez, pour chaque source :

  • À quelle fréquence sauvegarder (horaire, quotidien, hebdomadaire)
  • Combien de temps conserver les sauvegardes (par exemple 14 ou 30 jours)
  • Où les sauvegardes se trouvent (compte séparé ou bucket séparé, pas « à côté de la production »)
  • Comment y accéder (identifiants, MFA, qui a la permission)

3) Rédigez un runbook de restauration en 10 minutes

Gardez-le court : qui décide de restaurer, où est la sauvegarde, la commande ou les étapes console exactes, et comment vérifier le succès (connexion, enregistrements récents présents, uploads visibles).

4) Automatisez, puis ajoutez une alerte bruyante en cas d'échec

Transformez les étapes manuelles en jobs planifiés et configurez une seule alerte si une sauvegarde échoue ou cesse de se mettre à jour. Sans alerte, vous ne découvrirez le problème qu'en panne.

Si vous avez hérité d'un code généré par IA et n'êtes pas sûr des données critiques, des équipes comme FixMyMess commencent souvent par un audit rapide pour cartographier les sources avant de complexifier verrous et sauvegardes.

Exercices de restauration : prouvez que vous pouvez remettre l'app en ligne

Les sauvegardes n'aident que si vous pouvez les restaurer sous pression. Beaucoup d'équipes ont des jobs « verts » de sauvegarde, puis découvrent en incident que les fichiers sont incomplets, la base ne démarre pas ou les connexions échouent parce qu'une clé manque. Un exercice de restauration transforme un plan théorique en réalité.

Faire un exercice sans risquer la production

Faites l'exercice dans un environnement séparé qui ne peut pas toucher de vrais utilisateurs. L'objectif est de pratiquer tout le chemin : récupérer la sauvegarde, la restaurer, démarrer l'app et vérifier les flux clés.

Exercice simple à répéter :

  • Choisir une sauvegarde récente (idéalement d'hier) et noter son horodatage.
  • Restaurer la base dans une nouvelle instance isolée.
  • Restaurer les uploads dans un bucket ou dossier séparé.
  • Mettre les secrets et la config nécessaires (clés d'auth, fournisseur d'e-mail, identifiants de stockage) pour l'environnement de test.
  • Démarrer l'app et lancer un petit « smoke test » en tant qu'utilisateur normal.

Après le démarrage, mesurez ce qui compte. Le temps est une chose, mais « ça tourne » ne suffit pas.

Voici ce qu'il faut vérifier et consigner :

  • Temps de restauration (du « départ » à « un utilisateur peut se connecter »)
  • Données manquantes ou obsolètes (commandes, profils, enregistrements récents)
  • Connexions cassées (mauvaises config d'auth, clés manquantes, URLs de callback incorrectes)
  • Uploads cassés (images manquantes, 404, permissions incorrectes)
  • Toute étape manuelle où vous avez dû deviner

Fréquence des exercices

Un exercice mensuel est un bon défaut pour les petites apps. Lancez-en un aussi après des changements majeurs de schéma, d'auth ou une migration de stockage. Ce sont les moments où les restaurations échouent le plus souvent.

Enfin, notez ce qui vous a fait trébucher et corrigez le runbook. Si une étape dépend de la mémoire d'une personne, elle échouera à 2 h du matin. Si vous avez hérité d'un code généré par IA et que le chemin de restauration est bancal (vars d'env manquantes, chemins de stockage flous, migrations fragiles), des équipes comme FixMyMess peuvent aider à démêler tout ça pour que les exercices deviennent ennuyeux et répétables.

Rollbacks qui n'empirent pas la situation

Un rollback sert au mauvais code. Une restauration sert aux mauvaises données.

Si un déploiement casse la connexion, plante une page ou fait monter les erreurs, revenez à la dernière release connue bonne. Votre base est probablement intacte. Si quelqu'un a exécuté un script destructeur, supprimé des lignes ou vous avez des données corrompues, il faut restaurer depuis une sauvegarde (souvent dans une nouvelle base, puis basculer).

Un petit plan de rollback fiable

La stratégie la plus sûre pour les startups est ennuyeuse : gardez toujours la dernière build fonctionnelle prête à être redéployée et entraînez-vous à l'utiliser. Cela signifie que votre processus de déploiement doit permettre de choisir une release antérieure sans tout reconstruire.

Une habitude simple qui marche :

  • Taggez chaque release (date + courte note) et conservez la précédente disponible.
  • Notez la commande ou le bouton unique qui fait le rollback, et qui est autorisé à l'exécuter.
  • Surveillez un ou deux signaux (taux d'erreur, complétion d'inscription) pendant 10 minutes après le déploiement.
  • Si les signaux se dégradent, rollback d'abord, investiguez ensuite.

C'est aussi là que le plan de sauvegarde pour petites apps reste pratique : en rollbackant vite quand le problème est juste du code, vous évitez d'avoir à toucher les sauvegardes.

Migrations de base : éviter le point de non-retour

La plupart des désastres de rollback surviennent quand le code et la base évoluent hors synchronisation. Un rollback de code peut s'attendre à une colonne ancienne, mais la migration l'a déjà supprimée.

Gardez les migrations réversibles, ou du moins sûres à interrompre :

  • Préférez d'abord des changements additifs (nouvelles colonnes/tables) avant de supprimer les anciens.
  • Ne supprimez ni ne renommez dans le même déploiement que le basculement de code.
  • Remplissez les données dans un job séparé, pas dans le chemin d'une requête.
  • Laissez une courte note « annuler » pour chaque migration (quoi faire si ça échoue).
  • Prenez un snapshot pré-migration avant les changements risqués.

Les feature flags vous donnent du temps. Si un nouveau parcours de paiement casse, désactivez-le pour arrêter l'hémorragie pendant que vous corrigez sans toucher à la base.

Si vous avez hérité d'une app générée par IA où les rollbacks font peur (déploiements spaghetti, migrations risquées, secrets exposés), FixMyMess peut auditer et aider à mettre en place une voie de release et rollback plus sûre avant le prochain incident.

Erreurs courantes et pièges à éviter

Réalisez votre premier exercice de restauration
Nous vous aidons à tester une restauration complète sans toucher aux utilisateurs en production.

La plupart des histoires de perte de données dans les petites apps ne sont pas causées par « pas de sauvegardes ». Elles arrivent parce que les sauvegardes étaient incomplètes, impossibles à restaurer rapidement, ou stockées de manière à échouer en même temps que la production.

Un piège classique : sauvegarder uniquement la base et oublier les uploads. Si votre app permet des uploads (factures, photos de profil, PDF, audio), ces fichiers font partie de votre produit. Une restauration de la base sans dossier d'uploads ou stockage d'objets reste une panne partielle, et la réparation devient une reconstruction manuelle douloureuse.

Un autre piège : ne jamais tester les restaurations. La première restauration ne devrait pas avoir lieu pendant un incident. Les sauvegardes peuvent être corrompues, incomplètes, ou manquer des étapes nécessaires pour remettre l'app en ligne (migrations, variables d'env, permissions de stockage). Un plan est réel seulement si vous avez prouvé que vous pouvez restaurer.

Surveillez aussi le point de défaillance unique. Si les sauvegardes vivent dans le même compte cloud, même région et mêmes identifiants que la production, une erreur ou une compromission peut tout effacer. Vous voulez de la séparation, pas de la commodité.

Voici quelques modèles d'échec à vérifier aujourd'hui :

  • Des sauvegardes existent, mais personne ne sait où elles sont, qui y accède ou comment les utiliser.
  • Les sauvegardes sont non chiffrées, ou les clés sont stockées avec les sauvegardes.
  • Des secrets fuient dans les sauvegardes (clés API, mots de passe DB, tokens) et sont partagés dans un dossier ou un chat.
  • Les sauvegardes reposent sur l'ordinateur portable d'une personne ou un processus manuel que personne ne répète.
  • Des « sauvegardes automatiques » sont activées, mais la rétention est trop courte pour récupérer d'un dommage lent et non détecté.

Si vous avez hérité d'un code généré par IA, soyez particulièrement vigilant avec les secrets. On voit régulièrement des clés exposées et des configs bâclées dans des prototypes. FixMyMess peut vous aider à identifier ce qui est sauvé, ce qui ne devrait pas l'être, et comment rendre la récupération plus sûre sans transformer ça en gros projet.

Checklist rapide : êtes-vous réellement protégé ?

Un plan de sauvegarde et de récupération pour petites apps n'est réel que s'il fonctionne un mardi banal, pas seulement dans votre tête. Utilisez ce contrôle rapide pour repérer des lacunes corrigeables en moins d'une heure.

Voici cinq signes que vous êtes réellement couvert :

  • Les sauvegardes s'exécutent automatiquement selon un calendrier clair, et quelqu'un reçoit une alerte quand un job échoue (pas juste une ligne de log silencieuse).
  • Vous avez au moins deux emplacements séparés pour les sauvegardes, et l'un est hors du fournisseur principal pour qu'une erreur ne puisse pas tout effacer.
  • Un runbook de restauration existe en langage simple et est stocké là où l'équipe le trouvera pendant une panne (avec détails d'accès et qui peut approuver une restauration).
  • Vous pouvez indiquer la date du dernier exercice de restauration, combien de temps il a fallu pour revenir en ligne et si des données manquaient.
  • Vous avez un plan de rollback pour le code et la base, incluant quoi faire si la base ne peut être rollbackée en toute sécurité.

Si vous ne pouvez pas cocher en confiance une de ces cases, choisissez la correction la plus facile et faites-la aujourd'hui. Pour beaucoup de petites équipes, les gains rapides sont : activer les notifications d'échec, copier les sauvegardes hors site et écrire un runbook de restauration d'une page.

Un contrôle de réalité simple : si votre lead dev dort et qu'un fondateur non technique doit coordonner la récupération, pourrait-il trouver le runbook, savoir qui a les identifiants et lancer une restauration en 15 minutes ?

Si votre app a été générée par des outils comme Lovable, Bolt, v0, Cursor ou Replit, surveillez les risques cachés : secrets exposés et migrations fragiles. Des équipes comme FixMyMess voient souvent des sauvegardes configurées mais des restaurations qui échouent parce que le code est incohérent ou dangereux à déployer.

Scénario exemple : un mauvais déploiement et une récupération rapide

Préparez votre prototype pour la production
Du code spaghetti aux déploiements propres : nous préparons votre app à une récupération fiable.

Vous poussez un petit changement un vendredi après-midi. Dix minutes plus tard, le support reçoit des messages : « Mes commandes ont disparu » et « Mon compte est vide ». Vous vérifiez le panneau admin et voyez que des enregistrements récents manquent pour un groupe d'utilisateurs.

Votre objectif n'est pas d'être un héros. C'est d'arrêter l'hémorragie, confirmer ce qui s'est passé et choisir la voie la plus rapide et sûre : rollback ou restauration.

Dans les 10 premières minutes :

  • Geler les écritures : passer l'app en mode maintenance ou désactiver les actions qui créent ou suppriment des données.
  • Confirmer l'étendue : quelles tables, quelle fenêtre temporelle, quels utilisateurs, et si les lectures sont aussi incorrectes.
  • Vérifier les logs et notes de déploiement : une migration s'est-elle lancée, un job en arrière-plan, un script a-t-il touché la prod ?
  • Décider rollback vs restauration : si le code est fautif mais que les données sont intactes, rollback. Si les données ont été modifiées ou supprimées, planifier une restauration.
  • Capturer un snapshot maintenant : même une production « cassée » est une preuve qu'il faut peut-être conserver.

Au lieu de restaurer directement en production, restaurez d'abord en lieu sûr (nouvelle instance DB ou schéma temporaire). Vérifiez ensuite l'essentiel : comptes d'enregistrements, quelques vérifications ponctuelles et les flux clés dont se plaignent les utilisateurs. Si les données restaurées semblent correctes, restaurez en production ou copiez directement les lignes manquantes.

Communiquez tôt avec un délai réaliste basé sur votre RTO. Par exemple : « Nous avons interrompu les changements pour éviter d'autres pertes. Nous restaurant la base à un point propre et vous tenons au courant dans 30 minutes. » Les gens gèrent mieux une mauvaise nouvelle que le silence.

Après rétablissement, écrivez ce qui s'est passé pendant que c'est frais. Corrigez la cause racine (souvent une migration, un script destructeur ou une action admin non sécurisée) et mettez à jour le runbook pour que la prochaine récupération soit plus rapide. Si le code a été généré par un outil IA et que vous voyez des pannes répétées, un audit externe rapide (par exemple l'audit gratuit de FixMyMess) peut repérer les schémas risqués avant le prochain déploiement.

Prochaines étapes : restez simple et demandez de l'aide si besoin

Si vous ne faites rien d'autre après avoir lu ceci, choisissez une petite amélioration à livrer cette semaine. Pas cinq. Une. Le meilleur plan de sauvegarde est celui que vous continuez réellement.

Une façon pratique de choisir : demandez-vous ce qui ferait le plus mal aujourd'hui — perdre des données, être incapable de restaurer ou un mauvais déploiement impossible à annuler ? Corrigez cela en premier.

Trois étapes qui rapportent vite :

  • Mettez en place un calendrier simple de sauvegarde (même si ce n'est que des backups quotidiens de la base + snapshots hebdomadaires).
  • Rédigez un runbook d'une page : où sont les sauvegardes, qui y accède et les étapes exactes pour restaurer.
  • Faites votre premier exercice de restauration dans un endroit sûr (une base de staging ou une copie locale) et chronométrez-le.

Une fois un exercice effectué, rendez-le reproductible. Ajoutez un rappel récurrent pour que les exercices aient lieu sans volonté. Mensuel est un bon début pour les petites apps. Si vous changez souvent de schéma, faites-les plus fréquemment.

Si votre app a été construite avec des outils IA (Lovable, Bolt, v0, Cursor, Replit), supposez qu'il y a des risques cachés qui sabotent la récupération : secrets exposés dans les repos, migrations non réversibles, scripts « utiles » qui suppriment des tables, ou flux d'auth qui cassent après un rollback. Ces problèmes restent souvent invisibles jusqu'à ce que vous soyez sous pression.

Quand vous doutez, faites revoir votre code et votre setup de déploiement par une seconde paire d'yeux. Une rapide revue peut repérer la pièce manquante qui transforme « on a des sauvegardes » en « on peut récupérer ». Si vous héritez d'un prototype IA fragile en production, FixMyMess peut réaliser un audit gratuit du code puis réparer les éléments qui rendent les sauvegardes, restaurations et rollbacks peu fiables.