MathQuestMathQuest
Accueil
Utilisation de l'appli
Écriture de questions
Installation
Accueil
Utilisation de l'appli
Écriture de questions
Installation
  • Questions (YAML)

    • ✍️ Écriture de questions (YAML)
    • 🤝 Contribuer à la base commune de questions

✍️ Rédiger des questions au format YAML

Cette page explique comment créer des questions pour MathQuest en utilisant le format YAML.
Les noms de champs sont en anglais (par cohérence avec le code), mais les valeurs et les textes sont en français.
Les disciplines, thèmes et tags doivent respecter la nomenclature définie dans le dossier questions (un fichier de référence par niveau scolaire : CP, CE1, etc.).


📌 Structure d’une question

Chaque question doit respecter une structure commune, avec un ensemble de champs obligatoires et d’options facultatives selon le type de question.
Le champ questionType définit la nature de la question, qui peut être l’un des types suivants :

  • single_choice – une seule bonne réponse parmi plusieurs propositions.
  • multiple_choice – plusieurs bonnes réponses possibles.
  • numeric – la réponse attendue est un nombre.

✅ Exemples par type de question

🔹 Exemple single_choice

uid: "Q-0001"
author: "Alexis Flesch"
text: "Quelle est la capitale de la France ?"
questionType: "single_choice"
discipline: "Géographie"
timeLimit: 15
themes: ["Europe", "France"]
answerOptions:
  - "Paris"
  - "Londres"
  - "Berlin"
  - "Madrid"
correctAnswers: [true, false, false, false]
difficulty: 1
gradeLevel: "Sixième"

🔹 Exemple multiple_choice (avec plusieurs bonnes réponses)

uid: "Q-0002"
title: "Animaux marins"
text: |
  Parmi les animaux suivants, lesquels vivent dans l'eau de mer ?
questionType: "multiple_choice"
discipline: "sciences"
themes: ["biologie", "milieux naturels"]
difficulty: 2
gradeLevel: "CM1"
author: "Mme Dupont"
explanation: "Le dauphin, le thon et la méduse vivent en milieu marin, contrairement à la grenouille qui vit en eau douce."
tags: ["animaux", "milieu", "eau"]
timeLimit: 30
excludedFrom: ["tournament", "practice"]
answerOptions:
  - "Dauphin"
  - "Grenouille"
  - "Méduse"
  - "Thon"
correctAnswers: [true, false, true, true]
feedbackWaitTime: 5

🔹 Exemple numeric

uid: "jdupont-6e-maths-cp-001"
title: "Calcul mental simple"
text: "Combien font 2 + 2 ?"
questionType: "numeric"
discipline: "mathématiques"
gradeLevel: "CP"
themes: ["Calcul"]
author: "Jean Dupont"
difficulty: 1
correctAnswer: 4
explanation: "2 + 2 = 4"
timeLimit: 20
tolerance: 0
feedbackWaitTime: 5

🧾 Référence des champs YAML

ChampTypeObligatoireDescription
uidstringouiIdentifiant unique (ex. : auteur-niveau-matiere-theme-numero)
titlestringnonTitre court de la question
textstringouiÉnoncé de la question
questionTypestringouiType : single_choice, multiple_choice, numeric
disciplinestringouiDiscipline (ex : mathématiques, géographie)
themesstring[]ouiListe des thèmes abordés
difficultyintouiDifficulté (entier)
gradeLevelstringouiNiveau scolaire (ex : 5e, Terminale)
authorstringnonAuteur de la question
explanationstringnonExplication affichée après la réponse
tagsstring[]nonMots-clés (non hiérarchiques)
timeLimitintnonTemps limite (en secondes)
excludedFromstring[]nonListe des modes exclus (tournament, practice, quiz)
answerOptionsstring[]oui*Liste des propositions (obligatoire pour single_choice et multiple_choice)
correctAnswersbool[]oui*Tableau de booléens (obligatoire pour single_choice et multiple_choice)
correctAnswernumberoui*Réponse numérique (obligatoire pour numeric)
tolerancenumbernonMarge d’erreur acceptée pour les questions numeric (par défaut : 0)
feedbackWaitTimeintnonDurée d’affichage de l’explication (par défaut : 5 secondes)

🧮 À propos des questions numériques

Pour les questions de type numeric, on utilise :

  • correctAnswer : la valeur attendue
  • tolerance (optionnel) : pour accepter une plage de valeurs autour de la bonne réponse.
    Par exemple, si correctAnswer: 4 et tolerance: 0.5, on accepte toute réponse entre 3.5 et 4.5.

🧠 Ajouter des formules LaTeX

Vous pouvez inclure des formules mathématiques dans les champs text, answerOptions, explanation, etc.
La syntaxe utilisée est celle de LaTeX compatible MathJax :

  • Formule en ligne : \(E = mc^2\)
  • Formule centrée (bloc) :
    \[
    \int_0^1 x^2 dx = \frac{1}{3}
    \]
    

⚠️ Les délimiteurs $$...$$ ou $...$ ne sont pas supportés, pour éviter les conflits avec le symbole dollar utilisé dans certaines disciplines non scientifiques.


📥 Importer vos questions

  • Placez les fichiers YAML dans le dossier prévu.
  • Utilisez le script d’import fourni pour les charger en base.
Dernière mise à jour: 04/08/2025 08:32
Contributors: alexisflesch
Next
🤝 Contribuer à la base commune de questions