Configuration d'un projet Google Cloud

Cette page contient les informations dont vous avez besoin pour créer et configurer des projets Google Cloud pour les modules complémentaires Classroom. Les projets Google Cloud sont utilisés pour implémenter l'authentification unique Google via OAuth 2.0 (authentification unique Google), pour autoriser les requêtes effectuées par votre module complémentaire et pour gérer la fiche d'un module complémentaire dans la boutique Google Workspace Marketplace.

Pour obtenir des informations plus générales sur la publication d'un module complémentaire sur Marketplace, consultez Publier une application.

Création d'un projet Google Cloud

Il existe deux types de projets à créer : un projet privé utilisé pour le développement et un projet public accessible aux utilisateurs finaux. Les libellés "public" et "privé" font référence à la visibilité de votre application dans Google Workspace Marketplace. Une application Marketplace privée ne peut être installée que par les utilisateurs du domaine dans lequel elle a été créée, tandis qu'une application Marketplace publique est disponible pour n'importe quel domaine Google Workspace. Il doit s'agir de deux applications distinctes, car un projet ne peut pas être à la fois public et privé. Les applications publiques doivent être examinées et approuvées avant d'être disponibles sur Marketplace.

Pour obtenir des informations générales sur la création de projets Google Cloud, consultez Créer un projet Google Cloud.

Créer un projet Google Cloud public

Ce projet représente l'application du module complémentaire accessible aux administrateurs, aux enseignants et aux élèves. Un projet public doit être examiné et approuvé par l'équipe Google Workspace Marketplace avant de pouvoir être lancé ou installé.

  1. Créez un projet Google Cloud dans votre domaine de production.

    Créer un projet Google Cloud

  2. Activez l'API Classroom dans votre projet Cloud.

    Activer l'API Classroom

  3. Activez le SDK Google Workspace Marketplace dans votre projet Cloud.

    Activer le SDK Google Workspace Marketplace

  4. Définissez la configuration de l'application du SDK Marketplace visibilité de l'application sur Public et cochez la case Non répertoriée.

  5. Remplissez les champs obligatoires de la page de fiche de la boutique du SDK Marketplace Store Listing, puis cliquez sur PUBLIER.

  6. Votre application sera examinée par l'équipe Google Workspace Marketplace. Elle vous contactera à l'adresse e-mail du développeur spécifiée dans le SDK Marketplace. Une fois l'application approuvée, décochez la case Non répertoriée pour que les enseignants et les administrateurs puissent la trouver sur Marketplace.

Créer un projet Google Cloud privé

Ce projet privé représente l'application du module complémentaire utilisée pour le développement. Il n'est pas accessible aux utilisateurs en dehors du domaine dans lequel il a été créé, mais il n'a pas besoin d'être approuvé avant l'installation. Google vous recommande donc d'utiliser ce projet pour développer et tester votre module complémentaire dans un environnement contrôlé.

Vous devez avoir accès à un domaine Google Workspace for Education avec la licence Teaching &Learning ou Plus pour créer un projet privé. Si vous n'avez pas encore accès à un tel domaine, procédez comme suit pour configurer un domaine de démonstration Google Workspace for Education, le passer à une licence Plus et lui permettre d'accéder à l'API des modules complémentaires Classroom :

  1. Suivez la procédure pour obtenir un domaine de test pour les développeurs.
  2. Connectez-vous en tant qu'administrateur dans le domaine de démonstration, puis créez un projet Google Cloud.

    Créer un projet Google Cloud

    Si vous ne parvenez pas à accéder à la console Google Cloud ni à créer de projets Cloud, vérifiez les éléments suivants dans la console d'administration :

    • Accédez à la page Paramètres du compte > Paramètres d'accès en fonction de l'âge , puis sélectionnez l'option Tous les utilisateurs de ce groupe ou de cette unité organisationnelle ont au moins 18 ans.
    • Sous Applications > Autres services Google :
    • Google Cloud Platform est activé pour tout le monde.
    • Les paramètres de création de projets sont définis sur Autoriser les utilisateurs à créer des projets.
    • Les paramètres d'accès à Cloud Shell sont définis sur Autoriser l'accès à Cloud Shell.
  3. Remplissez et envoyez le formulaire de demande de mise à niveau du domaine de démonstration. En envoyant ce formulaire, vous demandez à Google de passer votre domaine de démonstration à Google Workspace for Education Plus avec dix licences et d'autoriser votre projet Cloud dans l'API des modules complémentaires Classroom.

    Vous recevrez un e-mail une fois les processus de mise à niveau et de liste d'autorisation terminés. Attribuez des licences Plus à vos comptes d'enseignants de test dans la console d'administration. Sous Annuaire > Utilisateurs, créez ou sélectionnez vos comptes d'enseignants de test. Dans la section Licences de chaque enseignant, vérifiez que Google Workspace for Education Plus est attribué.

  4. Activez l'API Classroom dans votre projet Cloud.

    Activer l'API Classroom

  5. Activez le SDK Google Workspace Marketplace dans votre projet Cloud.

    Activer le SDK Google Workspace Marketplace

  6. Définissez la visibilité de l'application dans la configuration de l'application du SDK Marketplace sur privée.

  7. Remplissez les champs obligatoires de la page de fiche de la boutique du SDK Marketplace Store Listing, puis cliquez sur PUBLIER. Une fois la fiche de l'application publiée, les utilisateurs du domaine peuvent la trouver et l'installer dans le Google Workspace Marketplace ou en accédant à l'URL de l'application affichée sur la page de fiche de la boutique.

