Instructions et exigences de configuration de l'atelier
Protégez votre compte et votre progression. Utilisez toujours une fenêtre de navigation privée et les identifiants de l'atelier pour exécuter cet atelier.

Utiliser Cloud Pub/Sub avec Cloud Run [APPRUN]

Atelier 1 heure 15 minutes universal_currency_alt 5 crédits show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Ce contenu n'est pas encore optimisé pour les appareils mobiles.
Pour une expérience optimale, veuillez accéder à notre site sur un ordinateur de bureau en utilisant un lien envoyé par e-mail.

Présentation

Pub/Sub permet aux applications de bénéficier de files d'attente de messages efficaces. Ce service est compatible avec de nombreux services Google Cloud. Dans cet atelier, vous allez apprendre à l'intégrer à Cloud Run.

Cet atelier consiste à résoudre un cas d'utilisation client à l'aide d'une infrastructure sans serveur. L'atelier comporte trois grandes sections qui permettent de résoudre un problème technique :

  • Présentation de la situation
  • Recueil des exigences
  • Développer un produit minimum viable

Objectifs

Dans cet atelier, vous apprendrez à effectuer les tâches suivantes :

  • Activer l'API Cloud Run
  • Déployer des microservices sur Cloud Run
  • Créer un sujet Pub/Sub
  • Appeler un service Cloud Run à partir d'un abonnement Pub/Sub

Prérequis

Ces ateliers nécessitent des connaissances intermédiaires sur Google Cloud. Bien que les étapes requises soient abordées dans le contenu, il peut être utile de connaître certains des produits suivants :

  • Pub/Sub
  • Cloud Run

Préparation

Avant de cliquer sur le bouton "Démarrer l'atelier"

Remarque : Lisez ces instructions.

Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.

Cet atelier pratique Google Skills vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour vous connecter à Google Cloud le temps de l'atelier.

Conditions requises

Pour réaliser cet atelier, vous devez :

  • avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome) ;
  • disposer de suffisamment de temps pour effectuer l'atelier en une fois.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier. Remarque : Si vous utilisez un Pixelbook, veuillez exécuter cet atelier dans une fenêtre de navigation privée.

Démarrer votre atelier et vous connecter à la console

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous verrez un panneau contenant les identifiants temporaires à utiliser pour cet atelier.

    Panneau d'identifiants

  2. Copiez le nom d'utilisateur, puis cliquez sur Ouvrir la console Google. L'atelier lance les ressources, puis la page Sélectionner un compte dans un nouvel onglet.

    Remarque : Ouvrez les onglets dans des fenêtres distinctes, placées côte à côte.
  3. Sur la page "Sélectionner un compte", cliquez sur Utiliser un autre compte. La page de connexion s'affiche.

    Boîte de dialogue "Sélectionner un compte" avec l'option "Utiliser un autre compte" encadrée.

  4. Collez le nom d'utilisateur que vous avez copié dans le panneau "Détails de connexion". Copiez et collez ensuite le mot de passe.

Remarque : Vous devez utiliser les identifiants fournis dans le panneau "Détails de connexion", et non ceux de votre compte Google Skills. Si vous possédez un compte Google Cloud, ne vous en servez pas pour cet atelier (vous éviterez ainsi que des frais vous soient facturés).
  1. Accédez aux pages suivantes :
  • Acceptez les conditions d'utilisation.
  • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
  • Ne vous inscrivez pas aux essais sans frais.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Vous pouvez afficher le menu qui contient la liste des produits et services Google Cloud en cliquant sur le menu de navigation en haut à gauche. Menu de la console Cloud

Activer Google Cloud Shell

Google Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud.

Google Cloud Shell vous permet d'accéder à vos ressources Google Cloud grâce à une ligne de commande.

  1. Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".

    Icône Cloud Shell encadrée

  2. Cliquez sur Continuer.

Le provisionnement et la connexion à l'environnement prennent quelques instants. Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Par exemple :

ID de projet mis en évidence dans le terminal Cloud Shell

gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.

  • Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list

Résultat :

Credentialed accounts: - @.com (active)

Exemple de résultat :

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project =

Exemple de résultat :

[core] project = qwiklabs-gcp-44776a13dea667a6 Remarque : Pour consulter la documentation complète sur gcloud, accédez au guide de présentation de la gcloud CLI.

Présentation de la situation

Logo Critter Junction

