Sauvegarde "classique"

Sauvegarder son site est indispensable. La fréquence doit dépendre de celle des modifications qui peuvent y être apportées : un site dont le contenu est rarement modifié pourra être sauvegardé seulement après la mise en place des nouvelles informations et lors de mises à jour d'extensions ou des fichiers système ; à l'inverse, un site marchand, un forum, bref tout site où des membres peuvent s'inscrire à tout instant, et où le contenu change très souvent (commandes d'un site e-commerce, messages du forum, commentaires sur articles, livre d'or, etc.) va nécessiter des sauvegardes très fréquentes, journalières voire même pluri-journalières.

Pour cela, deux méthodes peuvent être utilisées : l'extension Akeeba backup dont nous parlerons dans des articles spécifiques ou une sauvegarde (manuelle ou automatisée) telle que décrite ci-dessous, et que j'utilisais moi-même avant de passer à Akeeba backup, beaucoup plus simple et pratique.

Cette méthode manuelle, classique, est donc à réserver aux cas où, pour une raison ou une autre, Akeeba ne peut être utilisé.

Pour sauvegarder un site, il est nécessaire de copier les fichiers du site, mais aussi la base de données, où est stocké le contenu (articles, membres, etc.). Il est également indispensable de conserver des copies datées, ceci afin d'éviter de se retrouver avec une copie de site non valide, s'il a été piraté, en écrasant la sauvegarde par des fichiers altérés, l'important étant de disposer d'une copie la plus récente possible du site fonctionnel, afin de pouvoir le restaurer en perdant le moins de données possible.

La sauvegarde des fichiers (et répertoires ou dossiers) se fait par l'intermédiaire d'un client FTP (FileZilla étant un des plus utilisés, WinSCP ou autre) ou d'un logiciel de synchronisation de fichiers disposant de la gestion de transfert FTP. L'avantage de ce dernier type est qu'il permet de comparer et de faire une copie des seuls fichiers ayant été modifiés sur le serveur distant (ajout d'images ou documents, installation d'extension...), et parfois une automatisation du processus de sauvegarde, ce que m'a permis Syncback il y a quelques années.

Celle de la base de données peut se faire soit par un gestionnaire tel que phpMyAdmin, soit par une extension Joomla! comme LazyDbBackup.

LazyDbBackup permet une automatisation, à une fréquence définie, avec ou sans envoi par mail du fichier de sauvegarde, la taille de la base compressée pouvant être parfois trop importante pour un transfert par messagerie électronique.

La sauvegarde via phpMyAdmin nécessite de se connecter à la base de données par l'intermédiaire de ce script chez l'hébergeur. Une fois dans la gestion de la base, il est nécessaire de cliquer sur le nom de celle-ci dans la colonne de gauche afin de faire apparaître la liste des tables. Si la base de données contient les tables de plusieurs sites, il vous faut sélectionner, dans la liste, les tables correspondant au site (au besoin, vérifiez le préfixe dans la configuration du site, onglet "serveur") pour ne pas sauvegarder des tables d'un autre site (ce qui pourrait poser problème à cet autre site lors d'une restauration). Vous pouvez sélectionner toute une série de tables en cochant la case de la première puis, en maintenant appuyée la touche Maj, vous déplacer jusqu'à la dernière pour la cocher. Si la base ne contient que les données d'un seul site, vous n'avez pas besoin de sélectionner les tables. Cliquez ensuite sur le bouton "Exporter" en haut de page, puis passez à la méthode personnalisée. Choisissez le mode "SQL" proposé par défaut, le nom de la sauvegarde (j'utilise "@DATABASE@%Y%m%d:%H%M" pour horodater le fichier), si vous la voulez brute ou compressée, puis cochez la case "Désactiver la vérification des clés étrangères" et un peu plus bas "Ajouter une instruction DROP TABLE" avant de valider par le bouton "Exécuter" en bas de page. Enregistrez ce fichier dans un dossier dédié sur votre ordinateur.

Ainsi, vous disposerez d'une copie de votre base de données distante.

Pour ce qui est des fichiers. Si votre hébergeur le permet depuis son propre gestionnaire de fichiers distants, essayez de faire une archive compressée du dossier du site et enregistrez-la sur votre ordinateur. Si ce n'est pas possible, ou si après vérification il apparaît que l'archive n'est pas complète ou présente des erreurs, il vous faut passer par un client ftp afin de copier un à un vos fichiers et dossiers distants vers un répertoire local. Pour ça, il faut paramétrer dans ce logiciel les infos d'accès ftp au site distant, qui s'affichera dans la fenêtre de droite, et sélectionner dans la partie gauche le répertoire de destination. Après sélection de tout le contenu de la fenêtre de droite (par CTRL+A sur PC), il suffit de cliquer avec le bouton gauche de la souris en le maintenant et de glisser le tout vers la fenêtre de gauche, puis de relâcher le bouton. La copie commence. Si aucune erreur ne se produit pendant ce transfert, vous devez avoir une copie conforme de votre site distant. Par sécurité, il faut la tester sur un serveur local afin de s'assurer qu'elle est correcte, ce que nous détaillerons dans un autre article.