Présentation

Les devoirs dans Classroom sont appelés "éléments de cours". Vous les trouverez sur la page "Travaux et devoirs" de n'importe quel cours Classroom. Il existe quatre types d'éléments de devoirs, mais ce guide ne concerne que le type "Devoir". Pour savoir comment gérer les autres types de devoirs et travaux, consultez notre guide de gestion de Classwork.

Google Classroom propose deux façons d'intégrer un workflow de devoir : le bouton "Partager" de Classroom et l'API Classroom. Le bouton de partage permet aux utilisateurs de partager du contenu en tant qu'élément de flux via une boîte de dialogue pop-up Classroom, tandis que l'API Classroom permet un workflow de devoirs de bout en bout qui comprend la création de devoirs, la création et la gestion des devoirs des élèves, ainsi que la transmission des notes.

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

Comprendre le cycle de vie des devoirs

Avant de passer aux différences entre le bouton de partage et l'API CourseWork, définissons d'abord 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.

Voici les cinq étapes principales à suivre lors de l'intégration des devoirs Classroom:

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

L'intégration des devoirs Classroom permet aux enseignants et aux élèves de passer facilement d'une application à l'autre. Au lieu de gérer les détails d'un devoir ou des devoirs envoyés par les élèves, les utilisateurs peuvent compter sur votre application pour les gérer à leur place.

Schéma illustrant les cinq étapes d'un devoir

Implémentation

La première différence entre le bouton de partage et l'API CourseWork concerne 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 suffit d'inclure la ressource JavaScript nécessaire et d'ajouter une balise de bouton de partage. Dans sa forme la plus simple, l'intégration du bouton de partage Classroom peut ressembler à l'extrait de code ci-dessous:

<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, en revanche, fait partie de l'API REST de l'API Google Classroom, ce 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 à une API. Ce problème est moins préoccupant si votre plate-forme exploite déjà d'autres fonctionnalités de l'API Classroom, comme la mise en place de listes de cours.

Créer et partager des devoirs

Bien que le bouton de partage et l'API CourseWork permettent de créer et de partager le devoir avec les élèves, les deux solutions présentent des différences cruciales que vous devez prendre en compte avant de choisir une solution.

Au fond, les deux solutions permettent de publier des liens ou des fichiers en tant que devoirs dans Classroom. Il s'agit d'un workflow efficace pour les enseignants qui seraient autrement obligés de copier-coller des éléments entre Classroom et l'application tierce. Bien que les deux solutions permettent de publier du contenu en tant que devoir, vous devez déterminer si votre application a besoin de la flexibilité de publier ce contenu en tant qu'autres types de devoirs ou même en tant qu'annonce.

Les deux offres exposent tous les types de posts Classroom, à l'exception des devoirs de 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: Multiple Choice X X
Matière 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 par programmation 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 personnalisé et le nombre de points dans la boîte de dialogue pop-up, ils ne peuvent pas être définis par programmation par une application tierce. En revanche, l'API expose tous ces champs pour un accès en lecture et en écriture.

Modifier les devoirs

L'intégration à l'API Classroom permet aux utilisateurs de ne pas avoir à synchroniser manuellement les informations modifiées de leurs devoirs. Le bouton de partage ne permet pas de mettre à jour ni de supprimer des devoirs de manière programmatique. Par conséquent, toute modification nécessaire doit être effectuée par l'utilisateur via l'interface utilisateur de Classroom.

L'API CourseWork permet 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 toutefois important de noter que les éléments CourseWork non créés par la même console de développement ne peuvent pas être modifiés par cette console. Ce modèle d'autorisation s'étend au reste du cycle de vie du devoir. Par exemple, vous ne pouvez pas accéder à la gestion des devoirs et des notes des élèves pour ces éléments CourseWork.

Synchroniser automatiquement les devoirs

Avec les notifications push 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 des élèves associés. Cela permet à votre application de synchroniser facilement les devoirs en éliminant la nécessité de vérifier en permanence si le contenu a été mis à jour dans Classroom.

