📘 Moodle 5.2 — La Documentation Complète (Débutant → Expert)
Documentation exhaustive en français pour maîtriser Moodle 5.2, écrite pour un développeur web Next.js / React qui part de zéro sur Moodle et veut devenir expert.
Version couverte : Moodle 5.2 (sortie le 20 avril 2026 — PHP 8.3+, PostgreSQL 16 / MySQL 8.4 / MariaDB 10.11+, Bootstrap 5). La prochaine LTS (5.3) sort en octobre 2026 : tout ce qui est écrit ici s’y applique.
Comment utiliser cette documentation
- Vous ne connaissez pas du tout Moodle → commencez par la Partie 1, puis 2 et 3 (aucun code, purement fonctionnel).
- Vous voulez coder tout de suite → Partie 4 (installation) puis Partie 5 (architecture) puis Partie 6 (plugins).
- Vous voulez connecter Moodle à une app Next.js → Parties 9 (Web Services) et 10 (LTI).
- Vous voulez faire du React / Tailwind dans Moodle → Partie 7 (frontend) et Partie 8 (thèmes).
Chaque partie est un dossier ; chaque chapitre un fichier markdown, lisible dans l’ordre.
Chaque chapitre suit le même format (détail dans CONVENTIONS.md) : ⏱️ TL;DR en tête, 🎯 objectifs, corps détaillé avec diagrammes Mermaid (rendus nativement par GitHub/VS Code) et exemples de code complets, ✏️ exercices corrigés et 🧠 quiz de révision en fin de chapitre.
Table des matières
Partie 1 — Découvrir Moodle (non-développeur)
01-decouverte/ — Qu’est-ce que Moodle, l’écosystème, le vocabulaire, l’interface, les versions.
Partie 2 — Administration, rôles et permissions
02-administration/ — Rôles, capabilities, contextes, inscription, utilisateurs, cohortes, rapports, carnet de notes.
Partie 3 — Créer des cours (pédagogie)
03-creation-cours/ — Activités et ressources natives, quiz, banque de questions, achèvement, restrictions, groupes, H5P, badges, compétences.
Partie 4 — Installation et environnement de développement
04-installation-dev/ — Prérequis, installation manuelle, Docker (moodle-docker), config.php, moosh, MDK, débogage, arborescence du code.
Partie 5 — Architecture du cœur de Moodle
05-architecture/ — Frankenstyle, couche base de données (DML/XMLDB), Form API, File API, Output API, String API, Events, Hooks, Tasks, Cache (MUC), navigation, settings.
Partie 6 — Développer des plugins
06-plugins/ — Les ~40 types de plugins, anatomie d’un plugin, tutoriels complets : plugin local, bloc, module d’activité (mod), admin tool, filtre, et plus.
Partie 7 — Frontend : JavaScript, React et Tailwind
07-frontend/ — Templates Mustache, modules AMD/ES6, core/ajax, modales, toolchain Grunt, intégrer React dans un plugin, utiliser Tailwind sans casser Bootstrap.
Partie 8 — Thèmes
08-themes/ — Boost, créer un thème enfant, SCSS, presets, surcharger templates et renderers, layouts, jusqu’où va la flexibilité (réponse : très loin, avec des limites précises).
Partie 9 — Web Services : l’API externe de Moodle
09-webservices/ — Architecture WS, tokens, REST, fonctions externes core, créer sa propre fonction externe, consommer l’API depuis Next.js (exemples complets).
Partie 10 — LTI (Learning Tools Interoperability)
10-lti/ — LTI 1.1 vs 1.3 Advantage, OIDC, Deep Linking, notes (AGS), rosters (NRPS), Moodle comme plateforme ET comme outil, construire un outil LTI en Next.js.
Partie 11 — Niveau expert
11-expert/ — Sécurité, performance et montée en charge, tests PHPUnit et Behat, CI/CD, Privacy API (RGPD), sous-système IA de Moodle 5.x, mises à jour, publier un plugin sur moodle.org.
Partie 12 — Annexes
12-annexes/ — Glossaire FR/EN, cheatsheets, parcours d’apprentissage recommandé, pièges courants, FAQ, ressources.
Partie 13 — Monétiser sa double compétence Moodle × Next.js
13-monetisation/ — Positionnement (le pont Moodle↔moderne), trouver des missions freelance, modèles de revenu récurrent compatibles GPL (SaaS/LTI hébergé, freemium, support), étude de cas QuizLab en micro-SaaS, cadre pratique FR (cumul CDD + micro-entreprise).
Parcours recommandé (dev Next.js → expert Moodle)
| Semaine | Contenu | Objectif |
|---|---|---|
| 1 | Parties 1–3 | Comprendre Moodle côté utilisateur/admin |
| 2 | Partie 4 | Environnement Docker qui tourne, code sous les yeux |
| 3–4 | Partie 5 | Comprendre l’architecture (le plus gros morceau conceptuel) |
| 5–6 | Partie 6 | Écrire ses premiers plugins |
| 7 | Parties 7–8 | Frontend, React, Tailwind, thèmes |
| 8 | Partie 9 | Web Services + intégration Next.js |
| 9 | Partie 10 | LTI de bout en bout |
| 10+ | Partie 11 | Sécurité, tests, performance, publication |
| Après | Partie 13 | Monétiser : freelance + produit récurrent (complément de revenu) |
Documentation générée le 8 juillet 2026, basée sur Moodle 5.2. Sources principales : moodledev.io , docs.moodle.org , code source github.com/moodle/moodle .