Skip to Content
MoodlePartie 2 — Administration, rôles et permissionsCarnet de notes, badges et compétences

Chapitre 6 — Carnet de notes, badges et compétences

Dans les chapitres précédents, vous avez construit des cours, ajouté des activités et configuré l’inscription des utilisateurs. Il est temps d’aborder ce qui constitue, pour beaucoup d’institutions, le cœur battant de Moodle : l’évaluation. Ce chapitre couvre trois systèmes complémentaires mais distincts :

  1. le gradebook (carnet de notes), le système de notation chiffrée — de loin le plus riche et le plus complexe ;
  2. les badges, un système de reconnaissance symbolique fondé sur le standard Open Badges ;
  3. les competencies (compétences), un système de suivi de la maîtrise de savoir-faire, indépendant des notes.

Ces trois systèmes s’appuient tous, à des degrés divers, sur une quatrième brique déjà rencontrée lors de la création de cours : la completion (complétion, ou achèvement) d’activités et de cours. Nous terminerons par un tableau d’articulation qui vous aidera à choisir le bon outil pour le bon besoin.

💡 Pour un dev React : si vous deviez modéliser ce chapitre en TypeScript, le gradebook serait un arbre de nœuds (GradeCategory | GradeItem) avec des fonctions d’agrégation de type reduce, les badges seraient des événements émis quand des prédicats deviennent vrais (pattern observer), et les compétences seraient un référentiel normalisé (une sorte de schéma de base de données métier) sur lequel on accroche des évaluations qualitatives. Gardez cette carte mentale : elle tient pour tout le chapitre.


1. Le carnet de notes (gradebook)

1.1 Où se trouve le carnet de notes ?

Chaque cours possède son propre carnet de notes. Depuis Moodle 4.0, on y accède par l’onglet « Notes » (Grades) dans la navigation secondaire du cours, juste sous le nom du cours (à côté de « Cours », « Participants », « Rapports », etc.). Une fois dans le carnet, un menu déroulant en haut à gauche de la page permet de naviguer entre toutes les vues et pages de configuration : Rapport de l’évaluateur, Résumé des notes, Historique des notes, Rapport d’ensemble, Vue unique, Rapport du participant (User report), Configuration du carnet de notes, Réglages des notes du cours, Préférences, Import, Export, Échelles, Lettres.

Côté étudiant, le même onglet « Notes » n’affiche qu’une seule chose : le User report (rapport du participant), c’est-à-dire son propre relevé de notes.

Côté administrateur, un menu global existe aussi : Administration du site > Notes, qui pilote les réglages par défaut de tous les carnets du site (nous y reviendrons en fin de section).

1.2 Concepts fondamentaux : grade items, catégories, arbre de notes

Le carnet de notes est structuré comme un arbre :

  • Les feuilles de l’arbre sont des grade items (éléments d’évaluation). Il en existe deux origines :
    • Automatique : chaque activité notable (devoir, test, atelier, forum noté, leçon, SCORM, H5P…) crée automatiquement son élément d’évaluation au moment où vous l’ajoutez au cours. La note maximale définie dans les réglages de l’activité devient la note maximale de l’élément.
    • Manuelle : vous pouvez créer un élément d’évaluation « à la main » (bouton « Ajouter un élément d’évaluation » dans la Configuration du carnet), par exemple pour une note d’oral saisie directement, sans activité Moodle associée.
  • Les nœuds intermédiaires sont des grade categories (catégories de notes). Chaque catégorie possède une méthode d’agrégation qui calcule un category total (total de catégorie) à partir de ses enfants.
  • La racine de l’arbre est le cours lui-même, qui est techniquement une catégorie : son total s’appelle le course total (total du cours). C’est la note finale que voit l’étudiant.

Voici un exemple d’arbre de notes pour un cours « Développement Web » :

Cours « Développement Web » (catégorie racine) │ agrégation : Naturelle → TOTAL DU COURS /100 ├── Catégorie « Contrôle continu » (pondération 40 %) │ │ agrégation : Naturelle → Total de catégorie /130 │ ├── [Test] Quiz 1 — HTML/CSS /20 (auto : activité Test) │ ├── [Devoir] Devoir 1 — Site statique /100 (auto : activité Devoir) │ └── [Test] Quiz 2 — JavaScript /10 (auto : activité Test) ├── Catégorie « Examen » (pondération 60 %) │ │ agrégation : Naturelle → Total de catégorie /100 │ └── [Devoir] Examen final — Projet /100 (auto : activité Devoir) └── [Manuel] Bonus participation orale /5 (élément manuel, extra credit)

Quelques points importants sur cet arbre :

  • Déplacer une activité dans une catégorie ne se fait pas dans la page du cours mais dans la Configuration du carnet de notes (Gradebook setup) : chaque ligne dispose d’un menu « Modifier » et d’une case à cocher permettant de déplacer l’élément vers une autre catégorie (menu « Déplacer les éléments sélectionnés vers… » en bas de page).
  • Une catégorie peut contenir des sous-catégories : l’arbre peut être arbitrairement profond, mais au-delà de deux niveaux la lisibilité pour l’étudiant se dégrade vite.
  • Chaque catégorie possède son propre category total item : c’est un élément d’évaluation à part entière, avec sa note max, son mode d’affichage, et il peut être masqué ou verrouillé comme n’importe quel élément.

💡 Pour un dev React : pensez au gradebook comme à un arbre de composants où chaque GradeCategory est un composant parent qui calcule une valeur dérivée à partir de ses enfants — exactement un children.reduce(aggregationFn, initial). Le course total est la valeur au sommet de l’arbre, recalculée de bas en haut à chaque changement, comme une chaîne de useMemo dont les dépendances seraient les notes des enfants. Quand vous changez la méthode d’agrégation d’une catégorie, vous remplacez la fonction de reduce — tout l’amont est invalidé et recalculé.

⚠️ Piège : la note maximale d’un élément automatique est pilotée par l’activité, pas par le carnet. Si vous changez la note max d’un Test de 20 à 10 après que des étudiants ont été notés, Moodle vous demandera (depuis 3.x) si les notes existantes doivent être remises à l’échelle (rescale). Répondre à la légère peut doubler ou diviser silencieusement toutes les notes déjà attribuées. Décidez de vos barèmes avant d’ouvrir les activités aux étudiants.

1.3 Les vues du carnet de notes

1.3.1 Le Grader report (rapport de l’évaluateur)

C’est la vue par défaut pour l’enseignant : un tableau croisé avec une ligne par étudiant et une colonne par élément d’évaluation, les totaux de catégories et le total du cours apparaissant en colonnes également (sur fond légèrement grisé). Concrètement, l’écran ressemble à une feuille de calcul : photo et nom de l’étudiant à gauche (colonne figée), puis les colonnes « Quiz 1 », « Devoir 1 », « Total Contrôle continu », etc., et tout à droite « Total du cours ».

Le rapport de l’évaluateur a été profondément modernisé dans Moodle 4.2 et ces améliorations sont bien sûr présentes en 5.2 :

  • Recherche d’utilisateurs : un champ de recherche en haut du tableau filtre instantanément les lignes par nom ou prénom ; des filtres par initiale du nom et du prénom sont également disponibles.
  • Collapse de colonnes (repli de colonnes) : chaque en-tête de colonne dispose d’un menu permettant de replier la colonne pour ne garder qu’un fin bandeau vertical. Indispensable dans un cours de 40 activités : on replie tout sauf la colonne en cours de correction. La liste des colonnes repliées est mémorisée par utilisateur et un menu « Colonnes repliées » permet de les restaurer.
  • En-têtes fixes (sticky headers) : la ligne d’en-tête et la colonne des noms restent visibles pendant le défilement horizontal et vertical.
  • Menus d’action par cellule et par colonne : depuis l’en-tête d’une colonne, on peut masquer/afficher l’élément, accéder à la Vue unique de cet élément, ou éditer ses réglages.

L’édition en ligne s’active par le bouton « Mode d’édition » (le même interrupteur global qu’ailleurs dans Moodle 4/5, en haut à droite). Chaque cellule devient alors un champ de saisie : vous pouvez taper directement une note, et selon les réglages du rapport (voir Préférences), ajouter un feedback (commentaire). Les modifications sont enregistrées via le bouton « Enregistrer » en bas du tableau.

