Attention : vous consultez actuellement la documentation dédiée aux versions 1.x de Moodle. La documentation pour les versions 2.x de Moodle est consultable ici : Migration de Moodle, celle pour les versions 3.x de Moodle est consultable ici : Migration de Moodle et celle pour Moodle 4.x est consultable là : Migration de Moodle.

Migration de Moodle

De MoodleDocs
Aller à :navigation, rechercher

Remarque : la traduction de cet article n'est pas terminée. N'hésitez pas à traduire tout ou partie de cette page ou à la compléter. Vous pouvez aussi utiliser la page de discussion pour vos recommandations et suggestions d'améliorations.


Parfois, vous devez déplacer votre site Moodle d'un emplacement à un autre. Cela s'appelle une migration, lorsque vous devez modifier la valeur de $CFG->wwwroot dans votre fichier config.php. La migration est découpée en plusieurs phases, détaillées ci-dessous :

Mise à jour de Moodle

Lorsque vous migrez Moodle, c'est souvent une bonne idée et l'opportunité de mettre à jour Moodle vers une version plus récente. Si vous gérez votre propre serveur, suivez les instructions de mise à jour, sinon, voyez si votre hébergeur peut le faire pour vous.

Restaurer un cours

Vous pouvez avoir besoin de restaurer un seul cours d'un ancien site vers un nouveau, notamment si vous testez la migration. Lorsque vous restaurez un fichier de sauvegarde Moodle sur un autre serveur que celui qui a servi à créer la sauvegarde, les liens absolus vers les fichiers peuvent être brisés. Pour corriger ce problème, ouvrez le fichier backup-coursename.zip et modifiez le fichier moodle.xml en remplaçant les liens par $@FILEPHP@$.

Par exemple, remplacez http://votre-serveur.com/file.php/243/ par $@FILEPHP@$

Lorsque le fichier sera restauré, cela utilisera le bon chemin pour le nouveau cours.

Migrer un site Moodle complet

Cela signifie migrer un site Moodle complet d'un serveur vers un autre. Si vous changez de domaine ou d'adresse IP pour votre nouveau serveur, vous devrez suivre les étapes suivantes :

  • Placez votre site Moodle actuel en mode de maintenance pour empêcher toute modification dans la base de données. Ne laissez pas les administrateurs se connecter durant la migration, car il ne sont pas affectés par le mode de maintenance.
  • Sauvegardez votre base de donnée Moodle en suivant les instructions de la page de mise à jour. Cela vous donnera un fichier texte contenant l'export mysql.
  • Copiez le code de Moodle vers le nouveau serveur - profitez-en éventuellement pour faire une mise à jour à la dernière version.
  • Dans votre dossier Moodle, modifiez la variable $CFG->wwwroot dans le fichier config.php pour votre nouveau serveur.
  • Dépose le contenu de votre répertoire de données (vérifiez en la valeur dans $CFG->dataroot) sur le nouveau serveur. Check also that permissions remain the same on the new dataroot folder and change the value if you have changed its location on the new server.
  • Déposez également la copie de votre base de données sql sur votre nouveau serveur (vous pouvez recourir à une version .zip pour gagner du temps dans le transfert).
  • Substituez à la base de données de votre nouveau site Moodle, la sauvegarde de la base de votre ancien site. Ceci est rendu indispensable par le fait que les liens vers les images, les fichiers, etc.sont enregistrés en tant que liens "absolus", reposant donc sur l'ancienne valeur issue de $CFG->wwwroot de votre ancien site. De sorte qu'en déposant la copie de votre base de données de l'ancien site vers le nouveau les liens seront brisés. Ceci peut être aisément résolu en recourant au programme replace.php. Après avoir déposé la base de données de l'ancien site sur le nouveau rendez vous avec votre navigateur internet vers http://votre-serveur.com/admin/replace.php
Entrez l'url de votre ancien serveur (http://ancienserveur.com/) et de votre nouveau serveur (http://nouveauserveur.com/) et cela corrigera les tables mysql. Vous devrez également réinitialiser les liens mis en cache en redémarrant votre serveur web.

Attention : avant d'utiliser replace.php, faites une sauvegarde de votre base de donnée Moodle et vérifiez que cette sauvegarde est correcte en la restaurant sur une installation de test (par exemple, sur votre ordinateur local).

Vous pouvez également utiliser la fonction rechercher/remplacer d'un simple éditeur de texte afin de substituer à l'ancienne url la nouvelle adresse dans la sauvegarde de votre ancienne base de données. Une fois ceci fait déposez cette sauvegarde rectifiée dans la base de vitre nouveau site.

#sed -e 's/ancienserveur.com/nouveauserveur.com/' mysqldump.sql

Astuce : pensez à consulter le fichier sql "dump" de votre ancienne base de données afin d'y vérifier comment était référencée l'url de votre ancien site.

  • Pour tester votre nouvelle installation, accédez à Moodle avec votre navigateur internet, à l'adresse du nouveau serveur. Lorsque vous avez vérifié qu'un certain nombre de liens dans les cours fonctionnent correctement, désactivez le mode de maintenance.

En résumé :

1)Installez une version Moodle sur votre nouveau serveur identique à celle de votre ancien site. 2)Sauvegardez le dossier de données de l'ancien site (via votre connection ftp) ; 3)Sauvegardez la base de données de l'ancien site (via phpmyadmin ); 4)Déposez le dossier de données sauvegardé dans le dossier de données du nouveau site (via votre connection ftp) ; 5) Substituez à la base de données du nouveau site celle de l'ancien à partir d'un "dump" de celle-ci.

Pensez à remplacer l'adresse de l'ancien site par celle du nouveau au sein même du fichier sql soit: a) avant de l'installer sur le nouveau site (fonction chercher/remplacer dans un éditeur de texte) b) en recourant au programme replace.php

Changements dans le DNS

Vous avez peut-être effectué des changements dans les entrées de DNS pour votre nouveau site Moodle. Si c'est le cas, il faudra un peu de temps pour que ces changements soient répercutés, soyez donc patient.

Accès interne et externe

Pour finir, vérifiez que l'accès à votre site est possible, autant en interne que depuis internet.

Voir aussi