✍️ Créer des questions
Cette page présente l'interface Mes questions de l'application, à l'adresse
/teacher/questions. Elle se concentre sur les usages généraux de l'éditeur. Pour la validation de forme des questionsmath, voir le guide dédié.
🌐 La page « Mes questions »
La page Mes questions est l'interface canonique pour gérer ses questions personnelles.
Elle permet de :
- créer une nouvelle question
- modifier une question existante avec sauvegarde automatique côté serveur
- publier ou dépublier une question
- prévisualiser le rendu de la question
- importer des questions depuis un fichier YAML
- exporter en YAML les questions sélectionnées
- supprimer une ou plusieurs questions
Elle ne propose pas :
- de champ de formulaire pour
feedbackWaitTime,excludedFromourenderingMetadata
Accès
- Connectez-vous en tant qu'enseignant sur l'application
- Ouvrez « Mes questions » depuis la navigation enseignant


La page « Mes questions » avec liste, éditeur et aperçu
🧭 Structure de la page
Sur desktop, la page est organisée en trois zones :
- colonne gauche : liste des questions, recherche, filtres, import, quotas, ajout, sélection multiple
- colonne centrale : formulaire d'édition de la question sélectionnée
- colonne droite : aperçu de la question sur les grands écrans, ou tiroir d'aperçu sur tablette/mobile
Sur mobile :
- la page bascule entre deux onglets : Questions et Édition
- l'aperçu s'ouvre dans un tiroir latéral
Remarque : vous pouvez cliquer sur l'icône "burger" (les trois traits horizontaux en haut à gauche) pour masquer la colonne de navigation et gagner de l'espace lors de l'édition.
📝 Workflow
1. Gérer la liste des questions
Dans la colonne de gauche, vous pouvez :
- rechercher par texte
- filtrer par statut (
publiés/brouillons) - filtrer par type (
QCU,QCM,numérique,texte,maths) - filtrer par niveau
- trier par date de création, dernière modification ou ordre alphabétique
La liste affiche pour chaque question :
- son type
- son titre
- son premier niveau scolaire s'il existe
- un indicateur brouillon ou publié
Un clique droit (ou appui long sur téléphone) permet de sélectionner une ou plusieurs questions pour la suppression ou l'export au format YAML.
2. Créer une question
Utilisez le bouton Ajouter.
La question est créée dans votre base personnelle, sélectionnée automatiquement, puis éditable immédiatement dans le formulaire central.
3. Modifier une question
Le panneau central sauvegarde automatiquement les changements. L'en-tête indique l'état :
- Sauvegardé
- Sauvegarde...
- Non sauvegardé
Une question peut être :
- brouillon : enregistrée dans Mes questions, mais absente de la page Créer une activité. Elle ne peut donc pas encore être utilisée dans un quiz en classe ou une autre activité.
- publiée : disponible dans votre base personnelle depuis la page Créer une activité. Elle peut être utilisée par vous pour un quiz en classe ou une autre activité, sans être visible dans la base des autres utilisateurs.
Le bouton d'action principal permet :
- de publier un brouillon
- de dépublier une question publiée
Toute modification d'une question publiée la repasse en brouillon jusqu'à une nouvelle publication.
4. Prévisualiser
L'aperçu montre le rendu de la question.
- sur grand écran, il reste affiché à droite
- sur écran plus petit, il s'ouvre via le bouton Aperçu
5. Importer ou exporter du YAML
La page permet :
- l'import d'un fichier
.ymlou.yaml - l'export des questions sélectionnées en YAML
L'export YAML se fait uniquement en mode sélection multiple.
6. Supprimer une ou plusieurs questions
Depuis le menu contextuel d'une question ou depuis la sélection multiple, vous pouvez supprimer des questions. Si une question est déjà utilisée dans des activités, une modale explique les dépendances avant suppression forcée éventuelle.
✏️ Champs exposés dans le formulaire
Champs communs
Le formulaire de /teacher/questions expose les champs suivants :
- Titre
- Type de question
- Énoncé
- Image de question via le sélecteur d'images partagé
- Explication
- Temps limite
- Difficulté
- Question indicative
- Discipline
- Niveaux
- Thèmes
- Tags
Énoncé : ce que l'éditeur sait faire
Le champ Énoncé est un textarea texte enrichi. Il permet :
- d'écrire du texte libre
- d'insérer du gras
- d'insérer de l'italique
- d'insérer la structure d'un tableau Markdown
- d'insérer une image dans le texte via un bouton Image
- d'écrire du LaTeX avec les délimiteurs
\(...\)et\[...\]
La page n'expose pas d'éditeur Markdown complet ni d'éditeur YAML brut.
Champs spécifiques par type
single_choice et multiple_choice
Le formulaire expose :
- la liste des options de réponse
- la ou les bonnes réponses
- l'ajout et la suppression d'options
Règles visibles dans l'UI :
- un
QCUne peut avoir qu'une seule bonne réponse - un
QCMpeut en avoir plusieurs - il faut au moins 2 options
numeric
Le formulaire expose :
- Réponse attendue
- Tolérance (±)
text
Le formulaire expose :
- Réponse attendue
- un bloc Validation avancée du texte
Dans ce bloc, l'UI permet de régler :
- la sensibilité à la casse
- l'ignorance des accents
- l'acceptation d'une sous-chaîne
- l'ignorance de l'article défini initial
- la distance de Levenshtein maximale
- une prévisualisation backend des évaluations
math
Le formulaire expose :
- Réponse attendue (LaTeX)
- un bloc Validation avancée
- Expression de départ — diagnostic d'erreurs (
sourceExpression, optionnel)
Le détail de la validation math est documenté sur la page Questions mathématiques.
🧩 Métadonnées et taxonomie
La section Métadonnées / Classification est repliable et facultative dans l'UI. Elle n'a d'utilité que si vous souhaitez contribuer à la base partagée.
Son comportement est le suivant :
- Discipline est choisie dans la taxonomie connue de l'application
- Niveaux dépendent de la discipline choisie
- Thèmes dépendent de la discipline et des niveaux choisis
- Tags dépendent de la discipline, des niveaux et des thèmes choisis
L'interface essaie donc d'éviter les combinaisons incohérentes sans vous obliger à tout remplir pour sauvegarder un brouillon.
✅ Ce qu'il faut remplir pour publier
Sur cette page, les champs de taxonomie sont utiles mais ne sont pas le cœur du blocage à la publication. Les validations visibles concernent surtout :
- le titre
- l'énoncé
- les champs spécifiques au type choisi
En pratique :
single_choice/multiple_choice: options de réponse cohérentes + bonnes réponsesnumeric: réponse numérique attenduetext: réponse attenduemath: réponse attendue en LaTeX
Si un champ requis manque, l'en-tête affiche un résumé et le formulaire fait défiler jusqu'au premier champ en erreur.
📥 Import YAML depuis cette page
Le bouton Importer de la sidebar accepte un fichier YAML et crée des questions personnelles à partir de son contenu.
Le flux est le suivant :
- le fichier est lu côté client
- chaque question valide est envoyée individuellement à l'API
- les questions importées via cette page arrivent comme brouillons
- un bandeau résume le résultat : importées, ignorées pour format invalide, ignorées pour quota atteint
Cette page accepte un sous-ensemble utile du format YAML national, notamment :
uid,title,text,questionTypediscipline,themes,tags,gradeLevels,gradeLevelauthor,timeLimit,difficulty,isIndicativeexplanation,imageRef,feedbackWaitTime,excludedFrom- les champs spécifiques au type (
answerOptions,correctAnswers,correctAnswer,tolerance,expectedAnswer,targetLatex,validationConfig,sourceExpression)
📤 Export YAML depuis cette page
L'export YAML reflète les questions sélectionnées dans la liste.
À retenir :
- l'export se fait depuis le mode sélection multiple
- le fichier contient une suite de documents YAML séparés par
--- - les questions
mathexportent aussivalidationConfig - le champ
excludedFromest réinjecté dans l'export quand il existe déjà sur la question
⚠️ Limites importantes de la page
Pour éviter toute ambiguïté, la page /teacher/questions n'expose pas directement dans le formulaire :
- l'édition YAML brute
feedbackWaitTimeexcludedFromrenderingMetadata
Autrement dit :
- ces champs peuvent exister dans le format YAML ou dans les données persistées
- mais ils ne disposent pas d'un contrôle dédié dans l'UI principale
🧾 Exemples YAML minimaux
Ces exemples correspondent au format utile pour l'import YAML depuis cette page.
Exemple single_choice
uid: "geo-capitale-france"
title: "Capitale de la France"
text: "Quelle est la capitale de la France ?"
questionType: "single_choice"
discipline: "Géographie"
themes:
- "France"
gradeLevels:
- "CM2"
timeLimit: 20
difficulty: 1
answerOptions:
- "Paris"
- "Lyon"
- "Marseille"
correctAnswers:
- true
- false
- false
Exemple multiple_choice
uid: "langues-latines"
title: "Langues latines"
text: "Quelles langues sont des langues latines ?"
questionType: "multiple_choice"
discipline: "Français"
themes:
- "Langue"
gradeLevels:
- "Cinquième"
timeLimit: 30
difficulty: 2
answerOptions:
- "Espagnol"
- "Allemand"
- "Italien"
correctAnswers:
- true
- false
- true
Exemple numeric
uid: "calc-mental-2-plus-2"
title: "Calcul mental"
text: "Combien font 2 + 2 ?"
questionType: "numeric"
discipline: "Mathématiques"
themes:
- "Calcul"
gradeLevels:
- "CP"
timeLimit: 20
difficulty: 1
correctAnswer: 4
tolerance: 0
Exemple text
uid: "texte-bonjour"
title: "Orthographe simple"
text: "Écris le mot bonjour."
questionType: "text"
discipline: "Français"
themes:
- "Orthographe"
gradeLevels:
- "CE1"
timeLimit: 20
difficulty: 1
expectedAnswer: "bonjour"
validationConfig:
caseSensitive: false
ignoreDiacritics: true
allowSubstring: false
ignoreLeadingDefiniteArticle: false
maxDistance: 0
Exemple math
uid: "fraction-irreductible"
title: "Fraction irréductible"
text: 'Écris \(\\frac{18}{24}\) sous forme irréductible.'
questionType: "math"
discipline: "Mathématiques"
themes:
- "Fractions"
gradeLevels:
- "Quatrième"
timeLimit: 35
difficulty: 2
targetLatex: "\\frac{3}{4}"
validationConfig:
kind: "EXPRESSION"
responseFormat: "SINGLE"
constraints:
- type: "IS_FRACTION"
- type: "IS_IRREDUCIBLE"
🎯 Recommandation pratique
Pour la plupart des enseignants :
- créez et modifiez les questions dans Mes questions
- utilisez l'import YAML pour des créations en lot ou des cas avancés
- utilisez la page Questions mathématiques dès qu'une question
mathdépend d'une contrainte de forme