Réaliser et rendre des devoirs

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

Le bouton de partage et l'API CourseWork permettent d'ajouter des liens ou des fichiers à un devoir envoyé par un élève. Le bouton de partage permet cela via un workflow semblable à celui de la boîte de dialogue de création de devoirs par l'enseignant et à l'API CourseWork via le point de terminaison studentSubmissions.modifyAttachments. Toutefois, en raison des restrictions d'autorisation des API décrites 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 workflow des élèves

Bien que la restriction d'autorisation CourseWork ne soit pas adaptée aux plates-formes qui ne permettent pas de créer de devoirs, les plates-formes tierces peuvent empêcher les élèves de rendre un devoir incorrect et d'oublier de rendre leur travail, car seul le bouton de partage est limité pour les élèves.

Corriger et noter les devoirs

La dernière partie du cycle de vie du devoir revient à l'enseignant. Une fois que les élèves ont rendu leur devoir, l'enseignant peut le corriger de la manière la plus adaptée. S'il s'agit de fichiers stockés dans Drive, ils peuvent les consulter directement dans l'outil de notation de Classroom. Toutefois, les applications tierces ne sont pas accessibles dans le correcteur Classroom. Cela signifie que les enseignants doivent parcourir plusieurs onglets lorsqu'ils corrigent et évaluent les devoirs.

Le bouton de partage n'offre actuellement aucune solution pour noter et rendre les devoirs. Bien que des fonctionnalités telles que les commentaires sur les devoirs des élèves ne soient pas actuellement exposées via l'API, il est possible de noter et de renvoyer 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 de devoirs et de questions). Elles ne sont disponibles qu'au format numérique et peuvent être attribuées en tant que note provisoire ou finale.

Résumé des différences

Pour résumer tout ce qui a été examiné dans les sections précédentes, le tableau ci-dessous présente une comparaison côte à côte du bouton de partage et de l'API CourseWork pour les quatre catégories abordées ci-dessus: implémentation, création et partage de devoirs, réalisation et soumission de devoirs, et correction et notation des devoirs.

Bouton "Partager" API CourseWork
Implémentation Quelques lignes de code JavaScript seulement, ce qui facilite et accélère l'implémentation Nécessite de configurer des clés API, d'activer les API dans la console d'administration et de surveiller de plus près
Créer et partager des devoirs
  • Redirige les enseignants vers la boîte de dialogue de partage du bouton de partage dans 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, mais pas de récupérer ni de modifier les données des devoirs
  • Boîte de dialogue du bouton "Partager" inutile
  • Vous pouvez spécifier la plupart des champs des devoirs Classroom.
  • Possibilité de modifier les cours créés par votre application
  • Permet à votre application d'extraire toutes les données des devoirs depuis Classroom
Réaliser et envoyer des devoirs
  • Redirige les élèves vers la boîte de dialogue de partage du bouton de partage dans Classroom
  • Permet aux élèves de joindre leur devoir à n'importe quel devoir Classroom
  • L'une permet d'ajouter une pièce jointe à l'envoi, mais ne permet pas d'extraire ni de modifier les données d'envoi.
  • Les élèves ne peuvent pas rendre le devoir
  • Boîte de dialogue du bouton "Partager" inutile
  • Les élèves ne peuvent joindre leur devoir qu'aux devoirs créés par votre application.
  • Autorise votre application à modifier les devoirs créés par les élèves
  • Permet aux élèves de rendre leurs devoirs
Corriger les devoirs Impossible de spécifier ou de renvoyer des notes
  • Permet à votre application d'extraire toutes les données de devoirs envoyés par les élèves depuis Classroom au nom d'un enseignant
  • Permet d'attribuer des notes aux élèves, soit sous forme de brouillon, soit sous forme finale
  • Permet de modifier les notes des élèves
  • Permet d'envoyer les notes aux élèves