Comparer les modules complémentaires Classroom aux outils LTI

Learning Tools Interoperability (LTI) est un framework ouvert permettant de créer des intégrations tierces dans les systèmes de gestion de l'apprentissage. Bien que les modules complémentaires Classroom et les outils LTI soient compatibles avec des parcours utilisateur similaires, les deux frameworks ne sont pas directement compatibles. Ce guide compare les deux types d'intégration et met en évidence les principales différences. Il suggère également des moyens d'obtenir des parcours utilisateur similaires lorsque vous adaptez un outil LTI pour qu'il fonctionne comme un module complémentaire Classroom.

Interactions entre la plate-forme et les outils

La principale différence entre les outils LTI et les modules complémentaires Classroom réside dans la manière dont les informations sont échangées. Les outils LTI utilisent généralement HTTP POST pour transmettre des charges utiles à une plate-forme LTI, tandis que les modules complémentaires Classroom créent et récupèrent des ressources à l'aide de l'API REST Google Classroom.

Le tableau suivant récapitule comment obtenir les principaux comportements des outils LTI avec Google Classroom.

Fonctionnalité LTI En salle
Créer des devoirs Services liés aux devoirs et aux notes Créer des ressources CourseWork et AddOnAttachment
Publier les notes Services liés aux devoirs et aux notes Devoirs rendus par les élèves pour les correctifs CourseWork et AddOnAttachment
Lancer des routes Liens profonds Spécifier des URI dans les ressources AddOnAttachment
Consulter les listes de cours Services de provisionnement des noms et des rôles Récupérer les profils Student et Teacher dans un cours

Adapter un outil LTI en module complémentaire Classroom

De nombreuses interactions LTI ont des analogues dans le framework des modules complémentaires Classroom. Les sections suivantes abordent certains concepts clés et les mesures à prendre recommandées.

Configurer votre application

Toutes les interactions programmatiques avec Google Classroom nécessitent un projet Google Cloud. Vous configurerez la fiche de votre application dans le même projet Cloud, qui définit la façon dont votre module complémentaire Classroom s'affichera pour les utilisateurs finaux. Vous fournirez des icônes, définirez le nom et la description de l'application, et configurerez les autorisations du champ d'application OAuth requises par votre produit.

L'installation de votre application de module complémentaire à partir de la fiche est souvent la seule étape de configuration que les utilisateurs finaux doivent effectuer. Cela revient à activer et déployer un outil LTI. Les utilisateurs finaux n'ont pas besoin d'effectuer d'actions d'enregistrement ni de gérer les détails de configuration. Toutefois, un administrateur peut avoir besoin d'autoriser l'application sur le Marketplace et de configurer les autorisations d'accès aux données tierces.

Recommandation : Suivez notre guide pour créer et configurer un projet Google Cloud pour un module complémentaire Classroom. Plus important encore, spécifiez une URL pour le lancement du module complémentaire en tant qu'URI de découverte des pièces jointes dans le SDK Marketplace. Cette URL peut être identique à un itinéraire de lancement d'outil LTI existant, à condition qu'elle redirige l'utilisateur vers le flux d'authentification approprié.

Flux d'authentification

LTI utilise un flux à deux étapes dans lequel une application cliente et un serveur d'authentification échangent un jeton JWT signé. Les utilisateurs n'ont pas besoin d'accorder l'accès à leurs données à un outil, car le consentement est implicite lorsqu'un administrateur configure l'outil.

En revanche, le flux OAuth de Google est un flux à trois étapes, qui implique l'utilisateur final, l'application cliente externe et le serveur d'authentification. Le client reçoit des jetons avec le consentement explicite de l'utilisateur, qui lui permettent d'accéder aux ressources Google Classroom de l'utilisateur.

Il est possible pour une application de module complémentaire d'obtenir un comportement JWT signé à deux jambes similaire à l'aide de comptes de service. Il s'agit de comptes qui appartiennent à une application plutôt qu'à un utilisateur individuel et qui peuvent effectuer des actions sans le consentement utilisateur. L'utilisation de comptes de service nécessite une configuration et une gestion par l'administrateur. L'utilisation de comptes de service avec délégation au niveau du domaine est fortement déconseillée, car ils peuvent être utilisés à des fins abusives. Pour en savoir plus, consultez notre guide sur la délégation au niveau du domaine avec les intégrations Google Classroom.

Recommandation : Lorsqu'une URL associée à votre outil ou module complémentaire reçoit une requête entrante, vérifiez la présence de paramètres de requête de module complémentaire Classroom dans la requête. Si le SDK Identity de Google est présent, utilisez-le pour obtenir les identifiants d'accès de l'utilisateur. Stockez les identifiants dans la session de l'utilisateur et utilisez-les pour effectuer des requêtes ultérieures à l'API Classroom. Si les paramètres de requête ne sont pas présents, utilisez des requêtes HTTP pour interagir avec les points de terminaison LTI de la plate-forme.

Créer du contenu de module complémentaire dans Google Classroom

