Skip to Content

Envoyer les statements xAPI vers votre LRS

Prérequis : l’option LMS active sur votre compte, un LRS en service, et le lancement depuis votre LMS déjà en place. Sans ce dernier, un LRS correctement renseigné ne recevra rien. Droits nécessaires : l’accès à la configuration du compte.

Sur cette page

Envoyer les statements xAPI vers votre LRS

Prérequis : l’option LMS active sur votre compte, un LRS en service, et le lancement depuis votre LMS déjà en place. Sans ce dernier, un LRS correctement renseigné ne recevra rien. Droits nécessaires : l’accès à la configuration du compte.

Beedeez envoie des statements xAPI à un LRS. Le périmètre est étroit : c’est un prolongement du lancement depuis le LMS, pas un canal d’analyse indépendant. Cette page décrit ce qui part, quand, et ce qui ne part jamais.

Où renseigner votre LRS

Configuration › Intégration › LMS, bloc LRS, tout en bas de la sous-page. Trois champs et un bouton :

  • URL : l’adresse de votre LRS.
  • Login : la clé d’accès.
  • Secret : le secret associé.
  • X api only : voir « Le piège » plus bas.

L’émission démarre dès que URL et Login sont renseignés. Le Secret n’est vérifié nulle part avant l’envoi : un secret absent ou faux donne un rejet côté LRS et aucun message côté Beedeez.

Ce qui part réellement

Deux statements par session de contenu, dans cet ordre :

  • launched, envoyé une seule fois par session, à la première synchronisation. Son horodatage est la date de début de la session.
  • terminated, envoyé à chaque synchronisation de la session. Il porte le résultat, et son horodatage est la date de dernière activité de l’apprenant.

Les deux statements partagent la même structure :

  • Acteur : un Agent dont le compte porte l’identifiant de l’apprenant dans votre LMS, et dont le nom est l’alias du compte Beedeez lorsqu’il existe, sinon ce même identifiant.
  • Objet : une Activity d’identifiant https://www.beedeez.com/adl/activities/ suivi de l’identifiant externe du contenu, rattachée à une activité parente de type course.

Seul le statement terminated porte un résultat : le score brut, le même score ramené entre 0 et 1, son minimum, son maximum, la réussite, la complétion et la durée cumulée au format ISO 8601.

L’horodatage n’est jamais celui de l’envoi. Une session jouée hors ligne part donc à la synchronisation suivante, avec sa date d’origine.

⚠️ La progression cmi5 vaut toujours 100. Elle est écrite en dur dans chaque statement de résultat et ne décrit pas l’avancement réel. Ne construisez aucune analyse dessus.

Ce qui déclenche un statement

Deux conditions cumulatives :

  1. Le contenu porte un identifiant externe, ce qui est le cas des contenus arrivés par un connecteur ou une source externe, jamais d’une capsule écrite dans Beedeez.
  2. L’apprenant possède un compte rattaché à votre LMS, c’est-à-dire créé ou reconnu lors d’un lancement depuis le LMS.

Une capsule écrite dans Beedeez et jouée par un apprenant Beedeez n’émet rien, quel que soit le LRS configuré. C’est la première chose à vérifier quand un LRS reste vide.

L’envoi est déclenché quelques secondes après l’activité de l’apprenant, pas au moment exact du clic.

Ce que ça ne fait pas

  • Deux verbes seulement. Ni initialized, ni answered, ni aucun autre. Un statement interacted est prévu par le produit mais n’est jamais envoyé.
  • Aucun statement fin. Rien par notion, par question de quiz ou par carte.
  • Aucun statement hors capsule et parcours. Les tips, les fiches produits, les simulations, les agents IA, les classements et les certificats ne produisent rien.
  • Aucune reprise. L’envoi est direct, sans file d’attente ni rejeu. Un LRS indisponible dix minutes perd définitivement les statements de ces dix minutes, et l’échec ne sort pas des journaux.
  • Aucun écran de contrôle. Pas de compteur, pas d’historique, pas de test de connexion.

⚠️ Une session déjà signalée comme lancée ne renvoie pas son launched. Beedeez retient, session par session, que ce statement est parti. Si votre LRS était indisponible à ce moment-là, le launched de cette session ne sera jamais réémis, même quand le LRS revient et que les terminated suivants arrivent normalement.

Le piège

🚧 Il n’existe pas de mode xAPI autonome. Le bouton X api only s’enregistre et rien ne le lit : il ne change aucun comportement. Un LRS sans lancement LMS derrière ne reçoit jamais rien.

⚠️ Le domaine du compte de l’acteur n’est pas paramétrable dans le back-office. À défaut d’une valeur posée avec votre équipe support, tous les statements portent la même account.homePage, héritée d’une ancienne installation cliente et identique pour tous les comptes Beedeez. Identifiez vos apprenants sur account.name, jamais sur la page d’accueil.

Vérifier que ça marche

Faites jouer un contenu éligible par un compte apprenant réel arrivé par le LMS, allez au bout, puis cherchez le statement dans votre LRS, pas dans Beedeez. Contrôlez l’acteur avant tout le reste : un LRS accepte sans broncher un acteur mal formé, et vos analyses seront inexploitables des mois plus tard.

xAPI, SCORM et LTI

Ce ne sont pas des options concurrentes. Le SCORM et le lancement LMS décident de la façon dont le contenu est joué ; le LRS enregistre en plus ce que le LMS a déjà reçu. Vous n’avez donc pas à choisir entre les deux, et vous ne pouvez pas prendre le LRS seul.

Les événements xAPI produits par une activité H5P jouée dans Beedeez sont un autre sujet : ils restent dans le lecteur et ne sont transmis nulle part.

Pour aller plus loin


Discutez avec nous