Introduction

Dans Classroom, les devoirs sont appelés "éléments CourseWork". Ils figurent sur la page "Travaux et devoirs" de chaque cours Classroom. Il existe quatre types d'éléments de travaux et devoirs, mais ce guide est consacré uniquement au type "Devoir". Pour en savoir plus sur la gestion des autres types de travaux et devoirs, consultez notre guide Gérer les travaux et devoirs.

Google Classroom offre deux méthodes d'intégration au flux de travail des devoirs : le bouton de partage Classroom et l'API Classroom. Le bouton de partage permet aux utilisateurs de partager du contenu sous la forme de n'importe quel élément de flux via une boîte de dialogue pop-up Classroom, tandis que l'API Classroom permet un flux de devoirs de bout en bout comprenant la création des devoirs, ainsi que la création et la gestion des devoirs rendus par les élèves, ainsi que l'envoi de notes.

Nous allons passer en revue les principales différences entre ces deux offres pour les développeurs. Plus précisément, nous examinerons les différences d'implémentation et chaque phase du cycle de vie des devoirs: création du devoir, envoi des élèves, notation et commentaires.

Comprendre le cycle de vie des devoirs

Avant d'aborder les différences entre le bouton de partage et l'API CourseWork, commençons par définir ce que nous considérons comme le cycle de vie d'un devoir dans le contexte de Classroom. Cela vous aidera à comprendre comment les enseignants et les élèves interagissent avec les devoirs dans Classroom.

Lorsque vous intégrez des devoirs Classroom, gardez à l'esprit cinq étapes principales:

  1. Le devoir est créé.
  2. Le devoir est partagé avec les élèves.
  3. L'élève termine son devoir.
  4. L'élève envoie son devoir à l'enseignant.
  5. L'enseignant corrige et note les devoirs.

L'intégration des devoirs Classroom permet aux enseignants et aux élèves de travailler facilement entre Classroom et des applications tierces. Au lieu de gérer les détails d'un devoir ou d'un devoir d'élève, les utilisateurs peuvent s'appuyer sur votre application pour les gérer à leur place.

Diagramme illustrant les cinq étapes d'un devoir

Implémentation

La première différence entre le bouton de partage et l'API CourseWork est l'implémentation. Du point de vue du développeur, le bouton de partage est une méthode plus simple pour partager du contenu dans Classroom, car il ne nécessite que l'inclusion de la ressource JavaScript nécessaire et l'ajout d'un tag de bouton de partage. Dans sa forme la plus simple, l'intégration du bouton de partage Classroom peut se présenter comme suit:

<script src="https://apis.google.com/js/platform.js" async defer></script>
<g:sharetoclassroom url="http://url-to-share" size="32"></g:sharetoclassroom>

L'API CourseWork, quant à elle, fait partie de l'API REST de l'API Google Classroom, qui nécessite de configurer et d'activer des clés API avec la console Google Cloud et de suivre les bonnes pratiques d'intégration avec une API. Ce problème est moins préoccupant si votre plate-forme exploite déjà d'autres fonctionnalités de l'API Classroom, telles que la fonctionnalité de roussage.

Créer et partager des devoirs

Bien que le bouton de partage et l'API CourseWork permettent tous deux d'activer les deux premières étapes du workflow de devoir, la création et le partage du devoir avec les élèves, il existe des différences essentielles que vous devez prendre en compte avant de choisir une solution.

À la base, ces deux solutions permettent de publier des liens ou des fichiers en tant que devoirs dans Classroom. Cela s'avère très efficace pour les enseignants qui se verraient autrement obligés d'effectuer un copier-coller entre Classroom et l'application tierce. Bien que les deux solutions permettent de publier du contenu sous forme de devoir, vous devez déterminer si votre application a besoin de la flexibilité nécessaire pour publier ce contenu sous d'autres types de travaux et devoirs, ou même une annonce.

Les deux offres présentent tous les types de posts Classroom, à l'exception des devoirs avec quiz. Vous trouverez ci-dessous un récapitulatif de tous les types de posts et de leur exposition.

Type de post Bouton "Partager" API CourseWork
Assignment X X
Devoir avec questionnaire
Question: Réponse courte X X
Question: Question à choix multiples X X
Material X X
Annonce X X

Les fonctionnalités telles que la spécification du titre et de la description peuvent également être spécifiées de manière automatisée par votre application pour les deux solutions. Bien que l'intégration du bouton de partage permette aux utilisateurs de définir des champs tels que la date limite, le sujet, le mode individualisé et le nombre de points dans la boîte de dialogue pop-up, ils ne peuvent pas être définis de manière programmatique par une application tierce. En revanche, l'API expose tous ces champs pour l'accès en lecture et en écriture.

Modifier les attributions

L'un des avantages de l'intégration à l'API Classroom est qu'il n'est pas nécessaire que les utilisateurs synchronisent manuellement les modifications apportées à leurs devoirs. Le bouton de partage ne permet pas de mettre à jour ou de supprimer des devoirs de manière programmatique. L'utilisateur doit donc apporter les modifications nécessaires via l'interface utilisateur de Classroom.

L'API CourseWork permet à la fois de modifier et de supprimer les devoirs créés par votre application, ainsi que de récupérer les détails de tous les devoirs publiés dans les cours de l'utilisateur. Il est important de noter toutefois que les éléments CourseWork qui ne sont pas créés par une même console ne peuvent pas être modifiés par celle-ci. Ce modèle d'autorisation s'étend au reste du cycle de vie des devoirs, comme la gestion des devoirs et des notes des élèves, n'est pas accessible pour ces éléments CourseWork.

