Class_generator/DRS.md
StillHammer 4b71aba3da Implement intelligent DRS vocabulary system with Smart Guide integration
Major Features:
• Smart vocabulary dependency analysis - only learn words needed for next content
• Discovered vs Mastered word tracking with self-assessment (Again/Hard/Good/Easy)
• Vocabulary Knowledge interface connected to DRS PrerequisiteEngine (not flashcard games)
• Smart Guide UI adaptation for vocabulary override with clear explanations
• Real PrerequisiteEngine with full method support replacing basic fallbacks

Technical Implementation:
• VocabularyModule: Added discovered words tracking + self-assessment scoring
• UnifiedDRS: Vocabulary override detection with Smart Guide signaling
• Vocabulary Knowledge: Reads from DRS only, shows discovered vs mastered stats
• Smart Guide: Adaptive UI showing "Vocabulary Practice (N words needed)" when overridden
• PrerequisiteEngine: Full initialization with analyzeChapter() method

Architecture Documentation:
• Added comprehensive "Intelligent Content Dependency System" to CLAUDE.md
• Content-driven vocabulary acquisition instead of arbitrary percentage-based forcing
• Complete implementation plan for smart content analysis and targeted learning

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 08:26:30 +08:00

11 KiB

DRS.md - Documentation Complète du Système DRS

📋 Vue d'Ensemble du DRS

DRS (Dynamic Response System) - Système d'exercices éducatifs avec IA intégrée pour l'évaluation et la validation des réponses.

🎯 Architecture DRS

Le DRS est un système modulaire complet situé dans src/DRS/ comprenant :

📁 Structure Complète du DRS

src/DRS/
├── exercise-modules/               # Modules d'exercices
│   ├── AudioModule.js             # Exercices d'écoute
│   ├── GrammarAnalysisModule.js   # Analyse grammaticale IA
│   ├── GrammarModule.js           # Exercices de grammaire
│   ├── ImageModule.js             # Exercices visuels
│   ├── OpenResponseModule.js      # Réponses libres avec IA
│   ├── PhraseModule.js            # Exercices de phrases
│   ├── TextAnalysisModule.js      # Analyse de texte IA
│   ├── TextModule.js              # Exercices de lecture
│   ├── TranslationModule.js       # Traduction avec validation IA
│   ├── VocabularyModule.js        # Exercices de vocabulaire
│   └── WordDiscoveryModule.js     # Découverte de mots → Flashcards
├── interfaces/
│   └── ExerciseModuleInterface.js # Interface standard pour tous les modules
├── services/                      # Services centraux
│   ├── AIReportSystem.js          # Système de rapports IA
│   ├── ContextMemory.js           # Mémoire contextuelle
│   ├── IAEngine.js                # Moteur IA (OpenAI → DeepSeek)
│   ├── LLMValidator.js            # Validateur LLM
│   └── PrerequisiteEngine.js      # Moteur de prérequis
├── SmartPreviewOrchestrator.js    # Orchestrateur de prévisualisations
└── UnifiedDRS.js                  # DRS unifié principal

🤖 Système IA - Production Ready

Moteur IA Multi-Providers (IAEngine.js)

  • OpenAI GPT-4 (primaire)
  • DeepSeek (fallback)
  • Hard Fail (pas de mock/fallback)

Scoring Logic Strict

  • Réponses incorrectes : 0-20 points
  • Réponses correctes : 70-100 points
  • Validation IA obligatoire (pas de simulation)

Cache Management

  • Actuellement désactivé pour les tests
  • Cache par prompt (clé : 100 premiers caractères)
  • Statut : Prêt pour production avec amélioration de clé recommandée

📚 Modules d'Exercices

1. TextModule.js

Exercices de compréhension écrite

  • Présentation de texte
  • Questions générées/extraites
  • Validation IA des réponses
  • Suivi du temps de lecture

2. AudioModule.js

Exercices d'écoute

  • Lecture audio avec contrôles
  • Comptage des lectures
  • Révélation progressive des transcriptions
  • Analyse IA du contenu audio

3. ImageModule.js