⚠️ Piège — les notes surchargées (overridden grades) : toute note saisie ou modifiée directement dans le Grader report (ou en Vue unique) devient une note overridden (surchargée). Elle s’affiche sur fond ocre/brun, et surtout l’activité d’origine ne peut plus la mettre à jour : si l’étudiant refait son test, si vous re-corrigez son devoir dans l’interface de correction du Devoir, la note du carnet ne bougera plus. C’est la source n° 1 de tickets « la note ne se met pas à jour ». Pour annuler une surcharge : Vue unique → décocher la case « Surchargée » de la cellule concernée → enregistrer.

💡 Pour un dev React : la surcharge est l’équivalent d’un composant contrôlé que vous transformez brutalement en non-contrôlé : la « source of truth » bascule de l’activité (props descendantes) vers le carnet (état local figé). Une fois le lien de synchronisation coupé, il faut explicitement le rétablir (décocher « Overridden »), sinon vous vivez avec deux sources de vérité divergentes.

1.3.2 La Single view (vue unique)

La Vue unique affiche soit toutes les notes d’un seul étudiant, soit toutes les notes d’un seul élément d’évaluation, sous forme de liste verticale éditable. Depuis Moodle 4.2, on y accède par le menu déroulant du carnet, puis on choisit dans deux sélecteurs « Utilisateurs » ou « Éléments d’évaluation ».

C’est la vue idéale pour :

  • saisir en série toutes les notes d’un examen (mode « un élément, tous les étudiants ») ;
  • faire le point sur un étudiant en difficulté (mode « un étudiant, tous les éléments ») ;
  • gérer finement les cases à cocher « Surchargée » (Override) et « Exclue » (Exclude) de chaque note. Exclure une note la retire de l’agrégation pour cet étudiant uniquement — parfait pour un étudiant dispensé d’un contrôle pour raison médicale.
  • utiliser les actions en masse : « Insertion en masse » permet par exemple d’attribuer une valeur (souvent 0) à toutes les notes vides d’un élément, en fin de semestre.

⚠️ Piège : « Insertion en masse : remplacer les notes vides par 0 » passe toutes les notes concernées en surchargées. Si un retardataire rend ensuite son devoir, sa note d’activité n’écrasera pas le 0. Faites cette opération uniquement à la clôture définitive des rendus.

1.3.3 Le Grades summary (résumé des notes) et l’Overview report (rapport d’ensemble)

Deux rapports qu’on confond souvent :

  • Le Grade summary (résumé des notes), ajouté dans Moodle 4.3, est une vue enseignant qui affiche, pour chaque élément d’évaluation du cours, la note moyenne de la cohorte (avec possibilité de filtrer par groupe et de choisir d’inclure ou non les notes vides). C’est votre tableau de bord statistique rapide : « le Quiz 2 a une moyenne de 42 %, il y a un problème ».
  • L’Overview report (rapport d’ensemble) est une vue transversale aux cours : pour un utilisateur donné, il liste tous ses cours et la note totale obtenue dans chacun. L’étudiant y accède depuis sa page de profil (« Aperçu des notes ») ; l’enseignant/admin peut le consulter pour un utilisateur via le carnet.

1.3.4 Le User report (rapport du participant)

C’est la vue de l’étudiant : un tableau vertical listant chaque élément d’évaluation avec (selon les réglages du cours) la note, la plage (min–max), le pourcentage, la lettre, le rang, le feedback, et la contribution au total du cours (colonne très pédagogique : « ce devoir pèse 18,4 % de votre note finale »). Les catégories y apparaissent comme des sections repliables avec leur total.

L’enseignant peut consulter le User report de n’importe quel étudiant, et surtout basculer le sélecteur « Voir le rapport en tant que : Utilisateur » pour voir le relevé exactement comme l’étudiant le voit — indispensable pour vérifier ce qui est masqué ou non (voir § 1.9).

1.3.5 Le Gradebook setup (configuration du carnet de notes)

C’est la vue « structurelle » : l’arbre complet des catégories et éléments, sans les notes des étudiants. C’est ici que l’on :

  • crée des catégories (« Ajouter une catégorie ») et des éléments manuels (« Ajouter un élément d’évaluation ») ;
  • choisit la méthode d’agrégation de chaque catégorie (menu Modifier > Modifier les réglages) ;
  • saisit les pondérations (colonne « Pondérations » en agrégation naturelle) ;
  • déplace, masque, verrouille, supprime des éléments ;
  • définit les ID numbers (identifiants) utilisés dans les formules de calcul (§ 1.7).

📚 Aller plus loin : la page officielle docs.moodle.org — Gradebook setup  détaille chaque option de cette vue. Prenez aussi l’habitude d’explorer le menu « Modifier » de chaque ligne : la moitié des fonctions du carnet s’y cachent.

1.4 Les méthodes d’agrégation, en détail

La méthode d’agrégation d’une catégorie définit comment les notes de ses enfants sont combinées en un total. Point capital : l’agrégation travaille sur des notes normalisées — sauf en agrégation Naturelle, chaque note est d’abord convertie en fraction de sa note maximale (14/20 → 0,70), puis le résultat est reprojeté sur la note maximale du total de catégorie.

Prenons un jeu de données constant pour comparer les méthodes. Étudiante : Alice, catégorie « Contrôle continu » à trois éléments :

ÉlémentNote d’AliceMaxEn pourcentage
Quiz 1142070 %
Devoir 17210072 %
Quiz 281080 %

1.4.1 Natural (naturelle) — la méthode par défaut

La méthode Naturelle (par défaut depuis Moodle 2.8) est une somme des notes brutes, dans laquelle chaque élément pèse proportionnellement à sa note maximale. Le total de catégorie vaut la somme des maxima.

Pour Alice : total = 14 + 72 + 8 = 94 / 130, soit 72,31 %. Le Devoir 1 (max 100) pèse mécaniquement 100/130 ≈ 77 % de la catégorie : en Naturelle, le barème EST la pondération.

La grande force de la Naturelle est sa colonne « Pondérations » : en cochant la case d’un élément, vous pouvez surcharger le poids naturel par un pourcentage arbitraire. Moodle réajuste automatiquement les poids non surchargés pour que le total fasse 100 %. La Naturelle englobe donc à la fois l’ancienne « Somme des notes » (sans surcharge) et la « Moyenne pondérée » (avec surcharges).

1.4.2 Mean of grades (moyenne des notes)

Moyenne arithmétique simple des pourcentages. Tous les éléments pèsent pareil, quel que soit leur barème.

Alice : (70 % + 72 % + 80 %) / 3 = 74 %. Si le total de catégorie est sur 100, elle a 74/100. Notez la différence avec la Naturelle (72,31 %) : le Quiz 2, pourtant sur 10 points seulement, compte ici autant que le Devoir sur 100.

1.4.3 Weighted mean of grades (moyenne pondérée des notes)

Chaque élément reçoit un poids numérique arbitraire (saisi dans le Gradebook setup), et la moyenne des pourcentages est pondérée par ces poids : Σ(pᵢ × wᵢ) / Σwᵢ.

Avec les poids Quiz 1 = 1, Devoir 1 = 3, Quiz 2 = 1 : (70×1 + 72×3 + 80×1) / 5 = 366/5 = 73,2 %.

1.4.4 Simple weighted mean of grades (moyenne pondérée simple)

Comme la moyenne pondérée, mais le poids de chaque élément est sa note maximale (pas de saisie manuelle). C’est mathématiquement équivalent à la Naturelle sans surcharge, exprimée en pourcentage : Alice obtient (70×20 + 72×100 + 80×10) / 130 = 72,31 %. Sa spécificité : c’est la seule moyenne qui accepte l’extra credit par simple case à cocher (voir § 1.4.8), là où la moyenne pondérée classique ne le gère pas.

1.4.5 Median of grades (médiane des notes)

La valeur centrale des pourcentages triés. Alice : {70, 72, 80} → médiane = 72 %. Utile pour neutraliser les valeurs extrêmes dans les catégories à nombreux petits éléments (quiz hebdomadaires).

1.4.6 Lowest grade / Highest grade (note la plus basse / la plus haute)

Le total est le pourcentage minimal (resp. maximal) des enfants. Alice : plus basse = 70 %, plus haute = 80 %. « Note la plus haute » sert typiquement pour une catégorie « trois tentatives d’entraînement, seule la meilleure compte ».

