zestedesavoir / zds-site

Cœur du projet technique de Zeste de Savoir
https://zestedesavoir.com
Other
268 stars 162 forks source link

ZEP-10 Module d'exercices #5405

Open A-312 opened 5 years ago

A-312 commented 5 years ago

Je propose ceci

[[q]]
| De quelle couleur est le cheval blanc de napoléon?

- () jais
- (x) blanc
- () orange
- () rose, comme toutes les licornes invisibles

[[q]]
| Qui gagne?

- [x] Superman
- [ ] San Goku (il me semble que j'ai mal orthographié, du moins j'espère)
- [x] Giratina
- [ ] Olivier Aton avec la catapulte infernale

Lorsque tu as une liste avec des () alors ça veut dire que les éléments de la liste sont des choix uniques.

Lorsque tu as une liste avec des [] alors ça veut dire que les éléments de la liste sont des choix multiples.

lorsque le symbole (()ou []) est vide alors ça veut dire que si le lecteur répond une de ces réponses elle sera considérées comme fausse. si le symbole possède un x alors ça serait une bonne réponse.

Il suffira ensuite d'ajouter un bouton pour "valider le formulaire" et avec un petit script JS on compare les réponses données à celles attendues et on a les QCM/QCU qui sont implémentées.

Source:artragis

https://zestedesavoir.com/forums/sujet/822/zep-10-module-dexercices/?page=2#p172164

StaloneLab commented 5 years ago

Deux remarques :

Je propose une syntaxe unique avec des parenthèses, sauf s'il y a une autre raison que j'ignore qui nécessite deux syntaxes.

A-312 commented 5 years ago

Comment gères-tu les questions multiples et simple ? (-> checkbox VS radio )

On ne peut pas annuler le disabled pour les [ ] ?

StaloneLab commented 5 years ago

C'est pas du tout compliqué de switch en fonction du nombre de croix.

Théoriquement en peu, mais c'est une mauvaise pratique je dirais ; notre Markdown est censé être compatible GFM avec en plus des extensions ; si on commence à tout modifier à tout va, ça va vite devenir ingérable.

artragis commented 5 years ago

ou simplement on garde la syntaxe GFM et on ajoute un visiteur qui viendra nous dire "hey, on a un formulaire et c'est la case X ou les case XYZ qui sont les bonnes. Avec du JS on remet tout à blanc puis on compare. y'a pas besoin de passer par le serveur pour avoir une note à un qcm.

StaloneLab commented 5 years ago

J'aime bien l'idée ; c'est facile à faire mais ça implique qu'on perde la syntaxe de TODO list, j'aime pas trop ça.

artragis commented 5 years ago

après si c'est que pour les quizz il suffit de n'activer ce visiter que dans certains cas. Comme pour le comptage des mots.

StaloneLab commented 5 years ago

Justement : quand est-ce qu'on l'active ? Il faut bien une syntaxe pour définir quand ça se produit, non ?

artragis commented 5 years ago

si on fait un module d'exercice, il suffit d'ajouter un nouveau "type" de rédaction en plus des section: les exercice et là on sait que le markdown qui est donné est un markdown d'exercice.

A-312 commented 5 years ago

C'est pas du tout compliqué de switch en fonction du nombre de croix.

Bonne idée ! Mais on laisse apparaître clairement que pour cette question, il n'y aura qu'un choix. :/

J'aime bien l'idée ; c'est facile à faire mais ça implique qu'on perde la syntaxe de TODO list, j'aime pas trop ça.

Si tu veux on partage la PR en deux, la partie ZMD et la partie ZDS-Site. Sachant que je suis gentil, je prend le plus compliqué, zds-site. 😝

J'aime bien l'idée ; c'est facile à faire mais ça implique qu'on perde la syntaxe de TODO list, j'aime pas trop ça.

Ce n'est pas possible d'ajouter une fonction middleware/router qui va tester si un bloque question est un parent de la liste/case a coché, et choisir quel module utiliser ?

StaloneLab commented 5 years ago

Je ne contribue pas sur zds-site, donc le choix des parties est un peu biaisé :smile:

C'est possible, mais je préfère de loin la suggestion d'@artragis, ça évitera qu'on se retrouve avec des exercices sur les forums par exemple ; c'est simple à gérer des deux côtés : la fonctionnalité n'est active que dans une section particulière d'un tuto / article / whatnot.

EDIT : il faut planifier ça pour la v28 ou je peux prendre mon temps et attendre la 29 ?

A-312 commented 5 years ago

Je ne contribue pas sur zds-site, donc le choix des parties est un peu biaisé 😄

Moi c'est l'inverse

EDIT : il faut planifier ça pour la v28 ou je peux prendre mon temps et attendre la 29 ?

Tu peux prendre ton temps :D

artragis commented 5 years ago

cette fonctionnalité ne sera pas dans la v28 et elle n'est pas prioritaire pour la v29