Dans cet atelier, vous allez aider l'équipe de développement de Critter Junction à étudier l'utilisation de Pub/Sub pour répondre à ses besoins. L'équipe souhaite savoir comment traiter efficacement les files d'attente dans ses applications.

Recueil des exigences

L'équipe de Critter Junction dispose d'une application Web publique et de plusieurs microservices basés sur Google Cloud. La communication entre les microservices est essentielle et nécessite une forme de messagerie résiliente entre chaque composant d'application.

Les tentatives précédentes de l'équipe de développement ont échoué, car les microservices devaient bien se connaître mutuellement (couplage fort). De plus, si un service était temporairement indisponible, les messages étaient perdus.

L'équipe a besoin d'une solution qui inclut un niveau de résilience sans introduire de dépendances de service supplémentaires (couplage faible) dans ses systèmes. Maintenant que vous en savez un peu plus sur Critter Junction et les problèmes rencontrés, essayez de hiérarchiser les critères clés pour trouver une solution.

Définir les priorités de Critter Junction

Pour déterminer les principaux cas d'utilisation et les priorités, des discussions initiales sont organisées avec les personnes concernées de Critter Junction. Voici les résultats de ces discussions :

Réf.

Récit utilisateur

1

En tant que responsable du développement, je veux m'assurer que la messagerie est résiliente, afin que les opérations de service soient restaurées sans intervention manuelle.

2

En tant que responsable de programme, je veux que les services puissent évoluer de manière fluide afin que la charge transactionnelle supplémentaire n'entraîne pas d'instabilité du système.

3

En tant que responsable des opérations, je souhaite que les services soient gérés afin que le personnel qui effectue des tâches de maintenance importantes n'ait pas besoin d'être réaffecté.

Suite à une discussion avec les responsables d'équipe, voici les tâches de haut niveau qui ont été définies :

Réf.

Critère d'achèvement

1

Établir un composant asynchrone pour la communication entre les services

2

Bénéficier de l'évolutivité éprouvée de la solution

3

Les services doivent s'exécuter sans supervision

L'équipe de Critter Junction souhaite trouver une solution qui peut être implémentée rapidement. Compte tenu des exigences, l'équipe de développement réduit ses options à :

  • Pub/Sub
  • Cloud Tasks

Pour en savoir plus, consultez la page Choisir Pub/Sub ou Cloud Tasks.

Produit

Cas d'utilisation

Choix

Pub/Sub

"Optimal pour des schémas plus généraux d'ingestion et de distribution de données d'événements, dans lesquels un certain contrôle sur l'exécution peut être sacrifié."

Coche verte

Cloud Tasks

"Convient aux cas d'utilisation dans lesquels un producteur de tâches doit différer ou contrôler le temps d'exécution d'un appel webhook ou de procédure distante spécifique."

marque rouge indiquant une réponse incorrecte

Après avoir examiné les exigences, l'équipe de développement choisit Pub/Sub, car elle n'a besoin que d'un modèle de distribution basé sur push. Le schéma simplifié ci-dessous présente le produit minimum viable (MVP, Minimal Viable Product) qu'elle doit examiner.

Schéma de l'architecture du MVP

Dans la solution proposée, Pub/Sub sera utilisé pour gérer les messages asynchrones entre les services.

Tâche 1 : Vérifier que l'API Pub/Sub est activée

Pour vous assurer que vous avez bien accès à l'API requise, réactivez l'API Pub/Sub.

  1. Dans le menu de navigation (menu de navigation) de la console Google Cloud, sous API et services, cliquez sur Bibliothèque.

  2. Dans le champ Rechercher, saisissez Pub/Sub.

  3. Cliquez sur le résultat API Cloud Pub/Sub.

  4. Cliquez sur Gérer.

  5. Cliquez sur Désactiver l'API. Si vous êtes invité à confirmer votre choix, cliquez sur Désactiver.

  6. De même, à l'invite Voulez-vous désactiver l'API Cloud Pub/Sub et les API qui en dépendent, cliquez sur Confirmer.

  7. Pour réactiver l'API, cliquez sur Activer.

    Une fois l'API réactivée, la page affiche des informations à son sujet. Page de présentation de l'API Pub/Sub

Tâche 2 : Développer un produit minimum viable (MVP)

Critter Junction dispose de plusieurs services Cloud Run qu'elle souhaite intégrer à Pub/Sub. Pour créer un MVP, vous devez effectuer les tâches suivantes :

  • Déployer un service producteur
  • Déployer un service client
  • Créer un compte de service
  • Créer un sujet Pub/Sub