1.4.7 Mode of grades (mode des notes)

La valeur la plus fréquente. Pertinent uniquement avec des échelles ou des notes très discrètes ; sur des pourcentages continus, c’est rarement utile (en cas d’égalité de fréquences, le résultat est peu prévisible — évitez cette méthode hors échelles).

1.4.8 Sum of grades (somme des notes) — héritage

L’ancienne méthode « Somme des notes » des Moodle ≤ 2.7 a été fusionnée dans la Naturelle en 2.8. Si vous migrez un très vieux site ou lisez de vieux tutoriels, sachez simplement que « Somme » ≈ « Naturelle sans surcharge de poids ». Elle n’apparaît plus dans le menu des méthodes de Moodle 5.2 (l’administrateur contrôle d’ailleurs la liste des méthodes proposées dans Administration du site > Notes > Réglages des catégories de notes).

1.4.9 Options transverses d’agrégation

Chaque catégorie propose en outre :

  • Extra credit (crédit supplémentaire) : un élément marqué « crédit supplémentaire » ajoute ses points au total sans augmenter le dénominateur. Dans notre arbre, le « Bonus participation /5 » en extra credit permet de dépasser… ou plutôt d’atteindre plus facilement le maximum : le total du cours reste plafonné à sa note max, l’extra credit ne fait jamais dépasser 100 %. Disponible en Naturelle et en Moyenne pondérée simple.
  • Aggregate only non-empty grades (n’agréger que les notes non vides) : par défaut activée pour les moyennes, cette option ignore les notes vides au lieu de les compter comme 0. Décochée, un devoir non rendu (note vide) plombe la moyenne comme un zéro. En agrégation Naturelle, le comportement est différent et fixe : les notes vides sont toujours exclues du calcul, mais le total affiché à l’étudiant est calculé sur les seuls éléments notés — d’où des totaux qui « bougent » au fil du semestre (voir Piège ci-dessous).
  • Drop the lowest (supprimer les N plus basses) : ignore les N notes les plus basses de la catégorie. Classique pour « 10 quiz hebdomadaires, les 2 pires ne comptent pas ». Ce réglage exige que tous les éléments de la catégorie aient la même note maximale, sinon le résultat est mathématiquement incohérent ; il est indisponible quand des poids sont surchargés. Son symétrique « Keep the highest (ne garder que les N plus hautes) » existe aussi.
  • Note min/max du total de catégorie : le total de catégorie a sa propre note maximale (souvent 100). En Naturelle elle est calculée automatiquement (somme des max) et verrouillée ; dans les autres méthodes vous la fixez librement.
  • Notes brutes vs pourcentages : en interne, Moodle stocke pour chaque note une valeur brute (raw grade, celle envoyée par l’activité) et une valeur finale (final grade, après agrégation/surcharge). Les agrégations autres que Naturelle raisonnent en pourcentages normalisés ; la Naturelle raisonne en points bruts. C’est pourquoi changer de méthode d’agrégation peut faire bouger les totaux de façon spectaculaire sans qu’aucune note individuelle n’ait changé.

⚠️ Piège — les notes vides ne sont pas des zéros : une note vide (devoir jamais rendu, quiz jamais tenté) n’est pas un 0. En Naturelle, tant qu’un élément est vide, il est exclu du total : un étudiant qui n’a fait que le Quiz 1 (14/20) affiche un total de contrôle continu de 70 %, pas de 14/130. Beaucoup d’enseignants découvrent en fin de semestre que leurs « moyennes » étaient optimistes. Solutions : insertion en masse de 0 à la clôture (§ 1.3.2), ou paramétrer les activités pour produire un 0 (tentative notée 0), en connaissance de cause.

💡 Pour un dev React : aggregate only non-empty correspond exactement à grades.filter(g => g != null) avant votre reduce ; drop the lowest N est un sort().slice(N) ; l’extra credit est un accumulateur qui incrémente le numérateur sans toucher au dénominateur. Écrire mentalement (ou réellement, dans un petit script TypeScript !) chaque méthode d’agrégation comme une fonction pure (grades: {raw: number, max: number, weight?: number}[]) => number est le meilleur exercice pour ne plus jamais être surpris par un total Moodle.

1.4.10 Exemple complet déroulé : Contrôle continu 40 % + Examen 60 %

Reprenons l’arbre du § 1.2 et déroulons pas à pas le calcul du total du cours d’Alice, en agrégation Naturelle avec pondérations surchargées au niveau du cours.

Configuration (dans Gradebook setup) :

NœudAgrégationPondération surchargée
Cours (racine)Naturelle
├ Catégorie Contrôle continu (total /130)Naturelle40 % (case cochée)
├ Catégorie Examen (total /100)Naturelle60 % (case cochée)
└ Bonus participation /5Extra credit ✔

Notes d’Alice : Quiz 1 = 14/20, Devoir 1 = 72/100, Quiz 2 = 8/10, Examen final = 65/100, Bonus = 3/5.

Étape 1 — total « Contrôle continu » (Naturelle, pas de surcharge interne) : 14 + 72 + 8 = 94, sur un max de 20 + 100 + 10 = 130 → 94/130 = 72,31 %.

Étape 2 — total « Examen » : un seul élément → 65/100 = 65 %.

Étape 3 — total du cours. La note max du total du cours en Naturelle serait 130 + 100 = 230, mais les pondérations surchargées s’appliquent aux pourcentages des enfants :

Total cours (%) = 72,31 % × 0,40 + 65 % × 0,60 = 28,92 % + 39,00 % = 67,92 %

Étape 4 — extra credit. Le bonus (3/5 = 60 % d’un élément pesant 5 points « gratuits ») s’ajoute au numérateur. Rapporté au total du cours sur 230 points, il ajoute 3/230 ≈ 1,30 point de pourcentage :

Total final ≈ 67,92 % + 1,30 % = 69,22 % → affiché p. ex. 69,22 % ou 159,2/230

Vérification côté étudiant : dans le User report d’Alice, la colonne « Contribution au total du cours » affichera ≈ 28,92 % pour la catégorie Contrôle continu et 39,00 % pour l’Examen — exactement nos étapes intermédiaires. C’est votre meilleur outil de débogage du gradebook.

⚠️ Piège : quand vous cochez et saisissez une pondération (p. ex. 40), Moodle rééquilibre automatiquement les poids non cochés pour que la somme fasse 100. Si vous cochez 40 et 60 mais qu’un troisième enfant non coché existe (notre bonus, hors extra credit ce serait un vrai élément), Moodle réduira proportionnellement vos 40/60. Cochez et fixez explicitement tous les poids qui doivent être exacts, et vérifiez que la colonne affiche bien la somme attendue.

1.5 Les échelles (scales)

Une scale (échelle) est une liste ordonnée de valeurs textuelles servant à évaluer, à la place d’une note numérique : par exemple Insuffisant, Passable, Bien, Très bien, Excellent. On les utilise dans les activités (un Devoir peut être noté « sur » une échelle) et dans les compétences (§ 3).

  • Échelles standard (de site) : créées par l’administrateur dans Administration du site > Notes > Échelles (ou par un enseignant via le carnet, puis « rendues standard » par un admin). Elles sont proposées dans tous les cours. Moodle livre historiquement l’échelle « Separate and Connected ways of knowing » (2 valeurs), plus une curiosité pédagogique qu’autre chose.
  • Échelles de cours (custom) : créées par l’enseignant via le menu du carnet > Échelles > Ajouter une nouvelle échelle. Visibles uniquement dans le cours. On saisit les valeurs séparées par des virgules, de la plus négative à la plus positive — l’ordre est contractuel.
  • Une échelle utilisée par au moins une activité devient non modifiable et non supprimable (Moodle protège l’intégrité des notes existantes).

Le piège central : l’agrégation des échelles. En interne, chaque valeur d’échelle est un entier : 1 pour la première, n pour la dernière. Une échelle à 5 niveaux notée « Bien » (3e valeur) est agrégée comme… ça dépend du réglage admin « Point de départ des échelles à 0 » (Grade point increment, gradepointdefault/gradebook > aggregation) : historiquement 3/5 (60 %), mais avec le réglage moderne « les échelles commencent à 0 » (par défaut pour les nouveaux sites depuis 2.8), c’est (3−1)/(5−1) = 2/4 = 50 %. Deux sites Moodle peuvent donc calculer des totaux différents avec les mêmes échelles. De plus, le réglage de catégorie « Inclure les notes d’échelles dans l’agrégation » (hérité d’un réglage site) permet de les exclure totalement des totaux.

