Assistance technique

Migration / Fusion

 
Avatar Daniel Hazebroucq
Migration / Fusion
Moodleurs particulièrement utiles

Bonjour,

Je souhaiterai avoir des retours d'expériences concernant la mise en place d'une PF par regroupement de plusieurs PF issues d'universités autonomes.

Nous avons fusionné nos 3 universités de Lille en une seule, nous continuons jusqu'à la fin de l'année universitaire à utiliser nos PF respectives pour ensuite, au 1er septembre proposer et utiliser une PF commune à l'ensemble des fusionnés.

Comment avez vous préparé le terrain ?

Certains d'entre vous utilisent-ils des script pour automatiser la création de catégorie et de cours?
Avez vous mis en place des formulaires qui permettent d'automatiser certaines taches ?

Les briques du futur SI sont mises en place petit à petit, le futur LDAP  est en construction mais  les identifiants changent pour tous les utilisateurs, nous avons compté prés de 850 catégories, entre 5 et 8000 cours à migrer pour 60 000 utilisateurs.

Nous n'avons pas beaucoup de droit à l'erreur, d'ou ma requête.

Merci d'avance

Daniel


 
Moyenne des évaluations  -
Avatar Bruno Malaval
Re: Migration / Fusion
Moodleurs particulièrement utiles

Bonjour Daniel,

Je me lance dans un début de réponse, je sens que tu vas passer un bon été ...

J'ai fait une migration l'été dernier un peu de ce type, sauf que je ne fusionnais pas plusieurs plateformes.

Mais l'objectif était de transférer toutes les données sur une nouvelle plateforme, et non migré l'ancienne.

Il y a déjà eu quelques pistes sur cette discussion : https://moodle.org/mod/forum/discuss.php?d=365036


De mon coté, j'ai utilisé pour tout cela :

  • des fonctionnalités internes à Moodle
  • des scripts en shell
  • moosh (c'est magique ce plugin pour les scripts)
J'avais monté le nouveau serveur et fait tout le process de migration au complet en test (importation des utilisateurs, cours, catégories, etc ...)
La préparation est longue, mais jouer le process au complet, permet le jour venu d'être plus serein

Je ne vais pas décrire tout le process, dans ce message, je joins juste un petit fichier qui reprend les principales étapes

Après, si tu as des questions, n'hésites pas ici voire en privé.
Je dis en privé s'il des points qui sont très spécifiques à tes plateformes et pas forcément utiles à la communauté.

Pense également au stock d'aspirine ... grand sourire

Bruno
C'est moi :-)
Re: Migration / Fusion
Documentation writersMoodleurs particulièrement utilesTesteursTraducteurs

Bonjour Daniel,

Bruno a donné des informations intéressantes.

En fait, je dirais que l'ampleur de la tâche va surtout dépendre de ce que vous souhaiterez réellement conserver.

En effet, si vous n'avez réellement besoin de conserver que le contenu des cours (avec leurs ressources et activités), et repartir vraiment à neuf, cela peut se faire assez facilement : créer toutes les catégories, tous les cours, procéder à leur restauration en masse (sans données utilisateurs).
Ne créer les comptes utilisateurs qu'une fois le nouvel annuaire constitué, et n'effectuer les affectations de rôle qu'à ce moment là.

Cela devrait permettre à mon sens de faire les choses assez rapidement, et en partant sur quelque chose de propre.

Par contre, si vous avez besoin de conserver les données des étudiants, les historiques... cela va être bien plus compliqué...

Mais peut-être que proposer l'accès (en lecture seulement ?) pour les enseignants aux éléments des plateformes actuelles pendant un an ou deux serait également une proposition complémentaire acceptable.

Séverin


 
Moyenne des évaluations  -
Avatar Mathieu Domingo
Re: Migration / Fusion
 

Bonjour,

A lire la description j'ai l'impression qu'il s'agit d'une "fusion" de 3 moodles, mais vu le titre qui contient "Migration" je me pose une question : Les 3 universités de Lille utilisent bien moodle ? Ou certaines utilisent d'autres plateformes d'enseignements ?

Si cela vient d'autres plateformes, j'ai fais un script de migration de cours d'une plateforme Chamilo vers Moodle. Cela m'a permis de créer un peu plus de 4000 cours, d'y enrôler les enseignants et d'y migrer les documents, les liens et les scorms.
J'ai eu quelques retours positifs, mais globalement très peu de retours (je pense que c'est du au fait qu'ils peuvent encore utiliser l'ancienne plateforme pour le moment). Si c'est bien 3 plateformes moodle comme j'ai cru comprendre mon script ne servira pas.