Déployer un service producteur

Critter Junction spécifie que le service de magasin externe store doit être configuré en tant que point de terminaison public, avec les exigences suivantes :

Type

Autorisation

Description

Accès par URL

--allow-unauthenticated

Rendre le service PUBLIC (les utilisateurs non authentifiés peuvent le voir)

Autorisation d'appel

allUsers

Autoriser tout le monde à appeler/déclencher le service

Le service producteur de magasin store accepte les connexions Internet publiques pour les bons de commande. Pour cela, le service ne doit pas nécessiter d'authentification et doit pouvoir être déclenché par n'importe qui.

Les informations collectées par ce service seront transmises aux services client de backend.

Configurez et déployez le service store sur Cloud Run. Exécutez les commandes suivantes dans Cloud Shell.

  1. Activez l'API Cloud Run et configurez votre environnement de shell :

    gcloud services enable run.googleapis.com
  2. Créez une variable d'environnement LOCATION :

    LOCATION={{{project_0.default_region|REGION}}}
  3. Définissez la région de calcul :

    gcloud config set compute/region $LOCATION
  4. Déployez le service store :

gcloud run deploy store-service \ --image gcr.io/qwiklabs-resources/gsp724-store-service \ --region $LOCATION \ --allow-unauthenticated

Cliquez sur Vérifier ma progression pour valider l'objectif. Déployer le service "store" Cloud Run

Une fois le service "store" déployé, il est accessible publiquement sur Internet.

Déployer un service client

L'équipe de développement doit également configurer le service de commandes order, qui est accessible via un point de terminaison privé. Contrairement au service store, le service order n'est pas destiné à être accessible publiquement sur Internet. Il ne doit être appelé que par un compte disposant des autorisations appropriées.

Pour les services basés sur Cloud Run, vous pouvez utiliser les paramètres suivants :

Type

Autorisation

Description

Accès par URL

--no-allow-unauthenticated

Rendre le service PRIVÉ (seuls les utilisateurs authentifiés peuvent le voir)

Rôle/Autorisation d'appel

Demandeur Cloud Run

Autoriser uniquement l'appel du service par un compte disposant du rôle "Demandeur Cloud Run"

Configurez et déployez le service order :

gcloud run deploy order-service \ --image gcr.io/qwiklabs-resources/gsp724-order-service \ --region $LOCATION \ --no-allow-unauthenticated

Cliquez sur Vérifier ma progression pour valider l'objectif. Déployer le service "order" Cloud Run

Désormais, seuls les comptes authentifiés peuvent accéder au service et l'appeler.

Présentation de Pub/Sub

Pub/Sub est un service de messagerie asynchrone qui dissocie les services de production d'événements des services de consommation et de traitement des événements.

Concepts de base de Pub/Sub :

  • Sujet
  • Abonnement
  • Message
  • Attribut de message

Pub/Sub nécessite de renseigner quelques options avant de pouvoir être déployé. Dans la console Google Cloud, vous pouvez accéder à Pub/Sub en sélectionnant l'option de menu "Big Data".

Champ

Description

Sujet

Ressource nommée à laquelle les diffuseurs envoient des messages.

Abonnement

Ressource nommée représentant le flux de messages d'un sujet spécifique, à remettre à l'application abonnée. Pour plus de détails sur les abonnements et la sémantique de distribution des messages, consultez Choisir un type d'abonnement.

Message

Combinaison de données et d'attributs (facultatifs) qu'un diffuseur envoie à un sujet et qui est finalement remise aux abonnés.

Attribut de message

Paire clé/valeur qu'un diffuseur peut définir pour un message. Par exemple, la clé iana.org/language_tag et la valeur en pourraient être ajoutées à des messages pour les marquer comme lisibles par un abonné anglophone.

Pub/Sub peut être utilisé dans une grande variété de cas d'utilisation, dont les plus courants sont présentés ci-dessous :

Cas d'utilisation

Exemple

Équilibrage des charges de travail dans les clusters de réseau

Par exemple, une file d'attente importante de tâches peut être efficacement répartie entre plusieurs nœuds de calcul, tels que des instances Compute Engine.

Utilisation de workflows asynchrones

Par exemple, une application de traitement de commandes peut passer une commande dans un sujet, à partir duquel elle peut être traitée par un ou plusieurs nœuds de calcul.

Distribution de notifications d'événements