Exercices d'analyse visuelle

  • Affichage d'images avec zoom
  • Suivi du temps d'observation
  • Analyse IA vision
  • Types : description, détails, interprétation

4. GrammarModule.js

Exercices de grammaire traditionnels

  • Règles et explications
  • Exercices variés (trous, correction)
  • Système d'indices
  • Suivi des tentatives

5. GrammarAnalysisModule.js

Analyse grammaticale avec IA

  • Correction automatique
  • Explications détaillées
  • Score strict 0-100
  • Feedback personnalisé

6. TextAnalysisModule.js

Analyse de texte approfondie

  • Compréhension avec coaching IA
  • Score strict 0-100
  • Feedback détaillé

7. TranslationModule.js

Traduction avec validation IA

  • Support multi-langues
  • Validation intelligente
  • Score strict 0-100
  • Détection automatique de langue

8. OpenResponseModule.js

Questions libres avec évaluation IA

  • Réponses texte libre
  • Évaluation intelligente
  • Feedback personnalisé
  • Score basé sur la pertinence

9. VocabularyModule.js

Exercices de vocabulaire

  • QCM intelligent avec IA
  • 1 bonne réponse + 5 mauvaises plausibles
  • 16.7% de chance aléatoire
  • Distracteurs générés par IA

10. WordDiscoveryModule.js

Découverte de mots → Transition Flashcards

  • Présentation : mot, prononciation, sens, exemple
  • Redirection automatique vers flashcards
  • Transition fluide entre modules

11. PhraseModule.js

Exercices de construction de phrases

  • Analyse de structure
  • Validation grammaticale
  • Feedback sur la syntaxe

🎴 Interface Flashcards (Hors DRS)

⚠️ Clarification Importante

Les Flashcards NE FONT PAS partie du DRS :

FlashcardLearning.js :

  • Localisation : src/games/FlashcardLearning.js
  • Type : Module de jeu indépendant
  • Architecture : Extend Module de ../core/Module.js
  • Statut : HORS SCOPE DRS

Ce qui EST dans le DRS (Transition Logic)

  1. WordDiscoveryModule.js (DANS DRS)

    • Redirection automatique : _redirectToFlashcards()
    • Bouton "Start Flashcard Practice"
    • Action suivante : 'flashcards'
  2. UnifiedDRS.js (DANS DRS)

    • Détection : _shouldUseFlashcards()
    • Chargement : _loadFlashcardModule()
    • Type d'exercice : 'vocabulary-flashcards'
    • Import externe : ../games/FlashcardLearning.js

Logic de Transition (DRS → Games)

// Le DRS détecte le besoin de flashcards
if (exerciseType === 'vocabulary-flashcards') {
    // Import du module externe (HORS DRS)
    const { default: FlashcardLearning } = await import('../games/FlashcardLearning.js');
    // Création et intégration temporaire
    const flashcardGame = new FlashcardLearning(...);
}

Note critique : Le DRS interface avec les flashcards mais ne les contient pas.

🧠 Services Centraux

IAEngine.js - Moteur IA Principal

// Providers disponibles
- OpenAI GPT-4 (primaire)
- DeepSeek (fallback)
- Pas de mock/simulation

// Méthodes principales
- validateAnswer(userAnswer, correctAnswer, context)
- generateContent(prompt, options)
- detectLanguage(text)
- calculateScore(isCorrect, response)

LLMValidator.js - Validateur LLM

// Validation structurée
- Parsing [answer]yes/no
- Extraction [explanation]
- Gestion des réponses malformées
- Support multi-format

AIReportSystem.js - Rapports IA

// Suivi de session
- Métadonnées détaillées
- Tracking des performances
- Export : text/HTML/JSON
- Statistiques complètes

ContextMemory.js - Mémoire Contextuelle

// Gestion du contexte
- Historique des interactions
- Persistance des données
- Optimisation des prompts

PrerequisiteEngine.js - Moteur de Prérequis

// Gestion des prérequis
- Validation des capacités
- Progression logique
- Déblocage de contenu

🔌 Interface Standard

ExerciseModuleInterface.js

Tous les modules DRS DOIVENT implémenter :

