NavigationPluginsArchitectureInfrastructureExploitationProjet |
Plugins /
Tutor IA — Chatbot IA contextualiséTutor IA (local_tutor_ia)Version : 2026051900 | Composant : local_tutor_ia | Moodle 4.x | GitHub ObjectifChatbot IA intégré dans chaque cours Moodle. Répond en se basant strictement sur le contenu du cours. Flashcards, résumés, dashboard enseignant, alertes. ArchitectureWidget chat injecté via hook Chat streaming (ajax.php + locallib.php)
Mode socratiqueActivé par cours (course_settings.php). Prompt : ne JAMAIS donner la réponse, poser des questions guidées, indice après 3 échanges, pas de code complet. Rate limiting + Gamification (ajax.php)Rate limit : configurable (défaut 30 msgs/heure), fenêtre glissante 1h. Quand limite atteinte :
Mini-quiz post-conversation (chat.js)Après 8+ messages : bouton « Tester mes connaissances ». 3 QCM générés via ajax.php (action=generate_quiz). Feedback immédiat + score. Extraction contenu (content_extractor.php)Cache en base (local_tutor_ia_content_cache) avec hash. Invalidation auto via observer (événements course_module created/updated/deleted). Types : page, label, book, resource (PDF pdftotext), assign, url, forum. Limites : 2000 chars/module, 15000 chars total. Résumé de cours (summary.php + ajax_summary.php)Streaming IA (Markdown structuré). Cache en base (local_tutor_ia_summaries) avec hash. Régénération si contenu changé. Rendu via marked.js. Bouton « Imprimer / PDF ». Flashcards (flashcards.php)5 flashcards générées par l'IA (max_tokens=1500). Algorithme Leitner : 3 statuts (0=new, 1=known, 2=review), 4 intervalles known (1j, 3j, 7j, 14j). Si « review » reset 1j, review_count=0. Interface carte retournable CSS 3D. Dashboard enseignant (dashboard.php)Capability : viewlogs. Métriques 30j : sessions (7j/30j), étudiants actifs, messages total, tokens consommés. Graphique activité par heure (CSS pur 24 barres). Top 15 mots-clés (cloud). Alertes zone de difficulté (detect_difficulty_zones.php)Tâche planifiée 6h30 quotidienne. Pour chaque cours actif : cherche topic_keywords demandés par N étudiants distincts (seuil défaut 5, 7 jours). Notification Moodle aux enseignants. Configuration par cours (course_settings.php)Activé/désactivé | Mode socratique | Mode gamification | Programme/instructions personnalisées (injecté dans system prompt). Settings admin (settings.php)
Note : reset_daily_budgets ne fait rien (budgets gérés par timestamps logs). Tables (5)local_tutor_ia_config (courseid unique) | local_tutor_ia_logs (courseid+userid) | local_tutor_ia_content_cache (courseid unique) | local_tutor_ia_summaries (courseid unique) | local_tutor_ia_flashcards (courseid+userid). Voir Base de données. Capabilities (4)
Événements
Tâches planifiées
Backup/RestoreTable config préservée (socratic_mode, syllabus). Logs, flashcards, caches exclus. CDN externesmarked.js (Markdown) | KaTeX 0.16.10 (formules math). |