Éditeur de Questions pour Enseignants — note d'architecture
Pour le guide d'utilisation (créer/modifier/publier une question, import/export YAML), voir la page auteur Créer des questions. Cette page-ci ne documente que l'architecture technique de la surface enseignant.
Vue d'ensemble
L'interface Mes questions, accessible aux enseignants à l'adresse /teacher/questions, permet de créer, modifier et publier des questions personnelles. L'édition se fait via un formulaire structuré par type de question ; les changements sont sauvegardés automatiquement côté serveur (pas de brouillon local, pas de mode YAML brut dans l'éditeur).
Architecture Technique
Composants
- Page principale :
src/app/teacher/questions/page.tsx+MyQuestionsPageClient.tsx - Formulaires par type :
QuestionEditorForm.tsx,ChoiceAnswerForm.tsx,NumericAnswerForm.tsx,TextAnswerForm.tsx,MathAnswerForm.tsx(monteMathLiveKeyboard+MathValidationEditor),MetadataSection.tsx,QuestionPreviewPanel.tsx,QuestionSidebar.tsx,ImportResultBanner.tsx - Éditeur de validation mathématique (sous-ensemble UI) :
MathValidationEditor.tsx - Utilise les types partagés :
@shared/types/quiz/question
Import/Export
- Import de fichiers YAML par glisser-déposer ou sélection de fichier (créent des brouillons)
- Export vers fichier YAML téléchargeable
- Pas d'éditeur YAML brut intégré à l'interface : l'import/export passe par des fichiers, l'édition se fait dans le formulaire
Sécurité
- Accès restreint aux utilisateurs avec rôle "Teacher" via middleware
- Les questions personnelles sont isolées par auteur ; une question brouillon n'est pas visible dans la base utilisée pour les activités tant qu'elle n'est pas publiée
Tests
- Couverture Jest sur les formulaires par type et le flux import/export