⚠️ Piège : n’utilisez jamais une échelle pour quelque chose qui devra entrer dans une moyenne chiffrée précise. Une échelle à 4 niveaux agrégée avec des devoirs sur 100 produit des totaux contre-intuitifs (l’échelle pèse 3 ou 4 points sur 104…). Réservez les échelles aux feedbacks qualitatifs (forums, ateliers formatifs) et excluez-les de l’agrégation, ou n’utilisez que des notes numériques dans les catégories certificatives.

💡 Pour un dev React : une échelle est un enum ordonné (enum Appreciation { Insuffisant = 1, ..., Excellent = 5 }) que Moodle caste implicitement en number au moment d’agréger — avec deux conventions d’indexation possibles (base 0 ou base 1) selon un flag global. Vous connaissez ce genre de bug de sérialisation implicite : traitez les échelles comme un type qu’il ne faut pas mélanger avec les nombres sans conversion explicite et documentée.

1.6 Les lettres (grade letters) et l’affichage des notes

Lettres

Les grade letters (notes en lettres) mappent des plages de pourcentages vers des lettres. La table par défaut du site (modifiable dans Administration du site > Notes > Lettres) suit le modèle américain :

LettreBorne inférieure
A93 %
A−90 %
B+87 %
B83 %
B−80 %
C+77 %
C73 %
C−70 %
D+67 %
D60 %
F0 %

Chaque cours peut surcharger cette table : menu du carnet > Lettres > Modifier > cocher « Passer outre les valeurs par défaut du site ». Vous pouvez y définir des mentions françaises : Très bien ≥ 16/20 → 80 %, Bien ≥ 70 %, Assez bien ≥ 60 %, Passable ≥ 50 %, Ajourné < 50 %. Les « lettres » sont du texte libre — rien n’oblige à des lettres.

Affichage des notes

Chaque élément, chaque catégorie et le réglage de cours (« Réglages des notes du cours », Course grade settings) définissent le grade display type (type d’affichage) :

  • Réel (la note brute : 14/20), Pourcentage (70 %), Lettre (C−), ou des combinaisons : « Réel (pourcentage) », « Pourcentage (lettre) », etc.
  • Le nombre de décimales (0 à 5) est réglable aux mêmes niveaux. Attention : c’est un réglage d’affichage ; les calculs internes gardent la précision complète (les totaux peuvent donc sembler « faux » d’un centième — c’est de l’arrondi d’affichage, pas une erreur de calcul).

📚 Aller plus loin : les réglages de cours (menu du carnet > « Réglages des notes du cours ») contrôlent aussi ce que voit l’étudiant dans son User report : afficher ou non le rang, les pourcentages, les moyennes de classe, les notes masquées, la position du total (haut/bas). Passez ces options en revue avec la vue « Voir en tant qu’utilisateur » avant chaque ouverture de cours.

1.7 Les calculs par formule (grade calculations)

Au-delà des agrégations standard, tout total (de catégorie ou de cours) et tout élément manuel peut être piloté par une formule de type tableur. C’est la soupape pour les barèmes exotiques.

Étape 1 — donner des ID numbers (identifiants) : chaque élément utilisé dans une formule doit avoir un identifiant unique. Deux façons : dans les réglages de l’activité (champ « Numéro d’identification », section Réglages courants), ou directement dans l’écran d’édition de la formule, qui liste tous les éléments avec un champ d’ID à remplir. Dans la formule, l’élément se référence par son ID entre doubles crochets : [[quiz1]].

Étape 2 — écrire la formule : Gradebook setup > menu Modifier du total visé > « Modifier le calcul ». La formule commence par = :

=average([[quiz1]], [[devoir1]]) =max(0, sum([[quiz1]], [[quiz2]]) - 5) =round(0.4*[[cc_total]] + 0.6*[[examen]], 1) =if([[examen]] >= 50, average([[cc_total]], [[examen]]), [[examen]])

Fonctions disponibles (arguments séparés par des virgules — ou des points-virgules selon la locale du site, comme dans Excel) : average, sum, max, min, round, floor, ceil, mod, power, pi, abs, sqrt, exp, ln, log, les trigonométriques (sin, cos, tan…), et la conditionnelle if(condition, alors, sinon) avec les opérateurs logiques and, or et les comparaisons (>=, <, ==…). Les opérateurs arithmétiques + - * / ^ suivent la précédence usuelle.

Limites et pièges des formules :

  • Une formule remplace entièrement la méthode d’agrégation du total concerné : pondérations, drop lowest, extra credit de la catégorie sont ignorés.
  • La formule travaille sur les notes finales des éléments référencés, exprimées dans leur barème réel (14, pas 0,70). Le résultat est ensuite borné par le min/max du total : si votre formule peut produire 25 et que le total est sur 20, pensez à ajuster la note max du total, sinon écrêtage silencieux.
  • Les notes vides valent 0 dans une formule (contrairement à l’agrégation naturelle !). Un average sur un élément non encore noté tire tout vers le bas.
  • Recalcul et performances : chaque modification d’une note déclenche le recalcul de la chaîne complète. Sur de très gros cours (milliers d’étudiants, dizaines de formules imbriquées), le recalcul peut être sensible ; l’icône/bandeau « Recalcul des notes en cours » peut apparaître, et un lien caché grade/report/grader/index.php?...&action=regrade — plus simplement le bouton « Recalculer » proposé par Moodle quand il détecte des totaux périmés — force un recalcul complet.
  • Pas de référence circulaire : une formule ne peut pas référencer un total qui dépend d’elle-même ; Moodle le détecte et refuse.

💡 Pour un dev React : une formule de gradebook est une computed value : const total = useMemo(() => 0.4*cc + 0.6*exam, [cc, exam]). Les [[idnumber]] sont votre tableau de dépendances — et comme avec useMemo, le bug classique est la dépendance oubliée (un élément non référencé qui « devrait » compter) ou la valeur undefined traitée comme 0. La détection de cycle de Moodle joue le rôle du linter react-hooks/exhaustive-deps.

⚠️ Piège : renommer ou supprimer l’ID number d’un élément casse silencieusement les formules qui l’utilisent (l’élément manquant est traité comme 0 ou la formule tombe en erreur selon les cas). Traitez les ID numbers comme des clés d’API publiques : nommez-les proprement (quiz1, exam_final), ne les recyclez jamais.

1.8 Import et export des notes

Export

Menu du carnet > Export. Quatre formats natifs : feuille de calcul Excel (.xlsx), feuille de calcul OpenDocument (.ods), fichier texte (CSV, séparateur configurable) et XML (format le plus « machine », qui référence les éléments par ID number — c’est le format de choix pour les allers-retours automatisés). Options d’export : choix des éléments inclus, inclusion ou non des feedbacks, types d’affichage exportés (réel/pourcentage/lettre, cumulables), nombre de décimales, exclusion des utilisateurs suspendus, et « Exiger l’activation de l’achèvement de cours » non — plus précisément une option « Limiter aux notes mises à jour depuis le dernier export » pour les exports incrémentaux.

Publication de l’export (grade publishing) : si l’administrateur active gradepublishing (Administration du site > Notes > Réglages généraux), l’écran d’export propose de publier le résultat sous forme d’une URL privée à clé : un système externe (script de synchro avec votre SI de scolarité, cron, Zapier…) peut alors télécharger le CSV/XML sans session Moodle, tant que la clé reste secrète. C’est la forme la plus simple d’« export planifiable » : l’URL renvoie toujours l’état courant des notes, il suffit de la requêter périodiquement. (La même mécanique existe en sens inverse pour l’import.)

⚠️ Piège : l’URL de publication contourne toute authentification. Quiconque possède l’URL lit les notes. Ne l’activez qu’en connaissance de cause, transmettez la clé par un canal sûr, et régénérez-la en cas de doute. Beaucoup d’institutions préfèrent désactiver gradepublishing et passer par les web services (chapitre développement) pour les intégrations sérieuses.

Import

