Syntaxe des quiz
Syntaxe des quiz
BrainNotFound utilise le format Markdown pour définir les quiz. Ce format est simple, lisible et facile à éditer.
Structure générale
# Titre du quiz
## TYPE - Énoncé de la question [X points]
(contenu selon le type)
- Le titre est défini par un
#en début de fichier - Chaque question commence par
##suivi du type et de l'énoncé - Les points sont indiqués entre crochets à la fin de la ligne :
[2 points],[1 point]ou en abrégé[2 pts], décimales acceptées ([1.5 points]). Sans mention, la question vaut 1 point.
L'éditeur de quiz affiche un aperçu en direct à côté du Markdown : une question mal écrite y est signalée tout de suite.
Les mots-clés anglais sont aussi acceptés : ## MCQ -, ## OPEN - et ### Expected answer.
Types de questions
QCM (Question à Choix Multiples)
## QCM - Quelle est la réponse correcte ? [2 points]
- [ ] Réponse incorrecte A
- [x] Réponse correcte
- [ ] Réponse incorrecte B
- [ ] Réponse incorrecte C
- Utilisez
- [ ]pour une option incorrecte - Utilisez
- [x]pour la ou les réponses correctes - Plusieurs réponses correctes sont possibles (QCM à choix multiples)
Correction : Automatique. L'apprenant doit cocher exactement les bonnes réponses pour avoir tous les points (tout ou rien).
Question ouverte
## OUVERTE - Expliquez le concept X [5 points]
### Réponse attendue
La réponse attendue qui servira de référence pour
l'évaluation par l'IA. Soyez précis sur les points
clés que l'apprenant doit mentionner.
- La section
### Réponse attendueest obligatoire - Elle sert de référence à l'IA pour évaluer la réponse de l'apprenant
Correction : par l'IA. L'IA compare la réponse de l'apprenant à la réponse attendue et attribue une note avec un feedback personnalisé.
Options avancées
Images
Vous pouvez inclure des images dans vos questions :
## QCM - Identifiez ce schéma [2 points]

- [ ] Option A
- [x] Option B
- [ ] Option C
- Envoyez l'image avec le bouton Ajouter une image de l'éditeur (PNG, JPG, GIF ou WEBP)
- Collez le code Markdown fourni, de la forme

Code
Pour les questions techniques, utilisez les blocs de code :
## OUVERTE - Que fait ce code ? [3 points]
```python
def factorial(n):
if n <= 1:
return 1
return n * factorial(n - 1)
```
### Réponse attendue
Cette fonction calcule le factoriel de n de manière
récursive. Elle retourne 1 si n est inférieur ou égal
à 1, sinon elle multiplie n par le factoriel de (n-1).
Sévérité de la correction IA
Trois niveaux disponibles dans les paramètres du quiz :
| Niveau | Description |
|---|---|
| Gentil | Valorise les efforts, tolérant sur la formulation |
| Modéré | Équilibre entre précision et compréhension |
| Sévère | Exige une réponse précise et complète |
Le ton des retours se règle au même endroit : neutre, jovial, taquin, encourageant, sarcastique ou professoral.
Bonnes pratiques
Pour les QCM
- Proposez 3 à 5 options par question
- Évitez les options évidemment fausses
- Formulez des distracteurs plausibles
- Une seule bonne réponse par défaut (sauf QCM multiples explicites)
Pour les questions ouvertes
- Rédigez une réponse attendue détaillée
- Mentionnez les mots-clés et concepts importants
- Indiquez les critères d'évaluation si nécessaire
- Adaptez les points à la complexité de la question
Exemple complet
# Examen Python - Semestre 1
## QCM - Quel mot-clé définit une fonction en Python ? [1 point]
- [ ] function
- [ ] func
- [x] def
- [ ] define
## QCM - Lesquels sont des types mutables ? [2 points]
- [x] list
- [ ] tuple
- [x] dict
- [ ] str
## OUVERTE - Expliquez la différence entre une liste et un tuple [4 points]
### Réponse attendue
Une liste est un type mutable : on peut modifier ses éléments,
en ajouter ou en supprimer après création. Elle utilise les
crochets [].
Un tuple est immutable : une fois créé, il ne peut pas être
modifié. Il utilise les parenthèses ().
Les tuples sont plus rapides et peuvent servir de clés de
dictionnaire, contrairement aux listes.
## OUVERTE - Écrivez une fonction qui inverse une chaîne [5 points]
### Réponse attendue
```python
def reverse_string(s):
return s[::-1]
Ou avec une boucle :
def reverse_string(s):
result = ""
for char in s:
result = char + result
return result
```