Chapitre 2.1 — Qu’est-ce que SCORM
⏱️ TL;DR — SCORM (Sharable Content Object Reference Model) est un modèle de référence publié par l’ADL qui répond à une question précise : comment rendre un contenu de formation à la fois portable (importable dans n’importe quel LMS) et traçable (capable de remonter statut et score) ? Sa réponse tient en deux mots : un paquet normalisé (le
.zipdécrit par unimsmanifest.xml— c’est le livre CAM) et un dialogue navigateur ↔ LMS normalisé (une API JavaScript et un modèle de données — c’est le livre RTE). « Conforme SCORM » ne veut pas dire « joli » : ça veut dire « respecte ce paquet et ce dialogue, donc s’importe et remonte partout ».
🎯 Objectifs
- Formuler avec des mots simples le problème que SCORM résout, et pourquoi c’est un problème de marché, pas seulement de technique.
- Savoir qui est l’ADL et d’où vient le standard, sans mythologie ni approximation de dates.
- Comprendre le principe fondateur : paquet (CAM) + dialogue (RTE).
- Savoir ce que « conforme SCORM » signifie concrètement — et ce que ça ne garantit pas.
- Décrire à quoi ça sert au quotidien : un
.zipqu’on glisse dans un LMS.
Le problème : portable et traçable
Deux besoins se cumulent en formation en ligne, et SCORM les traite ensemble :
- La portabilité. Le contenu que tu produis ne doit pas être prisonnier de l’outil qui l’a créé ni du serveur qui l’héberge. Une école doit pouvoir le déposer dans son LMS et l’y faire tourner sans te rappeler.
- La traçabilité. Le LMS doit savoir ce qui s’est passé : l’apprenant a-t-il terminé ? a-t-il réussi ? quel score ? où en était-il quand il a fermé l’onglet ?
Un simple site web répond au premier besoin (on l’héberge, on l’ouvre) mais pas au second : une page HTML ne dit rien au LMS. Un développement sur mesure répond au second mais pas au premier : il faut un connecteur par plateforme. SCORM est né pour tenir les deux à la fois, avec un seul format.
💡 Réflexe — Quand on te demande « c’est du SCORM ? », entends « est-ce que ça s’importe et ça remonte des résultats, partout, sans code spécifique ? ». C’est la vraie question derrière le sigle.
L’ADL, ou d’où vient SCORM
SCORM est publié par l’ADL (Advanced Distributed Learning Initiative), née d’une initiative du Département de la Défense américain. L’armée américaine formait des dizaines de milliers de personnes, achetait du contenu à des fournisseurs multiples, et refusait que chaque module soit verrouillé à une plateforme. Le cahier des charges était donc, dès le départ, celui d’un gros acheteur : « je veux acheter du contenu à n’importe qui et le faire tourner sur n’importe quel système, avec un suivi normalisé ».
SCORM n’a donc rien inventé de zéro : c’est un modèle de référence qui assemble des briques existantes (un format de manifeste hérité du monde IMS, un modèle de données de suivi hérité d’AICC) en un tout cohérent et testable. Le mot « Reference Model » est littéral : SCORM dit comment combiner des standards pour obtenir un contenu partageable.
📚 La spec — L’ADL (
adlnet.gov) publie SCORM ainsi que ses suites de tests de conformité (la SCORM Test Suite). C’est la même maison qui publiera plus tard xAPI et cmi5 : garde ce fil en tête, il explique la parenté entre ces standards.
Le principe fondateur : un paquet + un dialogue
Tout SCORM tient sur deux idées. Retiens-les, le reste du cours les détaille.
1. Un paquet normalisé (le livre CAM)
Le contenu est livré comme un .zip — appelé PIF (Package Interchange File) — qui contient, à sa racine, un fichier obligatoire : imsmanifest.xml. Ce manifeste est la carte d’identité du paquet : il déclare ce que le paquet contient et comment le lancer. Sans lui, ce n’est pas un SCORM, juste un dossier compressé.
<?xml version="1.0" encoding="UTF-8"?>
<manifest identifier="FORMACAMPUS_RGPD_ESSENTIEL" version="1.0">
<organizations default="ORG-1">
<organization identifier="ORG-1">
<title>RGPD : l'essentiel</title>
<item identifier="ITEM-1" identifierref="RES-1">
<title>Module 1 — Les principes</title>
</item>
</organization>
</organizations>
<resources>
<resource identifier="RES-1" type="webcontent"
adlcp:scormtype="sco" href="module1/index.html">
<file href="module1/index.html" />
</resource>
</resources>
</manifest>Ce squelette dit tout du modèle mental SCORM : une balise organizations qui contient un arbre d’item (ce que l’apprenant voit et lance) et une balise resources qui liste les fichiers réels. On construit ce paquet en détail dans la Partie 3 — SCORM : le paquet.
2. Un dialogue normalisé (le livre RTE)
Une fois le module lancé dans le navigateur par le LMS, il ne suffit pas d’afficher des pages : le module doit parler au LMS. SCORM normalise ce dialogue par une API JavaScript que le LMS expose et que le module retrouve dans la page parente, puis appelle.
// Le module ouvre la conversation, écrit un statut, puis la referme.
var api = window.parent.API; // SCORM 1.2 : on cherche l'objet "API"
api.LMSInitialize(""); // "bonjour, je démarre"
api.LMSSetValue("cmi.core.lesson_status", "completed"); // "j'ai terminé"
api.LMSSetValue("cmi.core.score.raw", "82"); // "score : 82"
api.LMSCommit(""); // "enregistre maintenant"
api.LMSFinish(""); // "au revoir, je pars"Ces quelques appels sont le cœur de SCORM : le module lit et écrit des valeurs dans un modèle de données (cmi.core.lesson_status, cmi.core.score.raw…) que le LMS comprend et persiste. On étudie ce runtime, la « découverte de l’API » et le modèle CMI complet dans la Partie 4 — SCORM : le runtime.
💡 Réflexe — Deux livres, deux moments. CAM = avant (on empaquette, on importe). RTE = pendant (l’apprenant utilise, ça remonte). Toute la Partie 2 s’organise autour de cette distinction.
Ce que « conforme SCORM » veut dire
C’est le point qui sépare le développeur amateur du professionnel de l’interop. « Conforme SCORM » n’a rien à voir avec la qualité pédagogique ni le design. Ça veut dire, très précisément :
- le paquet respecte la structure CAM (un
imsmanifest.xmlvalide à la racine du.zip, desresourcescorrectement typées) ; - le contenu lançable (le SCO) respecte le contrat RTE : il trouve l’API, l’initialise, écrit des valeurs valides dans le modèle CMI, commit, et termine proprement.
Un module « conforme » est donc un module prévisible : n’importe quel LMS conforme sait l’importer et l’exécuter, et récupérera les mêmes données. C’est ce qui se teste — avec la suite ADL ou un service comme SCORM Cloud — et non ce qui se « constate à l’œil ».
⚠️ Piège — « Ça marche dans mon navigateur » n’est pas « c’est du SCORM conforme ». Un module qui affiche ses écrans mais qui, par exemple, n’appelle jamais
LMSInitialize, ou écrit"réussi"(en français) au lieu de la valeur normaliséepasseddanscmi.core.lesson_status, s’importera peut-être… puis ne remontera rien. La conformité, c’est le respect du contrat, pas l’apparence.
🔌 Côté intégration — Une école cliente, un service formation d’entreprise ou une académie ne « regardent » pas ton contenu : ils l’importent dans leur LMS et vérifient que le carnet de suivi se remplit. Si le statut ne remonte pas, le module est jugé défectueux, quelle que soit sa beauté. La conformité SCORM est ce qui te fait passer la recette client — souvent testée, parfois exigée par contrat.
À quoi ça sert, concrètement
Au quotidien, SCORM se résume à un geste : un .zip qu’on glisse dans un LMS. L’auteur exporte son module en « paquet SCORM » depuis son outil (Storyline, Rise, iSpring, H5P…) ; le formateur ou l’admin l’importe comme une activité ; l’apprenant le suit ; le LMS récolte statut et score dans son carnet. Pas de connecteur, pas de développement par plateforme, pas de synchronisation à bricoler. C’est ce geste unique, reproductible partout, qui a fait de SCORM le format par défaut de l’industrie.
🧭 Sur FormaCampus — FormaCampus édite ses cours une fois et les vend à des écoles qui ont chacune leur LMS (souvent Moodle, parfois un ENT). Impensable de développer un connecteur par client. La règle interne est donc simple : tout cours vendu part en paquet SCORM. L’école reçoit un
.zip, l’importe dans son Moodle, et le suivi de ses élèves apparaît dans son carnet de notes. SCORM est, pour FormaCampus, la condition même de son modèle de distribution : « un cours, mille plateformes ».
✏️ Exercices
Exercice 1 — Portable, traçable, ou les deux ? Un collègue te propose trois options pour livrer un module à une école : (a) un lien vers un site web hébergé chez vous ; (b) un développement React intégré « sur mesure » dans le Moodle de l’école ; (c) un export SCORM. Classe-les selon qu’ils apportent la portabilité, la traçabilité, ou les deux.
✅ Solution
- (a) Lien web : portable au sens « ça s’ouvre partout », mais non traçable — le Moodle de l’école ne récupère ni statut ni score. L’élève « visite », personne ne sait s’il a réussi.
- (b) Dév sur mesure : traçable (on peut tout remonter) mais non portable — il faut refaire l’intégration pour chaque LMS client. Ingérable à l’échelle.
- (c) SCORM : les deux — un
.zipqui s’importe partout et remonte statut et score via le dialogue RTE. C’est exactement le problème que SCORM résout, et pourquoi c’est le bon choix pour un éditeur qui vend à plusieurs plateformes.
Exercice 2 — Le manifeste manquant. Un prestataire te livre un .zip : à l’intérieur, un dossier module/ avec des fichiers HTML, CSS, JS qui s’affichent très bien quand on ouvre index.html dans un navigateur. Mais Moodle refuse l’import en disant qu’il ne trouve pas de contenu SCORM valide. Quelle est la cause la plus probable, et que faut-il vérifier ?
✅ Solution
La cause la plus probable : pas d’imsmanifest.xml à la racine du .zip (ou un manifeste mal formé / mal placé dans un sous-dossier). Un paquet SCORM valide doit contenir ce manifeste à la racine — c’est la carte d’identité que le LMS lit en premier. « Ça s’affiche dans un navigateur » prouve seulement que le HTML est correct, pas que le paquet respecte le livre CAM. À vérifier : présence et validité de imsmanifest.xml à la racine, déclaration d’au moins une resource de type sco, et cohérence des chemins href. (Détails en Partie 3.)
Exercice 3 — Le mot « conforme ». Un commercial écrit dans une proposition : « Notre module est de très haute qualité, donc parfaitement conforme SCORM. » Qu’est-ce qui cloche dans cette phrase ?
✅ Solution
Elle confond qualité et conformité. « Conforme SCORM » est une propriété technique et vérifiable : le paquet respecte CAM, le SCO respecte le contrat RTE (trouve l’API, Initialize, valeurs CMI valides, Commit, Terminate). Un module magnifique mais qui n’appelle jamais l’API, ou qui écrit des valeurs de statut non normalisées, n’est pas conforme — il ne remontera rien. La qualité pédagogique et la conformité sont deux axes indépendants ; la conformité se teste (suite ADL, SCORM Cloud), elle ne se déduit pas de la beauté.
🧠 Quiz de révision
1. Que signifie l’acronyme SCORM, et qui le publie ?
Sharable Content Object Reference Model, publié par l’ADL (Advanced Distributed Learning Initiative), née d’une initiative du Département de la Défense américain. C’est un modèle de référence qui assemble des briques existantes pour rendre un contenu partageable et traçable.
2. Quels sont les deux besoins que SCORM traite ensemble ?
La portabilité (le contenu s’importe dans n’importe quel LMS) et la traçabilité (le LMS récupère statut et score). Un simple site web n’offre que la portabilité ; un développement sur mesure n’offre que la traçabilité. SCORM tient les deux avec un seul format.
3. Sur quel principe en deux temps repose SCORM ?
Un paquet normalisé (le livre CAM : un .zip PIF avec imsmanifest.xml à la racine) et un dialogue normalisé (le livre RTE : une API JavaScript et un modèle de données CMI). CAM agit avant (empaqueter/importer), RTE pendant (l’apprenant utilise, ça remonte).
4. « Conforme SCORM » garantit-il la qualité pédagogique du module ?
Non. « Conforme SCORM » est une propriété technique : le paquet respecte CAM et le SCO respecte le contrat RTE (trouve l’API, l’initialise, écrit des valeurs CMI valides, commit, termine). La qualité pédagogique est un axe indépendant. La conformité se teste (suite ADL, SCORM Cloud), elle ne se constate pas à l’œil.
5. Au quotidien, à quel geste concret se résume l’usage de SCORM ?
Glisser un .zip dans un LMS. L’auteur exporte son module en paquet SCORM, l’admin ou le formateur l’importe comme activité, l’apprenant le suit, et le LMS récolte automatiquement statut et score — sans connecteur ni développement spécifique à la plateforme.
Chapitre suivant : SCORM 1.2 vs SCORM 2004 — deux versions vivantes, ce que chacune apporte, et laquelle choisir aujourd’hui.