Menu du carnet > Import : CSV, collage direct depuis un tableur (copier des cellules Excel et coller dans un champ texte), et XML. Le workflow CSV :

  1. Exportez d’abord le carnet en CSV : vous obtenez un modèle avec les bonnes colonnes (prénom, nom, email… puis une colonne par élément).
  2. Complétez/modifiez les notes dans votre tableur, réenregistrez en CSV (attention à l’encodage — préférez UTF-8, réglable à l’import).
  3. À l’import, Moodle vous présente l’écran de mapping : vous désignez la colonne qui identifie l’utilisateur (par adresse email, username (nom d’utilisateur) ou ID number de profil — l’email est le plus fiable en pratique), puis vous mappez chaque colonne de notes vers un élément d’évaluation existant (ou vers un « nouvel élément » que l’import créera), et éventuellement les colonnes de feedback.
  4. Prévisualisation, puis import. Les notes importées sont enregistrées comme des notes surchargées lorsqu’elles portent sur des éléments liés à des activités — même piège qu’au § 1.3.1. L’option « Forcer l’importation » permet de passer outre les avertissements de notes plus récentes côté Moodle.

💡 Pour un dev React : l’écran de mapping d’import est exactement le problème du schema mapping que vous connaissez en intégration d’API : une clé d’identité (email = clé naturelle, ID number = clé métier externe) + un mapping colonnes → champs. Comme toujours, la fiabilité vient de la clé : les usernames changent, les emails aussi parfois — si votre SI possède un identifiant pérenne, poussez-le dans le champ « ID number » du profil des utilisateurs dès la création des comptes (chapitre 4).

1.9 Verrouillage, masquage, surcharge : contrôler la visibilité et la stabilité

Trois mécanismes orthogonaux s’appliquent à trois niveaux (élément entier, catégorie entière, note individuelle d’un étudiant) :

MécanismeEffetOù l’activer
Hide (masquer)L’étudiant ne voit pas la note (l’enseignant la voit en grisé)Icône œil / menu Modifier (setup, grader report, single view)
Hidden until (masqué jusqu’au)Masquage avec date de levée automatiqueRéglages de l’élément/catégorie, ou menu de la note individuelle
Lock (verrouiller)La note ne peut plus être mise à jour, ni par l’activité ni par l’enseignant (jusqu’au déverrouillage) ; option « Verrouiller à partir du » pour verrouiller à dateMenu Modifier / réglages
Override (surcharger)La note est fixée à la main ; l’activité ne la synchronise plusSaisie directe dans grader report / single view
Exclude (exclure)La note de CET étudiant sort de l’agrégationSingle view / menu de la note

Points de vigilance :

  • Masquage et totaux : que vaut un total quand certains éléments sont masqués ? Le réglage de cours « Masquer les totaux s’ils comprennent des notes masquées » propose trois comportements : masquer le total, afficher le total sans les éléments masqués (l’étudiant voit un total partiel, potentiellement très différent du total réel), ou afficher le total incluant les éléments masqués (le total « fuite » de l’information : un étudiant peut déduire sa note d’examen masquée par différence !). Choisissez consciemment ; le troisième mode est le plus honnête mathématiquement mais le pire pour la confidentialité d’une note non publiée.
  • Masquer l’activité ≠ masquer la note : cacher une activité sur la page de cours masque aussi son élément de note, mais l’inverse n’est pas vrai. Le workflow propre pour « corriger sans publier » est plutôt d’utiliser le marking workflow (workflow d’évaluation) du module Devoir, ou de masquer l’élément de note le temps de la correction puis « hidden until » la date de publication des résultats.
  • Recalcul et icône « notes à recalculer » : après des changements structurels (déplacement d’éléments, changement d’agrégation), Moodle marque le carnet comme périmé et affiche un bandeau invitant à recalculer ; sur les gros cours le recalcul part en tâche ad hoc (cron). Tant qu’il n’a pas tourné, les totaux affichés peuvent être obsolètes — d’où l’importance d’un cron sain (chapitre 3).
  • Le verrouillage sert typiquement à geler le carnet après le jury : verrouillez le total du cours et les éléments certificatifs, plus personne ne modifie rien par accident, tout en gardant la lecture.

⚠️ Piège : verrouiller un élément pendant que des activités continuent d’envoyer des notes crée un décalage : les nouvelles notes brutes s’accumulent côté activité mais ne « passent » plus dans le carnet. Au déverrouillage, Moodle réimporte les notes en attente — surprise garantie si vous pensiez le classement définitif. Verrouillez après la clôture pédagogique réelle, pas avant.

1.10 Les réglages d’administration des notes

Administration du site > Notes regroupe les politiques globales :

  • Réglages généraux : rôles considérés comme « notés » (gradebookroles, par défaut Étudiant — un utilisateur sans ce rôle n’apparaît pas dans le grader report !), activation de la publication d’import/export (gradepublishing), affichage des lettres, historique de navigation, réglages de performance.
  • Réglages des catégories de notes : quelles méthodes d’agrégation sont proposées aux enseignants (vous pouvez réduire la liste à Naturelle + Moyenne pondérée pour simplifier la vie de tout le monde), valeurs par défaut (agrégation, drop lowest, non-empty…) et lesquelles sont « forcées » (non modifiables en cours).
  • Réglages des éléments d’évaluation : type d’affichage par défaut, décimales par défaut, options avancées visibles.
  • Échelles : les échelles standard du site (§ 1.5).
  • Lettres : la table par défaut du site (§ 1.6).
  • Réglages des rapports (un sous-menu par rapport) : pour le Grader report, notamment le nombre d’étudiants par page (baissez-le sur les gros cours, c’est le premier levier de performance), l’affichage rapide du feedback, les moyennes, la position du total.
  • Grade history (historique des notes) : Moodle journalise chaque changement de note (ancienne valeur, nouvelle valeur, auteur, date, source — activité, import, saisie manuelle). Le rapport « Historique des notes » (menu du carnet, côté cours) permet de filtrer par étudiant, élément, correcteur, période, et de ne voir que les valeurs révisées. Côté admin, Administration du site > Serveur > Nettoyage (réglage gradehistorylifetime) contrôle la durée de rétention (illimitée par défaut). C’est votre piste d’audit en cas de contestation de note — ne la purgez pas trop agressivement.

📚 Aller plus loin : la documentation d’administration des notes (docs.moodle.org/fr/Notes ) et la page « Grade aggregation » détaillent chaque réglage forcé/avancé. Pour comprendre les entrailles (tables grade_items, grade_grades, grade_categories, callbacks grade_update()), la référence développeur est moodledev.io — Grades API  — hors périmètre de ce chapitre fonctionnel, mais utile quand vous écrirez des intégrations.


2. Les badges

2.1 Le concept : Open Badges

Un badge est une micro-certification visuelle : une image + des métadonnées vérifiables (qui l’a délivré, à qui, quand, selon quels critères). Moodle implémente le standard ouvert Open Badges, initié par la fondation Mozilla en 2011 et aujourd’hui maintenu par 1EdTech (ex-IMS Global). Moodle 5.2 est conforme Open Badges v2.0/v2.1 : la v2.1 apporte notamment la connexion OAuth 2 aux backpacks sans saisir ses identifiants dans Moodle. La v3.0 du standard (alignée sur les Verifiable Credentials du W3C) est le sujet des travaux en cours de l’écosystème ; vérifiez les notes de version de votre Moodle exact pour l’état de son support, le cœur de Moodle étant resté en 2.x jusqu’à la 5.1 incluse.

L’idée clé du standard : le badge décerné (l’assertion) est portable et vérifiable hors de Moodle. Le fichier image PNG/SVG embarque (« bake », cuisson) les métadonnées signées ; n’importe quel validateur Open Badges peut vérifier l’émetteur (issuer), le destinataire et les critères.

2.2 Activer les badges, badges de site vs badges de cours

L’administrateur contrôle la fonction via Administration du site > Fonctions avancées / Badges : le réglage enablebadges (activé par défaut), plus deux sous-réglages : autoriser les badges de cours (badges_allowcoursebadges) et la connexion aux backpacks externes (badges_allowexternalbackpack). Les valeurs par défaut de l’émetteur (nom, contact) se règlent dans Administration du site > Badges > Réglages des badges.

