Voici mon propre retour d'expérience, pour faire suite à ce qu'écrit Jérôme
"Pour le deuxième point, certaines adresses entrées lors de la création de ressources peuvent être stockées "en dur" (ici http://e-learning-facile.com/secours/la ressource)
dans la base de données et c'est pour cela qu'existe l'utilitaire bien
connu "replace.php" qui permet de les modifier en fonction de la
nouvelle adresse, sinon elles iront toujours chercher à un endroit qui
n'existe plus."
Pour l'avoir malheureusement vécu, je confirme : il y a beaucoup de choses (i.e URL) écrites en dur dans la BDD, et en se limitant à la séquence initiale proposée par Daniel (les points 1 à 3 de la question de départ), la plupart des cours auront beaucoup d'erreurs.
Il faut donc utiliser, semble-t-il, le fichier replace.php ( http://docs.moodle.org/all/fr/Migration_de_Moodle) lorsqu'il existe... Ce n'est pas toujours le cas ; en tout cas, pour Moodle 2.6 il n'existait pas en décembre 2013, et j'ai donc du faire la bidouille que je vous propose ci-dessous, et qui a parfaitement fonctionné pour mes installations (qui portaient d'autres noms que "secours" et "formation ; voir mon Nota en fin de procédure...)
Procédure proposée à Daniel pour ses dossiers "secours" et "formation" (si le replace.php n'existe pas pour la version), à ses risques et périls... :
- Copie du dossier initial "secours" comme dossier nouveau "formation"
- Copie du dossier initial "secoursdata" comme dossier nouveau "formationdata"
- Sauvegarde de la base de données SQL (dump) correspondant à l'installation secours, et création de la bdd pour le moodle formation.
- mysqldump -e -c -u root -p secours > secours_dump.sql
- En faire une copie de sauvegarde (pour la bonne forme) : cp secours_dump.sql secours-date_dump.sql
- mysql -u root -p -e "create database formation"
- Importation des données initiales dans cette nouvelle bdd après mise à jour la base de données en fonction des noms de dossiers de la nouvelle installation.
Utiliser la fonction rechercher/remplacer d'un simple éditeur de texte afin de substituer à l'ancienne url la nouvelle adresse dans la sauvegarde de la base de données initiale, avant d'importer cette sauvegarde rectifiée dans la base du nouveau site :- Renommer le dump : mv secours_dump.sql formation_dump.sql
- Editer le fichier et remplacer, uniquement là où c'est opportun (voir NOTA ci-dessous) la chaine de caractères 'secours' par 'formation', puis enregistrer.
- mysql -u root -p formation < "formation_dump.sql"
- modifier les fichiers de configuration en conséquence dans le répertoire formation (fichier config.php) (http://docs.moodle.org/all/fr/Fichier_de_configuration )
A priori pour une installation standard :
$CFG->dbname = 'formation';
$CFG->wwwroot = 'http://~url_de_ton_site/formation';
$CFG->dirroot = '/var/www/formation';
$CFG->dataroot = '/var/formationdata';
- Attribuer les privièges utilisateurs au dbuser du fichier config.php sur la base de données formation (via phpmyadmin ).
NOTA :
Dans le cas de cette procédure, le changement de la chaine de caractères est opportun uniquement lorsqu'il correspond à l'url des dossiers Moodle. Ainsi, je conseille vivement, dans la mesure ou vous voulez faire des duplications d'installations, de nommer vos dossiers Moodle par des chaines de caractères n'ayant aucune signification. Cela permet en effet de faire un "rechercher / remplacer ... tout " , sans se poser de question...