Sauvegarde de site

Révision de 29 décembre 2013 à 19:39 par Nicolas Martignoni (discussion | contributions) (Creating a backup of your Moodle site)

Attention : vous consultez actuellement la documentation dédiée aux versions 2.x de Moodle. La documentation pour les versions 3.x de Moodle est consultable ici : Sauvegarde de site.

Remarque : cet article est en cours de rédaction. N'hésitez pas à le compléter. Veuillez utiliser la page de discussion ou un forum adéquat de Moodle en français pour vos recommandations et suggestions d'améliorations.

Une sauvegarde de site permet à l'administrateur d'un site d'enregistrer la totalité des données associées à un site Moodle. Les sauvegardes peuvent être restaurées afin de reconstituer un site dans l'état-même où il se trouvait au moment où la sauvegarde à été effectuée.

Il est vivement recommandé d'effectuer des sauvegardes de manière régulière afin de réduire la quantité de données perdues dans l'éventualité d'un problème sur le site et pour rendre plus rapide l'éventuel processus de restauration.

Qu'est-ce qui doit être sauvegardé ?

Un système Moodle comprend trois parties :

  1. les données stockées dans la base de données (par exemple une base de données MySQL) ;
  2. les fichiers déposés par les utilisateurs (par exemple les fichiers de cours déposés), stockés dans le dossier moodledata ;
  3. le code source de Moodle (tout ce qui est stocké par exemple dans le dossier server/htdocs/moodle.

Les emplacements de ces trois éléments de votre installation Moodle peuvent être déterminés en consultant le fichier config.php.

  1. $CFG->dbname indique le nom de la base de données,
  2. $CFG->prefix indique le préfixe des noms des tables de la base de données,
  3. $CFG->dataroot indique où les fichiers déposés sont stockés (en principe le dossier moodledata), et
  4. $CFG->wwwroot indique l'endroit où réside le code source.

Astuce

En principe, la base de données (dbname et prefix) et les fichiers déposés (dataroot) sont les deux parties les plus importantes à sauvegarder de manière régulière. Elles contiennent les informations susceptibles de changer souvent.

Le code source de Moodle (wwwroot) est moins important à sauvegarder de manière régulière, car il ne change que lors des mises à jour du code, de l'ajout de plugins ou de modifications manuelles du code (fortement déconseillées). Il est en outre toujours possible d'obtenir le code source standard de Moodle code sur http://download.moodle.org/, de sorte qu'il n'est nécessaire de sauvegarder que les parties que vous avez ajoutées ou modifiées vous-même.

Effectuer une sauvegarde de votre site Moodle

Base de données

La façon adéquate de sauvegarder votre base de données dépend du système de base de données que vous utilisez. Les instructions ci-dessous montrent une manière de sauvegarder une base de données MySQL. Une autre option utiliserait un outil comme phpMyAdmin pour faire une sauvegarde manuelle. La documentation de votre système de base de données vous fournira plus d'informations.

Voici l'esquisse d'un script que vous pouvez lancer sur Unix pour sauvegarder votre base de données. C'est une bonne idée de lancer quotidiennement un tel script au moyen d'un cron :

cd /my/backup/directory
mv moodle-database.sql.gz moodle-database-old.sql.gz
mysqldump -h example.com -u myusername --password=mypassword -C -Q -e --create-options mydatabasename > moodle-database.sql
gzip moodle-database.sql

Encodage des caractères

Assurez-vous que la sauvegarde de la base de données utilise l'encodage de caractères correct. La plupart du temps, il faut utiliser UTF-8.

Lors de l'enregistrement de l'intégralité de la base de données Moodle, contrôlez les éventuels problèmes d'encodage de caractères. Dans certains cas, les sauvegardes créées à l'aide de mysqldump ou de phpMyAdmin n'encodent pas correctement toutes les données. Dans un tel cas, cela posera des problèmes (caractères non lisibles) lors de la restauration.

Une solution possible à ce problème est d'utiliser MySQL Administrator 1.1 ou un autre outil forçant l'exportation de données encodées en UTF-8.

Outils pour la sauvegarde de la base de données

phpMyAdmin
phpMyAdmin is the tool of choice with most web hosting providers.
MySQLDumper
MySQLDumper is a backup script for MySQL databases, written in PHP and Perl. MySQLDumper uses a proprietary technique to avoid execution interruption when running PHP scripts (the max. execution time is usually set to 30 seconds). MySQLDumper also cares for the encoding problems mentioned above. It also works with compressed files and allows setting up regular cron jobs for updating and updating to a remote FTP site.

Fichiers déposés (moodledata)

Through the Moodle interface, users can upload or create files and folders. These are located in a directory, often called "moodledata". Since they are just files and folders, there are many different ways to backup or copy moodledata.

  • For example, using a file transfer program, copy the entire moodledata directory to a different area, drive or computer. Example of file transfer programs include: FTP, WinSP, wget, rsync.
  • You might use a compression program to create compact files (tar, zip. 7z, XZ, BZIP2, GZIP, and WIM are a few file formats) of the entire directory. This can be done before or after file transfers.
Tips
  • Typically not all moodledata files change between regular/periodic backups. A new Administrator might want to look into incremental or other efficient backups procedures.
  • Depending upon the operating environment there are many tools for backing up server files and ways of backing up moodledata. See Tools_for_backing_up_server_files for tips on using rsync, FTP or Wget.

Code source de Moodle

Backing up the Moodle code, will be similar to backing up moodledata. See Tools for backing up server files.

Astuce

It is always a good idea to have several backup copies of your Moodle code files. While you can always download a fresh base copy of the Moodle code from http://download.moodle.org, you might have customized that code. It is a good idea to create a separate backup of your Moodle code before you customize the code. This includes installing Contributed code, Themes and upgrading.

See also