Hébergement

Plan de reprise après sinistre pour une application PHP : méthode de test

Construire et tester un PRA pour PrestaShop ou WordPress : objectifs RPO et RTO, sauvegardes restaurables, dépendances et procédure de bascule.

Un plan de reprise après sinistre (PRA) n’est pas une collection de sauvegardes. C’est la capacité démontrée à restaurer une application, ses données et ses dépendances dans un délai compatible avec l’activité. Pour une boutique PrestaShop ou un site WordPress, il faut notamment retrouver la base de données, les fichiers envoyés, la configuration, les secrets et les services externes nécessaires au parcours client.

Plutôt que de s’appuyer sur un incident spectaculaire ou un pourcentage non sourcé, partez de scénarios concrets : suppression accidentelle de données, compromission, panne d’un serveur, erreur de déploiement ou indisponibilité d’un fournisseur.

Définir RPO et RTO avec le métier

Le RPO (Recovery Point Objective) exprime la quantité maximale de données que vous acceptez de perdre. Le RTO (Recovery Time Objective) indique le temps maximal acceptable avant le retour du service. Ils ne sont pas des réglages techniques : ils doivent être décidés avec les personnes responsables des commandes, du support et de la comptabilité.

Exemple : si une boutique accepte de perdre au plus une heure de commandes et doit revenir en ligne en quatre heures, la fréquence des sauvegardes, le stockage distant, les étapes de restauration et les accès d’urgence doivent permettre de tenir ces objectifs. Si ce n’est pas mesuré lors d’un exercice, ce ne sont que des intentions.

Inventorier ce qui doit être restauré

Une restauration de fichiers seule ne suffit généralement pas. Votre registre PRA doit inclure :

Évitez de conserver des secrets dans un script de sauvegarde ou dans un dépôt. Utilisez le mécanisme de secrets prévu par votre hébergeur ou votre outil d’automatisation, avec des droits minimaux.

Concevoir une sauvegarde réellement restaurable

La règle pratique est de conserver plusieurs copies, sur des supports ou emplacements distincts, avec au moins une copie isolée des comptes de production. Le choix du nombre de copies et de l’immuabilité dépend des risques et du budget ; l’essentiel est de pouvoir vérifier l’intégrité et de restaurer.

Pour MySQL ou MariaDB, un export cohérent est utile, mais le bon format dépend de la taille de la base, de l’objectif de restauration et de l’outil utilisé. Testez la restauration dans une base distincte avant de déclarer une sauvegarde valide. Faites de même avec les médias et la configuration applicative.

ComposantÉchec fréquentVérification utile
Base de donnéesExport incomplet ou non restaurableImport dans un environnement isolé
MédiasSauvegarde sans fichiers uploadsContrôle du volume et de quelques fichiers
ConfigurationSecret ou variable manquanteDémarrage de l’application restaurée
DNS et certificatsBascule non documentéeExercice avec responsable désigné
Paiement et e-mailWebhooks ou clés absentsParcours de test sans transaction réelle

Exécuter un exercice de reprise

Un exercice doit produire une preuve : heure de départ, données utilisées, étapes suivies, durée réelle, erreurs, responsable et actions correctives. Commencez avec une restauration isolée, puis réalisez à intervalle défini un exercice plus proche d’une bascule réelle.

Une séquence simple :

  1. choisissez un scénario et annoncez le périmètre de l’exercice ;
  2. restaurez la base, les fichiers et la configuration dans un environnement non public ;
  3. vérifiez connexion, panier, administration, e-mails et tâches planifiées ;
  4. mesurez le délai et comparez-le au RTO fixé ;
  5. documentez chaque blocage et corrigez le plan ;
  6. mettez à jour la date de test, les accès d’urgence et les contacts.

La réplication et une infrastructure redondante peuvent réduire l’indisponibilité, mais elles ne remplacent pas une sauvegarde isolée : une suppression ou une compromission peut se répliquer elle aussi.

Associer le PRA à la sécurité quotidienne

Le PRA limite les conséquences d’un incident ; il ne remplace ni les mises à jour ni le contrôle des accès. Pour les diagnostics applicatifs, consultez aussi notre guide pour diagnostiquer une erreur 500 avec Nginx, les logs et une assistance IA. Pour une migration de serveur, le guide migrer un serveur e-commerce vers une nouvelle version Linux et PHP aide à préparer les dépendances à inclure dans le plan de retour.

L’ANSSI publie des recommandations de continuité et de reprise d’activité qui peuvent servir de cadre pour formaliser les responsabilités et les exercices.

Questions fréquentes

Un CDN suffit-il en cas de sinistre ?

Non. Il peut servir des contenus en cache, mais ne restaure ni la base de données, ni les commandes, ni l’administration de l’application.

À quelle fréquence faut-il tester ?

La fréquence dépend des changements et des objectifs métier. Testez après une évolution majeure de l’infrastructure ou de l’application, et planifiez des exercices réguliers suffisamment complets pour valider le RPO et le RTO.

Une réplication est-elle une sauvegarde ?

Non. La réplication améliore la disponibilité, mais elle peut propager une corruption ou une suppression. Conservez des sauvegardes séparées et testées.

Agence web PrestaShop & WordPress

Agence web spécialisée PrestaShop et WordPress : création, maintenance, sécurité, performance et référencement. Nos tutoriels sont issus de nos interventions sur de vraies boutiques.

L'agence Genisoft → LinkedIn →