// Méthodes obligatoires
- canRun(prerequisites, chapterContent)
- present(container, exerciseData)
- validate(userInput, context)
- getProgress()
- cleanup()
- getMetadata()

Contrat d'Implémentation

  • Abstract enforcement : Erreurs si méthodes manquantes
  • Validation des paramètres obligatoire
  • Cleanup requis pour éviter les fuites mémoire
  • Métadonnées pour l'orchestration

🎼 Orchestrateur Principal

UnifiedDRS.js - Contrôleur Central

// Responsabilités
- Chargement dynamique des modules
- Gestion du cycle de vie
- Communication EventBus
- Interface utilisateur unifiée
- Transition entre exercices
- Gestion des flashcards

SmartPreviewOrchestrator.js

// Prévisualisations intelligentes
- Aperçus des exercices
- Estimation de difficulté
- Recommandations de parcours
- Optimisation UX

📊 Système de Scoring

Logic de Score Stricte

// Réponses incorrectes
score = 0-20 points (selon gravité)

// Réponses correctes
score = 70-100 points (selon qualité)

// Critères d'évaluation
- Exactitude factuelle
- Qualité de l'expression
- Pertinence contextuelle
- Complétude de la réponse

Validation IA Obligatoire

  • Pas de mock/fallback en production
  • Real AI only pour garantir la qualité éducative
  • Multi-provider pour la fiabilité

🔄 Flux d'Exécution DRS

1. Initialisation

UnifiedDRS → Load ContentLoader → Check Prerequisites → Select Module

2. Exécution d'Exercice

Present Content → User Interaction → Validate with AI → Calculate Score → Update Progress

3. Transition

Check Next Exercise → Load Module → Present OR Redirect to Flashcards

4. Finalisation

Generate Report → Save Progress → Cleanup Module → Return to Menu

🧪 État des Tests

Tests Requis pour le DRS

  1. Tests d'Interface : ExerciseModuleInterface compliance
  2. Tests de Modules : Chaque module individuellement
  3. Tests IA : IAEngine, LLMValidator, scoring logic
  4. Tests d'Intégration : UnifiedDRS orchestration
  5. Tests de Performance : Temps de réponse, mémoire
  6. Tests Flashcards : Transition et intégration

Status Actuel

  • Système fonctionnel en production
  • IA validée sans cache (tests décembre 2024)
  • ⚠️ Tests automatisés à implémenter
  • ⚠️ Cache system désactivé pour debug

🎯 Points Critiques pour Tests

Priorité Haute

  1. Validation IA : Scores 0-20/70-100 respectés
  2. Fallback providers : OpenAI → DeepSeek fonctionne
  3. Interface compliance : Tous modules implémentent l'interface
  4. Memory management : Pas de fuites lors cleanup

Priorité Moyenne

  1. Flashcards integration : Transition fluide
  2. Progress tracking : Persistance des données
  3. Error handling : Récupération gracieuse
  4. UI/UX : Responsive, no-scroll policy

Priorité Basse

  1. Performance optimization : Temps de réponse
  2. Cache system : Réactivation avec clés améliorées
  3. Advanced features : Rapports, analytics
  4. Cross-browser : Compatibilité

📝 Résumé Exécutif

Le DRS est un système complet et fonctionnel comprenant :

  • 11 modules d'exercices fonctionnels
  • Système IA production-ready (OpenAI + DeepSeek)
  • Interface standardisée pour tous les modules
  • Intégration flashcards via redirection
  • Scoring strict validé en tests
  • ⚠️ Tests automatisés à implémenter

Scope EXACT pour les tests DRS :

À TESTER (DRS uniquement) :

  • Tout dans src/DRS/ - modules, services, interfaces
  • Logic de transition vers flashcards (détection, redirection)
  • Import/loading logic de modules externes

À NE PAS TESTER (Hors DRS) :

  • src/games/FlashcardLearning.js - Module de jeu indépendant
  • src/core/ - Architecture centrale (Module.js, EventBus.js)
  • src/components/ - Composants UI généraux

Résumé : Tests DRS = src/DRS/ uniquement + logique de transition (sans tester le module flashcard lui-même)