Par exemple, un service qui accepte les inscriptions d'utilisateurs peut envoyer des notifications chaque fois qu'un nouvel utilisateur s'inscrit, et les services en aval peuvent s'abonner pour recevoir des notifications de l'événement.

Actualisation des caches distribués

Par exemple, une application peut publier des événements d'invalidation pour mettre à jour les ID des objets modifiés.

Journalisation dans plusieurs systèmes

Par exemple, une instance Google Compute Engine peut écrire des journaux dans le système de surveillance, dans une base de données pour l'interroger par la suite, etc.

Transmission de données par flux depuis divers processus ou appareils

Par exemple, un capteur résidentiel peut diffuser des données par flux sur des serveurs backend hébergés dans le cloud.

Amélioration de la fiabilité

Par exemple, un service Compute Engine sur une seule zone peut opérer dans d'autres zones en s'abonnant à un sujet commun pour résoudre des pannes dans une zone ou une région.

Tâche 3 : Déployer Pub/Sub

Maintenant que les services producteur (store service) et client (order service) ont été déployés, vous pouvez vous concentrer sur les principales fonctionnalités de Pub/Sub. L'utilisation de Pub/Sub nécessite deux activités :

  • Créer un sujet
  • Créer un abonnement

Créer un sujet

Lorsqu'un événement asynchrone (push) est créé sur un sujet, les applications abonnées à ce sujet peuvent traiter les messages associés. Le traitement des événements push avec Pub/Sub offre un moyen évolutif de gérer la messagerie sur Google Cloud.

Le nouveau sujet Pub/Sub aura les valeurs suivantes :

Champ

Valeur

Nom

ORDER_PLACED

Chiffrement

Clé gérée par Google

  1. Créez un sujet dans Pub/Sub :
gcloud pubsub topics create ORDER_PLACED Remarque : Les messages envoyés à l'aide de Pub/Sub sont encodés en base64 lors de la transmission et doivent être décodés à la réception.

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer un sujet Pub/Sub

En créant le sujet Pub/Sub, les messages peuvent désormais être stockés et distribués de manière indépendante et résiliente.

Vous allez créer un abonnement dans une tâche ultérieure.

Tâche 4 : Créer un compte de service

Pour envoyer un message Pub/Sub à un service Cloud Run, vous avez besoin d'un abonnement Pub/Sub. L'abonnement doit pouvoir appeler le service à l'aide d'un compte de service disposant des autorisations appropriées. Dans cet atelier, le service order sera appelé par un abonnement à l'aide du compte de service.

Pour implémenter cette fonctionnalité, vous devez effectuer les activités suivantes :

  • Créer un compte de service
  • Associer les autorisations du rôle "Demandeur" au compte de service

Créer un compte de service

Créez un compte de service qui fournira un accès authentifié.

  1. Créez un compte de service nommé Order Initiator :

    gcloud iam service-accounts create pubsub-cloud-run-invoker \ --display-name "Order Initiator"
  2. Vérifiez que le compte de service a bien été créé :

    gcloud iam service-accounts list --filter="Order Initiator"

Cliquez sur Vérifier ma progression pour valider l'objectif.

Créer un compte de service

À ce stade, le compte de service Order Initiator est disponible. Cependant, aucun rôle ni aucune autorisation ne lui sont attribués. Pour lui attribuer des autorisations IAM, vous devez appliquer ou associer des autorisations de rôle au compte de service.

Associer les autorisations de rôle

Pour associer des autorisations à un compte utilisé pour appeler un service sur Cloud Run, vous avez besoin des informations suivantes :

Catégorie

Description

Nom du service

Nom du service déployé à appeler.

Membre

Compte auquel accorder les autorisations du rôle.

Région

Région dans laquelle le service est déployé.

Plate-forme

Type de plate-forme (Cloud Run géré, Cloud Run for Anthos ou Cloud Run for VMware)

  1. Associez le compte de service au rôle Demandeur Cloud Run sur le service order :

    gcloud run services add-iam-policy-binding order-service --region $LOCATION \ --member=serviceAccount:pubsub-cloud-run-invoker@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com \ --role=roles/run.invoker --platform managed

    Le nouveau compte de service dispose désormais des autorisations nécessaires pour appeler un service Cloud Run.

  2. Créez une variable d'environnement pour stocker le numéro de projet :

    PROJECT_NUMBER=$(gcloud projects list \ --filter="qwiklabs-gcp" \ --format='value(PROJECT_NUMBER)')
  3. Autorisez le compte de service du projet à créer des jetons :

    gcloud projects add-iam-policy-binding $GOOGLE_CLOUD_PROJECT \ --member=serviceAccount:service-$PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com \ --role=roles/iam.serviceAccountTokenCreator