Deux portées :

  • Badges de site : créés dans Administration du site > Badges > Ajouter un badge. Leurs critères peuvent porter sur l’ensemble du site (achèvement d’un ensemble de cours, profil complété, cohorte…). Gérés par les administrateurs et managers.
  • Badges de cours : créés dans le cours (menu Plus > Badges dans la navigation secondaire du cours). Leurs critères portent sur le cours (activités, achèvement du cours, rôle dans le cours). Gérés par l’enseignant.

2.3 Créer un badge : image, détails, émetteur

Le formulaire de création demande :

  • Nom et description (soignez-les : ils sont publics et suivent le badge dans les backpacks) ;
  • Image : PNG ou SVG, idéalement carrée (recommandation classique ≥ 300×300). Champs optionnels d’attribution de l’image (auteur, URL) ;
  • Détails de l’émetteur (issuer) : nom et email de contact — par défaut ceux du site. C’est l’identité qui « signe » le badge aux yeux du monde extérieur ;
  • Expiration : jamais / à date fixe / relative (« expire N jours après l’obtention ») — utile pour des habilitations à renouveler (sécurité, premiers secours…).

À la création, le badge est en état « Disponible : Non ». Le cycle de vie est strict :

Créer le badge → Définir les critères → « Activer l'accès » (brouillon) (obligatoire) (le badge devient décernable)

⚠️ Piège : dès qu’un badge a été décerné au moins une fois, ses critères deviennent verrouillés (on ne peut plus les modifier, seulement dupliquer le badge pour en faire une v2) : c’est une exigence d’intégrité du standard — un badge décerné atteste des critères en vigueur au moment de l’attribution. Testez vos critères sur un compte de test avant l’activation réelle. Nom, description et image restent modifiables, mais « Désactiver l’accès » est nécessaire pour éditer quoi que ce soit.

2.4 Les critères d’attribution

Un badge est décerné automatiquement (ou manuellement) quand ses critères sont remplis. Les critères se combinent en ET (tous requis) ou en OU (n’importe lequel), réglable globalement et à l’intérieur de chaque type de critère. Types disponibles :

CritèrePortéeDescription
Attribution manuelle par rôleSite + coursLes détenteurs du rôle choisi (p. ex. Enseignant) peuvent décerner le badge à la main, depuis l’onglet « Destinataires » du badge
Achèvement d’activité(s)CoursUne ou plusieurs activités achevées (nécessite la complétion d’activité activée — cf. chapitre création de cours), avec éventuelle contrainte de date
Achèvement du coursSite + coursLe cours (ou une liste de cours pour un badge de site) est achevé, avec option note minimale et date limite
Profil complétéSiteDes champs de profil précis sont remplis (utile pour un badge « Profil vérifié »)
Appartenance à une cohorteSiteL’utilisateur appartient à telle(s) cohorte(s)
CompétenceSite + coursTelle(s) compétence(s) du référentiel sont validées (pont direct avec la section 3 !)
Badges obtenusSiteL’utilisateur détient déjà tel(s) autre(s) badge(s) — permet les méta-badges (badge « Parcours complet » = badges A + B + C)

Les critères sont évalués par événements (à l’achèvement d’une activité, etc.) et par le cron pour les cas différés ; l’attribution est donc quasi immédiate mais pas strictement synchrone.

💡 Pour un dev React : les critères de badge forment un arbre de prédicats AND/OR évalué à chaque événement pertinent — architecture event-driven pure. Un méta-badge est une composition de sélecteurs, au sens Redux : hasBadge(A) && hasBadge(B). Et comme en event-driven, méfiez-vous de l’éventuelle latence : « j’ai fini le quiz mais pas reçu le badge » se résout souvent par « attendez le prochain passage du cron ».

2.5 Message, destinataires, révocation

  • Onglet Message : personnalise l’email de félicitations envoyé au destinataire (sujet, corps avec placeholders, option « joindre le badge au message » pour envoyer le PNG « cuit », et notification du créateur du badge tous les N badges décernés).
  • Onglet Destinataires : liste les détenteurs ; c’est ici que se fait l’attribution manuelle (si un critère manuel existe) et la révocation (bouton « Retirer le badge ») — la révocation ne vaut que pour les badges attribués manuellement ; un badge automatique dont les critères restent remplis serait réattribué.
  • Un badge peut être globalement désactivé (plus décerné) sans retirer les exemplaires déjà décernés, ou supprimé avec deux options explicites : conserver ou supprimer les badges déjà décernés.

2.6 Le backpack (sac à badges)

Le backpack est le portefeuille externe où l’utilisateur agrège ses badges de multiples plateformes, et depuis lequel il les publie (LinkedIn, site perso…).

Un peu d’histoire nécessaire pour comprendre l’état actuel : le Mozilla Backpack historique a fermé fin 2019, et les utilisateurs ont migré vers Badgr (société Concentric Sky), devenu le backpack par défaut de Moodle (badgr.io). Concentric Sky a été racheté par Instructure (l’éditeur de Canvas) en 2022, et Badgr a été renommé Canvas Badges / Canvas Credentials (badges.instructure.com). Le service continue d’exister sous cette marque, mais son avenir en tant que backpack gratuit grand public a fluctué — vérifiez l’état du service au moment où vous déployez, et sachez que Moodle permet de configurer n’importe quel backpack conforme Open Badges v2/v2.1.

Côté Moodle :

  • Admin : Administration du site > Badges > Gérer les backpacks : liste des backpacks proposés aux utilisateurs (badgr.io préconfiguré historiquement), possibilité d’en ajouter (URL de l’API OBv2.1 + OAuth 2). Un site Moodle peut aussi jouer le rôle de backpack interne pour ses propres utilisateurs — les badges restent alors consultables dans le profil Moodle (page « Mes badges », Préférences > Badges), ce qui est le comportement de base même sans backpack externe : chaque utilisateur a de toute façon sa collection de badges dans Moodle, avec réglages de visibilité publique par badge.
  • Utilisateur : Préférences > Badges > Réglages du sac à badges : connexion OAuth au backpack externe, puis depuis « Mes badges », bouton « Ajouter au sac à badges » pour pousser un badge. Les collections publiques du backpack peuvent en retour s’afficher sur le profil Moodle.

2.7 Badges et motivation : bonnes pratiques

Les badges relèvent de la gamification ; leur efficacité dépend entièrement du design pédagogique :

  • Rareté et sens : un badge pour chaque clic dévalorise tout le système. Décernez des badges pour des jalons signifiants (fin de module, projet remarquable, entraide).
  • Critères transparents : la description doit dire comment l’obtenir (le standard expose les critères, autant les rédiger clairement).
  • Chaînes de badges : les méta-badges créent des parcours visibles (« Débutant → Confirmé → Expert ») — puissant pour la formation continue.
  • Badges ≠ notes : un badge est binaire et public ; une note est graduée et privée. N’utilisez pas un badge pour véhiculer une performance chiffrée.
  • Évitez les badges purement automatiques pour tout : garder quelques badges à attribution manuelle (reconnaissance par un humain) augmente leur valeur perçue.

📚 Aller plus loin : la page docs.moodle.org/fr/Badges  et le site de 1EdTech sur Open Badges 3.0 pour suivre l’évolution du standard vers les Verifiable Credentials. Si votre institution veut des certificats PDF « classiques » en plus des badges, regardez le plugin mod_customcert — hors cœur, mais très répandu.


3. Les compétences (competencies)

3.1 Le concept et l’activation

Là où le gradebook mesure des performances chiffrées et les badges des jalons, le système de compétences suit la maîtrise durable de savoir-faire définis dans un référentiel, transversalement aux cours. Exemple type en formation continue : « Sait déployer une application web sécurisée » est une compétence qu’on peut travailler dans trois cours différents, prouver par des activités variées, et évaluer sur une échelle « Non acquis / En cours / Acquis ».

La fonctionnalité (sous-système core_competency) est activée par défaut ; le réglage se trouve dans Administration du site > Compétences > Réglages des compétences (« Activer les compétences »), avec une option associée « Autoriser les preuves d’apprentissages antérieurs » (prior learning evidence). Les menus d’administration associés : Référentiels de compétences, Modèles de plan de formation, Migration des référentiels, Import de référentiel (l’outil tool_lpimportcsv, inclus dans le cœur de Moodle depuis la 3.2 — pas besoin de plugin additionnel pour le CSV ; un plugin séparé existe pour l’import RDF).

3.2 Les référentiels (competency frameworks)

