KutsumKutsum
Accueil
Utilisation de l'appli
Création de questions
Installation
Détails techniques
Accueil
Utilisation de l'appli
Création de questions
Installation
Détails techniques
  • Utilisation

    • Utilisation de l'application
    • 🌀 Mode Quiz (enseignant)
    • 👥 Mode Tournoi
    • 🏋️‍♂️ Mode Entraînement
    • 🧮 Questions mathématiques

🧮 Questions mathématiques (expressions)

Les questions de type math permettent aux élèves de saisir des expressions mathématiques complètes (fractions, racines, puissances…) via un clavier mathématique dédié, avec une validation intelligente qui distingue les erreurs de valeur des erreurs de forme.


💡 Quelle différence avec une question numérique ?

Question numériqueQuestion math
SaisieUn nombre simple (entier ou décimal)Une expression LaTeX (fraction, racine, puissance…)
ClavierClavier numérique basiqueClavier mathématique avancé (MathLive)
ValidationComparaison numérique avec toléranceComparaison symbolique + contraintes de forme
FeedbackCorrect / IncorrectCorrect / Incorrect / Bonne valeur mais mauvaise forme / Ambigu
Exemple« Combien font 2 + 3 ? » → 5« Simplifier (\frac{4}{6}) » → (\frac{2}{3})

En résumé : utilisez numeric pour des résultats numériques simples, et math quand la forme de la réponse (fraction irréductible, expression développée, etc.) fait partie de la compétence évaluée.


🚀 Créer une question math (interface web)

Étape par étape

  1. Ouvrez l'éditeur de questions (menu enseignant → « Éditer des questions »)
  2. Sélectionnez le type « Expression math » dans le menu déroulant du type de question
  3. Rédigez l'énoncé dans le champ texte (vous pouvez utiliser du LaTeX avec \(...\))
  4. Saisissez la réponse attendue (champ « Réponse LaTeX attendue ») — c'est l'expression de référence en LaTeX
  5. Configurez la validation (voir section suivante)
  6. Renseignez les champs habituels : niveau, discipline, thèmes, difficulté, temps limite, explication

Configuration de la validation

La validation se compose de deux éléments :

Méthode de comparaison (valueCheck)

  • EXACT (par défaut) : la réponse de l'élève doit être mathématiquement égale à la réponse attendue. Par exemple (\frac{2}{4}) est acceptée si la réponse attendue est (\frac{1}{2}).
  • APPROXIMATE : la réponse de l'élève doit être numériquement proche (à une tolérance près). Utile pour les approximations décimales de (\pi), (\sqrt{2}), etc.

Contraintes de forme (constraints)

Les contraintes permettent d'exiger une forme particulière de la réponse. Si l'élève donne la bonne valeur mais sous une forme non conforme, il recevra le feedback « Bonne valeur, forme incorrecte ».


📐 Contraintes disponibles

IS_FRACTION — Exiger une fraction

L'élève doit répondre sous forme de fraction (\frac{a}{b}).

RéponseAttenduRésultat
(\frac{1}{2})(\frac{1}{2})✅ Correct
(0.5)(\frac{1}{2})⚠️ Bonne valeur, forme incorrecte

Cas d'usage : « Écrire sous forme de fraction… », « Donner le résultat sous forme fractionnaire… »


IS_IRREDUCIBLE — Exiger une fraction irréductible

L'élève doit donner une fraction dont le numérateur et le dénominateur sont premiers entre eux.

RéponseAttenduRésultat
(\frac{1}{2})(\frac{1}{2})✅ Correct
(\frac{2}{4})(\frac{1}{2})⚠️ Bonne valeur, forme incorrecte
(\frac{3}{4})(\frac{1}{2})❌ Incorrect

Cas d'usage : « Simplifier la fraction… », « Donner la fraction irréductible… »

💡 Combinez IS_FRACTION + IS_IRREDUCIBLE pour exiger à la fois la forme fractionnaire et la simplification.


IS_EXPANDED — Exiger une forme développée

