Skip to Content

Chapitre 12.2 — Les outils auteurs

⏱️ TL;DR — Tu n’écris pas toujours ton contenu à la main. Les outils auteurs — Articulate Storyline 360 / Rise 360, Adobe Captivate, iSpring, Lectora, H5P — produisent du contenu interactif et l’exportent dans les standards que tu connais : SCORM 1.2/2004, xAPI, cmi5, parfois LTI. Tu coches un format, tu obtiens un .zip importable. H5P est le cas à part : open source, HTML5, il émet du xAPI nativement et s’emballe en SCORM ou s’intègre en LTI. La vraie décision de ce chapitre : outil auteur (rapide, no-code, export standard tout fait) ou développement maison en React/Next.js (contrôle total, mais c’est toi qui branches l’API SCORM, le lancement cmi5, le flux LTI). On tranche selon l’interactivité, l’échelle et l’intégration voulues.

🎯 Objectifs

  • Situer chaque outil auteur : ce qu’il produit et ce qu’il exporte.
  • Choisir entre outil auteur et code maison (React/Next.js) selon des critères clairs.
  • Comprendre pourquoi H5P est structurellement « xAPI natif », et ce que ça change.
  • Savoir ce que tu récupères vraiment dans un export (et ce que tu dois brancher toi-même quand tu codes).

La famille des outils auteurs

Tous ces outils partagent la même promesse : produire du contenu interactif sans coder, puis l’empaqueter dans un standard. Ils diffèrent par la philosophie de création (diapo, bloc, PowerPoint, HTML5) et par leur terrain de prédilection.

OutilType de créationExporte typiquementForceLimite
Storyline 360Diapos + timeline, très libreSCORM 1.2/2004, xAPI, cmi5Interactions riches, contrôle fin, JS embarquéCourbe d’apprentissage, licence
Rise 360Blocs web responsiveSCORM 1.2/2004, xAPI, cmi5Rapide, responsive natif, moderneMoins personnalisable que Storyline
Adobe CaptivateDiapos + simulations logiciellesSCORM 1.2/2004, xAPIDémos/simulations écran, responsiveÉcosystème Adobe, prise en main
iSpringConversion PowerPointSCORM 1.2/2004, xAPI, cmi5Part de PowerPoint, très accessibleDépendant du modèle diapo
LectoraDiapos/pages, orienté accessibilitéSCORM 1.2/2004, xAPI, cmi5Accessibilité (WCAG), gros volumesInterface datée pour certains
H5PTypes de contenu HTML5 open sourcexAPI natif, emballage SCORM, LTIGratuit/open source, xAPI intégréSuivi selon l’hébergeur, moins « studio »

⚠️ Piège — Supposer qu’un outil « exporte tout, tout le temps ». Les formats disponibles dépendent de la version de l’outil et de son édition. N’affirme jamais à un client « Captivate exporte du cmi5 » ou « tel outil fait du LTI » sans l’avoir vérifié dans la version installée. La liste exacte et à jour se lit dans la doc de l’éditeur — reste qualitatif quand tu ne l’as pas sous les yeux.

💡 Réflexe — Ce que tu coches à l’export est ce que tu as appris dans ce cours. « Exporter en SCORM 1.2 » produit un PIF avec un imsmanifest.xml (Partie 3) et un SCO qui parle à l’API (Partie 4). « Exporter en cmi5 » produit un cmi5.xml et un AU qui suit le protocole de lancement (Partie 8). L’outil auteur génère la plomberie ; toi, tu sais la lire et la déboguer — c’est ta valeur ajoutée sur un simple utilisateur de l’outil.

H5P en détail : le « xAPI natif »

H5P (HTML5 Package) mérite un traitement à part, parce qu’il n’est pas construit comme les autres. C’est un framework open source de types de contenu HTML5 (questions, présentations interactives, vidéos à embranchements, glisser-déposer…). Chaque type de contenu émet des statements xAPI au fil de l’interaction — c’est intégré au cœur du framework, pas un export à cocher.

Concrètement, quand un apprenant répond à une question H5P, le composant déclenche un événement xAPI en interne. La plateforme qui héberge le H5P (Moodle, WordPress, une appli à toi) peut écouter cet événement et router le statement vers un LRS.

// Ecouter les statements xAPI emis nativement par un contenu H5P embarque. // H5P declenche un evenement "xAPI" a chaque interaction pedagogique. H5P.externalDispatcher.on("xAPI", function (event) { const statement = event.data.statement // un statement xAPI complet // On route vers notre LRS (voir Partie 7). fetch("https://lrs.formacampus.fr/xapi/statements", { method: "POST", headers: { "Authorization": "Basic " + jetonLRS, "Content-Type": "application/json", "X-Experience-API-Version": "1.0.3" }, body: JSON.stringify(statement) }) })