Les modules complémentaires Classroom sont compatibles avec un seul type de contenu : les liens URL vers des pages hébergées en externe. Ces liens sont contenus dans les ressources AddOnAttachment, qui définissent les routes Web à ouvrir lorsqu'un utilisateur interagit avec votre module complémentaire. Chaque URL s'ouvre dans des scénarios spécifiques. Pour en savoir plus, consultez nos guides sur les iFrames. Ces URL sont analogues aux liens de ressources LTI.

Les modules complémentaires Classroom ne sont pas compatibles avec d'autres types de contenus, tels que les fichiers, les images ou les fragments HTML.

Recommandation : lorsqu'un utilisateur sélectionne du contenu dans votre produit, obtenez ses identifiants OAuth et envoyez une requête AddOnAttachments.create. La requête doit contenir un objet AddOnAttachment contenant les URL d'une vue élève, d'une vue enseignant et (facultativement) d'une vue notation. Notez qu'il existe des points de terminaison d'API distincts pour créer des pièces jointes pour les annonces, les devoirs ou les supports de cours. Seules les pièces jointes créées pour les devoirs peuvent être affichées dans la vue "Notation", car il s'agit du seul type d'élément du flux Classroom qui accepte les devoirs des élèves.

Comparaison des fonctionnalités du framework

Emplacements d'intégration

Les modules complémentaires Classroom créent des pièces jointes dans les annonces, les devoirs et les supports de cours. Il s'agit des éléments qui apparaissent dans l'onglet "Flux" d'un cours dans l'interface utilisateur Classroom.

Les enseignants commencent le processus de création de pièces jointes de modules complémentaires en sélectionnant un module complémentaire dans un sélecteur du flux de création de devoirs. Pour obtenir une description détaillée de chaque vue présentée aux utilisateurs, consultez les guides sur les iFrames.

Les développeurs peuvent également créer des devoirs par programmation avec des pièces jointes. Pour en savoir plus, consultez notre guide sur la création de pièces jointes en dehors de Google Classroom.

Informations sur le contexte de lancement

L'application Classroom ajoute plusieurs paramètres de requête à chaque URL lorsqu'elle ouvre un itinéraire de module complémentaire. Ils incluent toujours le type d'élément du flux et les identifiants du cours et de l'élément du flux. D'autres informations peuvent être présentes en fonction de la vue de l'iframe, comme les identifiants de pièces jointes ou de devoirs, un jeton pour autoriser la création de pièces jointes ou l'URL permettant de passer d'un lien à une pièce jointe de module complémentaire.

Par défaut, Classroom ne transmet aucune information sur l'utilisateur ni sur l'établissement. Vous pouvez obtenir des informations sur l'utilisateur à partir de la ressource UserProfile de l'API Classroom, y compris un ID utilisateur. Si l'utilisateur est un administrateur de domaine, vous pouvez obtenir des informations sur l'établissement à partir du SDK Admin Workspace.

Authentification et autorisation

Les modules complémentaires Classroom doivent utiliser Se connecter avec Google pour l'authentification des utilisateurs. Une fois connectés, les utilisateurs accordent des autorisations à votre application via les champs d'application OAuth 2.0. Votre application peut utiliser n'importe quelle combinaison de habilitations OAuth disponibles.

Découverte et configuration des applications

Les utilisateurs peuvent trouver et "installer" des modules complémentaires Classroom sur Google Workspace Marketplace. L'installation en un clic permet à un enseignant d'accéder à une application de module complémentaire. Si vous le souhaitez, un administrateur peut installer l'application de module complémentaire pour tous les enseignants d'une unité organisationnelle ou d'un domaine. Les pièces jointes créées avec l'application sont ensuite accessibles à tous les élèves d'un cours. Les utilisateurs finaux n'ont pas besoin de gérer les jetons, les clés ni les identifiants pour les modules complémentaires individuels Classroom.

UX et parcours produit

Dans de nombreux cas, le flux de produits existant d'un outil LTI fonctionne bien en tant que module complémentaire Classroom. Comme un outil LTI, un module complémentaire Classroom vous permet essentiellement de créer et de gérer des liens vers vos contenus sur notre plate-forme. Les pièces jointes des modules complémentaires Classroom sont semblables aux liens profonds LTI. Si votre outil LTI crée des URL qui pointent vers votre contenu hébergé, il devrait bien fonctionner en tant que module complémentaire Classroom.

Évaluer les devoirs des élèves

Les pièces jointes de modules complémentaires Classroom peuvent être consultées et notées dans la vue du correcteur Classroom. Lorsque vous joignez du contenu qui nécessite un devoir de la part des élèves, vous fournissez un student_work_review_uri où un enseignant peut consulter et noter le travail d'un élève en particulier. Cela diffère de LTI, où un outil ne définit qu'un target_link_uri commun aux enseignants et aux élèves. L'implémentation des modules complémentaires Classroom est très similaire au futur service d'examen des devoirs LTI.