L'élève doit développer l'expression (pas de parenthèses factorisées).

RéponseAttenduRésultat
(x^2 + 2x + 1)((x+1)^2)✅ Correct
((x+1)^2)((x+1)^2)⚠️ Bonne valeur, forme incorrecte

Cas d'usage : « Développer l'expression… », « Développer et réduire… »


IS_FACTORED — Exiger une forme factorisée

L'élève doit factoriser l'expression. Deux niveaux :

  • PARTIAL : au moins un facteur non trivial (ex : (x(x+1)))
  • FULL_AGAINST_TARGET : la factorisation doit correspondre à la structure de la réponse attendue
RéponseAttenduNiveauRésultat
(x(x+1))(x^2+x)PARTIAL✅ Correct
(x^2+x)(x(x+1))PARTIAL⚠️ Bonne valeur, forme incorrecte
((x+1)(x-1))((x+1)(x-1))FULL✅ Correct

Cas d'usage : « Factoriser l'expression… », « Mettre en facteur… »


IS_DECIMAL — Exiger une écriture décimale

L'élève doit répondre sous forme décimale (pas de fraction).

RéponseAttenduRésultat
(0.5)(\frac{1}{2})✅ Correct
(\frac{1}{2})(0.5)⚠️ Bonne valeur, forme incorrecte
(5)(5)✅ Correct (un entier est un décimal)

Cas d'usage : « Donner la valeur décimale… », « Écrire sous forme décimale… »


REQUIRE_DECIMAL_PLACES — Exiger un nombre précis de décimales

L'élève doit donner un nombre décimal avec exactement le nombre de décimales spécifié.

RéponseAttenduPlacesRésultat
(3.14)(\pi)2✅ Correct (avec APPROXIMATE)
(3.1)(\pi)2⚠️ Bonne valeur, forme incorrecte
(3.142)(\pi)2⚠️ Bonne valeur, forme incorrecte

Cas d'usage : « Donner une valeur approchée à 0.01 près… », « Arrondir au centième… »

💡 Combinez avec valueCheck: APPROXIMATE et une tolérance adaptée.


IS_RATIONALIZED — Exiger un dénominateur rationalisé

L'élève ne doit pas avoir de racines au dénominateur.

RéponseAttenduRésultat
(\frac{\sqrt{2}}{2})(\frac{1}{\sqrt{2}})✅ Correct
(\frac{1}{\sqrt{2}})(\frac{1}{\sqrt{2}})⚠️ Bonne valeur, forme incorrecte

Cas d'usage : « Rationaliser le dénominateur… », « Écrire sans radical au dénominateur… »


REQUIRE_STRUCTURAL_MATCH — Correspondance structurelle exacte

L'élève doit répondre avec la même structure syntaxique que la réponse attendue (comparaison via isSame() du ComputeEngine sur la forme brute). Cela va au-delà de l'égalité mathématique : l'écriture doit être identique.

RéponseAttenduRésultat
(2+3)(2+3)✅ Correct
(3+2)(2+3)⚠️ Bonne valeur, forme incorrecte
(5)(2+3)⚠️ Bonne valeur, forme incorrecte

Cas d'usage : « Recopier l'expression suivante… », « Écrire exactement… », exercices de notation.

⚠️ Contrainte stricte : à utiliser avec précaution. Même des réécritures triviales (commutativité) échouent.


SCIENTIFIC_NOTATION — Exiger la notation scientifique

L'élève doit écrire sa réponse en notation scientifique (m \times 10^n) avec (1 \leq |m| < 10).

RéponseAttenduRésultat
(3.2 \times 10^5)(320000)✅ Correct
(32 \times 10^4)(320000)⚠️ Bonne valeur, forme incorrecte (32 ≥ 10)
(320000)(320000)⚠️ Bonne valeur, forme incorrecte

Cas d'usage : « Écrire en notation scientifique… », « Exprimer en écriture scientifique… »


REQUIRE_SIGNIFICANT_FIGURES — Exiger un nombre de chiffres significatifs