Trois façons d’exploiter H5P selon le contexte d’interop :

  • xAPI vers un LRS : tu écoutes l’événement xAPI (ci-dessus) et tu envoies au LRS. C’est le mode « natif ».
  • Emballé en SCORM : H5P peut être empaqueté en SCORM pour un LMS qui ne comprend que ça — le wrapper traduit alors complétion/score vers l’API SCORM.
  • Intégré en LTI : hébergé sur une plateforme H5P, il se branche en LTI dans le LMS comme un outil externe.

🔌 Côté intégration — Côté Moodle (fil rouge récurrent), H5P est intégré nativement : Moodle sait afficher un H5P et, via le plugin Logstore xAPI, exporter ses statements vers un LRS externe. C’est le chemin le plus court pour qu’une école qui utilise déjà Moodle produise du xAPI sans que tu développes quoi que ce soit — juste de la configuration. À connaître pour conseiller un client Moodle.

📚 La spec — H5P n’est pas un standard mais un framework qui implémente xAPI. Les statements qu’il émet suivent la spec xAPI d’ADL (acteurverbeobjet, Partie 6). Son émission d’événements xAPI et son emballage SCORM/LTI sont documentés côté H5P ; la conformité des statements, elle, se vérifie contre la spec xAPI (chapitre 12.3).

Outil auteur ou code maison ?

C’est la décision de ce chapitre. Un outil auteur te donne l’export standard gratuitement (au sens : sans écrire la plomberie). Coder en React/Next.js te donne le contrôle total — mais alors, c’est toi qui branches l’API SCORM, le lancement cmi5 ou le flux LTI.

Ce qui pousse vers un outil auteur :

  • Le contenu est linéaire ou modérément interactif : diapos, vidéos, quiz, glisser-déposer — ce que l’outil sait déjà faire.
  • Tu veux industrialiser : des dizaines de modules produits par des concepteurs pédagogiques non-développeurs.
  • Tu veux l’export standard sans maintenir de code de packaging.

Ce qui pousse vers le code maison (React/Next.js) :

  • L’interactivité dépasse les composants de l’outil : logique adaptative, UI sur mesure, temps réel, données live, IA (un tuteur conversationnel, une correction générative).
  • Le contenu doit communiquer avec ton backend (base d’exercices, moteur de recommandation).
  • Tu construis un produit vivant — typiquement un outil LTI (chapitre 12.5), pas un module figé.

Quand tu codes, voici ce que l’outil auteur te donnait « gratuitement » et que tu dois désormais assumer — par exemple le squelette d’un SCO SCORM 1.2 qui remonte sa complétion :

// En code maison, TU branches l'API SCORM que l'outil auteur generait pour toi. // Trouver l'API en remontant les fenetres (voir Partie 4). function trouverAPI(win) { let n = 0 while (win.API == null && win.parent != null && win.parent != win && n++ < 20) { win = win.parent } return win.API // objet "API" de SCORM 1.2, ou null } const API = trouverAPI(window) || (window.opener && trouverAPI(window.opener)) API.LMSInitialize("") API.LMSSetValue("cmi.core.lesson_status", "completed") API.LMSSetValue("cmi.core.score.raw", "85") API.LMSCommit("") API.LMSFinish("")

⚠️ Piège — Coder soi-même « parce que c’est plus propre » un contenu qu’un outil auteur produirait en deux heures. Réinventer un module de quiz linéaire en React et son export SCORM, c’est se recréer toute la plomberie (manifeste, wrapper d’API, gestion du suspend_data, packaging du .zip) que l’outil génère et teste depuis vingt ans. Code maison = quand l’interactivité ou l’intégration l’exige, pas par principe esthétique.

💡 Réflexe — Approche hybride, très fréquente : le gros du catalogue en outil auteur (rapide, industrialisé), et les quelques expériences vraiment sur mesure (simulateur, tuteur IA, studio d’exercices) en code maison. Tu n’as pas à choisir un camp pour toute l’entreprise — tu choisis par contenu.

🧭 Sur FormaCampus — FormaCampus fait exactement ça. Son catalogue (conformité, bureautique, langues) est produit dans Rise 360 par ses concepteurs pédagogiques, exporté en SCORM 1.2 et cmi5 d’un clic — aucun développeur mobilisé. Mais son studio d’exercices adaptatif (correction générée, suivi fin, renvoi de notes) est codé en Next.js : trop d’intelligence pour un outil auteur, et il doit vivre comme outil LTI. Deux mondes, une seule règle : outil auteur tant que l’interactivité tient dedans, code dès qu’elle déborde.

