Les moodleurs en parlent !

Un moteur de scripting dans Moodle ?

 
Avatar Valery Fremaux
Un moteur de scripting dans Moodle ?
Développeurs de pluginsMoodleurs particulièrement utiles

Bonjour à tous,

je viens prendre la température de la communauté sur une idée qui a émergé d'un besoin sur nos installations de Rennes, mais qui peut avoir un impact plus large. Même si ce post peut paraitre lié au développement, je préfère d'abord le diffuser dans ce forum pour recueillir vos réactions "fonctionnelles". 

Une de mes fonctionnalités de transport de cours entre instances Moodle suggère assez fortement l'idée d'un moteur de script (macros) permettant à certains endroits de constituer et jouer des actions scriptées avec une syntaxe très simplifiée. Il y a actuellement bien sûr "moosh" qui permet d'écrire des "macros" en ligne de commande, ce qui suggère aussi un accès et une compétence plus "système".

L'idée est alors de plus intégrer ce moteur dans l'administration même de moodle (ou des plugins de niveau administrateur) pour intégrer ce scripting dans l'usage administratif (comme VB était intégré à Word et Excel, à l'intérieur de l'application et non à l'extérieur).

Une fois disponible, il deviendrait accessible de relier un module de capture d'événements générique (basé sur les événements moodle) pour déclencher ces macros. MoodleRooms (Moodle Partner) dispose d'un dispositif similaire dans Joule (sa version propriétaire de moodle) mais il n'est pas public.

Dans mon cas précis, mon objectif est très défini et concret. La généralisation ouvre de larges champs de possibles, mais est aussi plus floue à définir. Voici un exemple de (projets de) commandes qui vont me servir à court terme :

MOVE COURSE id:157 TO idnumber:ARCHIVES (catégorie)

HIDE COURSE id:158

SHOW COURSE id:158

REMOVE BLOCK publishflow FROM id:157

ADD BLOCK course_recycle TO id:157 HAVING
location: right
position: first

ADD ENROL METHOD guest TO idnumber:MONCOURSPUBLIC HAVING
role: student

ADD COURSE TO idnumber:MACATEGORIE HAVING
shortname: MONNOUVEAUCOURS
fullname: Mon nouveau cours
idnumber: COURSNNN

Applications :

  • pour les administrateurs
    • scripts de transformation du contenu de moodle orienté "métier"
    • script sur événement
  • pour les développeurs de plugins
    • scripts de posttraitement (après une opération interne du plugin, un upgrade, etc)

Les objectifs :

  • Diminuer le recours à des moulinettes ad-hoc longues à écrire et à mettre au point
  • Autonomiser certains administrateurs sur des manoeuvres complexes
  • Gagner du temps et réduire les erreurs en élevant le niveau "syntaxique"

A plouche !

Valery

 
Moyenne des évaluations  -
Avatar Nicolas Martignoni
Re: Un moteur de scripting dans Moodle ?
DéveloppeursDéveloppeurs de pluginsDocumentation writersMoodleurs particulièrement utilesTesteursTraducteurs

Salut Valéry,

J'aime bien l'idée, mais je me demande si ça vaut vraiment le coup d'inventer une nouvelle couche de scripts.

Je comprends bien le souhait d'« élever le niveau syntaxique »; mais vu le public cible d'une telle fonctionnalité, est-ce bien opportun d'investir dans cette direction ?

AMHA, les forces de la communauté seraient mieux employées en aidant au développement de l'existant: Moosh, bien entendu, mais surtout les outils de Moodle pour la gestion en ligne de commande (en particulier admin/cli/cfg.php), déjà très puissants, mais sous-utilisés de mon point de vue (peut-être parce qu'incomplets).

Nicolas

 
Moyenne des évaluations  -
Avatar Valery Fremaux
Re: Un moteur de scripting dans Moodle ?
Développeurs de pluginsMoodleurs particulièrement utiles

"vu le public cible d'une telle fonctionnalité" // "mais sous-utilisés de mon point de vue"

C'est précisément le problème actuellement :

Si le public cible visé sont les services IT (DSIs), (CAS 1) ce niveau de script est inutile. Moosh et les scripts cli sont d'un niveau "technique" qui correspond bien à l'approche d'automatisation à un niveau gestion système. Mais ces publics sont très souvent éloignés de la problématique "métier" et fonctionnelle. Leurs scripts sont des réponses à des demandes issues du métier, et qui leur demande en général de la recherche et du temps de développement système (retour d'expérience). Ce n'est donc pas la cible.

Pour les autres, administrateurs Moodle, les moins avancés (CAS 2) ne sont pas encore confrontés à ces problématiques. Il faut déjà bien maitriser l'administration standard de moodle pour commencer. Les tactiques et besoins d'optimisation ou d'automatisation viennent plus tard. Mais ils arrivent assez vite, (CAS 3) et même chez des "petits exploitants" (retour d'expérience encore). L'ensemble des syntaxes cli et moosh restent très unixiennes (donc très techno) et adressent les données à un niveau MPD (modèle physique de données) et non MCD (Modèle conceptuel de données), encore moins "métier".

Bien entendu les CAS 2 et CAS 3 peuvent toujours rejoindre les CAS 1, après une formation et une montée en compétence "technicienne", et nous espérons tous que les CAS 2 deviennent des CAS 3.

cli/cfg.php est loin d'avoir la portée attendue, car ne constitue (c'est lui qui le dit) qu'un petit wrapper ligne de commande unix => config moodle, loin de manoeuvres telles que la modification programmée de la structure d'un cours ou des manoeuvres globale sur des catégories de cours.

Moosh est très bien, il offre pas mal de primitives, mais aussi très orienté "backoffice d'exploitation", et moins vers les manoeuvres métier. Et puis il demande un accès au serveur ce que de nombreux administrateurs moodle ne peuvent avoir étant donné la séparation des équipes TICE et des DSIs.

Je continue à cogiter sur tes arguments clin d’œil

 
Moyenne des évaluations  -
Avatar Valery Fremaux
Re: Un moteur de scripting dans Moodle ?
Développeurs de pluginsMoodleurs particulièrement utiles

Voici des premières documentation techniques sur le sujet :

http://docs.activeprolearn.com/en/doku.php?id=local:moodlescript


 
Moyenne des évaluations  -