Chapitre 2.3 — Les trois livres : CAM, RTE, SN
⏱️ TL;DR — SCORM n’est pas un bloc monolithique : c’est un ensemble de trois « livres » (books), chacun répondant à une question différente. CAM (Content Aggregation Model) répond à « comment empaqueter et décrire le contenu ? » — c’est le
.zipPIF et l’imsmanifest.xml. RTE (Run-Time Environment) répond à « comment le contenu parle-t-il au LMS pendant l’exécution ? » — c’est l’API JavaScript et le modèle de données CMI. SN (Sequencing & Navigation) répond à « dans quel ordre et sous quelles règles enchaîner les activités ? » — et n’existe qu’en SCORM 2004. Comprendre SCORM, c’est savoir quel livre traite quoi — le reste du cours détaille chacun.
🎯 Objectifs
- Nommer les trois livres de SCORM et la question à laquelle chacun répond.
- Distinguer clairement le rôle de CAM (empaqueter), RTE (dialoguer), SN (séquencer).
- Savoir que SN n’existe qu’en SCORM 2004, et pourquoi.
- Situer où chaque livre est traité en profondeur dans le cours (Parties 3, 4, 5).
- Lire un diagramme qui relie les trois livres au cycle de vie d’un module.
Pourquoi trois livres
Empaqueter un contenu, le faire dialoguer avec le LMS, et orchestrer l’ordre des activités sont trois problèmes distincts. SCORM les traite dans trois spécifications séparées — historiquement publiées comme des « livres ». Cette séparation est une bonne nouvelle pour toi : elle te dit où chercher selon ta question, et elle explique pourquoi une version (1.2) peut exister sans l’un des livres (SN).
| Livre | Nom complet | Question traitée | Présent en |
|---|---|---|---|
| CAM | Content Aggregation Model | Comment empaqueter et décrire le contenu ? | 1.2 et 2004 |
| RTE | Run-Time Environment | Comment le contenu dialogue avec le LMS ? | 1.2 et 2004 |
| SN | Sequencing & Navigation | Dans quel ordre et sous quelles règles ? | 2004 uniquement |
💡 Réflexe — Face à un problème SCORM, demande-toi d’abord de quel livre il relève. « Mon
.zipne s’importe pas » → CAM. « Mon score ne remonte pas » → RTE. « Le module 2 ne se débloque pas dans le bon ordre » → SN. Le bon livre pointe le bon chapitre.
CAM — le paquet et sa carte d’identité
Le CAM (Content Aggregation Model) définit le contenant. Il répond à : comment livre-t-on un contenu SCORM, et comment un LMS sait-il ce qu’il contient ?
Sa réponse : un PIF (Package Interchange File) — un .zip — qui contient à sa racine un imsmanifest.xml. Ce manifeste décrit deux choses :
organizations: l’arbre de ce que l’apprenant voit et lance — une hiérarchie d’item, dont les feuilles pointent vers les unités lançables (les SCO).resources: la liste des fichiers réels du paquet, chaqueresourceportant un attributadlcp:scormTypevalantsco(unité qui dialogue) ouasset(fichier passif).
<resources>
<resource identifier="RES-1" adlcp:scormtype="sco"
href="module1/index.html">
<file href="module1/index.html" />
</resource>
<resource identifier="RES-2" adlcp:scormtype="asset"
href="ressources/annexe.pdf">
<file href="ressources/annexe.pdf" />
</resource>
</resources>Le CAM, c’est donc le « avant » de l’exécution : on empaquette, on décrit, on importe. On le construit et on le lit en détail dans la Partie 3 — SCORM : le paquet.
📚 La spec — CAM couvre le format du PIF, la structure de l’
imsmanifest.xml(organizations,resources, métadonnées) et le typageadlcp:scormType. C’est le livre qui rend un paquet échangeable entre plateformes.
RTE — le dialogue à l’exécution
Le RTE (Run-Time Environment) définit le contrat de conversation entre le contenu lancé et le LMS. Il répond à : une fois le module ouvert dans le navigateur, comment envoie-t-il et lit-il des données de suivi ?
Il normalise deux choses :
- L’API JavaScript. Un objet exposé par le LMS que le SCO retrouve dans la fenêtre parente. En SCORM 1.2, l’objet s’appelle
API(méthodesLMSInitialize,LMSGetValue,LMSSetValue,LMSCommit,LMSFinish…). En SCORM 2004, il s’appelleAPI_1484_11(méthodesInitialize,GetValue,SetValue,Commit,Terminate…). - Le modèle de données CMI. Un ensemble de champs normalisés que le SCO lit et écrit :
cmi.core.lesson_status,cmi.core.score.raw,cmi.core.student_name,cmi.suspend_data… (1.2) oucmi.completion_status,cmi.success_status,cmi.score.scaled… (2004).
// RTE : la même logique dans les deux versions, des noms différents.
// SCORM 1.2
api.LMSInitialize("");
api.LMSSetValue("cmi.core.score.raw", "82");
api.LMSCommit("");
api.LMSFinish("");Le RTE, c’est le « pendant » de l’exécution : l’apprenant utilise, le module remonte. On l’étudie — découverte de l’API, modèle CMI complet, gestion des erreurs — dans la Partie 4 — SCORM : le runtime.
⚠️ Piège — Confondre CAM et RTE. Un manifeste parfait (CAM impeccable) n’empêche pas un module de ne rien remonter si le SCO ne respecte pas le contrat RTE (il ne trouve pas l’API, oublie
Initialize, ou écrit des valeurs invalides). Les deux livres doivent être corrects ensemble : l’un fait entrer le paquet, l’autre le fait parler.
SN — le séquencement, en SCORM 2004 seulement
Le SN (Sequencing & Navigation) définit l’orchestration des activités. Il répond à : dans quel ordre l’apprenant parcourt-il les activités, et sous quelles conditions débloque-t-on la suite ?
Il introduit un arbre d’activités, des objectives, des règles de séquencement (sequencing rules) et le rollup (la remontée d’état des enfants vers le parent — par exemple : « le module est complété si ses trois sous-activités le sont »). C’est puissant mais réputé complexe et souvent sous-utilisé : beaucoup de contenus se contentent de laisser le LMS gérer l’ordre.
Point crucial : SN n’existe qu’en SCORM 2004. C’est même le grand ajout de 2004 par rapport à 1.2. Un paquet 1.2 n’a aucune notion de séquencement interne : l’ordre y est géré côté LMS, pas dans le paquet. On étudie SN dans la Partie 5 — SCORM 2004 : séquencement.
📚 La spec — SN (SCORM 2004) décrit l’activity tree, les
objectives, les sequencing rules et le rollup. Absent de SCORM 1.2. C’est le livre le plus méconnu — et la principale raison pour laquelle certaines équipes trouvent 2004 « compliqué ».
Comment les trois livres s’articulent
Lecture du schéma : CAM produit le paquet importable ; à l’import, SN (en 2004) décide de l’ordre des activités ; au lancement d’un SCO, RTE porte le dialogue qui remonte statut et score. Trois livres, trois moments, un même contenu.
💡 Réflexe — Retiens l’ordre temporel : CAM avant (on empaquette, on importe), SN à l’orchestration (2004 : dans quel ordre lancer), RTE pendant (le SCO parle). Cette chronologie est aussi celle des Parties 3, 5 et 4 du cours.
🧭 Sur FormaCampus — Comme FormaCampus publie en SCORM 1.2, elle ne travaille que deux livres : CAM (elle empaquette proprement ses
.zipavec unimsmanifest.xmlvalide) et RTE (chaque module remonte statut et score via l’APIAPI). Le troisième livre, SN, lui est fermé : il n’existe pas en 1.2. Conséquence assumée : l’ordre des modules d’un parcours est géré dans le Moodle du client (par la structure du cours, les conditions d’achèvement Moodle), pas dans le paquet SCORM. Un module = un SCO autonome ; l’enchaînement, c’est l’affaire du LMS.
✏️ Exercices
Exercice 1 — Quel livre ? Range chaque symptôme sous le bon livre (CAM, RTE ou SN) : (a) « Moodle refuse d’importer mon .zip, il ne trouve pas de manifeste » ; (b) « le module s’ouvre mais aucun score n’apparaît dans le carnet » ; (c) « en 2004, l’activité 3 se débloque alors que l’activité 2 n’est pas réussie ».
✅ Solution
- (a) → CAM. C’est un problème d’empaquetage :
imsmanifest.xmlabsent, mal placé ou invalide. - (b) → RTE. Le dialogue à l’exécution échoue : le SCO ne trouve pas l’API, oublie
Initialize, ou écrit des valeurs CMI invalides — rien ne remonte. - (c) → SN. C’est une question de séquencement (arbre d’activités, règles, rollup), qui n’existe qu’en SCORM 2004.
Exercice 2 — Manifeste parfait, résultats absents. Un prestataire jure que son manifeste est validé et que le paquet s’importe sans erreur dans tous les LMS. Pourtant, aucun statut ne remonte. Le manifeste peut-il être en cause ? Où regardes-tu ?
✅ Solution
Un manifeste parfait relève du CAM et garantit seulement que le paquet entre et se lance. Il ne dit rien sur ce qui se passe pendant l’exécution. Le problème « aucun statut ne remonte » relève du RTE : il faut regarder le code du SCO — trouve-t-il l’API ? appelle-t-il LMSInitialize / Initialize ? écrit-il des valeurs valides dans le bon champ de statut ? appelle-t-il Commit ? Le CAM et le RTE sont deux livres indépendants ; l’un peut être irréprochable pendant que l’autre est cassé.
Exercice 3 — Un paquet 1.2 et le séquencement. Un chef de projet veut, dans un paquet SCORM 1.2, définir des règles du type « l’activité B ne s’ouvre que si A est réussie », directement dans le paquet. Est-ce possible ? Sinon, quelle est l’alternative ?
✅ Solution
Non : le séquencement relève du livre SN, qui n’existe qu’en SCORM 2004. Un paquet 1.2 n’a aucune notion de règles de séquencement internes. Deux alternatives : (1) passer en SCORM 2004 pour utiliser SN (au prix de sa complexité) ; ou (2) rester en 1.2 et gérer l’ordre côté LMS — via la structure du cours et les conditions d’achèvement du LMS (par exemple les restrictions d’accès de Moodle). C’est le choix le plus courant, et celui de FormaCampus.
🧠 Quiz de révision
1. Quels sont les trois livres de SCORM et à quoi sert chacun ?
CAM (Content Aggregation Model) : empaqueter et décrire le contenu (.zip PIF, imsmanifest.xml). RTE (Run-Time Environment) : le dialogue à l’exécution (API JavaScript + modèle de données CMI). SN (Sequencing & Navigation) : l’ordre et les règles d’enchaînement des activités.
2. Lequel des trois livres n’existe qu’en SCORM 2004 ?
SN (Sequencing & Navigation). C’est le grand ajout de 2004 : arbre d’activités, objectives, règles de séquencement, rollup. SCORM 1.2 n’a aucune notion de séquencement interne.
3. À quel livre appartient l’imsmanifest.xml ?
Au CAM. Le manifeste, placé à la racine du .zip PIF, décrit organizations (l’arbre des item / SCO) et resources (les fichiers, typés sco ou asset). C’est la carte d’identité du paquet.
4. À quel livre appartient le modèle de données cmi.* et l’API JavaScript ?
Au RTE. Le RTE normalise l’API JS (API en 1.2, API_1484_11 en 2004) et le modèle CMI (les champs cmi.* lus et écrits pendant l’exécution). C’est le livre du dialogue contenu ↔ LMS.
5. Dans quel ordre temporel interviennent les trois livres ?
CAM avant (empaqueter, importer), SN à l’orchestration (en 2004 : décider de l’ordre des activités), RTE pendant (le SCO dialogue et remonte statut/score). Cet ordre correspond aux Parties 3, 5 et 4 du cours.
Chapitre suivant : Le cycle de vie d’un SCO — comment un module vit, du lancement par le LMS jusqu’à la persistance de son statut.