Migration de Moodle et changement d'URL - ne rien oublier et optimiser

Migration de Moodle et changement d'URL - ne rien oublier et optimiser

par Séverin Terrier,
Nombre de réponses : 0
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

Lorsqu'on réalise une migration de Moodle, et que l'URL change, il est nécessaire d'effectuer ce changement dans la base de données.

Du coup, afin de ne rien oublier, et d'essayer d'optimiser les différentes étapes, plusieurs choses sont nécessaires.

Pour éviter le temps de traitement de l'outil de recherche et remplacement, il peut être judicieux d'effectuer (en ligne de commande) le changement dans le fichier d'exportation de la base de données, avant son importation dans le nouveau serveur :

sed 's#https://ancien.domaine.fr#https://nouveau.domaine.fr#g' < export_ancien.sql > import_nouveau.sql

Mais il subsiste un problème : le contenu dans les blocs n'est pas traité (car encodé), nous allons donc devoir utiliser l'outil de remplacement (en ligne de commande), mais on peut ignorer toutes les tables lourdes (ne pas indiquer le préfixe, voir MDL-74587) pour aller plus vite :

php admin/tool/replace/cli/replace.php --non-interactive --shorten \
--search='https://ancien.domaine.fr' --replace='https://nouveau.domaine.fr' \
--skiptables='logstore_standard_log,notifications,grade_grades_history,question_attempts,hvp_xapi_results,question_attempt_step_data,question_attempt_steps,files,grade_grades,stats_user_monthly,forum_read,wiki_versions,stats_user_daily,stats_user_weekly,messages,task_log,question,stats_daily,folder,hvp_content_user_data,stats_monthly,assignfeedback_editpdf_rot,user,book_chapters,stats_weekly,grade_items_history,quiz_attempts,block_instances,assign_user_mapping,context'

Ceci étant fait, il faut adapter le "Menu personnalisé" (depuis "Administration du site > Présentation > Thèmes > Réglages thème") pour remplacer l'URL.

Dernier élément potentiel, si vous aviez intégré l'URL du site dans des personnalisation de langues. Vous devrez également les adapter. Pour trouver les fichiers concernés :

grep -rne 'https://ancien.domaine.fr' /chemin/vers/moodledata/lang/*_local | grep -v 'Local language pack from'

Voila, ces différents éléments corrigés, tout devrait être bon et cohérent pour l'URL.

Séverin

Moyenne des évaluations Utile (4)