Mon avis en supposant que c'est bien une fusion :

Une fois que l'arborescence des catégories est clairement définit, je pense que la création automatique des catégories ne doit pas être tellement compliquée. Je n'ai pas regardé comment c'est codé mais globalement il doit falloir parser le fichier qui contient l'arborescence, éclaté la ligne pour trouver les parents , faire un traitement pour obtenir l'id du parent de la catégorie et crée la catégorie avec l'id du parent. Pour le traitement je vois 2 possibilités : soit réussir à faire une requête sql (plus ou moins compliqué si il y a des doublons de nom de sous catégories), soit faire une gestion intelligente des ids des catégories crées (globalement ça doit être une pile, si je descend dans l'arborescence, j'empile l'id, si je remonte dans l'arborescence je dépile, la profondeur de la pile que l'on garde sera égale au nombre de parent que l'on a obtenu en éclatant la ligne)

Globalement la migration des utilisateurs il n'y a rien à faire (du point de vue moodle), une fois que le nouveau ldap sera construit, la base utilisateur sera recrée.

La grosse difficulté ça va être de faire un import propre des cours (avec catégorie et utilisateurs)

Dans l'absolu, importer des fichiers de sauvegarde cela ne doit pas être tellement sorcier de le faire automatiquement.
Par contre réussir à les mettre automatiquement dans la bonne catégorie, cela risque d'être très difficile. Si la nouvelle arborescence correspond à une concaténation des 3 anciennes, il y aura peut être moyen de s'en sortir. Par contre si il y a des fusions/déplacements de catégorie, cela risque d’être particulièrement prise de tête pour un traitement complètement automatique.  (Personnellement dans le cas de ma migration chamilo->moodle, les 2 arborescences n'étaient pas du tout les même, j'ai opté pour tout mettre dans une seule catégorie (cachée aux élèves) et c'est à l'enseignant de mettre ses cours dans la bonne catégorie).

Pour les utilisateurs, vu que cela sera une nouvelle année, on doit pouvoir considérer qu'il n'y aura pas besoin d'associer les élèves aux cours. Du coup la difficulté sera d'associer les cours aux bons enseignants ("bon" dans le sens la personne qui avaient le cours avant quand les plateformes étaient séparés). A priori il doit être relativement facile d'obtenir le triplet (cours,vieuxLoginEnseignant,Lieu) et il faut espérer que vous avez une table qui permet de faire le lien vieuxLoginEnseignant+Lieu<->NouveauLogin et du coup cela ne dois pas être trop compliqué d'associer un cours au nouveau Login.

