Dans le même esprit que #106 et en attendant que les activités fonctionnent, voici une API pour les "étapes" d'un exercice. Pour faciliter la création d'exercices composées : quiz, exercices à étapes, etc.
Une objet de type Step contient un ou plusieurs champs de réponse. Dans la plupart des cas, il contient un seul champ de réponse mais on peut imaginer le cas à plusieurs champs de réponse.
Un objet de type Step contient:
un attribut title qui contient le titre de l'étape
un attribut question qui contient l'énoncé
un attribut inputblock qui contient l'interface de réponse (en HTML)
un attribut solution qui contient une correction de l'étape
un attribut score
une méthode eval qui évalue l'étape, puis modifie l'attribut score et renvoie ce score
une méthode display_feedback qui modifie le(s) champ(s) de réponse de l'étape de façon à afficher un feedback visuel/contextuel
une méthode hide_feedback qui modifie le(s) champ(s) de réponse de l'étape de façon à cacher le feedback visuel/contextuel
une méthode disable qui désactive le(s) champ(s) de réponse de l'étape
Avec ce genre d'API, on peut facilement écrire des scripts evaluator génériques qui travaillent sur des listes de Step. Il suffit ensuite de créer cette liste de Step dans le script before.
Exemple:
before ==
sequence = [StepTextInput(), StepRadio()]
sequence[0].question = "Quelle est la capitale de la France ?"
sequence[0].input.sol = "Paris"
sequence[0].solution = "Paris"
sequence[1].question = "Quelle est la superficie de la France ?"
sequence[1].set_items(["150 000 km²", "550 000 km²", "1 000 000 km²"])
sequence[1].set_sol(1)
==
@nborie @nimdanor
Dans le même esprit que #106 et en attendant que les activités fonctionnent, voici une API pour les "étapes" d'un exercice. Pour faciliter la création d'exercices composées : quiz, exercices à étapes, etc.
Exemple de quiz : https://pl.u-pem.fr/filebrowser/demo/55601/ Exemple d'exercice à étapes : https://pl.u-pem.fr/filebrowser/demo/55600/
Une objet de type
Step
contient un ou plusieurs champs de réponse. Dans la plupart des cas, il contient un seul champ de réponse mais on peut imaginer le cas à plusieurs champs de réponse.Un objet de type
Step
contient:title
qui contient le titre de l'étapequestion
qui contient l'énoncéinputblock
qui contient l'interface de réponse (en HTML)solution
qui contient une correction de l'étapescore
eval
qui évalue l'étape, puis modifie l'attribut score et renvoie ce scoredisplay_feedback
qui modifie le(s) champ(s) de réponse de l'étape de façon à afficher un feedback visuel/contextuelhide_feedback
qui modifie le(s) champ(s) de réponse de l'étape de façon à cacher le feedback visuel/contextueldisable
qui désactive le(s) champ(s) de réponse de l'étapeAvec ce genre d'API, on peut facilement écrire des scripts
evaluator
génériques qui travaillent sur des listes deStep
. Il suffit ensuite de créer cette liste deStep
dans le scriptbefore
.Exemple: