# Sharable Content Object Reference Model

SCORM, pour anglais : Sharable Content Object Reference Model, est un ensemble de standards et de spécifications utilisé pour les systèmes de formation en ligne, en général des learning management system ou LMS. Il normalise les communications et les formats d'échange de données, et définit précisément les paquets pour le transfert de fichiers. C'est le format XML qui est utilisé en interne.
La version SCORM 2004 ajoute des fonctionnalités d'ordonnancement du parcours pédagogique qui permettent d'obliger l'utilisateur à passer par certains contenus, mais aussi de lui permettre de s'arrêter à un endroit pour reprendre plus tard.
SCORM est une initiative lancée par le département de la Défense des États-Unis.

## Exigences

Visant à répondre à des exigences d'accessibilité, d'adaptabilité, de durabilité, d'interopérabilité et de ré-utilisabilité, les normes du modèle informatique SCORM cherchent à faciliter les échanges entre plates-formes de formation en ligne en maîtrisant l'agrégation de contenu, l'environnement d'exécution et la navigation Internet.
Voici les principales exigences auxquelles le modèle SCORM devrait permettre, à terme, de satisfaire :
* Accessibilité : capacité de repérer des composants d’enseignement à partir d’un site distant, d’y accéder et de les distribuer à plusieurs autres sites.
* Adaptabilité : capacité à personnaliser la formation en fonction des besoins des personnes et organisations.
* Durabilité : capacité de résister à l’évolution de la technologie sans nécessiter une reconception, une reconfiguration ou un recodage.
* Interopérabilité : capacité d’utiliser dans un autre emplacement et avec un autre ensemble d’outils ou sur une autre plate-forme des composants d’enseignement développés dans un site, avec un certain ensemble d’outils ou sur une certaine plate forme. Note : il existe plusieurs niveaux d’interopérabilité.
* Réutilisabilité : souplesse permettant d’intégrer des composants d’enseignement dans des contextes et des applications multiples.

## Signification

Dans le principe originel, SCORM permet aux concepteurs pédagogiques de distribuer leurs contenus sur une large variété de plates-formes eLearning (LMS - Learning Management Systems) sans efforts de réécriture. Le modèle SCORM acronyme de « Sharable Content Object Reference Model » est une suite de normes techniques qui permet de construire des plates-formes eLearning et des contenus de formation de manière à fonctionner ensemble. Quelles que soient les versions de SCORM, toutes standardisent deux points distincts : la description du contenu (content packaging) et les échanges de données entre le cours et le LMS (exchanging data at runtime).
* Le système de description de contenu détermine un ensemble de propriétés du cours : Définition du titre du cours et de ses leçons, liste des objectifs et des prérequis, URL de lancement des leçons, définitions des notes de passage… Au cœur de la description SCORM un fichier appelé « imsmanifest » contient toutes les informations requises par les LMS pour référencer le cours. Le fichier « manifest » est un fichier XML décrivant la structure du cours tant du point de vue de l’apprenant que du point de vue de l’organisation physique des fichiers.
* L’environnement d’exécution spécifie comment le contenu communique avec le LMS lorsque le module est en cours de lecture. Il y a 2 étapes importantes dans le processus de communication. Premièrement, le contenu doit trouver le LMS puis, une fois le LMS identifié, le contenu peut communiquer avec une série de commandes « Get » et « Set » complétées par un vocabulaire adéquat. Une commande de type « Get » permet de récupérer une donnée du LMS et une commande de type « Set » permet de mettre à jour une donnée sur le LMS. Par exemple avec ce jeu de commande, il est possible de récupérer le nom de l’apprenant (Get) ou d’enregistrer son score obtenu (Set) sur une leçon.

### Regroupement de spécifications existantes

SCORM (en anglais : Sharable Content Object Reference Model) est une suite de normes techniques qui permet aux systèmes d'apprentissage en ligne de trouver, importer, partager, réutiliser, et exporter les contenus d'apprentissage, de manière normalisée.
Sur ce projet, ADL (Advanced Distributed Learning) ne travaille pas seul, mais en collaboration avec de nombreuses autres organisations, également intéressées par les spécifications destinées à l'apprentissage en ligne. Ainsi, les spécifications des organisations suivantes ont été intégrées à la norme SCORM :
* Alliance of Remote Instructional Authoring & Distribution Networks for Europe (ARIADNE)
* Aviation Industry CBT (Computer-Based Training) Committee (AICC)
* IEEE Learning Technology Standards Committee (LTSC)
* IMS Global Learning Consortium, Inc
* AeroSpace and Defense Industries Association of Europe (ASD) Technical Publication Specification Maintenance Group (TPSMG)
Cependant, ces caractéristiques ont souvent été légèrement modifiées dans le but de rendre l'ensemble cohérent.

### Parties

SCORM peut être découpé en plusieurs parties distinctes :
* le « modèle d'agrégation du contenu », qui assure la promotion de méthodes cohérentes en matière de stockage, d'identification, de conditionnement d'échange et de repérage du contenu ;
* l’ « environnement d'exécution » décrit les exigences du système de gestion de l'apprentissage nécessaire à la gestion de l'environnement d'exécution ;
* le « modèle de séquencement et de navigation » permet une présentation dynamique du contenu. Il décrit comment le système interprète les règles de séquencement exprimées par un développeur de contenu, ainsi que les événements de navigation lancés par l'apprenant ou par le système.

#### Modèle d'agrégation de contenu

Le modèle d'agrégation de contenu peut être lui aussi découpé en plusieurs fonctionnalités.
La première est la définition de « Learning Object Metadata » (LOM). Ces métadonnées, utilisées dans les standards d'IEEE, d'Ariadne et IMS, permettent la définition d'un dictionnaire de termes décrivant le contenu de l'objet d'apprentissage. Par exemple, elles représentent le sujet du contenu, le niveau requis, l'identifiant de l'apprenant, le prix du module…
La seconde spécification lie les métadonnées et le(s) fichier(s) XML, réutilisé de IMS. Cela définit comment coder les fichiers XML afin qu'ils soient lisibles par l'ordinateur.
La dernière spécification traite de l'empaquetage. Elle définit notamment comment empaqueter ensemble une collection d'objets d'étude, leurs métadonnées, et les informations sur la façon dont le contenu doit être livré à l'utilisateur. En pratique, il s'agit de créer une archive zip contenant tous les fichiers appropriés, ainsi qu'un fichier imsmanifest.xml (voir un exemple basique d'un imsmanifest.xml) définissant les contenus des différents fichiers et les rapports entre eux.

#### Environnement d'exécution

Une communication est nécessaire entre l'interface graphique du client ( 'objet pédagogique , page web , application desktop et donc l'étudiant) et le serveur (base de données, système d'apprentissage ou LMS Learning management system). Pour ce faire, ADL a travaillé en collaboration avec AICC pour établir un envoi normalisé d'informations dans les deux sens, et compatible avec les technologies internet. Une API (Application Program Interface) a été réalisée en Javascript, fournissant alors une manière standard de communiquer avec un LMS, indépendamment de l'outil utilisé pour développer le contenu.

## Sigles

Signification des sigles utilisés :
| Sigle (en) | Signification (en) | Sigle (fr) | Signification (fr) |
| API | Application Program Interface | | Interface du logiciel (programme ou application) |
| CAM | Content Aggregation Model | MAC | Modèle d'Agrégation de Contenu |
| LMS | Learning Management System | SGA | Système de Gestion de l'Apprentissage |
| LOM | Learning Object Metadata | | Métadonnées des objets d'apprentissage |
| RTE | Run Time Environment | EE | Environnement d'Exécution |
| SS | Simple Sequencing | | |
| SCORM | Sharable Content Object Reference Model | | |
| SCO | Sharable Content Object | | |
| Asset | | | |
| XML | eXtensible Markup Language | | Langage de balisage extensible |

## Versions
### SCORM 1.0

La version originale. Définition de la notion d'objet de contenu partageables (SCO) et l'API. La responsabilité de la gestion de la communication entre le contenu et le LMS est assurée par le contenu dans un contexte d'Environnement d'Exécution.

