Recent Changes - Search:

Navigation

Plugins

Architecture

Infrastructure

Exploitation

Projet

QCM Generator — Génération de questions par IA

QCM Generator (local_dreamu_qcm)

Version : 1.2.3 (2026052000) | Composant : local_dreamu_qcm | Moodle 4.5+ | GitHub

Objectif

Génération automatique de questions d'examen à partir du contenu d'un cours Moodle. 5 types Moodle natifs. Vérification multi-modèles + vérification mathématique PHP.

Types de questions

TypeFormatTempérature
multichoicequestion, a/b/c/d, correct (lettre)0.3
truefalsequestion, correct (booléen)0.2
shortanswerquestion, correct, alternatives[]0.2
matchingquestion, pairs [{term, definition}]0.3
numericalquestion, correct (nombre), tolerance, unit0.1

Pipeline (qcm_generator.php)

  1. Contenu découpé en chunks (smart_chunk, max 6000 chars/section)
  2. Questions réparties entre types (distribution équilibrée)
  3. Prompt spécifique par type avec règles anti-hallucination
  4. Appel API IA (température adaptée)
  5. Parsing et validation JSON

Anti-hallucination

Chaque prompt : « ONLY create questions about topics in the provided content » / « NEVER invent topics not covered » / « Every question MUST be answerable using ONLY the course content » / Contenu encadré par délimiteurs / Instructions spécifiques du prof si fournies.

Vérification multi-modèles (verify_questions)

Chaque question envoyée individuellement au modèle avec le contenu. Réponse JSON {valid, reason}. Stocké dans verified (0/1/null) et verification_note.

Vérification mathématique PHP (verify_math)

Questions numériques uniquement. Détecte patterns calcul dans l'explication ((A+B)/C=R, A/B=R, etc.). Refait le calcul PHP. Si écart > 0.01 invalide. Vérifie aussi cohérence réponse finale/explication.

Import banque questions (import_to_bank)

Crée les enregistrements Moodle natifs : question, question_bank_entries, question_versions. Gère chaque type : qtype_multichoice_options, question_truefalse, qtype_shortanswer_options, qtype_match_options/subquestions, question_numerical. Feedback IA optionnel.

Configuration IA

Hérite de AI Grader. Peut surcharger : local_dreamu_qcm/api_endpoint, api_key, model_name (si vide, utilise local_dreamu_ai).

Navigation

Navigation cours « Générateur QCM » (lib.php, hook extend_navigation_course).

Table

local_dreamu_qcm : courseid, qtype, question, optiona-d, correct, difficulty, explanation, extra_data (JSON), status (pending/approved/imported), verified, verification_note. Index : courseid. Voir Base de données.

Capability

local/dreamu_qcm:generate (COURSE, editingteacher+manager).

Fichiers

FichierRôle
classes/qcm_generator.phpGénérateur, vérification, import banque questions
classes/course_content.phpExtraction contenu cours
generate.phpWizard 3 étapes
review.phpReview questions
create_quiz.phpCréation auto quiz (quiz_add_quiz_question API)
ajax_edit.phpÉdition inline AJAX
ajax_regenerate.phpRégénération individuelle
ajax_preview.phpPreview contenu + stats tokens
settings.phpConfig admin (surcharge optionnelle)

Non implémenté

P12 : Export Moodle XML/GIFT.

Edit - History - Print - Recent Changes - Search
Page last modified on 29/05/2026 09:56