PremierLangage / premierlangage-lib

A standard librairie for Premier Langage
MIT License
0 stars 0 forks source link

Customization options for before and evaluator #1

Open ddoyen opened 4 years ago

ddoyen commented 4 years ago

Je propose d'ajouter quelques options de personnalisation à before et evaluator

Exemple. Pour les exercices qui utilisent SymPy, on aimerait ajouter un encodage/décodage SymPy <-> JSON.

Exemple. Pour les exercices de maths, on aimerait importer par défaut toutes les commandes SymPy (sans préfixe) dans le namespace.

Exemple. Pour les exercices qui utilisent SymPy, on aimerait disposer d'un filtre {{ ...|latex }} qui convertit un objet SymPy en châine Latex au moment de la mise en forme.

En pratique, l'utilisateur devrait définir tout ça (le namespace, l'encoder python, l'environnement Jinja) dans des fichiers .py à part, en utilisant des noms spécifiques et les inclure dans son exercice avec un alias spécifique.

@ my_json_coder.py [json_coder.py]
@ my_jinja_env.py [jinja_env.py]
@ my_namespace.py [namespace.py]

De cette façon, on pourrait avoir un template avec un before/evaluator customisé pour les maths, un template avec un before/evaluator customisé pour la physique, etc.

Voilà des nouvelles versions de before et evaluator qui implémentent ça. /builder/before_v1.py /grader/evaluator_v1.py

Voilà des exemples de customisation :

nimdanor commented 4 years ago

@mciissee peut tu me dire ce qui est compatible ou pas avec ce que tu a proposer d'avoir un composant angular "playexo".