Il faudra aussi prévoir une gestion des doublons (il y aura peut être des cours qui ont le même "identifiant court" alors qu'il doit être unique).

Bon courage,
Mathieu

 
Moyenne des évaluations  -
Avatar Daniel Hazebroucq
Re: Migration / Fusion
Moodleurs particulièrement utiles

Merci Matthieu,

Effectivement c'est une fusion de 3 PF en une seule, j'avais ajouté migration car il était prévu de migrer les 3 Moodle dans un version supérieure.

On a décidé finalement de mettre tout le monde au même niveau, 3.1.8 et de fusionner sur une 3.1.8 toute neuve.

Pour les cours on partirait sur une création par utilisateur,  peut être via un formulaire intégré, dans le genre de celui présenté à MoodleMoot 2016 en Suisse par Clermont Auvergne.

Restera la réattribution des cours aux enseignants,

 
Moyenne des évaluations  -
C'est moi :-)
Re: Migration / Fusion - version
Documentation writersMoodleurs particulièrement utilesTesteursTraducteurs

Bonjour Daniel,

Je vais être pointilleux, mais quand on parle de "migration", cela signifie un déplacement (de serveur/URL), sinon, cela s'appelle une mise à jour (ou "montée de version").

En parlant de version, je suis étonné que vous parliez de 3.1.8. En effet, la version 3.1, bien qu'étant LTS, et supportée jusqu'à mai 2019, je trouve dommage de se priver des dernières évolutions.

Il me semblerait plutôt que ce serait la bonne occasion de passer sur une version récente et supportée, telle que la 3.4 (ou 3.5 d'ici cet été), surtout si vous ne récupérez pas les données étudiantes. Cela permettrait également de mieux gérer les aspects liés au RGPD ou à l'application mobile.

Ce qui pourrait poser problème, c'est si vous utilisez des plugins qui ne sont (seront) pas compatibles avec les dernières versions de Moodle.

Je t'engage à lire la page "Historique des versions de Moodle" pour en savoir plus.

Séverin

 
Moyenne des évaluations  -
Avatar Daniel Hazebroucq
Re: Migration / Fusion - version
Moodleurs particulièrement utiles

Bonjour Séverin,

Mea culpa, les termes étaient mal choisis, nous migrons nos 3 Moodle de nos 3 universités en 1, après mis à niveau à la même version puisque les 3 ne l'étaient pas encore. (2.7, 3.02 et 3.1.8).

Dans l'absolu, tu as raison et nous étions (les fonctionnels et technique)  partis sur une version 3.4, mais il a été décidé de passer d'un LTS (3.1.xx) à une autre LTS (3.5) pour des raisons pratiques, la reconstruction et la mise en place de la PF devant être effective début septembre, il fallait limiter les risques pour les 3 PF originelles.

Passer de la 3.1 et la 3.4 alors qu'elles sont supportées en sécurité jusqu'à la même date (mai 2019) nous aurez fait gérer 2 montées de version en 6 mois, sachant que toutes les PF n'étaient pas à l'époque dans le même version et que les circuits de décision et la gestion technique étaient différents (ils le sont encore)

Il fallait faire un choix (technique, pratique, politique, que sais-je encore), celui-ci a été fait pour la bascule LTS/LTS.

Passer directement à la 3.5 a été envisagé mais mise de coté car arrivant en mai, les délais aurait été un peu court pour pouvoir tester l'ensemble, gérer le quotidien (la fin de l'année étant la période des examens) et continuer la mise en place de la fusion (la DSI a aussi la tête dans le guidon).

Y a t'il seulement une bonne solution valable pour tout le monde, je ne sais pas, d’où ma demande sur ce forum.

Mais touts ces échanges nous seront utiles pour la suites des évènements.

Daniel

 
Moyenne des évaluations  -
Avatar Nicolas Martignoni
Re: Migration / Fusion
DéveloppeursDéveloppeurs de pluginsDocumentation writersMoodleurs particulièrement utilesTesteursTraducteurs

Par curiosité, pourquoi une version 3.1.8 ?

Motivations de ma question :

 
Moyenne des évaluations  -
Avatar Daniel Hazebroucq
Re: Migration / Fusion
Moodleurs particulièrement utiles

Bonjour,

Merci de ces retours et conseils.

Normalement,il est prévu de restaurer les cours sans données utilisateurs, pour éviter de re polluer la future PF avec tous les logs issues des 3 PF d'origine, mais j'ai fait le compte ce matin et j'en suis à 850 catégories et prés de 8000 cours.

Tous ne sera pas remonté bien évidemment, un (gros) tri s'impose.

J'ai regardé du côté de Moosh, utilisable en ligne de commande et je vais transmettre à mes collègues informaticiens qui gèrent la partie "mains dans le cambouis", je n'ai pas les accès de mon coté.

J'ai souvenir d'une intervention de l'université de Clermont qui eux avaient migré de Claroline à Moodle lors de la fusion des universités.

Les intervenantes avaient présenté entre autre un formulaire de création de cours qui me semble bien intéressant. Je vais les contacter pour avoir plus de renseignements.

Je me demande surtout si le temps qu'il nous reste sera suffisant pour avoir un PF opérationnelle le 1er septembre, sachant que la vie continue sur les campus et qu'il faut assurer l'ordinaire.

Je tiendrais la communauté au courant des avancées

Bonne journée

Daniel

 
Moyenne des évaluations  -
Avatar Bruno Malaval
Re: Migration / Fusion
Moodleurs particulièrement utiles

Sur la question du tri des cours, tout dépend de la façon dont ceux-ci sont créés

Soit de façon automatique à partir d'une "Offre de formation" ou , soit à la demande

Nous avons créé un formulaire simplifié dans ce sens à destination des enseignants

Principe :

  • Ajout manuel d'une table dans la bdd Moodle
  • ajout d'une page dans le site qui affiche pour chaque enseignant la liste des cours pour lesquels il a le rôle enseignant.
  • L'enseignant doit alors cocher les cours qu'il souhaite conserver (migrer)
  • Une date butoir est fixée pour la sélection des cours
Ceci nous a permis de ne migrer que les cours nécessaires.
Après, les enseignants peuvent sélectionner/déselectionner jusqu'à la date voulue.
S'il y a plusieurs enseignants dans un cours, c'est le dernier qui coche ou décoche qui a raison ... mais on avait prévenu

Si cela peut servir, je peux fournir le code de la page et les caractéristiques de la table.

Libre ensuite à chacun de l'adapter.

PS : Rendons à César etc ... c'est Sébastien Mehr qui est à l'origine de cette page

Bruno
 
Moyenne des évaluations  -
Avatar Daniel Hazebroucq
Re: Migration / Fusion
Moodleurs particulièrement utiles

Bonjour Bruno,

Merci pour ta proposition

Nous acceptons ton formulaire avec plaisir.

Ce sera une base de réflexion et peut être de départ vers une version plus locale adaptée à nos besoins.


 
Moyenne des évaluations  -
Avatar Bruno Malaval
Re: Migration / Fusion
Moodleurs particulièrement utiles

Bonjour Daniel

En pièces jointes au post, les 3 fichiers utilisés + une petit explication du fonctionnement.

Que les développeurs nous excusent, ce n'est pas dans les clous par rapport aux API Moodle et règles de développement
Après, ce n'était pas le but de développez un plugin, juste d'avoir un outil pour récupérer la liste des cours à migrer

On ne l'a donc pas optimisé, cela peut servir de base pour une développement personnel.

Bruno

 
Moyenne des évaluations Utile (1)
Avatar Daniel Hazebroucq
Re: Migration / Fusion
Moodleurs particulièrement utiles

Merci Bruno

Je vais le présenter aux informaticiens et j'espère qu'ils en feront bon usage

Daniel

 
Moyenne des évaluations  -
Avatar Sébastien Mehr
Re: Migration / Fusion
Moodleurs particulièrement utilesTesteurs

Hello Bruno,

Content de voir que mon bout de script sert toujours. Effectivement, il mériterait un petit coup d'actualisation avec les nouvelles normes PHP. grand sourire


Seb

 
Moyenne des évaluations  -
micro-entreprise ohkod.fr
Re: Migration / Fusion
 

Que les développeurs nous excusent, ce n'est pas dans les clous par rapport aux API Moodle et règles de développement
Après, ce n'était pas le but de développez un plugin, juste d'avoir un outil pour récupérer la liste des cours à migrer


En développement il n'est pas toujours nécessaire de coder à la façon de Moodle, si c'est pour automatiser des tâches,

aller plus vite, éviter d'apprendre les fonctions et classe de moodle.


L'important est d'avoir une moulinette qui ne perturbe pas la base de donnée moodle, et de ne pas attendre  des mois avant d'avoir un début de résultat.


Je suis sûr qu'il y a beaucoup de script développer hors moodle créer par différent universités ou autre établissement pour  trouver des solutions à leurs problèmes.

 
Moyenne des évaluations  -
Avatar Bruno Malaval
Re: Migration / Fusion
Moodleurs particulièrement utiles

juste pour info, c'est une page qui avait été faite pour migrer d'une plateforme 1.9 en 2.6 si mes souvenirs sont exacts
Donc installée sur une plateforme en 1.9

Mais elle fonctionne toujours, je l'ai utilisée l'été dernier.

Selon le mode de fonctionnement et notamment la création des cours, cela pourrai être utile d'une année à l'autre, sans penser migration ou upgrade, pour demander chaque année aux enseignants de valider les cours encore utilisés.

Et donc faire un peu de ménage.

Dans cette optique, je songe effectivement à me replonger dedans pour l'actualiser .. dès que j'ai le temps ...sourire

Bruno

 
Moyenne des évaluations  -
Avatar Éric Bugnet
Re: Migration / Fusion
Développeurs de pluginsDocumentation writersMoodleurs particulièrement utilesTraducteurs

Salut,

J'en ai profité pour mettre en ligne ce que j'ai fais ces vacances pour une migration de Moodle sur un autre serveur... avec quelques problèmes concernant moosh... : https://eric.bugnet.fr/migration-dun-moodle-sur-un-autre-serveur/

Éric

 
Moyenne des évaluations Utile (3)
Avatar Bruno Malaval
Re: Migration / Fusion
Moodleurs particulièrement utiles

J'ai fait un peu la même chose que Eric Bugnet l'été dernier.

Par contre, je n'ai pas vraiment eu de souci dans l'import des cours par moosh.

Au niveau de l'importation des cours et des identifiants courts, moosh les renomme si besoin
(ex: si 2 cours ont l'id court "test" , pour le 2ème cours importé il sera "test_1")

A voir s'il ne serait pas nécessaire d'effectuer tout cela en plusieurs étapes :

  • Migration des plateformes 1 par 1 sur la nouvelle en restant sur la même version (3.1.8)
  • Réorganisation si besoin des cours/catégories
  • Upgrade de la plateforme en 3.4 (voire 3.5 comme c'est prévu dans la roadmap Moodle)
Vouloir tout faire en 1 seule étape (migration / réorganisation / upgrade) risque de complexifié énormément le processus

Le fait de migrer d'abord sur une même version éliminera d'emblée les éventuels problèmes de plugins

De mon coté, je l'ai fait en créant plusieurs scripts adaptés à ma plateforme et dans ce cas, une chose importante qui m'a bien servi : les "logs"
A l’exécution de chaque script, je récupérais la sortie standard dans un fichier, mais j'ai également ajouté des "traces" personnelles dans le script
ex : "import cours id XXX / category XXX"
De cette façon, en cas de problème, il est facile de retrouver les éventuelles erreurs et les corriger. Si l'on déroule les scripts à l'aveugle, difficile de retrouver les traces.

Dans l'importation massive de cours, qq uns ne passaient pas, et le script continuait. J'ai pu les retrouver facilement.

Effectivement, c'est maintenant qu'il faut commencer à se pencher sur cette opération. Certes la volumétrie est importante, mais ce n'est pas le problème principal.
Les plus gros problèmes à traiter seront les fonctionnalités mises en place.

Exemple : si vous utiliser des cohortes et inscriptions par cohortes
Tous les ids seront changés (cours / cohortes), il faudra donc refaire toutes inscriptions.
Cela peut s'automatiser mais à nouveau en gardant une correspondance old_id/new_id des différents éléments

to be continued ....

Bruno
 
Moyenne des évaluations Utile (1)
Avatar Patrick Lemaire
Re: Migration / Fusion
Moodleurs particulièrement utiles

Merci Éric pour le partage de ce billet !

Cependant, tu écris : « Préparation de l'importation
J'utilise presque la même méthode citée dans le forum, sauf que je ne désire pas importer tous les cours. »

De quel forum parles-tu ?

Patrick

 
Moyenne des évaluations  -