Un competency framework (référentiel de compétences) est un arbre de compétences. Création : Administration du site > Compétences > Référentiels de compétences > Ajouter un référentiel :

  • Nom, description, ID number (encore lui — clé d’échange avec l’extérieur) ;
  • Échelle de compétence : une échelle Moodle (cf. § 1.5) réutilisée ici avec une sémantique spéciale. Le bouton « Configurer les échelles » impose de définir : la valeur par défaut (attribuée lors d’une notation sans choix explicite) et la ou les valeurs marquant la maîtrise (proficient). Exemple d’échelle dédiée : Non acquis, En cours d'acquisition, Acquis avec « Acquis » coché proficient. Chaque compétence du référentiel peut surcharger l’échelle du référentiel.
  • Taxonomie : pour chacun des 4 niveaux de profondeur de l’arbre, vous choisissez le vocable affiché : compétence, savoir-faire (skill), comportement, concept, domaine, indicateur, niveau, résultat (outcome), pratique, maîtrise, valeur… Par exemple : niveau 1 = « Domaine », niveau 2 = « Compétence », niveau 3 = « Indicateur ». Pur affichage, mais précieux pour parler la langue du référentiel métier (RNCP, référentiels de branche…).
  • Visibilité : un référentiel peut être caché pendant sa construction.

Ensuite, dans la page du référentiel, on ajoute les compétences une à une (nom, description, ID number), en les organisant en arbre parent/enfant par glisser ou via le bouton « Modifier » > déplacer. On peut aussi créer des compétences liées (related/cross-referenced) entre branches.

Règles de compétence (competency rules) : chaque compétence parente peut porter une règle d’agrégation sur ses enfants, configurée dans le panneau de la compétence :

  • « Terminée lorsque tous ses enfants sont terminés » : la maîtrise des enfants entraîne celle du parent ;
  • « Points » : chaque enfant rapporte des points, le parent est validé à partir d’un seuil (permet « 3 indicateurs sur 5 suffisent »).

Import/export CSV : Administration du site > Compétences > « Importer un référentiel » / bouton d’export dans la liste. Le format CSV (tool_lpimportcsv, natif depuis 3.2) transporte tout l’arbre : colonnes Parent ID number, ID number, Shortname, Description, Scale values, Scale configuration, Rule type/outcome/config, Cross-referenced competency ID numbers… Avec un écran de mapping de colonnes à l’import. C’est LE moyen de versionner vos référentiels hors de Moodle (un CSV dans un repo Git, par exemple) et de les répliquer entre sites.

💡 Pour un dev React : un référentiel est un schéma normalisé — pensez « table de référence » — dont les compétences sont référencées partout ailleurs par ID. Les règles parent/enfant sont encore un reduce sur un arbre (décidément), mais avec une sortie booléenne/enum (maîtrisé ou non) au lieu d’un nombre. Et le CSV d’import/export est votre migration de schéma : traitez-le comme du code (revue, versionnage), pas comme un fichier Excel jetable.

⚠️ Piège : l’échelle d’un référentiel et sa configuration proficient/default ne doivent plus bouger dès que des évaluations existent : changer la sémantique de l’échelle après coup réinterprète silencieusement toutes les évaluations passées. Comme pour les barèmes du gradebook : concevez d’abord, déployez ensuite.

3.3 Lier des compétences aux cours et aux activités

Une fois le référentiel publié :

  1. Au cours : dans le cours, menu Plus > Compétences. Le bouton « Ajouter des compétences au cours » ouvre un sélecteur (par référentiel, avec recherche). Les compétences listées ici deviennent évaluables dans ce cours. Un réglage de page important : « Évaluation du cours en compétences » (course competency settings), notamment la case contrôlant si les évaluations faites dans ce cours mettent à jour ou non la note de compétence globale de l’utilisateur (on peut vouloir des évaluations « locales au cours » qui n’écrasent pas le statut transversal).
  2. À l’activité : dans les réglages de chaque activité, section « Compétences » : on choisit une ou plusieurs compétences du cours et surtout le comportement « Lors de l’achèvement de l’activité » :
    • Ne rien faire ;
    • Joindre une preuve (attach evidence) : l’achèvement crée une trace dans le dossier de compétence de l’étudiant, sans jugement ;
    • Envoyer pour évaluation (send for review) : la compétence passe en file d’attente de revue pour l’enseignant ;
    • Terminer la compétence (complete the competency) : l’achèvement de l’activité valide automatiquement la compétence (lui attribue la valeur proficient par défaut de l’échelle).

C’est ici que la complétion d’activité (chapitre création de cours) devient la brique motrice : sans conditions d’achèvement bien définies sur l’activité, rien ne se déclenche.

⚠️ Piège : « Terminer la compétence » sur une simple activité Page (achevée « au clic ») revient à valider une compétence professionnelle parce que l’étudiant a ouvert une page. Réservez ce mode aux activités dont l’achèvement est exigeant (test avec note de passage, devoir approuvé) ; préférez « Envoyer pour évaluation » partout où un jugement humain est attendu.

3.4 Preuves, évaluation, demandes de revue

Chaque utilisateur possède, pour chaque compétence, un dossier consultable (profil > Compétences, ou depuis le plan de formation) contenant :

  • la note de compétence (rating) courante sur l’échelle, et le drapeau maîtrisé / non maîtrisé ;
  • la liste horodatée des evidence (preuves) : achèvements d’activités liés, évaluations manuelles, notes de cours, preuves d’apprentissages antérieurs (fichiers/URL déposés par l’étudiant dans la section « Preuve d’apprentissages antérieurs » de son plan, si activée).

Évaluer (rate) une compétence : l’enseignant, depuis la page Compétences du cours, choisit une compétence puis un étudiant (ou depuis le rapport « Répartition des compétences » / competency breakdown, qui croise étudiants × compétences du cours), et clique « Évaluer » : choix d’une valeur d’échelle + note facultative. L’évaluation crée une preuve et fixe le rating (au niveau cours et, selon le réglage vu plus haut, au niveau global).

Workflow de revue (review) : l’étudiant peut, depuis son dossier, « Demander une revue » d’une compétence (idem pour les preuves d’apprentissages antérieurs) ; la compétence passe en statut En attente de revue, l’évaluateur la prend (En cours de revue), puis l’évalue. Les activités en mode « Envoyer pour évaluation » alimentent la même file. Les enseignants voient ces demandes dans le bloc/page dédiée et reçoivent des notifications.

3.5 Les plans de formation (learning plans)

Le learning plan (plan de formation) est la vue « portefeuille » côté apprenant : un ensemble de compétences à atteindre, avec statut global. Deux modes de création :

  • Manuel : un manager crée un plan individuel pour un utilisateur (profil > Plans de formation > Ajouter).
  • Par modèle (learning plan template) — le mode réaliste à l’échelle : Administration du site > Compétences > Modèles de plan de formation. Un modèle est une liste de compétences (piochées dans un ou plusieurs référentiels) + une date d’échéance indicative. On assigne ensuite le modèle à des utilisateurs individuels ou à des cohortes entières (la synchronisation de cohorte crée automatiquement un plan pour chaque membre, y compris les futurs arrivants).

Cycle de vie d’un plan :

Brouillon (draft) ──► Actif (active) ──► Terminé (complete) ▲ │ ▲ └── renvoyer en │ └── rouvrir brouillon ▼ En attente de revue / En cours de revue (workflow de validation du plan lui-même)
  • Brouillon : visible du seul créateur (et du manager) ; l’étudiant peut être invité à le co-construire puis à le soumettre à revue.
  • Actif : l’étudiant voit ses compétences, leur progression, les preuves.
  • Terminé : le plan est gelé — il archive un instantané des ratings au moment de la clôture (les évaluations ultérieures ne le modifient plus). Idéal pour matérialiser un bilan de fin de parcours. Un plan terminé peut être rouvert si besoin.

Qui fait quoi ? Le modèle de rôles typique :

ActeurRôle Moodle typiqueActions
Étudiant / salariéÉtudiant (authenticated user pour le profil)Consulte ses plans, dépose des preuves antérieures, demande des revues
Enseignant / formateurEnseignant (dans le cours)Lie les compétences au cours/activités, évalue (rate) dans le contexte du cours
Manager de plansManager (contexte système ou catégorie), capacités moodle/competency:planmanage, competencymanageCrée les référentiels, les modèles, assigne aux cohortes, revoit et clôt les plans

