Maintenance, supervision & sauvegardes : prendre soin de votre site dans la durée
Mettre un site en ligne n’est pas la fin d’un projet.
Les technologies évoluent.
Les navigateurs changent.
PHP évolue.
Les CMS et leurs extensions publient de nouvelles versions.
Des failles sont découvertes.
Les certificats expirent.
Les formulaires peuvent cesser de fonctionner.
Les sauvegardes peuvent échouer.
Un site qui fonctionnait parfaitement il y a trois ans ne continuera pas nécessairement à fonctionner indéfiniment sans intervention.
À l’Agence des Nouveaux Médias, nous considérons la maintenance comme un ensemble associant :
prévention, mises à jour, sauvegardes, supervision et capacité d’intervention.
La maintenance ne consiste pas seulement à faire des mises à jour
Cliquer sur « mettre à jour » n’est qu’une partie du travail.
Une maintenance sérieuse doit permettre de répondre à plusieurs questions :
Le site fonctionne-t-il ?
Est-il sauvegardé ?
Ses composants sont-ils maintenus ?
Existe-t-il des erreurs importantes ?
Les formulaires arrivent-ils toujours ?
Les tâches automatiques fonctionnent-elles ?
Quelqu’un sera-t-il alerté en cas de problème ?
C’est cette vision globale que nous privilégions.
Maintenance SPIP
Nous assurons la maintenance de sites SPIP, y compris lorsqu’ils comportent des développements spécifiques.
Selon le site, nous pouvons contrôler :
- version de SPIP ;
- plugins ;
- compatibilité PHP ;
- squelettes ;
- tâches périodiques ;
- erreurs ;
- cache ;
- base de données ;
- formulaires ;
- fonctionnalités métier.
Une mise à jour importante peut être testée avant son passage en production lorsque le contexte le justifie.
Maintenance WordPress
Un site WordPress repose généralement sur plusieurs composants :
- cœur WordPress ;
- thème ;
- extensions ;
- version PHP ;
- base de données ;
- éventuels services externes.
Tous évoluent indépendamment.
Une extension peut devenir incompatible.
Un thème peut ne plus être maintenu.
Une mise à jour PHP peut révéler du code obsolète.
Nous cherchons donc à maintenir l’ensemble du dispositif plutôt qu’à mettre à jour chaque composant sans contrôle.
Sauvegarder avant de modifier
Avant une opération importante, nous nous assurons de disposer d’un moyen de retour en arrière adapté.
Cela concerne notamment :
- mise à jour majeure ;
- migration ;
- changement de serveur ;
- modification importante de la base ;
- installation ou suppression d’une extension ;
- intervention sur un site défaillant.
Une sauvegarde est une assurance technique. Mais une assurance dont on n’a jamais vérifié le fonctionnement peut réserver de mauvaises surprises.
Que faut-il sauvegarder ?
Un site comporte généralement au minimum deux ensembles.
Les fichiers
CMS, thèmes, plugins, documents, images et développements spécifiques.
La base de données
articles, comptes, paramètres, formulaires, commandes ou autres informations selon l’application.
Restaurer uniquement les fichiers ne suffit donc pas nécessairement.
La stratégie dépend du projet.
Fréquence des sauvegardes
Un site institutionnel modifié une fois par mois et une plateforme enregistrant des données toutes les cinq minutes n’ont pas besoin de la même fréquence.
Nous déterminons la stratégie en fonction notamment :
- du rythme de modification ;
- de la nature des données ;
- de leur criticité ;
- de la capacité acceptable de perte ;
- des possibilités de l’infrastructure.
La bonne question n’est pas "faites-vous des sauvegardes ?" mais "combien de données pouvons-nous accepter de perdre en cas d’incident ?"
Conserver plusieurs générations
Écraser chaque nuit l’unique sauvegarde de la veille peut être dangereux.
Si un problème n’est découvert qu’après plusieurs jours, la sauvegarde peut déjà contenir le même problème.
Nous privilégions lorsque le projet le nécessite plusieurs générations de sauvegardes avec une politique de conservation adaptée.
Sauvegardes externalisées
Conserver toutes les sauvegardes uniquement sur le serveur qui héberge le site crée un risque évident.
Si ce serveur rencontre un incident majeur, les sauvegardes peuvent devenir indisponibles en même temps que le site.
Selon le dispositif, nous pouvons donc prévoir une copie sur un stockage distinct.
Tester la restauration
Une sauvegarde n’a de valeur que si elle peut être restaurée.
Nous pouvons donc effectuer des contrôles ou tests de restauration adaptés au niveau de criticité du projet.
Il faut pouvoir retrouver :
- fichiers ;
- base ;
- configuration ;
- procédure ;
- accès nécessaires.
La première restauration ne devrait idéalement pas être découverte en pleine urgence.
Superviser la disponibilité
Un site peut tomber en panne à 2 heures du matin.
Il n’est pas nécessaire que quelqu’un le regarde continuellement.
Un système peut vérifier régulièrement sa disponibilité et déclencher une alerte lorsqu’une anomalie persiste.
La supervision peut notamment porter sur :
- page principale ;
- pages ou services critiques ;
- certificat HTTPS ;
- réponses HTTP ;
- disponibilité d’une application.
Surveiller plus que la page d’accueil
Une page d’accueil accessible ne signifie pas nécessairement que tout fonctionne.
Un formulaire peut être cassé.
Une API peut ne plus répondre.
Une tâche automatique peut être bloquée.
Un import peut échouer.
Une synchronisation peut ne plus s’exécuter.
Pour les applications métier, nous pouvons donc mettre en place des contrôles plus spécifiques.
La supervision devient vraiment utile lorsqu’elle surveille ce qui compte pour l’activité.
Formulaires
Un formulaire de contact peut visuellement fonctionner mais ne plus transmettre correctement les messages.
Selon les possibilités du projet, nous pouvons surveiller :
- erreurs d’envoi ;
- configuration ;
- destination ;
- traitements automatiques ;
- événements enregistrés.
Pour les formulaires importants, nous recommandons également des tests fonctionnels périodiques.
Tâches automatiques
De nombreux sites exécutent des opérations sans intervention humaine :
- imports ;
- synchronisations ;
- emails ;
- nettoyage ;
- génération de données ;
- sauvegardes ;
- traitements programmés.
Le problème d’une tâche automatique est qu’elle peut parfois cesser de fonctionner silencieusement.
Nous cherchons donc, lorsque cela est important, à conserver une trace de son exécution et à faire remonter les anomalies.
Une automatisation silencieusement en panne est parfois plus dangereuse qu’une tâche manuelle.
Journaux et diagnostics
Les journaux techniques peuvent aider à comprendre :
- erreur PHP ;
- problème applicatif ;
- accès inhabituel ;
- échec d’une tâche ;
- erreur d’intégration.
Nous ne cherchons pas à conserver indéfiniment toutes les traces possibles.
Nous cherchons à disposer des informations nécessaires pour diagnostiquer les incidents importants.
Mises à jour
Une mise à jour doit être abordée selon son niveau de risque.
Une correction mineure n’a pas nécessairement besoin du même processus qu’une migration majeure de CMS ou de PHP.
Selon le contexte :
Sauvegarder
Tester
Mettre à jour
Contrôler
Documenter si nécessaire
Cette méthode réduit le risque de découvrir après plusieurs jours qu’une fonctionnalité secondaire a été cassée.
Environnement de test
Pour les sites importants, nous pouvons utiliser un environnement de développement ou de préproduction.
Il permet de tester :
- mise à jour ;
- nouvelle fonctionnalité ;
- modification de thème ;
- changement de version PHP ;
- migration.
La production reste ainsi protégée pendant les essais.
Maintenance corrective
Malgré les précautions, un problème peut apparaître.
Page blanche.
Erreur 500.
Formulaire cassé.
Extension incompatible.
Affichage incorrect.
Tâche bloquée.
Nous pouvons alors intervenir pour identifier la cause et rétablir le fonctionnement.
Maintenance évolutive
Un site vivant évolue également parce que les besoins changent.
Nouveau formulaire.
Nouvelle rubrique.
Connexion avec un service.
Nouvel espace privé.
Tableau de bord.
Automatisation.
La maintenance peut donc également inclure des évolutions fonctionnelles.
Découvrir nos développements spécifiques
Sécurité
La maintenance participe directement à la sécurité.
Maintenir un CMS et ses composants réduit l’exposition à certaines vulnérabilités connues.
Mais cela ne suffit pas.
Comptes administrateurs, permissions, infrastructure et développements doivent également être pris en compte.
Découvrir notre accompagnement en sécurisation de sites
Et si le site est déjà piraté ?
Une maintenance classique n’est plus suffisante lorsqu’un site est compromis.
Il faut alors identifier la compromission, nettoyer le site, rechercher la cause et sécuriser avant la remise en service.
Découvrir notre intervention pour les sites piratés
Un tableau de bord plutôt qu’une boîte noire
Lorsque nous suivons plusieurs éléments techniques, nous cherchons à rendre l’état du dispositif compréhensible.
Par exemple :
Site : opérationnel
Sauvegarde : dernière exécution réussie
Certificat : valide
Mises à jour : situation connue
Anomalie : action nécessaire
L’objectif n’est pas de produire cinquante indicateurs techniques.
Il est de savoir rapidement si quelque chose nécessite une intervention.
Documenter
Nous cherchons également à conserver les informations essentielles :
- versions ;
- hébergement ;
- accès ;
- services ;
- dépendances ;
- sauvegardes ;
- opérations importantes.
Cette documentation devient particulièrement précieuse lorsque le site existe depuis plusieurs années ou change d’intervenant.
Reprendre la maintenance d’un site existant
Nous pouvons reprendre un site que nous n’avons pas développé.
Nous commençons alors généralement par un état des lieux :
- technologies ;
- versions ;
- extensions ;
- hébergement ;
- sauvegardes ;
- erreurs visibles ;
- sécurité ;
- documentation existante.
Cela permet d’éviter de commencer une maintenance régulière sans connaître l’état réel du système.
Notre approche
Nous pouvons la résumer ainsi :
Sauvegarder.
Maintenir.
Superviser.
Détecter.
Diagnostiquer.
Corriger.
Documenter.
Et surtout :
ne pas attendre qu’un site tombe en panne pour commencer à s’en occuper.
Votre site a besoin d’être suivi ?
SPIP.
WordPress.
Site institutionnel.
Application métier.
Site ancien à reprendre.
Maintenance existante à auditer.
Sauvegardes à sécuriser.
Supervision à mettre en place.
Nous pouvons commencer par un état des lieux de l’existant.