Outils pour utilisateurs

Outils du site


local:moodlescript

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Révision précédente
local:moodlescript [2019/05/27 10:25]
local:moodlescript [2023/04/20 13:35] (Version actuelle)
florence
Ligne 1: Ligne 1:
 +<​html><​!-- nomoodle --></​html>​{{ :​blocks:​logo-apl.png?​nolink |}}<​html><​!-- /nomoodle --></​html>​
 +
 +===== Moteur de script pour moodle (Langage haut niveau)=====
 +
 +   * **Type de composant :** Local
 +   * **Nom :** MoodleScript
 +   * **Nom technique :** local_moodledcript
 +   * **Versions :** :M35: à :M39:
 +   * **Distribution :** Public
 +   * **Availability :** Stable.
 +   * **Dépot:** [[https://​github.com/​vfremaux/​moodle-local_moodlescript]]
 +   * **Tests unitaires :** [[https://​travis-ci.org/​vfremaux/​moodle-local_moodlescript/​branches]]
 +
 +==== Description ====
 +
 +Le moteur de script de Moodle implémente un langage de haut niveau sémantique ainsi que son interpréteur/​machine d'​excution permettant d'​écrire des scénarios de commandes dans une syntaxe simple, proche du langage naturel et destiné à des administrateurs fonctionnels. Les instructions de présentent comme des macros manipulant l'​essentiel des objets administrables de moodle. ​
 +
 +Le langage de script a été conçu pour être robuste, flexible et facilement extensible. Les deux sous-ensembles (l'​interpréteur et l'​exécuteur) ont été soigneusement architecturés pour offrir un certain nombre de services au code du script, tel que le test, la validation et des fonctions exhaustives de traçage.
 +
 +Un [[:​tool:​moodlescript|outil d'​administration]] permet d'​écrire des scriptlets de commande et de les exécuter interactivement dans Moodle. Les versions finalisées (pro version) intégreront également des web services pour pouvoir déposer et télé-exécuter des séquences de script, et se dirigera vers une capacité d'​assistance à l'​écriture.
 +
 +Le deuxième usage de ce plugin est de pouvoir servir de moteur d'​exécution à haut niveau pour d'​autres plugins dont le comportement pourrait être paramétrable (par simple réécriture du script d'​action).
 +
 +Le moteur de script, depuis sa version 2022081700, fournit également un évaluateur d'​expressions combinant une grande variété de tests sur les données de moodle. Cet évaluateur de test peut être facilement invoqué par d'​autres plugins qui ont besoin d'​évaluer une situation et piloter un affichage pour l'​utilisateur courant.
 +
 +[[:​local:​moodlescript:​developerapplicationexample|Un exemple d'​utilisation du moteur de script dans le plugin de transport de cours (block_publishflow)]].
 +
 +==== Définition du langage ====
 +
 +Le langage MoodleScript veut aboutir à une écriture simple, concise, et nécessitant le moins de syntaxe technique et de paramètres pour pouvoir fonctionner. Nous nos sommes orienté vers une syntaxe ancienne du BASIC afin que les insructions soient simples à comprendre et à relire, et s'​appuie sur les sémantiques des objets administrables principaux de moodle.
 +
 +   * [[:​local:​moodlescript:​designgoals|Design du langage]] ​
 +   * [[:​local:​moodlescript:​syntaxspecification|Règles de syntaxe]] ​
 +   * [[:​local:​moodlescript:​enginearchitecture|Architecture du moteur]] ​
 +   * [[:​local:​moodlescript:​languagespecification|Définition du langage]] ​
 +
 +   * [[:​local:​moodlescript:​expressionsyntaxspecification|Expressions évaluables - Règles de syntaxe]] ​
 +
 +==== Fonctionnalités ====
 +
 +   * Validation fonctionnelle de script
 +   * Vérification des paramètres avant exécution
 +   * Trace complète d'​exécution
 +   * Variables de contexte automatique
 +   * API simple pour intégration
 +
 +<​html><​!-- nomoodle --></​html>​
 +[[:​plugins|Retour à l'​index des plugins]] - [[:​pluginsets|Retour à l'​index des ensembles]] - [[::​start|Retour au catalogue]]
 +<​html><​!-- /nomoodle --></​html>​