### SCORM 1.1

C'est la première version de production. Introduction d'un format pour définir la structure d'un cours (imsmanifest.xml). Rapidement abandonné pour la version 1.2.

### SCORM 1.2

La version référence de SCORM. Utilise la spécification IMS Content Packaging pour le contenu et toujours l'imsmanifest.xml pour décrire le parcours. Permet également l'utilisation des metadonnées (LOM par exemple) pour décrire le contenu. N'est plus maintenue ou soutenue par ADL. Première version avec une suite de test pour vérifier la conformité.

### SCORM 2004

C'est la dernière version (4e Édition) et surtout la plus complète. Elle intègre toujours l'utilisation de l'API, les spécifications IMS Content Packaging, l'Environnement d'Exécution. En plus de résoudre certaines ambiguïtés de la version précédente, cette version apporte deux nouveaux concepts :
* La navigation : Le contenu peut contrôler la navigation via l'Interface Homme/Machine du LMS (Bouton suivant, précédent, quitter, etc.)
* Le séquencement (Simple Sequencing) : Possibilité d'adapter le contenu aux apprenants, de gérer plus précisément l'avancement et l'ordonnancement des contenus grâce aux objectifs d'apprentissage ou compétences tout en s'affranchissant du LMS.
Cette version dispose aussi d’une suite de test plus robuste permettant de vérifier la conformité et d'assurer une bonne interopérabilité.

### Core SCORM

C'est la prochaine version de SCORM résultat de la normalisation ISO. Cette version sera basée sur SCORM 2004 sans le Simple Sequencing.

## Avantages

Implanté depuis les débuts du e-learning et déployé nativement dans de nombreux Learning management system, le SCORM constitue un moyen simple, robuste et peu coûteux pour mesurer l'évolution des apprentissages sur des ressources simples (QCM, interactions avec des images, texte à trou etc.). La plupart des outils auteurs (Storyline, Isrping, Captivate etc.) produisant du contenu e-learning intègrent la possibilité de convertir les ressources pédagogiques en format SCORM.
Le SCORM étant très restreint sur ses possibilités (les évènements qu'il déclare et remonte au LMS sont peu variés et très standardisés), c'est un format très interopérable : il est aisé de déployer des ressources en SCORM sur plusieurs LMS.

## Faiblesses

Le SCORM reste un format très rigide, avec un nombre de learning analytics traquées qui est limité (fortement orienté autour de simples réponses à des questions à choix multiples). Les données pour analyser l'apprentissage des apprenants sont donc restreintes. Les concepteurs de formations doivent souvent utiliser d'autres analytics en complément de celles remontées par le SCORM, notamment pour les audits qualité tels que qualiopi.
De plus, les paquets SCORM doivent être mis à jour intégralement lors de la moindre modification d'un contenu. La gestion des fichiers est donc complexifiée (dans les espaces de stockage des concepteurs, mais aussi sur le learning management system.
Comme autre inconvénient connu, l'ancienneté du format SCORM est souvent évoquée : les technologies qu'il mobilise ne sont pas toujours contemporaines (XML par exemple), ce qui fait que les compétences pour appréhender ce format sont rares. De même, les players SCORM déployés historiquement sur les plateformes LMS sont souvent peu mis à jour voire lacunaires (pas de stockage du cmi.suspend_data par exemple, ou bien absence de remontée des résultats question par question).
Enfin, les paquets SCORM doivent s'exécuter dans un lecteur spécifique, ce qui peut s'avérer limitant pour certaines ressources pédagogiques : impossible par exemple d'utiliser un player SCORM pour lire des vidéos (même si on peut encapsuler une vidéo dans un contenu SCORM, mais dans ce cas, les analytics d'interactions avec le lecteur vidéo encapsulé ne sont pas remontées). C'est pour faire face à ce genre de limitations que les standards xAPI puis CMI5 ont été conçus.

## Logiciels compatibles
### Interface client (sans GUI)

* Experience API (Tin Can API)

### Logiciel d'édition du contenu

* Articulate Storyline
* Ispring
* Scenari
* Rise 360
* Adobe Captivate