SCORM vs xAPI en 2026 : quel standard implémenter (guide développeur)

17/02/2026 · Mis à jour le 14/10/2026
Si vous développez une plateforme de formation, vous allez devoir choisir un standard de tracking des activités d'apprentissage. SCORM et xAPI sont les deux options dominantes, et ce choix a un impact direct sur l'architecture de votre système, les données que vous pouvez collecter, et les cas d'usage que vous pouvez couvrir.
Depuis le 23 septembre 2026, ce choix n'est plus libre pour qui vend aux collèges et lycées publics : le cadre de référence du numérique pour l'éducation classe SCORM « en fin de vie ».
Ce guide s'adresse aux développeurs et aux CTO qui construisent des plateformes EdTech : modèles de données, API, architecture, code.
SCORM : le standard historique
SCORM (Sharable Content Object Reference Model) a été créé par l'ADL (Advanced Distributed Learning) au début des années 2000. Il définit comment un contenu e-learning communique avec un LMS.
Comment ça fonctionne
Un package SCORM est une archive ZIP contenant du HTML, du JavaScript et un fichier manifeste XML (imsmanifest.xml). Le LMS charge ce contenu dans un iframe ou une fenêtre enfant. La communication entre le contenu et le LMS passe par une API JavaScript accessible dans le DOM du parent.
Le contenu cherche un objet API (SCORM 1.2) ou API_1484_11 (SCORM 2004) dans la hiérarchie des fenêtres parentes. Une fois trouvé, il utilise des méthodes Get/Set pour lire et écrire des données.
Le modèle de données CMI
SCORM utilise le modèle CMI (Computer Managed Instruction) pour stocker les données de l'apprenant. Les valeurs sont lues et écrites sous forme de chaînes de caractères via des chemins hiérarchiques :
cmi.core.lesson_status: statut du cours (passed, completed, failed, incomplete, browsed, not attempted)cmi.core.score.raw: score brutcmi.core.score.max: score maximumcmi.core.total_time: temps total passécmi.suspend_data: données de reprise (max 4 096 caractères en SCORM 1.2, 4 000 en SCORM 2004 2e édition, 64 000 à partir de la 3e édition)cmi.interactions.n.id: identifiant de la question n (n est un index numérique, par exemplecmi.interactions.0.id)
SCORM 1.2 vs SCORM 2004
| Aspect | SCORM 1.2 | SCORM 2004 |
|---|---|---|
| Statut | Un seul champ lesson_status |
Deux champs séparés : completion_status et success_status |
| Suspend data | 4 096 caractères max | 64 000 caractères max (3e et 4e éditions), 4 000 en 2e édition |
| Séquencement | Aucun | Règles de navigation entre SCO |
Interactions (cmi.interactions) |
Écriture seule | Lecture et écriture |
| Messages d'erreur | Génériques | Descriptifs |
| Support LMS | Universel | Très large (séquencement variable selon les LMS) |
SCORM 1.2 reste le plus déployé dans la pratique. Sa simplicité le rend compatible avec tous les LMS du marché. SCORM 2004 ajoute le séquencement entre les objets de contenu, mais cette fonctionnalité est implémentée de manière inégale selon les LMS.
Les limites techniques de SCORM
Dépendance au navigateur. Toute la communication passe par une API JavaScript dans le DOM. Pas de LMS ouvert dans le navigateur, pas de tracking. Le mobile natif, les simulations hors navigateur, le terrain : rien de tout ça n'est couvert.
Synchrone et bloquant. Les appels LMSSetValue() et LMSCommit() sont synchrones. Sur des connexions lentes, ils bloquent l'interface utilisateur.
Données limitées. SCORM trace la complétion, le score, le temps et, via cmi.interactions, les réponses aux questions (type, réponse, résultat, temps de réponse). Il ne sait pas capturer le contexte (équipe, localisation, événement déclencheur), ni le parcours de navigation dans le contenu.
Silo de données. Les données restent dans le LMS. Pas de moyen natif de les croiser avec des données métier externes (CRM, SIRH, performance commerciale).
xAPI : le standard moderne
xAPI (Experience API, anciennement Tin Can API) a été publié en 2013 par l'ADL comme successeur de SCORM. Son approche est fondamentalement différente : au lieu d'une API JavaScript dans le navigateur, xAPI utilise des requêtes HTTP REST vers un serveur dédié appelé LRS (Learning Record Store).
Le modèle Actor-Verb-Object
xAPI modélise chaque activité d'apprentissage sous forme d'un statement JSON avec trois composants obligatoires :
- Actor : qui a fait l'action (identifié par email, compte, ou OpenID)
- Verb : quelle action (identifié par un IRI, ex:
http://adlnet.gov/expapi/verbs/completed) - Object : sur quoi l'action porte (identifié par un IRI)
Et des composants optionnels :
- Result : score, durée, succès, réponse
- Context : équipe, programme, langue, extensions
- Timestamp : quand l'action a eu lieu
Exemple de statement xAPI
{
"actor": {
"objectType": "Agent",
"name": "Marie Dupont",
"mbox": "mailto:marie.dupont@entreprise.fr"
},
"verb": {
"id": "http://adlnet.gov/expapi/verbs/completed",
"display": { "fr-FR": "a terminé" }
},
"object": {
"objectType": "Activity",
"id": "https://formation.entreprise.fr/modules/vente-pharma",
"definition": {
"name": { "fr-FR": "Argumentaire vente secteur pharma" },
"type": "http://adlnet.gov/expapi/activities/module"
}
},
"result": {
"completion": true,
"success": true,
"score": { "raw": 85, "min": 0, "max": 100 },
"duration": "PT8M30S"
},
"context": {
"extensions": {
"https://formation.entreprise.fr/context/equipe": "Commercial IDF",
"https://formation.entreprise.fr/context/declencheur": "rdv-prospect-48h"
}
},
"timestamp": "2026-03-13T09:15:00Z"
}
Ce statement dit : "Marie Dupont a terminé le module Argumentaire vente secteur pharma avec un score de 85/100 en 8 minutes 30, dans l'équipe Commercial IDF, déclenché par un rendez-vous prospect dans les 48h." SCORM ne peut pas capturer les deux dernières informations.
Le LRS (Learning Record Store)
Le LRS est le serveur qui reçoit, stocke et expose les statements xAPI. La spécification xAPI (1.0.3) lui impose sept ressources REST : statements, activities/state, activities, activities/profile, agents, agents/profile et about. Les quatre principales :
- Statement API (
/statements) : stocker et requêter les statements - State API (
/activities/state) : stocker l'état en cours d'une activité (équivalent dususpend_dataSCORM) - Activity API (
/activities) : métadonnées des activités - Agent API (
/agents) : lecture des identifiants connus d'un apprenant (objet Person)
Le LRS peut être intégré dans votre LMS ou déployé comme service indépendant. Des solutions open source existent : SQL LRS (Yet Analytics, licence Apache 2.0) est maintenu activement, alors que Learning Locker n'a plus publié de version depuis novembre 2021 et lxHive depuis décembre 2018. Il existe aussi des solutions commerciales comme Watershed (plateforme d'analytics d'apprentissage du groupe Learning Technologies Group).
Pour une plateforme EdTech sur mesure, intégrer le LRS directement dans votre backend est souvent le choix le plus cohérent. Vous contrôlez le stockage, les requêtes, et vous évitez une dépendance externe.
Comparaison technique
| Aspect | SCORM | xAPI |
|---|---|---|
| Protocole | JavaScript API (DOM) | REST HTTP/HTTPS |
| Format de données | Chaînes CMI (clé-valeur) | JSON (statements structurés) |
| Stockage | LMS uniquement | LRS (intégré ou standalone) |
| Sources de données | Navigateur uniquement | Mobile, serveur, IoT, simulateur |
| Mode offline | Impossible | Possible (queue locale + sync) |
| Requêtage | Limité aux rapports du LMS | API REST complète avec filtres |
| Contexte | Aucun | Équipe, programme, extensions custom |
| Timestamps | Temps de session, temps total, horodatage et temps de réponse par question (cmi.interactions) |
Chaque statement horodaté |
| Scalabilité | Limitée au LMS | Distribuée (multi-sources, multi-LRS) |
cmi5 : le pont entre SCORM et xAPI
cmi5 est un profil xAPI lancé par l'AICC, puis repris par l'ADL après la dissolution de l'AICC en 2014. Il combine la flexibilité d'xAPI avec les conventions de lancement et de reporting de SCORM. La formule : cmi5 = xAPI + règles d'interopérabilité LMS.
cmi5 définit :
- Un protocole de lancement (comment le LMS lance le contenu via URL avec paramètres et tokens d'authentification)
- Un vocabulaire contrôlé de verbes et d'activités
- Des règles de reporting (comment convertir les statements xAPI en données de complétion exploitables par le LMS)
cmi5 est pertinent si vous migrez depuis SCORM et que vous voulez garder la compatibilité LMS tout en bénéficiant de la richesse d'xAPI. Si vous construisez une plateforme from scratch, xAPI natif est plus simple à implémenter.
2026 : SCORM classé « en fin de vie » dans le numérique éducatif
L'arrêté du 7 septembre 2026 définissant le cadre de référence du numérique pour l'éducation, publié au Journal officiel du 23 septembre 2026, s'applique aux services numériques des collèges et lycées publics. Son référentiel d'interopérabilité attribue un statut à chaque standard. « Cible » désigne un standard « qui doit être respecté et appliqué par tous ». « En fin de vie » désigne un standard dont le soutien se termine et qui « ne doit cependant pas être utilisé pour les nouveaux projets », même si son retrait n'a pas encore été demandé dans tous les systèmes existants.
| Besoin | Standard | Statut |
|---|---|---|
| Suivre l'activité de l'élève (traces d'apprentissage) | xAPI | Cible |
| Suivre l'activité de l'élève (traces d'apprentissage) | Caliper Analytics | Cible |
| Exporter et importer des granules ou des parcours | Common Cartridge | Cible |
| Exporter et importer des granules ou des parcours | SCORM | En fin de vie |
| Utiliser des granules dans un parcours | H5P, QTI, LTI | Cible |
Pour les traces, le référentiel ne retient que xAPI et Caliper Analytics. SCORM n'y figure que comme format de conditionnement des contenus, avec le statut « en fin de vie ».
cmi5 n'est cité nulle part dans le référentiel. Pour échanger des parcours, la cible est Common Cartridge.
L'échéance vient de l'annexe 4. Si votre service suit l'activité de l'élève, utilise des granules dans un parcours ou propose un import-export, les critères 21 et 22 imposent un format ouvert et documenté du référentiel. Ils s'appliquent 22 mois après la publication, soit le 23 juillet 2028, aux ENT et médiacentres et aux services qui fournissent des contenus ou services pédagogiques.
Le périmètre est le secondaire public. Un organisme de formation ou une plateforme de formation en entreprise n'est pas visé par ce texte. Les 36 critères de l'arrêté sont détaillés dans notre article sur le cadre de référence.
Quel standard choisir
Choisissez SCORM si (hors secondaire public)
- Vous devez importer des contenus SCORM existants (créés avec Articulate, iSpring, Adobe Captivate)
- Votre plateforme est un LMS classique qui diffuse des modules e-learning dans le navigateur
- La compatibilité avec les LMS tiers de vos clients est une priorité
- Vous n'avez pas besoin de tracer des activités hors navigateur
Dans ce cas, implémentez SCORM 1.2 en priorité (compatibilité maximale) et SCORM 2004 en option pour les clients qui en ont besoin.
Si vous vendez aux collèges et lycées publics
Ne démarrez pas un nouveau projet sur SCORM. Tracez en xAPI ou en Caliper Analytics, échangez les parcours en Common Cartridge, intégrez les outils tiers en LTI, les questionnaires en QTI et les contenus interactifs en H5P. Un import SCORM peut rester en place pour reprendre un catalogue existant : le texte ne demande pas encore son retrait dans tous les systèmes existants. Le suivi de l'élève, lui, doit sortir en xAPI ou en Caliper Analytics au plus tard le 23 juillet 2028.
Choisissez xAPI si
- Vous tracez des activités sur mobile, en simulation, ou sur le terrain
- Vous avez besoin de contexte enrichi (équipe, événement déclencheur, localisation)
- Vous construisez un système d'adaptive learning qui ajuste les parcours en temps réel
- Vous voulez croiser les données de formation avec des données métier (CRM, performance commerciale)
- Vous développez une plateforme de microlearning contextuel
C'est l'approche que nous avons choisie pour Andra Learning. Le moteur de workflows déclencheurs génère des statements xAPI enrichis avec le contexte métier (type de prospect, historique commercial, capsule délivrée), ce qui permet de mesurer l'impact de la formation sur les indicateurs de vente.
Implémentez les deux si
- Vos clients ont des contenus SCORM existants qu'ils veulent importer
- ET vous avez besoin de tracking avancé pour vos propres fonctionnalités
C'est le cas le plus fréquent sur les plateformes EdTech sur mesure : SCORM pour la compatibilité avec l'écosystème existant, xAPI pour le tracking natif de la plateforme.
Conseils d'implémentation
Pour SCORM : abstraire l'API SCORM derrière une couche de service dans votre code. L'API JavaScript est fragile (recherche du parent, gestion des erreurs, timing des appels). Un wrapper robuste vous évitera les bugs les plus courants : contenu qui ne trouve pas l'API, données perdues au commit, conflits de fenêtres.
Pour xAPI : utilisez une bibliothèque wrapper plutôt que des appels REST bruts. TinCanJS (Rustici Software), xAPIWrapper (ADL) et @xapi/xapi (npm) simplifient la construction des statements et la gestion de l'authentification. Définissez votre vocabulaire d'IRI dès le départ (verbes, types d'activités, extensions de contexte) et documentez-le.
Pour le LRS : si votre plateforme est sur mesure, intégrez le stockage des statements directement dans votre base de données plutôt que de déployer un LRS séparé. Une table PostgreSQL avec le statement JSON, un index sur actor/verb/timestamp, et une API REST de requêtage couvrent l'essentiel des besoins. Vous ajouterez un LRS dédié quand le volume de statements le justifiera.
Pour la migration SCORM → xAPI : ne migrez pas tout d'un coup. Gardez le player SCORM pour les contenus existants et implémentez xAPI pour les nouvelles fonctionnalités. cmi5 peut servir de pont si vous avez besoin de reporter les données xAPI dans un format compréhensible par un LMS tiers. Si vous servez le secondaire public, calez ce chantier sur l'échéance du 23 juillet 2028.
Ce que vous devez retenir
- SCORM est un standard mature, universellement supporté, mais limité au navigateur et aux données basiques (complétion, score, temps). Implémentez SCORM 1.2 si vous devez importer des contenus tiers, hors secondaire public.
- Dans les collèges et lycées publics, SCORM est classé « en fin de vie » par l'arrêté du 7 septembre 2026 : pas de nouveau projet dessus, et un suivi de l'élève en xAPI ou en Caliper Analytics au plus tard le 23 juillet 2028.
- xAPI est le standard moderne qui permet de tracer n'importe quelle activité d'apprentissage, depuis n'importe quelle source, avec un contexte riche. Choisissez xAPI si vous construisez du microlearning, de l'adaptive learning, ou du tracking mobile.
- cmi5 sert de pont entre les deux. Utile pour les migrations, moins pertinent pour les plateformes neuves, et absent du référentiel du numérique éducatif.
- Dans la pratique, la plupart des plateformes EdTech sur mesure implémentent les deux : SCORM pour la compatibilité, xAPI pour l'intelligence.
Si vous développez une plateforme de formation et hésitez sur le choix de standard, nous pouvons vous aider à cadrer l'architecture. C'est un choix qui impacte le modèle de données, les intégrations, et la capacité d'analyse de votre plateforme sur le long terme.
Sources
- Arrêté du 7 septembre 2026 définissant le cadre de référence du numérique pour l'éducation, Journal officiel du 23 septembre 2026, article 2, annexe 2 (référentiel d'interopérabilité) et annexe 4 (critères 21 et 22), consulté le 12 octobre 2026.
Ce contenu vous a servi ? Ajoutez Bob le développeur à vos sources préférées sur Google.
EdTech
Une plateforme de formation à créer ?
LMS sur mesure, microlearning, applications de formation : on les conçoit et on les développe.
- Références Andra Learning et Chance
- Devis gratuit en 48 h
- Code 100 % à vous
30 min, gratuit, sans engagement.