L'élève doit donner un nombre avec exactement le nombre de chiffres significatifs spécifié.

RéponseAttenduFiguresRésultat
(3.14)(\pi)3✅ Correct (avec APPROXIMATE)
(3.1)(\pi)3⚠️ Forme incorrecte (2 chiffres significatifs)
(3.142)(\pi)3⚠️ Forme incorrecte (4 chiffres significatifs)
(0.00340)—3✅ 3 chiffres significatifs (3, 4, 0 final)

Règles de comptage :

  • Les zéros initiaux ne comptent pas ((0.005) → 1 chiffre significatif)
  • Les zéros intercalaires comptent ((1.02) → 3 chiffres significatifs)
  • Les zéros finaux après la virgule comptent ((2.50) → 3 chiffres significatifs)

Cas d'usage : « Donner le résultat avec 3 chiffres significatifs… », « Arrondir à 2 CS… »

💡 Combinez avec valueCheck: APPROXIMATE et une tolérance adaptée au nombre de chiffres significatifs demandés.


📊 Types de réponse (kind)

EXPRESSION (par défaut)

Le type par défaut. L'élève donne une expression mathématique (nombre, fraction, polynôme…). La validation compare la valeur canonique.

EQUATION

L'élève donne une équation (contenant =). La validation résout les deux équations et compare les ensembles de solutions.

Réponse élèveRéponse attendueRésultat
(2x = 4)(x = 2)✅ Correct (mêmes solutions)
(x + 1 = 3)(x = 2)✅ Correct
(x = 3)(x = 2)❌ Incorrect

Configuration :

validationConfig:
  kind: "EQUATION"
  responseFormat: "SINGLE"
  variables: ["x"]

💡 Le champ variables indique la variable de résolution. Par défaut x si omis.

ANTIDERIVATIVE (primitive)

L'élève donne une primitive d'une fonction. La validation vérifie que la différence entre la réponse de l'élève et la réponse attendue est une constante (indépendante de la variable d'intégration).

