Synchroniser Moodle /Moodlebox

Synchroniser Moodle /Moodlebox

par Anne Garnavault Remy,
Nombre de réponses : 10

Bonjour,

La Moodlebox est un merveilleux outil ( Merci @Nicolas Martignoni ) et il va prendre de l'ampleur puisqu'il est de plus en plus  pressenti dans plusieurs centres pénitentiaires pour permettre aux étudiants incarcérés d’accéder à des cours sur Moodle, hors accès internet. Ces projets sont soutenus par Direction de l'administration pénitentiaire et le Ministère de l'enseignement supérieur.

Nous allons initier un développement autour de la question de la synchronisation . En effet , nous n'avons rien trouvé qui corresponde au besoin suivant :

- a partir d'un choix d'espaces de cours sur une instance Moodle classique, permettre de synchroniser ces espaces de cours avec des cours installés sur une MoodleBox

- ou a partir d'un dossier de sauvegardes disponibles ( un dépôt  GIT par exemple)  ( dans le cas ou il y aurais plusieurs origines Moodle )

- synchroniser = une mise a jour du cours sans suppression des traces des étudiants , sans duplication des ressources ou des activités, avec une mise à jour des fichiers ou des ressources, une suppression  si besoin...

Pour le moment les manipulations sont manuelle, longues et fastidieuses ( si il ne s'agissait que de sauvegarder/ restaurer, on fait cela très bien en masse avec Moosh) .

Nous sommes à la recherche d'expériences à ce sujet et de pistes.

Pour le moment j'ai repéré les liens suivants pour notre étude de faisabilité :

https://0fajarpurnama0.medium.com/rsync-and-rdiff-implementation-on-moodles-backup-and-restore-feature-for-course-synchronization-bb5cc7f0a1ca 

https://moodle.org/mod/forum/discuss.php?d=346395                    

https://docs.moodle.org/310/en/Community_hubs 

https://www.researchgate.net/publication/267688637_Synchronization_Interfaces_for_Improving_Moodle_Utilization

 Voir aussi dans les plugins

https://moodle.org/plugins/block_my_external_backup_restore_courses

https://moodle.org/plugins/local_remote_backup_provider

Merci pour vos retours !

Très belle journée

Anne




Moyenne des évaluations Utile (5)
En réponse à Anne Garnavault Remy

Re: Synchroniser Moodle /Moodlebox

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Merci Anne !

Je rêve d'une telle fonctionnalité depuis que j'ai commencé la MoodleBox, et j'ai de nombreuses demandes à ce sujet.

Malheureusement pas assez calé pour me lancer dans le développement, mais bien entendu à disposition pour aider et tester.

Nicolas

En réponse à Nicolas Martignoni

Re: Synchroniser Moodle /Moodlebox

par Anne Garnavault Remy,
Oui, grâce au projet "Campus Connecté en prison" , on va avoir les moyens de faire le développement . Si tu as des idées de fonctionnalités en plus de ce que je propose , n'hésite pas. Après on en est qu'a la partie étude de faisabilité ...
En réponse à Anne Garnavault Remy

Re: Synchroniser Moodle /Moodlebox

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Anne, je me suis mal exprimé: ce ne sont pas des demandes de fonctionnalités de ma part, mais des personnes qui me demandent comment synchroniser des instances de Moodle (pardon pour la mauvaise formulation de mon message précédent).

Mais je n'hésiterai pas si j'ai des (bonnes) idées sourire

En réponse à Anne Garnavault Remy

Re: Synchroniser Moodle /Moodlebox

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Salut Anne,

Vous envisagez une synchro bi-directionnelle basée sur une date de référence ? Dans ce cas, ça pourrait largement dépasser le cadre de la MoodleBox ! Il y a plein de plateformes dont on espère pouvoir synchroniser les contenus.
Ne pas toucher aux données utilisateurs risque de compliquer sérieusement la donne ?! Mais je comprends que dans ton cas, ça soit incontournable 🤔

Un projet qui va faire graviter pas mal d'intérêts divers...
Vous pourriez envisager un cahier des charges collaboratif ? Type FramaPad ?

À bientôt,
Patrick
Moyenne des évaluations Utile (2)
En réponse à Patrick Lemaire

Re: Synchroniser Moodle /Moodlebox

par Anne Garnavault Remy,
Merci Patrick,
Didier, mon collègue, finalise le cahier des charges la semaine prochaine. Oui pour un framapad, car effectivement cette problématique va au delà de la Moodlebox. Déja sur la fusion ...
Je vous tiens au courant de nos avancées pour proposer le framapad.
Pour le moment, nous somme que sur de l'unidirectionnel, mais pourquoi pas dans les 2 sens.
Comme le MoodleMoot et voir tout le monde va me manquer cette année !
A bientôt
En réponse à Anne Garnavault Remy

Re: Synchroniser Moodle /Moodlebox

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonsoir,

Je viens de lire ce message de Tim Hunt à propos de la possibiité de synchroniser des questions de test (quiz) entre différents Moodle, grâce à la création d'un nouveau type de plugins.

Peut-être que ce type d'interaction (via les services web) est une piste à suivre ?

Moyenne des évaluations Utile (2)
En réponse à Nicolas Martignoni

Re: Synchroniser Moodle /Moodlebox

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour,
Je pense en effet que les WebServices seraient une "bonne approche" pour ce type de fonction. D'ailleurs, une première étape serait, un peu comme pour faire une sauvegarde, d'avoir un état de ce qui diffère entre la source et la destination. On coche ce qu'on souhaite écraser ou pas.
J'ai déjà pu me pencher sur ce type de plugin via Remote backup provider qu'Anne cite dans son préambule. Combiné avec l'excellent Restore courses from remote Moodles de Céline, c'est redoutable. J'ai développé un plugin pour transférer des cours d'un Moodle à un autre, une commande trop spécifique pour proposer ce développement à la communauté. Mais ça donne envie de se pencher sur cette question à l'aide des WebServices.

À bientôt,
Patrick
En réponse à Patrick Lemaire

Re: Synchroniser Moodle /Moodlebox

par Céline Perves,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles
Restore courses from remote Moodles ne restaure malheureusement pas les données utilisateurs seulement le cours épuré de ces données utilisateurs
Intéressée également par le sujet car certains enseignants demandent une restauration des cours avec données utilisateurs que nous devons alors opérer manuellement à l'aide moosh
la difficulté dans une synchronisation des données étant de "capter" les différences et ceci correctement (pas évident).
Quand on voit comment des synchronisation de catalogue de formation dans moodle peuvent être compliquées on imagine la complexité de la synchronisation d'un cours.
Merci donc pour ce beau sujet
sujet lancé cerveaux lancés
@ bientôt
Céline
En réponse à Céline Perves

Re: Synchroniser Moodle /Moodlebox

par didier cadiou,
Bonjour à tous, bonjour Céline.

Il faudra que je te contacte pour en savoir plus sur ton plugin.

Merci pour vos commentaires les uns et les autres.

Coté avancement, je n'ai pas énormément avancé sur mon cahier des charges techniques. J'envisage 2 familles de solutions très différentes et j'en suis à me poser la question de la faisabilité pour l'une et l'autre.

La première exploiterait les sauvegardes/restaurations de cours natives de Moodle. Conceptuellement, c'est simple pour les modules (activités) ajoutées ou supprimées. En revanche, je ne vois pas d'autres solutions que de faire cohabiter ancienne et nouvelle version d'un module modifié. A charge pour le responsable du cours coté MoodleBox de les fusionner manuellement et de gérer les traces tout aussi manuellement.

La deuxième famille, très ambitieuse voire trop, envisage une synchronisation bas niveau, de la base de données d'une part et des fichiers du dataroot d'autre part. Pour le dataroot, j'aperçois plusieurs solutions. Cela suppose une bonne maîtrise du système de fichiers Moodle avec son hashage et ses informations en base, mais c'est peut-être atteignable.
En revanche pour la base de données, c'est bien plus compliqué, voire acrobatique. Il faudrait écraser les données de certaines tables sur la MoodleBox par les nouvelles, mais sans affecter les tables qui contiennent des traces étudiantes. Conceptuellement déjà cela pose plein de questions : es-t-on sur que pour tous les plugins d'activités données de configuration du module et traces étudiantes sont bien dans des tables différentes (exception faite de la table de log) ? Comment avoir une liste de tables à écraser qui fonctionne toujours quel que soit la liste des plugins d'activités installés ? Comment toujours avoir les mêmes clés primaires sur les 2 Moodles ?

Pour la liste des tables j'imaginais m'appuyer sur une analyse comparative dynamique des sauvegardes du même cours sur les 2 plateformes ou sur celle d'origine mais entre 2 synchronisations, sans les traces étudiantes. Pour la problématique des clés, il est peut-être envisageable de définir une utilisation stricte de la MoodleBox sans aucune restauration de cours, ni action qui créerait de nouvelle données (donc de nouveaux id), autres que les données synchronisées à bas niveau. Une restauration SQL restaure aussi les ids, mais est-ce toujours vrai ? ça parait fragile.

Je me suis monté une infrastructure virtuelle avec 2 Moodles, maintenant il faut que je fasse des tests pour voir si déjà dans ce cadre restreint ça passe.

Quand sur le papier quelque chose parait simple, c'est généralement compliqué en pratique. Alors quand ça parait déjà compliqué sur le papier...
Moyenne des évaluations Utile (2)
En réponse à didier cadiou

Re: Synchroniser Moodle /Moodlebox

par didier cadiou,
Petit point d'avancement : J'ai abandonnée la solution bas niveau (impossible de synchroniser les bases de données en ne restaurant que certains enregistrements dans certaines tables).
Même pour la solution applicative avec les sauvegardes restaurations, ça parait complexe. Comme écrit précédemment, je ne vois pas de moyen de synchroniser une modification de module, puisque les restaurations en mode fusion ne le font pas et qu'il nous faut impérativement conserver les traces étudiantes sur le Moodle de destination.
Pire, la détection des modifications à synchroniser est plus compliquée que ce que j'avais initialement cru. Je pensais pas exemple exploiter le champs 'timemodified' de chaque module, mais celui-ci n'est pas toujours mis à jour (exemple : l'ajout d'une question dans un quiz ne change pas 'timemodified' dans 'mdl_quiz').
Donc pour l'instant, la faisabilité du projet n'est pas démontrée.
Moyenne des évaluations Utile (1)