Synchroniser automatiquement les devoirs

Grâce aux notifications push de Pub/Sub, votre application peut s'abonner à des notifications qui déclenchent un événement en cas de modification des éléments CourseWork et des devoirs associés. Votre application peut ainsi synchroniser facilement les devoirs, sans avoir à vérifier en permanence si le contenu a été mis à jour dans Classroom.

Rendre des devoirs

Chaque devoir est associé à N de devoirs, où N correspond au nombre d'élèves auxquels le devoir a été attribué. En d'autres termes, pour chaque devoir, un devoir est associé à chaque élève, auquel il est possible d'accéder à l'aide d'un identifiant unique. Ces devoirs sont créés automatiquement et peuvent être récupérés par votre application avec les points de terminaison GET et LIST.

Le bouton de partage et l'API CourseWork permettent tous deux d'ajouter des liens ou des fichiers au devoir envoyé par un élève. Pour ce faire, vous pouvez utiliser le bouton de partage via un workflow semblable à celui de la boîte de dialogue de création d'un devoir par l'enseignant et de l'API CourseWork via le point de terminaison studentSubmissions.modifyAttachments. Toutefois, en raison des restrictions d'autorisation d'API détaillées précédemment, cette fonctionnalité est limitée aux éléments CourseWork créés par votre application. Cette restriction ne s'applique pas au bouton de partage : les élèves peuvent ajouter leur travail à n'importe quel devoir qu'ils sélectionnent dans Classroom.

Mettre fin au flux de travail des élèves

Bien que la restriction d'autorisation CourseWork ne s'applique pas aux plates-formes non compatibles avec la création de devoirs, l'un des avantages est que les plates-formes tierces peuvent empêcher les élèves d'envoyer un devoir incorrect et d'oublier de le rendre, car seul le bouton de partage est limité aux élèves.

Corriger et noter des devoirs

La dernière partie du cycle de vie des devoirs revient à l'enseignant. Une fois que les élèves ont remis leur devoir, l'enseignant peut le corriger de la manière qui leur convient le mieux. S'il s'agit de fichiers stockés dans Drive, ils peuvent les corriger directement dans l'outil de notation Classroom. Toutefois, les applications tierces ne sont pas accessibles dans l'outil de notation Classroom. Cette expérience implique que les enseignants doivent parcourir plusieurs onglets pour corriger et noter les devoirs.

Le bouton de partage n'offre actuellement aucune solution pour noter et rendre des devoirs. Bien que des fonctionnalités telles que les commentaires sur les devoirs des élèves ne soient actuellement pas exposées via l'API, il est possible de noter et de rendre ces notes aux élèves via les points de terminaison studentSubmissions.patch et studentSubmissions.return. Les notes ne peuvent être spécifiées que pour les éléments du flux CourseWork (types "Devoir" et "Question"). Elles ne sont disponibles qu'au format numérique et peuvent être attribuées en tant que note finale ou brouillon.

Récapitulatif des différences

Pour résumer tout ce qui a été vu dans les sections précédentes, le tableau ci-dessous montre une comparaison côte à côte du bouton de partage et de l'API CourseWork pour les quatre catégories décrites ci-dessus: l'implémentation, la création et le partage de devoirs, la finalisation et la remise des devoirs, et la correction et la notation des devoirs.

Bouton "Partager" API CourseWork
Implémentation Quelques lignes de JavaScript suffisent pour une implémentation simple et rapide. Nécessite la configuration de clés API, l'activation des API dans la console d'administration et une surveillance plus étroite
Créer et partager des devoirs
  • Les enseignants sont redirigés vers la boîte de dialogue de partage du bouton de partage Classroom.
  • Les utilisateurs peuvent publier tous les types d'éléments de flux, sauf un
  • Vous pouvez spécifier moins de champs
  • L'un permet de créer des devoirs, sans pouvoir en extraire ni modifier les données.
  • Pas de boîte de dialogue du bouton de partage requis
  • Vous pouvez spécifier la plupart des champs d'un devoir Classroom
  • Possibilité de modifier les documents de travail créés par votre application
  • Autorise votre application à extraire toutes les données des devoirs de Classroom
Rendre les devoirs
  • Redirige les élèves vers la boîte de dialogue de partage du bouton de partage Classroom
  • Permet aux élèves de joindre leur travail à n'importe quel devoir Classroom.
  • L'une d'elles permet d'ajouter des pièces jointes aux envois. Il est impossible d'extraire ou de modifier les données envoyées.
  • N'autorise pas les élèves à rendre leur devoir
  • Pas de boîte de dialogue du bouton de partage requis
  • Autorise uniquement les élèves à joindre leurs devoirs aux devoirs créés par votre application
  • Autorise votre application à modifier les devoirs des élèves créés par votre application
  • Permet aux élèves de rendre leurs devoirs
Corriger et noter les devoirs Impossible de spécifier ou de renvoyer des notes
  • Autorise votre application à extraire de Classroom toutes les données envoyées par les élèves pour le compte d'un enseignant.
  • Propose la possibilité d'attribuer les notes des élèves, sous forme de brouillon ou de version définitive.
  • Propose la possibilité de modifier les notes des élèves
  • Propose la possibilité de rendre les notes aux élèves