Aucun rôle « Learning plan manager » n’existe par défaut : c’est un rôle personnalisé classique à créer (cf. chapitre rôles) en cochant les capacités moodle/competency:* pertinentes, souvent assigné au contexte d’une catégorie de cours pour déléguer par filière.

Cas d’usage fil rouge — formation continue : une entreprise déploie le référentiel « Développeur web full-stack » (import CSV depuis le référentiel de branche), échelle Non acquis / En cours / Acquis / Expert (Acquis et Expert = proficient). Un modèle de plan « Parcours reconversion dev » regroupe 18 compétences ; il est synchronisé avec la cohorte « Promo 2026 ». Chaque cours du parcours lie ses compétences ; les tests certificatifs sont en « Terminer la compétence », les projets en « Envoyer pour évaluation ». En fin de parcours, le manager passe les plans en « Terminé » : chaque salarié repart avec un bilan de compétences archivé — et un méta-badge « Full-stack certifié » dont le critère est… la validation des compétences clés (§ 2.4).

💡 Pour un dev React : le cycle de vie d’un plan est une machine à états finis (draft → active → complete, avec les états de revue en branche latérale) — modélisable telle quelle dans XState. Le gel du plan « Terminé » est un snapshot immuable, exactement comme figer un state dans un store au moment d’un événement : les mises à jour ultérieures du « live state » (les ratings) ne réhydratent pas le snapshot.

📚 Aller plus loin : docs.moodle.org/fr/Compétences  pour le fonctionnel, et le plugin d’import RDF (tool_lpimportrdf) si vos référentiels sources existent en RDF. Notez enfin que le sous-système compétences n’a que peu évolué depuis Moodle 3.1 : la communauté propose des plugins complémentaires (rapports de compétences avancés, matrices) sur moodle.org/plugins.


4. Notes, badges, compétences, complétion : quoi mesurer avec quoi ?

Ces quatre systèmes se recouvrent partiellement, et le choix du mauvais outil coûte cher en re-paramétrage. Le tableau de synthèse :

Gradebook (notes)ComplétionBadgesCompétences
MesurePerformance graduée (score)Fait / pas faitJalon atteint (binaire, symbolique)Maîtrise durable d’un savoir-faire
GranularitéActivité → catégorie → coursActivité, coursCombinaison libre de critèresCompétence d’un référentiel, transverse aux cours
PortéeLe cours (Overview report pour la vue transverse)Activité/coursCours et site ; portable hors Moodle (Open Badges)Site entier (plans de formation)
Audience du résultatÉtudiant + enseignant (privé)Étudiant + enseignantPublic (au choix du détenteur, via backpack)Étudiant + managers/formateurs
Type de donnéeNombre, échelle, lettreBooléen (+ états)Assertion signéeValeur d’échelle + drapeau proficient + preuves
Automatisable parActivités notables, formulesConditions d’achèvementCritères (complétion, notes, cohortes, compétences, autres badges)Achèvement d’activités, règles parent/enfant
Bon pour…Examens, moyennes, jurys, relevésPrérequis, accès conditionnel, jalonnementMotivation, communication externe, parcoursFormation continue, référentiels métier, bilans
Mauvais pour…Dire « sait faire » (une moyenne ne prouve rien)Mesurer la qualitéPorter un scoreRemplacer un relevé de notes officiel

La complétion est la brique commune : elle déclenche les badges (critère « achèvement d’activité/cours »), alimente les compétences (« lors de l’achèvement de l’activité… »), conditionne l’accès aux contenus (restrictions d’accès), et l’achèvement de cours peut lui-même dépendre d’une note (condition « note de cours ≥ X »). Le graphe des dépendances ressemble à ceci :

Notes (gradebook) │ (condition « note requise ») Complétion d'activité ──► Complétion de cours │ │ ├──► Compétences (evidence/validation) │ │ ▼ ▼ (critère « compétence ») Badges ◄───┘ ▼ (critère « autres badges ») Méta-badges

Si la configuration de la complétion vous semble floue, retournez au chapitre consacré à la création de cours : conditions d’achèvement d’activité, achèvement de cours et restrictions d’accès y sont détaillés — tout ce chapitre-ci s’appuie dessus.

⚠️ Piège : ces systèmes ne se « corrigent » pas mutuellement rétroactivement de façon uniforme. Marquer un cours achevé ne recalcule pas les notes ; réinitialiser la complétion d’une activité ne révoque pas un badge déjà décerné ni ne retire une compétence validée. Avant tout reset de cours (réutilisation d’un cours au semestre suivant), auditez ce qui a été décerné/validé et ce que le reset va réellement effacer.

💡 Pour un dev React : vous reconnaissez un pipeline de dérivation d’état à sens unique — mais sans garantie de cohérence transactionnelle entre les étages : chaque système persiste son propre état dérivé au moment du déclenchement (comme des projections d’event sourcing indépendantes, sans replay). D’où la règle d’or : décidez du design (barèmes, critères, référentiels) avant la mise en production, car « rejouer » l’historique n’est pas prévu.

📚 Aller plus loin : pour outiller la décision, le guide « Badges vs certificates vs competencies » de la communauté Moodle et les pages moodledev.io des sous-systèmes (Grades , Badges , Competency ) montrent aussi les frontières techniques entre ces briques — utile quand viendra le moment de développer dessus.


Résumé

  • Le gradebook est un arbre : des grade items (créés par les activités ou manuellement), regroupés en catégories, le cours étant la catégorie racine ; chaque catégorie agrège ses enfants en un total.
  • Vues clés : Grader report (tableau croisé, recherche et collapse de colonnes depuis 4.2, édition en ligne = surcharge !), Single view (saisie en série, gestion Override/Exclude), Grade summary (moyennes par élément), User report (vue étudiant — testez avec « voir en tant que »), Gradebook setup (structure).
  • Agrégations : la Naturelle (somme pondérable par le barème, avec surcharge de poids possible) est le standard moderne ; moyennes simple/pondérée/pondérée simple, médiane, min/max, mode complètent la panoplie, avec les options extra credit, notes vides ignorées, drop lowest. Une note vide n’est pas un zéro.
  • Les échelles sont des enums qualitatifs à tenir à l’écart des moyennes chiffrées ; les lettres mappent des plages de pourcentages, par site ou par cours ; l’affichage (réel/pourcentage/lettre, décimales) se règle à tous les niveaux.
  • Les formules (=average([[quiz1]],[[devoir1]]), if(), round()…) remplacent l’agrégation d’un total ; elles exigent des ID numbers stables et traitent les vides comme 0.
  • Import/export : Excel/ODS/CSV/XML, mapping par email/username/ID number, publication d’URL privée pour l’automatisation — et toute note importée sur une activité devient surchargée.
  • Hide/lock/override/exclude contrôlent visibilité et stabilité ; attention à l’interaction masquage/totaux et au gel post-jury par verrouillage ; l’historique des notes est votre piste d’audit.
  • Les badges implémentent Open Badges 2.0/2.1 : site ou cours, critères combinables (manuel, complétion, profil, cohorte, compétences, méta-badges), message, expiration, révocation, export vers un backpack (Badgr/Canvas Badges ou tout backpack OBv2.1). Critères verrouillés dès la première attribution.
  • Les compétences : référentiels arborescents avec échelles à sémantique proficient, taxonomie configurable, import/export CSV natif (tool_lpimportcsv) ; liaison aux cours et activités (preuve / revue / validation automatique), évaluation avec preuves, plans de formation par modèles et cohortes avec cycle brouillon → actif → terminé (snapshot).
  • Choisir le bon outil : note = performance graduée, complétion = fait/pas fait, badge = jalon public portable, compétence = maîtrise transverse. La complétion est la brique qui relie tout.

Dans le prochain chapitre

Vous savez désormais produire des données d’évaluation riches — notes, achèvements, badges, compétences. Encore faut-il les observer et les restituer : le chapitre 7 explorera les rapports de Moodle (logs, activité du cours, participation, achèvement) et surtout le Report Builder (constructeur de rapports), l’outil moderne qui permet à un administrateur de construire des rapports personnalisés — sources de données, colonnes, filtres, audiences et planification d’envoi — sans écrire une ligne de SQL. Pour le développeur React que vous êtes, ce sera l’occasion de retrouver un vieil ami : le query builder déclaratif.