Skip to Content
Interop EdTechPartie 10 — LTI AdvantageVue d'ensemble

Partie 10 — LTI Advantage

⏱️ TL;DR — Le lancement LTI 1.3 de la Partie 9 ouvre la porte : l’élève arrive connecté dans ton outil. Mais la valeur est derrière — c’est LTI Advantage = LTI 1.3 Core + trois services : Deep Linking (l’enseignant choisit quel contenu de ton outil placer dans son cours), AGS (Assignment and Grade Services — ton outil renvoie les notes dans le carnet), NRPS (Names and Role Provisioning Services — ton outil lit la liste de la classe). Pour appeler un service, l’outil obtient un jeton d’accès OAuth2 auprès de la plateforme (grant client_credentials + un JWT client_assertion signé avec sa clé privée). Et 1EdTech certifie les produits LTI Advantage : le label qui ouvre les marchés éducatifs. Cette partie t’apprend à implémenter les trois services de bout en bout.

Le problème qu’on résout

En Partie 9, ton studio d’exercices se lance proprement depuis le Moodle d’une école : SSO, contexte, rôles. Mais un outil qui se contente d’afficher une page, c’est un iframe amélioré. Ce que l’enseignant veut vraiment :

  • choisir précisément quel exercice de ton catalogue apparaît dans son cours, sans copier-coller d’URL ;
  • que la note obtenue remonte toute seule dans son carnet, à côté des autres ;
  • que ton outil connaisse déjà sa classe (pré-remplir les élèves, afficher un tableau de suivi) sans ressaisie.

Ces trois besoins sont exactement les trois services de LTI Advantage. Sans eux, ton outil « marche » mais reste un gadget. Avec eux, il devient une brique du LMS — celle qu’on déploie sur toute une académie.

Ce que tu sauras faire à la fin de cette partie

  • Situer LTI Advantage (Core + Deep Linking + AGS + NRPS) et repérer les claims de service dans un id_token.
  • Obtenir un jeton d’accès OAuth2 (client_credentials + client_assertion signé) pour appeler les services.
  • Implémenter Deep Linking : lire deep_linking_settings, renvoyer un LtiDeepLinkingResponse avec des content_items.
  • Implémenter AGS : créer une colonne (lineitem), publier un Score (POST {lineitem}/scores), relire les results.
  • Implémenter NRPS : lire le conteneur members, gérer la pagination, respecter la confidentialité.
  • Sécuriser tout ça (asymétrie inversée des clés, scopes au minimum, rotation) et viser la certification 1EdTech.

Les chapitres

#ChapitreEn un mot
10.1Vue d’ensembleCore + 3 services ; obtenir un jeton d’accès ; les scopes.
10.2Deep LinkingL’enseignant choisit le contenu ; content_items.
10.3AGS : renvoyer des noteslineitem, l’objet Score, results. Le chapitre « valeur ».
10.4NRPS : lire le rosterLe conteneur members, pagination, confidentialité.
10.5Sécurité & conformitéClés, scopes, rotation, certification 1EdTech, checklist.

Cette partie s’appuie sur le socle LTI 1.3 posé en Partie 9 : le flux OIDC + JWT (9.3), le flux de lancement (9.4) et les claims (9.5). On ne redéfinit pas OIDC, JWT ou JWKS ici — on les réutilise.

Le fil rouge

Le studio d’exercices FormaCampus franchit un cap : il renvoie les scores d’exercices au carnet de Moodle via AGS, lit la classe via NRPS, laisse l’enseignant choisir l’exercice via Deep Linking, et vise la certification 1EdTech pour décrocher des marchés d’académies. Chaque chapitre fait avancer un de ces chantiers, dans l’encadré 🧭 Sur FormaCampus.


On commence : Vue d’ensemble.

Last updated on