Réponse élèveRéponse attendueRésultat
(x^2)(x^2)✅ Correct
(x^2 + 5)(x^2)✅ Correct (constante d'intégration)
(x^2 + C)(x^2)✅ Correct (constante symbolique)
(x^3)(x^2)❌ Incorrect

Configuration :

validationConfig:
  kind: "ANTIDERIVATIVE"
  responseFormat: "SINGLE"
  variables: ["x"]

Stratégie de validation :

  1. Symbolique (rapide) : simplifie réponse - cible et vérifie que le résultat ne dépend pas de la variable
  2. Numérique (fallback) : si la simplification symbolique échoue (identités trigonométriques, etc.), évalue la différence en plusieurs points et vérifie qu'elle est constante

💡 Le fallback numérique permet d'accepter des réponses équivalentes que le moteur symbolique ne simplifie pas (ex: (\sin^2(x)) vs (1-\cos^2(x))).

⚠️ Pour les fonctions multi-variables, seule la variable d'intégration principale est supportée. Si le moteur ne peut conclure, le résultat sera AMBIGUOUS.


📦 Formats de réponse (responseFormat)

SINGLE (par défaut)

Une seule valeur ou expression.

SET — Ensemble non-ordonné

L'élève doit donner un ensemble de valeurs (notation {a, b, c}). L'ordre ne compte pas.

Réponse élèveRéponse attendueRésultat
({1, -1})({-1, 1})✅ Correct
({-1, 1})({-1, 1})✅ Correct
({1})({-1, 1})❌ Incorrect (élément manquant)
({1, -1, 2})({-1, 1})❌ Incorrect (élément en trop)

Cas d'usage : « Donner l'ensemble des solutions… », « Quels sont les antécédents… »

TUPLE — Tuple ordonné

L'élève doit donner un tuple ordonné (notation (a, b, c)). L'ordre compte.

Réponse élèveRéponse attendueRésultat
((1, 2, 3))((1, 2, 3))✅ Correct
((3, 2, 1))((1, 2, 3))❌ Incorrect (mauvais ordre)

Cas d'usage : « Donner les coordonnées du point… », « Écrire le couple solution (x, y)… »

💡 Les contraintes de forme (IS_FRACTION, IS_IRREDUCIBLE…) s'appliquent à chaque élément de l'ensemble ou du tuple.


🎯 Combinaisons courantes

Voici des combinaisons fréquentes pour différents niveaux :

Collège (6e–3e)

Exercice typeContraintesExemple
Simplifier une fractionIS_FRACTION + IS_IRREDUCIBLE(\frac{12}{18}) → (\frac{2}{3})
Développer une expressionIS_EXPANDED(3(x+2)) → (3x+6)
Écriture décimale d'une fractionIS_DECIMAL(\frac{3}{4}) → (0.75)

Lycée (2nde–Terminale)

Exercice typeContraintesExemple
Factoriser un polynômeIS_FACTORED (FULL)(x^2-1) → ((x-1)(x+1))
RationaliserIS_RATIONALIZED(\frac{1}{\sqrt{3}}) → (\frac{\sqrt{3}}{3})
Valeur approchéeAPPROXIMATE + DECIMAL_PLACES(3)(\sqrt{2}) → (1.414)
Fraction irréductibleIS_FRACTION + IS_IRREDUCIBLE(\frac{x^2-1}{x-1}) simplifié
Résoudre une équationkind: EQUATION(2x+3=7) → (x=2)
Ensemble de solutionsresponseFormat: SET(x^2=4) → ({-2, 2})
Notation scientifiqueSCIENTIFIC_NOTATION(0.00045) → (4.5\times 10^{-4})
Chiffres significatifsREQUIRE_SIGNIFICANT_FIGURES(3)(\sqrt{2}) → (1.41)
Coordonnées d'un pointresponseFormat: TUPLEMilieu → ((3, 5))
Primitive d'une fonctionkind: ANTIDERIVATIVE(\cos(x)) → (\sin(x))
Primitive avec contraintekind: ANTIDERIVATIVE + IS_EXPANDED(2x) → (x^2) (développé)

📝 Format YAML (utilisateurs avancés)

Pour créer une question math en YAML :

uid: "math-fraction-001"
title: "Simplifier une fraction"
text: "Simplifier la fraction \\(\\frac{12}{18}\\)"
questionType: "math"
discipline: "mathématiques"
gradeLevels:
  - "Sixième"
themes: ["Fractions"]
author: "M. Dupont"
difficulty: 2
timeLimit: 60
targetLatex: "\\frac{2}{3}"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SINGLE"
  valueCheck:
    method: "EXACT"
  constraints:
    - type: "IS_FRACTION"
    - type: "IS_IRREDUCIBLE"
explanation: "12 et 18 ont pour PGCD 6. On divise numérateur et dénominateur par 6 : 12÷6 = 2, 18÷6 = 3."

Champs spécifiques aux questions math

ChampTypeObligatoireDescription
questionType"math"ouiDoit être "math"
targetLatexstringouiRéponse attendue en LaTeX
validationConfigobjectouiConfiguration de validation (voir ci-dessous)

Structure de validationConfig

ChampTypeObligatoireDescription
kindstringouiType de réponse : "EXPRESSION", "EQUATION", ou "ANTIDERIVATIVE"
responseFormatstringouiFormat : "SINGLE", "SET", ou "TUPLE"
variablesstring[]nonVariables de résolution/intégration (requis pour EQUATION et ANTIDERIVATIVE, défaut : ["x"])
valueCheckobjectnonMéthode de comparaison (défaut : EXACT)
valueCheck.methodstringoui*"EXACT" ou "APPROXIMATE"
valueCheck.absTolerancenumberoui*Tolérance absolue (requis si APPROXIMATE)
constraintsarraynonListe de contraintes de forme

🧪 Templates prêts à l'emploi

1. Calcul de fraction simple (6e)

uid: "math-fraction-simple"
text: "Calculer \\(\\frac{1}{3} + \\frac{1}{6}\\)"
questionType: "math"
targetLatex: "\\frac{1}{2}"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SINGLE"
  valueCheck: { method: "EXACT" }
  constraints:
    - type: "IS_FRACTION"
    - type: "IS_IRREDUCIBLE"

2. Développement d'identité remarquable (3e)

uid: "math-dev-identite"
text: "Développer \\((x+3)^2\\)"
questionType: "math"
targetLatex: "x^2+6x+9"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SINGLE"
  valueCheck: { method: "EXACT" }
  constraints:
    - type: "IS_EXPANDED"

3. Factorisation (2nde)

uid: "math-facto-diff-carres"
text: "Factoriser \\(x^2 - 9\\)"
questionType: "math"
targetLatex: "(x-3)(x+3)"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SINGLE"
  valueCheck: { method: "EXACT" }
  constraints:
    - type: "IS_FACTORED"
      level: "FULL_AGAINST_TARGET"

4. Écriture décimale (6e)

uid: "math-decimal-fraction"
text: "Donner l'écriture décimale de \\(\\frac{3}{8}\\)"
questionType: "math"
targetLatex: "0.375"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SINGLE"
  valueCheck: { method: "EXACT" }
  constraints:
    - type: "IS_DECIMAL"

5. Valeur approchée de π (4e)

uid: "math-approx-pi"
text: "Donner une valeur approchée de \\(\\pi\\) au centième"
questionType: "math"
targetLatex: "3.14"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SINGLE"
  valueCheck:
    method: "APPROXIMATE"
    absTolerance: 0.005
  constraints:
    - type: "REQUIRE_DECIMAL_PLACES"
      places: 2

6. Rationalisation du dénominateur (1ère)

uid: "math-rationaliser"
text: "Rationaliser le dénominateur de \\(\\frac{1}{\\sqrt{2}}\\)"
questionType: "math"
targetLatex: "\\frac{\\sqrt{2}}{2}"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SINGLE"
  valueCheck: { method: "EXACT" }
  constraints:
    - type: "IS_RATIONALIZED"

7. Simplification de racine (3e)

uid: "math-racine-simple"
text: "Simplifier \\(\\sqrt{50}\\)"
questionType: "math"
targetLatex: "5\\sqrt{2}"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SINGLE"
  valueCheck: { method: "EXACT" }

8. Fraction irréductible avec variables (2nde)

uid: "math-fraction-var"
text: "Simplifier \\(\\frac{2x}{4x^2}\\)"
questionType: "math"
targetLatex: "\\frac{1}{2x}"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SINGLE"
  valueCheck: { method: "EXACT" }
  constraints:
    - type: "IS_FRACTION"
    - type: "IS_IRREDUCIBLE"

9. Développer et réduire (3e)

uid: "math-dev-reduire"
text: "Développer et réduire \\((2x+1)(x-3)\\)"
questionType: "math"
targetLatex: "2x^2-5x-3"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SINGLE"
  valueCheck: { method: "EXACT" }
  constraints:
    - type: "IS_EXPANDED"

10. Valeur approchée de √2 (4e)

uid: "math-approx-sqrt2"
text: "Donner une valeur approchée de \\(\\sqrt{2}\\) à 0.001 près"
questionType: "math"
targetLatex: "1.414"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SINGLE"
  valueCheck:
    method: "APPROXIMATE"
    absTolerance: 0.0005
  constraints:
    - type: "REQUIRE_DECIMAL_PLACES"
      places: 3

11. Résolution d'équation du premier degré (4e)

uid: "math-equation-1er-degre"
text: "Résoudre l'équation \\(2x + 3 = 7\\)"
questionType: "math"
targetLatex: "x = 2"
validationConfig:
  kind: "EQUATION"
  responseFormat: "SINGLE"
  variables: ["x"]

12. Ensemble de solutions d'une équation du second degré (2nde)

uid: "math-equation-solutions-set"
text: "Résoudre \\(x^2 - 5x + 6 = 0\\) et donner l'ensemble des solutions"
questionType: "math"
targetLatex: "\\{2, 3\\}"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SET"

13. Coordonnées d'un point (3e)

uid: "math-coordonnees-tuple"
text: "Donner les coordonnées du milieu du segment [A(1;3), B(5;7)]"
questionType: "math"
targetLatex: "(3, 5)"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "TUPLE"

14. Notation scientifique (4e)

uid: "math-notation-scientifique"
text: "Écrire \\(0.00045\\) en notation scientifique"
questionType: "math"
targetLatex: "4.5 \\times 10^{-4}"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SINGLE"
  valueCheck: { method: "EXACT" }
  constraints:
    - type: "SCIENTIFIC_NOTATION"

15. Chiffres significatifs (2nde)

uid: "math-chiffres-significatifs"
text: "Donner \\(\\pi\\) avec 4 chiffres significatifs"
questionType: "math"
targetLatex: "3.142"
validationConfig:
  kind: "EXPRESSION"
  responseFormat: "SINGLE"
  valueCheck:
    method: "APPROXIMATE"
    absTolerance: 0.0005
  constraints:
    - type: "REQUIRE_SIGNIFICANT_FIGURES"
      figures: 4

16. Primitive d'un polynôme (Terminale)

uid: "math-primitive-polynome"
text: "Donner une primitive de \\(3x^2 + 2x\\)"
questionType: "math"
targetLatex: "x^3 + x^2"
validationConfig:
  kind: "ANTIDERIVATIVE"
  responseFormat: "SINGLE"
  variables: ["x"]

17. Primitive trigonométrique (Terminale)

uid: "math-primitive-cosinus"
text: "Donner une primitive de \\(\\cos(x)\\)"
questionType: "math"
targetLatex: "\\sin(x)"
validationConfig:
  kind: "ANTIDERIVATIVE"
  responseFormat: "SINGLE"
  variables: ["x"]

❓ FAQ et pièges courants

L'élève a tapé la bonne réponse mais obtient « Bonne valeur, forme incorrecte » ?

C'est le comportement attendu quand une contrainte de forme n'est pas respectée. Par exemple si vous exigez IS_FRACTION et que l'élève tape 0.5 au lieu de \frac{1}{2}.

Quelle différence entre EXACT et APPROXIMATE ?

  • EXACT : les expressions doivent être mathématiquement égales (ex : (\frac{2}{4} = \frac{1}{2}), (x+x = 2x)). Utilisez-le quand une valeur exacte est attendue.
  • APPROXIMATE : la comparaison se fait numériquement avec une tolérance. Utilisez-le pour les valeurs irrationnelles ((\pi), (\sqrt{2})…) ou les arrondis.

Peut-on combiner plusieurs contraintes ?

Oui, toutes les contraintes sont vérifiées. Si une seule n'est pas respectée, l'élève reçoit « Bonne valeur, forme incorrecte ». Combinez par exemple IS_FRACTION + IS_IRREDUCIBLE pour exiger une fraction simplifiée.

L'élève obtient « Résultat incertain » (AMBIGUOUS) ?

Cela signifie que le moteur de calcul n'a pas pu déterminer si la réponse est correcte. Cela peut arriver avec des expressions très complexes. Le score n'est pas affecté négativement dans ce cas.

Quelles expressions le clavier mathématique permet-il de saisir ?

Le clavier avancé (MathLive) permet de saisir :

  • Fractions : (\frac{a}{b})
  • Puissances : (x^n)
  • Racines : (\sqrt{x}), (\sqrt[n]{x})
  • Lettres grecques : (\pi), (\alpha), etc.
  • Fonctions trigonométriques : (\sin), (\cos), (\tan)
  • Parenthèses et opérations de base

Puis-je utiliser des images dans les questions math ?

Oui, le champ imageRef fonctionne comme pour les autres types de questions. Vous pouvez associer une image (figure géométrique, graphique…) à votre énoncé.

Dernière mise à jour: 22/03/2026 18:55
Contributors: alexisflesch
Prev
🏋️‍♂️ Mode Entraînement