✏️ Exercices

Exercice 1 — Outil ou code ? Pour chaque besoin, tranche « outil auteur » ou « code maison », et justifie : (a) 40 modules de conformité RGPD, texte + quiz, produits par des juristes non-devs ; (b) un simulateur d’entretien avec réponses analysées par IA et feedback génératif ; (c) une série de vidéos interactives avec questions intégrées ; (d) un éditeur de code en ligne qui corrige et renvoie la note dans Moodle.

✅ Solution

(a) Outil auteur (Rise/iSpring/Storyline) : contenu standard, industrialisé, auteurs non-devs — export SCORM/cmi5 tout fait. (b) Code maison : l’IA générative et l’analyse temps réel dépassent tout outil auteur ; probablement un outil LTI. (c) Outil auteur : H5P (vidéo interactive), Captivate ou Storyline gèrent nativement les vidéos à questions, avec xAPI. (d) Code maison en LTI 1.3 + AGS : éditeur de code vivant + renvoi de note — hors de portée d’un outil auteur. Règle : outil tant que l’interactivité tient dedans, code dès qu’elle déborde ou qu’il faut un backend/une intégration vivante.

Exercice 2 — Le chemin xAPI de H5P. Une école utilise Moodle avec des activités H5P et veut analyser le détail des réponses dans un tableau de bord externe. Faut-il développer ? Quel est le chemin ?

✅ Solution

Peu ou pas de développement : H5P émet du xAPI nativement, et Moodle sait router ces statements vers un LRS externe via le plugin Logstore xAPI (configuration, pas code). Le chemin : contenu H5P dans Moodle → événements xAPI captés par Moodle → Logstore xAPI → LRS → ton tableau de bord lit le LRS (Partie 7). Le seul « dev » éventuel est le branchement du tableau de bord sur l’API du LRS, pas la production des statements.

Exercice 3 — Ce que l’export te donne. Un concepteur exporte un module Storyline en « cmi5 ». Que contient concrètement le .zip, et qu’est-ce que tu, développeur, dois savoir vérifier ?

✅ Solution

Le .zip contient un cmi5.xml (la structure de cours : course, au, éventuellement block) et les fichiers HTML5 de l’AU lançable, qui embarque la logique de lancement cmi5 (POST du fetch, lecture de LMS.LaunchData, envoi de initializedterminated). À vérifier : que l’AU envoie bien initialized en premier et terminated en dernier, qu’il respecte masteryScore/moveOn, et surtout qu’il remonte réellement dans une cible de test (chapitre 12.3). L’outil génère la plomberie ; c’est à toi de prouver qu’elle fonctionne ailleurs que dans l’aperçu de l’outil.

🧠 Quiz de révision

1. Que produit et qu’exporte, en général, un outil auteur ?

Il produit du contenu interactif sans coder (diapos, blocs, PowerPoint converti, HTML5) et l’exporte dans les standards : SCORM 1.2/2004, xAPI, cmi5, parfois LTI. La liste exacte dépend de l’outil et de sa version — à vérifier dans la doc de l’éditeur.

2. En quoi H5P est-il différent des autres outils auteurs ?

Il est open source, en HTML5, et émet du xAPI nativement : chaque interaction déclenche un événement xAPI intégré au framework, qu’on route vers un LRS. Il peut aussi être emballé en SCORM ou intégré en LTI. Le xAPI n’est pas un export à cocher, il est au cœur.

3. Quand privilégier le code maison (React/Next.js) sur un outil auteur ?

Quand l’interactivité dépasse les composants de l’outil : logique adaptative, UI sur mesure, temps réel, IA, communication avec un backend, ou quand tu construis un produit vivant (outil LTI) plutôt qu’un module figé.

4. Que dois-tu assumer toi-même en codant, que l’outil générait ?

Toute la plomberie standard : le imsmanifest.xml, le wrapper de l’API SCORM (init, lesson_status, score, commit), le packaging du PIF, ou le protocole de lancement cmi5, ou le flux OIDC/JWT de LTI. L’outil auteur teste cette plomberie depuis des années — la refaire à la main a un coût réel.

5. Côté Moodle, comment produire du xAPI avec H5P sans développer ?

Moodle affiche nativement les contenus H5P et peut router leurs statements xAPI vers un LRS externe via le plugin Logstore xAPI. C’est de la configuration, pas du développement — le chemin le plus court pour qu’un client Moodle produise du xAPI exploitable.


Chapitre suivant : Tester la conformité — SCORM Cloud, suites ADL, CATAPULT, LRS de test et certification 1EdTech : prouver que ça marche ailleurs que chez toi.

Last updated on