OAuth 2.0

L'accès à l'API Classroom nécessite le consentement de l'utilisateur pour accéder à ses données. Pour l'obtenir, vous devez demander à Google d'accéder aux champs d'application OAuth pour l'utilisateur connecté et recevoir un jeton qui pourra être utilisé ultérieurement pour effectuer des appels d'API vers Google Classroom. Les champs d'application doivent être configurés dans la fiche de la boutique Google Workspace Marketplace afin que l'administrateur du domaine puisse donner son consentement au nom des utilisateurs de son domaine s'ils installent le module complémentaire.

Étant donné que les champs d'application Classroom sont sensibles, vous devez demander la validation OAuth avant de lancer votre module complémentaire. Sinon, les utilisateurs verront un message d'avertissement indiquant que l'application n'est pas validée, et seul un petit nombre d'utilisateurs pourra accéder à votre produit. Pour en savoir plus sur la validation, consultez la présentation de la séquence d'examen.

Pour obtenir une liste détaillée de tous les champs d'application disponibles et de leurs utilisations, consultez la page Champs d'application OAuth pour les API Google. Pour obtenir des informations générales sur la configuration OAuth, consultez la page Configurer OAuth dans la documentation Workspace.

Autorisations utilisateur

Votre application Web doit demander au moins un des champs d'application suivants :

  • https://www.googleapis.com/auth/userinfo.email, qui permet à une application d'afficher l'adresse e-mail de l'utilisateur.
  • https://www.googleapis.com/auth/userinfo.profile, qui permet à une application d'afficher des informations personnelles telles que le portrait, le prénom et le nom, ainsi que d'autres informations personnelles que l'utilisateur a rendues publiques.

Une fois qu'un utilisateur a autorisé l'un de ces champs d'application dans votre module complémentaire, il est identifié par le paramètre de requête login_hint. Ce paramètre est transmis à n'importe quelle URL de votre application Web lorsqu'un iFrame est ouvert. Si un utilisateur n'a pas autorisé l'un de ces champs d'application, login_hint ne sera pas envoyé.

login_hint est un paramètre OpenID Connect standard que vous pouvez éventuellement transmettre à Google lorsque vous utilisez Google Sign-in ou que vous demandez un jeton OAuth. Il est destiné à simplifier l'expérience d'autorisation pour l'utilisateur final.

Champs d'application des modules complémentaires Classroom

Les champs d'application suivants sont spécifiques aux modules complémentaires Classroom :

  • https://www.googleapis.com/auth/classroom.addons.teacher, qui permet d'accéder à toutes les méthodes d'API.
  • https://www.googleapis.com/auth/classroom.addons.student, qui permet d'accéder aux opérations de validation du lancement et de lecture des pièces jointes.