Tâche 5 : Créer un abonnement Pub/Sub

Dans cette tâche, vous allez créer l'abonnement Pub/Sub et le configurer pour qu'il utilise le nouveau compte de service.

  1. Créez une variable d'environnement pour stocker le point de terminaison du service order :

    ORDER_SERVICE_URL=$(gcloud run services describe order-service \ --region $LOCATION \ --format="value(status.address.url)")
  2. Créez un abonnement et associez-le au service order :

    gcloud pubsub subscriptions create order-service-sub \ --topic ORDER_PLACED \ --push-endpoint=$ORDER_SERVICE_URL \ --push-auth-service-account=pubsub-cloud-run-invoker@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer un abonnement

Tâche 6 : Tester l'application

Pour tester l'application, envoyez un exemple de charge utile JSON au service "store".

  1. Créez un fichier nommé test.json avec le contenu suivant. Vous pouvez utiliser l'éditeur de votre choix, comme nano, vi ou l'éditeur Cloud Shell.

    { "billing_address": { "name": "Kylie Scull", "address": "6471 Front Street", "city": "Mountain View", "state_province": "CA", "postal_code": "94043", "country": "US" }, "shipping_address": { "name": "Kylie Scull", "address": "9902 Cambridge Grove", "city": "Martinville", "state_province": "BC", "postal_code": "V1A", "country": "Canada" }, "items": [ { "id": "RW134", "quantity": 1, "sub-total": 12.95 }, { "id": "IB541", "quantity": 2, "sub-total": 24.5 } ] }
  2. Créez une variable d'environnement pour stocker le point de terminaison du service store :

    STORE_SERVICE_URL=$(gcloud run services describe store-service \ --region $LOCATION \ --format="value(status.address.url)")
  3. Pour tester la communication entre les microservices et générer un ID de commande, envoyez un message au service store :

    curl -X POST -H "Content-Type: application/json" -d @test.json $STORE_SERVICE_URL

    Le résultat indique qu'une commande a été créée. Il doit ressembler à ceci :

    {"status":"success","order_id":"6pa5mmh"}

Service "store"

Le service store (point de terminaison public) utilise Pub/Sub pour transmettre des informations au service order (point de terminaison privé).

  1. Dans le menu de navigation (menu de navigation) de la console Google Cloud, cliquez sur Cloud Run.

  2. Cliquez sur le lien vers store-service.

  3. Pour afficher les journaux du service, cliquez sur Journaux. Consultez les journaux du service "store" pour afficher l'ID de commande généré.

  4. Ajoutez le filtre de journal ORDER ID pour afficher l'ID généré par le service store.

    Onglet "Journaux" affichant l'ID de commande généré

Service "order"

Le service order reçoit un message du service store transmis avec Pub/Sub.

  1. Consultez les journaux du service "order" pour vérifier que les données JSON ont bien été transférées.

  2. Ajoutez le filtre de journal Order Placed pour afficher l'ID de commande généré qui a été transmis au service order.

    Onglet "Journaux" affichant l'ID de commande passée généré

Critter Junction a mis à jour sa solution pour utiliser Pub/Sub. Le schéma simplifié ci-dessous présente l'architecture de la solution déployée.

Schéma de l'architecture

Vous avez déployé Pub/Sub sur Google Cloud pour permettre la communication asynchrone entre les services Cloud Run.

Félicitations !

Dans cet atelier, vous avez appris à intégrer des services Cloud Run à Pub/Sub dans votre infrastructure Google Cloud. Vous avez appris à :

  • Déployer des services sur Cloud Run
  • Créer un compte de service avec le rôle et les autorisations appropriés
  • Définir un sujet Pub/Sub
  • Associer un abonnement Pub/Sub à un compte de service

Étapes suivantes et informations supplémentaires

Suivez la série de vidéos Serverless Expeditions pour découvrir comment utiliser ces produits dans votre projet.

Dernière mise à jour du manuel : 20 février 2024

Dernier test de l'atelier : 20 février 2024

Copyright 2026 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms de société et de produit peuvent être des marques des sociétés auxquelles ils sont associés.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible

Un atelier à la fois

Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci

Utilisez la navigation privée pour effectuer l'atelier

Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.