Même avec un jeton d'accès OAuth valide indiquant les identifiants de l'utilisateur, les appels d'API sont soumis à des exigences supplémentaires :

  • Toutes les méthodes exigent que l'utilisateur soit un enseignant ou un élève du cours spécifié par le courseId dans la requête.
  • La création, la mise à jour, la suppression et la transmission des notes des pièces jointes nécessitent que l'utilisateur soit un enseignant.
  • Les appels à un post Google Classroom spécifique sont soumis aux vérifications suivantes.
    • Lorsqu'un module complémentaire comporte déjà au moins une pièce jointe dans un post, il peut effectuer des requêtes pour :
      • la validation du lancement de l'iFrame ;
      • les opérations de lecture, de mise à jour et de suppression des pièces jointes ;
      • les mises à jour des notes de ce post.
    • Lorsque l'iFrame de découverte des pièces jointes est ouvert pour la première fois, le module complémentaire peut ne pas encore avoir de pièce jointe dans le post. Un paramètre de requête addOnToken est fourni et peut être utilisé pour effectuer des requêtes pour les éléments suivants :
      • Créer une pièce jointe sous le post (le addOnToken est obligatoire)
      • Valider le lancement (le addOnToken est validé s'il est fourni et est obligatoire lorsque le module complémentaire ne comporte pas de pièce jointe existante dans le post)

Validation OAuth

Un module complémentaire Classroom utilise les API Google pour accéder aux données des utilisateurs Google.

Pour en savoir plus sur le processus de validation, consultez les questions fréquentes sur la validation des API OAuth.

Fiche Google Workspace Marketplace

Pour obtenir des informations générales sur la configuration du SDK Google Workspace Marketplace, consultez Activer et configurer le SDK Google Workspace Marketplace et Créer une fiche de boutique Google Workspace Marketplace.

Points à prendre en compte concernant la fiche

La fiche de la boutique du SDK Marketplace de votre projet Google Cloud public spécifie le nom et les descriptions de votre application destinés aux utilisateurs finaux. Vous pouvez fournir ces informations dans plusieurs langues sous Détails de l'application.

Suivez ces consignes dans vos fiches :

  • Sous Détails de l'application:
    • Évitez la ponctuation dans le nom de l'application. Par exemple, utilisez "Mon module complémentaire par Mon entreprise" au lieu de "Mon entreprise : Mon module complémentaire" ou "Mon module complémentaire, par Mon entreprise".
    • La description courte et la description détaillée ne doivent pas contenir exactement le même texte.
    • Assurez-vous d'avoir sélectionné une valeur pour le champ Tarification. Ce champ inclut les options de tarification Sans frais, Payant avec essai sans frais, Payant avec fonctionnalités sans frais et Payant. Vous n'avez pas besoin de spécifier le montant du coût dans la fiche Marketplace.
    • Assurez-vous d'avoir sélectionné une valeur pour le champ Catégorie. Ressources académiques ou Outils pour les enseignants et les administrateurs peuvent être de bons choix pour un module complémentaire Classroom.
    • Pour en savoir plus, consultez les éléments listés dans la description des détails de l'application App details description sur Marketplace.

S'intégrer aux services de gestion des licences et de facturation de Google

Si vous souhaitez que vos applications Google Workspace Marketplace s'intègrent aux services de gestion des licences et de facturation de Google, consultez l'API Marketplace.

Paramètres d'installation

Les modules complémentaires peuvent autoriser l'installation individuelle en plus de l'installation par un administrateur. Cette page met en évidence certaines différences entre les deux types d'installation. Elle n'est pas destinée à promouvoir l'un ou l'autre type d'installation. Vous pouvez choisir d'autoriser ou non l'installation individuelle dans la page de configuration de l'application du SDK Google Workspace Marketplace.

Installation par un administrateur

Les installations par un administrateur permettent à un administrateur d'ajouter un module complémentaire à tous les comptes d'un domaine ou à des groupes d'accès ou des unités organisationnelles spécifiques. Seul un administrateur de domaine peut effectuer une installation par un administrateur. L'administrateur peut éventuellement accepter tous les champs d'application au nom de tous les utilisateurs du domaine. Les utilisateurs ne sont pas invités à accepter les champs d'application si l'administrateur choisit de le faire.

Voici quelques points à prendre en compte concernant l'installation par un administrateur.

  • Contrôles plus stricts. Les administrateurs peuvent limiter les utilisateurs qui peuvent accéder à un module complémentaire.
  • Compatibilité avec les licences. Si votre application nécessite une licence, le fait de canaliser les installations par le biais d'un administrateur peut vous aider à vous assurer que les licences sont distribuées et utilisées de manière appropriée par l'établissement correspondant.
  • Charge moins importante pour les utilisateurs finaux. Une installation par un administrateur réduit la charge de configuration pour les enseignants et les élèves. Cela peut se traduire par une expérience utilisateur plus fluide, avec moins de clics et moins de risques de confusion.

Pour en savoir plus sur les installations par un administrateur, consultez Installer des applications Marketplace pour votre organisation. Pour en savoir plus sur les unités organisationnelles et les groupes d'accès, consultez Fonctionnement de la structure organisationnelle.

Installation individuelle

Les installations individuelles ajoutent un module complémentaire au compte de l'utilisateur. L'utilisateur est invité à accepter les champs d'application du module complémentaire lors de l'installation.

Voici quelques points à prendre en compte concernant l'installation individuelle.

  • Faciliter l'adoption. Plus d'utilisateurs peuvent voir et installer votre module complémentaire depuis Google Workspace Marketplace. Autoriser l'installation individuelle peut inciter davantage d'enseignants à adopter ou à promouvoir votre produit.
  • Tests par les administrateurs. Un administrateur peut installer individuellement un module complémentaire pour le tester ou l'évaluer avant de l'approuver ou de l'installer pour un groupe plus large.

En plus d'installer des modules complémentaires au nom des utilisateurs, les administrateurs peuvent également tenir une liste d'autorisation pour permettre aux utilisateurs d'installer des modules complémentaires qui autorisent l'installation individuelle. Si un module complémentaire ne figure pas dans la liste d'autorisation, les utilisateurs peuvent toujours voir sa fiche dans Google Workspace Marketplace, mais ne peuvent pas l'installer. Ils voient alors un message expliquant que l'installation du module complémentaire n'a pas été autorisée par un administrateur de domaine. Pour en savoir plus sur ce comportement, consultez Gérer les applications Google Workspace Marketplace dans votre liste d'autorisation.

Pour en savoir plus, consultez la documentation sur les paramètres d'installation de Google Workspace Marketplace installation settings documentation for more information.

Intégration d'une application

Vous devez fournir une URL d'iFrame de lancement dans le champ URI de configuration des pièces jointes. Cette URL est utilisée comme valeur src de l'iFrame de découverte des pièces jointes. L'iFrame de découverte des pièces jointes est utilisé par les enseignants pour trouver du contenu ou des activités à joindre à leur devoir. Il peut être défini dans la console du projet Google Cloud.

Configuration de l'URI iFrame

Les préfixes d'URI pour autoriser les pièces jointes sont utilisés pour valider les URI définis dans un AddOnAttachment à l'aide des méthodes *.addOnAttachments.create et *.addOnAttachments.patch. La validation est une correspondance littérale du préfixe et n'autorise pas l'utilisation de caractères génériques.

Vous devez également spécifier tous les préfixes d'URI à partir desquels les pièces jointes sont autorisées à partir de votre module complémentaire. Cette fonctionnalité renforce la sécurité en empêchant les pièces jointes provenant de sources non autorisées.

Définissez ces deux valeurs dans la page **Configuration de l'application** du SDK Marketplace de votre projet Google Cloud.

Comptes de test

Créez des comptes de test dans votre domaine de démonstration pour vérifier le bon comportement de votre module complémentaire privé. Deux comptes d'élèves sont nécessaires pour tester le passage d'un élève à l'autre dans l'iFrame d'examen des travaux des élèves.

Comptes de test suggérés :

  • Caroline Dupuis, caroline.dupuis@<votre domaine de démonstration>
  • Sam Student, sam.student@<votre domaine de démonstration>
  • Sally Student, sally.student@<votre domaine de démonstration>

Pour créer un compte de test, procédez comme suit :

  1. Connectez-vous à la console d'administration.
  2. Accédez à Utilisateurs.
  3. Cliquez sur Ajouter un nouvel utilisateur (voir la figure 1).
  4. Saisissez les informations de l'utilisateur et attribuez-lui les rôles appropriés.

Cliquez sur &quot;Ajouter un nouvel utilisateur&quot;. Figure 1. Emplacement du lien Ajouter un nouvel utilisateur dans la console d'administration.

Pour créer un groupe de test , procédez comme suit :

  1. Connectez-vous à la console d'administration.
  2. Accédez à Groupes.
  3. Cliquez sur Créer un groupe (voir la figure 2).
  4. Saisissez les membres et les propriétaires du groupe.

Cliquez sur &quot;Créer un groupe&quot;. Figure 2. Emplacement du lien Créer un groupe dans la console d'administration.