Mettez en pratique vos compétences dans la console Google Cloud
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.
Développement d'applications : Développer un service de backend – Python
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
Google App Engine vous permet de gérer les ressources depuis la ligne de commande, de déboguer le code source en production et d'exécuter les backends d'API. Cet atelier traite en particulier du service de backend, de la mise en place des services et API Pub/Sub, Natural Language et Spanner pour recueillir et analyser les commentaires et les scores à partir d'une application Quiz en ligne.
Objectifs
Dans cet atelier, vous allez réaliser les tâches suivantes :
Créer et publier des messages dans un sujet Cloud Pub/Sub
Créer un abonnement au sujet pour recevoir les messages dans une application de nœud de calcul distincte
Utiliser l'API Cloud Natural Language Machine Learning
Créer et configurer une instance de base de données Cloud Spanner, puis ajouter des données dans la base de données
Prérequis
Prérequis de l'atelier
Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.
Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.
Vérifiez le temps imparti pour l'atelier (par exemple : 01:15:00) : vous devez pouvoir le terminer dans ce délai.
Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début.
Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.
Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.
Cliquez sur Ouvrir la console Google.
Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
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.
Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".
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 :
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 :
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éparer l'application Quiz
Dans cette section, vous allez accéder à Cloud Shell et saisir des commandes pour :
cloner le dépôt git contenant l'application Quiz ;
Dans cette section, vous allez ouvrir deux fenêtres Cloud Shell, l'une pour la partie Web de l'application Quiz, l'autre pour la partie nœud de calcul de l'application qui gère la console.
Changez de répertoire de travail :
cd ~/pubsub-languageapi-spanner/start
Exécutez un script pour configurer l'application Web :
Ce fichier de script :
crée et configure un compte de service GCP pour permettre à votre application d'accéder aux services GCP ;
crée une application App Engine ;
exporte les variables d'environnement GCLOUD_PROJECT, GCLOUD_BUCKET et GOOGLE_APPLICATION_CREDENTIALS ;
crée un environnement Python isolé virtualenv pour Python 3 et l'active ;
met à jour pip, puis exécute la commande pip install -r requirements.txt ;
crée des entités dans Cloud Datastore ;
affiche l'ID du projet Google Cloud Platform.
. prepare_web_environment.sh
Exécutez l'application Web :
python run_server.py
Une fois l'application en cours d'exécution, un message semblable à l'exemple de résultat ci-dessous s'affiche :
Exemple de résultat :
* Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 110-448-781
Remarque : Si vous recevez un message d'erreur indiquant que le compte de service n'a pas d'accès storage.buckets.get au bucket Google Cloud Storage, les autorisations n'ont peut-être pas encore été propagées au compte de service. Exécutez la commande Python jusqu'à ce qu'elle indique que le script est en cours d'exécution.
Cliquez sur Open a new tab (Ouvrir un nouvel onglet) (+) à droite de l'onglet Cloud Shell pour ajouter une deuxième fenêtre Cloud Shell. Cette fenêtre exécute l'application du nœud de calcul (console).
Dans la seconde fenêtre, modifiez le répertoire de travail :
cd ~/pubsub-languageapi-spanner/start
Exécutez l'application du nœud de calcul dans la seconde fenêtre Cloud Shell :
. run_worker.sh
Ce fichier de script :
exporte les variables d'environnement GCLOUD_PROJECT, GCLOUD_BUCKET et GOOGLE_APPLICATION_CREDENTIALS ;
active un environnement virtualenv pour Python 3 ;
exécute l'application du nœud de calcul python -m quiz.console.worker.
Vérifier l'application Quiz
Dans Cloud Shell, cliquez sur Web preview > Preview on port 8080 (Aperçu sur le Web > Prévisualiser sur le port 8080) pour prévisualiser l'application Quiz.
Dans la barre de navigation, cliquez sur Take Test (Faire le test).
Cliquez sur Places (Lieux).
Répondez à la question.
Une fois que vous avez répondu à la question, un dernier écran apparaît, vous invitant à laisser un commentaire.
Vous pouvez saisir des informations dans le formulaire, mais le bouton Send Feedback (Envoyer des commentaires) ne fonctionne pas encore.
Revenez à la première fenêtre Cloud Shell, puis appuyez sur Ctrl+c pour arrêter l'application Web.
Examiner le code de l'application Quiz
Au cours de cet atelier, vous allez afficher et modifier des fichiers. Vous pouvez utiliser les éditeurs de script installés sur Cloud Shell, tels que nano ou vim, ou encore l'éditeur de code intégré de Cloud Shell.
Cet atelier examine le code de l'application Quiz à l'aide de l'éditeur de code Cloud Shell.
Lancer l'éditeur de code Cloud Shell
Dans Cloud Shell, cliquez sur Open Editor (Ouvrir l'éditeur) pour lancer l'éditeur de code, puis sur Open in new window (Ouvrir dans une nouvelle fenêtre).
Examiner la structure du code de l'application GCP
Accédez au dossier /pubsub-languageapi-spanner/start dans le panneau de l'explorateur de fichiers situé à gauche de l'éditeur.
Sélectionnez le fichier pubsub.py dans le dossier .../quiz/gcp.
Ce fichier contient un module permettant aux applications de publier des commentaires dans un sujet Cloud Pub/Sub et d'enregistrer un rappel pour recevoir des messages à partir d'un abonnement Cloud Pub/Sub.
Sélectionnez le fichier languageapi.py dans le dossier .../quiz/gcp.
Ce fichier contient un module permettant aux utilisateurs d'envoyer du texte à l'API Cloud Natural Language ML et de recevoir de celle-ci le résultat de l'analyse (score) des sentiments.
Sélectionnez le fichier spanner.py.
Ce fichier contient un module permettant aux utilisateurs d'enregistrer les commentaires et les données de réponse de l'API Natural Language dans une instance de base de données Cloud Spanner.
Examiner le code de l'application Web
Sélectionnez le fichier api.py dans le dossier .../quiz/api.
Le gestionnaire des messages POST envoyés à la route /api/quizzes/feedback/:quiz publie sur Pub/Sub les données de commentaires reçues du client.
Sélectionnez le fichier worker.py dans le dossier .../quiz/console.
Ce fichier s'exécute en tant qu'application de console distincte pour consommer les messages distribués à un abonnement Pub/Sub.
Utiliser Cloud Pub/Sub
Dans cette section, vous allez créer un sujet et un abonnement Cloud Pub/Sub dans votre projet Google Cloud Platform, publier un message et le récupérer.
Créer un sujet Cloud Pub/Sub
Dans la console Cloud Platform, cliquez sur le menu de navigation > Pub/Sub > Topics (Sujets).
Cliquez sur Create a topic (Créer un sujet).
Dans le champ Topic ID (ID du sujet), saisissez feedback, puis cliquez sur Create Topic (Créer un sujet).
Créer un abonnement Cloud Pub/Sub
Revenez à la seconde fenêtre Cloud Shell, puis appuyez sur Ctrl+c pour arrêter l'application.
Créez un abonnement Cloud Pub/Sub nommé worker-subscription pour le sujet feedback :
Publier des messages sur Cloud Pub/Sub par programmation
Rédiger le code permettant de publier des messages sur Cloud Pub/Sub
Importer et utiliser le module Python Cloud Pub/Sub
Dans cette section, vous allez modifier ...quiz/gcp/pubsub.py afin qu'il effectue les tâches suivantes :
Ouvrez le fichier ...quiz/gcp/pubsub.py dans l'éditeur.
Chargez le module pubsub_v1 à partir du package google.cloud.
quiz/gcp/pubsub.py
# TODO: Load the Cloud Pub/Sub module
from google.cloud import pubsub_v1
# END TODO
Créez un client éditeur Cloud Pub/Sub.
# TODO: Create a Pub/Sub Publisher Client
publisher = pubsub_v1.PublisherClient()
# END TODO
Récupérez le chemin d'accès complet faisant référence au sujet Pub/Sub feedback que vous avez créé précédemment.
# TODO: Create Topic Object to reference feedback topic
topic_path = publisher.topic_path(project_id, 'feedback')
# END TODO
L'éditeur Cloud Shell n'est pas configuré pour utiliser la même version de Python que celle de l'application. Il est donc possible que lint signale de fausses erreurs.
Rédiger le code permettant de publier un message dans Cloud Pub/Sub
Dans la fonction publish_feedback(feedback), publiez un message dans le sujet feedback.
quiz/gcp/pubsub.py, fonction publish_feedback(feedback)
# TODO: Publish the feedback object to the feedback topic
payload = json.dumps(feedback, indent=2,
sort_keys=True)
data = payload.encode('utf-8')
future = publisher.publish(topic_path, data=data)
return future.result()
# END TODO
Enregistrez le fichier.
Rédiger le code qui exploite la fonctionnalité de publication Pub/Sub
Dans le fichier .../quiz/api/api.py, chargez le module pubsub à partir du package quiz.gcp.
quiz/api/api.py
# TODO: Add pubsub to import list
from quiz.gcp import datastore, pubsub
# END TODO
Dans la fonction publish_feedback(feedback), supprimez l'instruction d'espace réservé pass, appelez la fonction pubsub.publish_feedback(feedback), puis renvoyez une réponse au client indiquant que les commentaires ont été reçus.
quiz/api/api.py, fonction publish_feedback(feedback)
# TODO: Publish the feedback using your pubsub module,
# return the result
result = pubsub.publish_feedback(feedback)
response = Response(json.dumps(result, indent=2,
sort_keys=True))
response.headers['Content-Type'] = 'application/json'
return response
# END TODO
Enregistrez le fichier.
Exécuter l'application et créer un message Pub/Sub
Dans le premier onglet Cloud Shell, redémarrez l'application Web (si elle est en cours d'exécution, arrêtez-la et démarrez-la).
Prévisualisez l'application Web.
Cliquez sur Take Test (Faire le test).
Cliquez sur Places (Lieux).
Répondez à la question, sélectionnez une note, saisissez un commentaire, puis cliquez sur Send Feedback (Envoyer des commentaires).
Dans la seconde fenêtre Cloud Shell, saisissez la commande suivante pour extraire un message de worker-subscription :
Arrêtez l'application Web dans le premier onglet Cloud Shell.
S'abonner à des sujets Cloud Pub/Sub par programmation
Dans cette section, vous allez rédiger le code qui permet de créer un abonnement à un sujet Cloud Pub/Sub et de recevoir des notifications de message dans l'application de console du nœud de calcul.
Rédiger le code qui crée un abonnement Cloud Pub/Sub et permet de recevoir des messages
Revenez au fichier ...quiz/gcp/pubsub.py.
Déclarez un client abonné Cloud Pub/Sub.
/quiz/gcp/pubsub.py
# TODO: Create a Pub/Sub Subscriber Client
sub_client = pubsub_v1.SubscriberClient()
# END TODO
Obtenez le chemin d'accès complet faisant référence à 'worker-subscription'.
# TODO: Create a Subscription object named
# worker-subscription
sub_path = sub_client.subscription_path(project_id, 'worker-subscription')
# END TODO
Accédez à la fonction pull_feedback(callback) et supprimez l'instruction d'espace réservé pass.
Utilisez le client abonné pour créer l'abonnement au nœud de calcul, en invoquant le rappel lorsqu'un message est reçu.
/quiz/gcp/pubsub.py, fonction pull_feedback(callback)
# TODO: Subscribe to the worker-subscription,
# invoking the callback
sub_client.subscribe(sub_path, callback=callback)
# END TODO
Enregistrez le fichier.
Rédiger le code permettant d'utiliser la fonctionnalité subscribe de Pub/Sub
Dans le fichier ...quiz/console/worker.py, chargez le module pubsub à partir du package quiz.gcp.
console/worker.py
# TODO: Load the pubsub, languageapi and spanner modules from
# the quiz.gcp package
from quiz.gcp import pubsub
# END TODO
Dans la fonction pubsub_callback(message), accusez réception du message.
console/worker.py, fonction pubsub_callback(message)
# TODO: Acknowledge the message
message.ack()
# END TODO
Consignez le message dans la console.
# TODO: Log the message
log.info('Message received')
log.info(message)
# END TODO
Dans la fonction main(), enregistrez la fonction handler en tant que rappel d'abonnement Pub/Sub.
console/worker.py, fonction main()
# TODO: Register the callback
pubsub.pull_feedback(pubsub_callback)
# END TODO
Enregistrez le fichier.
Exécuter l'application Web et l'application du nœud de calcul, et créer un message Pub/Sub
Dans la première fenêtre Cloud Shell, démarrez l'application Web si elle n'est pas déjà en cours d'exécution.
python run_server.py
Dans la seconde fenêtre Cloud Shell, démarrez l'application du nœud de calcul.
. run_worker.sh
Dans Cloud Shell, cliquez sur Web preview > Preview on port 8080 (Aperçu sur le Web > Prévisualiser sur le port 8080) pour prévisualiser l'application Quiz.
Cliquez sur Take Test (Faire le test).
Cliquez sur Places (Lieux).
Répondez à la question, sélectionnez une note, saisissez un commentaire, puis cliquez sur Send Feedback (Envoyer les commentaires).
Revenez à la deuxième fenêtre Cloud Shell.
L'application du nœud de calcul doit normalement indiquer qu'elle a reçu le message de commentaire via son gestionnaire et afficher les détails de celui-ci dans la fenêtre. Le message lui-même est tronqué.
# TODO: Create the Language API client
lang_client = language_v1.LanguageServiceClient()
# END TODO
Accédez à la fonction analyze(text), puis créez un objet Document à transmettre au client Natural Language en attribuant le texte du commentaire au paramètre content.
quiz/gcp/languageapi.py, fonction analyze(text)
# TODO: Create a Document object
doc = language_v1.types.Document(content=text,
type_='PLAIN_TEXT')
# END TODO
Utilisez l'objet client Natural Language pour analyser le sentiment du document.
# TODO: Analyze the sentiment
sentiment = lang_client.analyze_sentiment(
document=doc).document_sentiment
# END TODO
Renvoyez ensuite le score des sentiments à partir de l'API Natural Language.
# TODO: Return the sentiment score
return sentiment.score
# END TODO
Enregistrez le fichier.
Rédiger le code qui exploite les fonctionnalités de l'API Natural Language
Dans le fichier .../quiz/console/worker.py, ajoutez languageapi à l'instruction d'importation.
console/worker.py
# TODO: Load the pubsub, languageapi and spanner modules from
# from the quiz.gcp package
from quiz.gcp import pubsub, languageapi
# END TODO
Dans la fonction pubsub_callback(message), et après le code existant, procédez à la détection des sentiments dans les commentaires.
console/worker.py, function pubsub_callback(message)
# TODO: Use the languageapi module to
# analyze the sentiment
score = languageapi.analyze(str(data['feedback']))
# END TODO
Consignez le score dans la console.
# TODO: Log the sentiment score
log.info('Score: {}'.format(score))
# END TODO
Attribuez une nouvelle propriété de score à l'objet feedback.
# TODO: Assign the sentiment score to
# a new score property
data['score'] = score
# END TODO
Enregistrez le fichier.
Exécuter l'application Web et l'application du nœud de calcul, et tester l'API Natural Language
Revenez à la première fenêtre Cloud Shell.
Exécutez l'application Web.
Accédez à la seconde fenêtre Cloud Shell.
Redémarrez l'application du nœud de calcul.
Prévisualisez l'application Web.
Cliquez sur Take Test (Faire le test).
Cliquez sur Places (Lieux).
Répondez aux questions, sélectionnez une note, saisissez un commentaire, puis cliquez sur Send Feedback (Envoyer des commentaires).
Revenez à la deuxième fenêtre Cloud Shell.
L'application du nœud de calcul a normalement appelé l'API Cloud Natural Language et affiché le score obtenu à l'analyse des sentiments dans la console.
Arrêtez l'application Web et l'application de console.
Faire persister les données dans Cloud Spanner
Dans cette section, vous allez créer une instance, une base de données et une table Cloud Spanner. Ensuite, vous allez rédiger le code faisant persister les données de commentaires dans la base de données.
Créer une instance Cloud Spanner
Revenez à Cloud Console, puis cliquez sur le menu de navigation > Spanner > Create instance (Créer une instance).
Dans le champ Instance name (Nom de l'instance), saisissez quiz-instance.
Dans la section Configuration, sélectionnez la région us-central1.
Cliquez sur Create (Créer).
Créer une base de données et une table Cloud Spanner
Sur la page Instance Details (Détails de l'instance) de quiz-instance, cliquez sur Create database (Créer une base de données).
Dans le champ Database name (Nom de la base de données), saisissez quiz-database.
Sous Define your schema (Définir votre schéma), saisissez l'instruction SQL suivante dans le champ DDL statements (Instructions LDD) :
# TODO: Get a referent to the Cloud Spanner quiz-database
database = instance.database('quiz-database')
# END TODO
Accédez à la fonction saveFeedback(data).
Créez un objet batch de base de données à l'aide d'un bloc with. Un tel objet permet d'effectuer plusieurs opérations pour une base de données Spanner.
quiz/gcp/spanner.py, fonction save_feedback(data)
# TODO: Create a batch object for database operations
with database.batch() as batch:
# END TODO
Créez une clé pour l'entrée de commentaires à partir des propriétés email, quiz et timestamp issues des données. La fonction reverse_email(...) utilise l'adresse e-mail d'entrée pour créer une chaîne inversée servant de clé primaire. Par exemple, app.dev.student@example.com est converti en com_example_student_dev_app.
# TODO: Create a key for the record
# from the email, quiz and timestamp
feedback_id = '{}_{}_{}'.format(
reverse_email(data['email']),
data['quiz'],
data['timestamp'])
# END TODO
Utilisez l'objet batch pour insérer un enregistrement, en utilisant un ensemble de colonnes et de valeurs.
# TODO: Use the batch to insert a record
# into the feedback table
# This needs the columns and values
batch.insert(
table='feedback',
columns=(
'feedbackId',
'email',
'quiz',
'timestamp',
'rating',
'score',
'feedback'
),
values=[
(
feedback_id,
data['email'],
data['quiz'],
data['timestamp'],
data['rating'],
data['score'],
data['feedback']
)
]
)
# END TODO
Enregistrez le fichier.
Rédiger le code qui exploite les fonctionnalités de Cloud Spanner
Dans le fichier .../quiz/console/worker.py, chargez le module spanner.
quiz/console/worker.py
# TODO: Load the pubsub, languageapi and spanner modules
# from the quiz.gcp package
from quiz.gcp import pubsub, languageapi, spanner
# END TODO
Après le code existant dans la fonction pubsub_callback(message), enregistrez les commentaires dans Spanner.
quiz/console/worker.py, fonction pubsub_callback(message)
# TODO: Use the spanner module to save the feedback
spanner.save_feedback(data)
# END TODO
Dans la console, consignez un message indiquant que les commentaires ont été enregistrés.
# TODO: Log a message to say the feedback
# has been saved
log.info('Feedback saved')
# END TODO
Enregistrez le fichier.
Exécuter l'application Web et l'application du nœud de calcul, et tester Cloud Spanner
Enregistrez tous les fichiers, puis redémarrez l'application Web dans la première fenêtre Cloud Shell.
Redémarrez l'application du nœud de calcul dans la deuxième fenêtre Cloud Shell.
Prévisualisez l'application Web.
Cliquez sur Take Test > Places (Faire le test > Lieux).
Répondez aux questions, sélectionnez une note, saisissez un commentaire, puis cliquez sur Send Feedback (Envoyer des commentaires).
Revenez à la deuxième fenêtre Cloud Shell.
Vous devez constater que l'application du nœud de calcul a appelé l'API Cloud Spanner et affiché le message dans la fenêtre de la console.
Revenez à Cloud Platform Console, puis cliquez sur le menu de navigation > Spanner.
Pour exécuter une requête, saisissez SELECT * FROM Feedback dans le champ Query (Requête), puis cliquez sur Run query (Exécuter la requête).
SELECT * FROM Feedback
La base de données Cloud Spanner doit normalement contenir la nouvelle entrée de commentaires, y compris les données de message provenant de Cloud Pub/Sub, ainsi que le score provenant de l'API Cloud Natural Language.
Terminer l'atelier
Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.
Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.
Le nombre d'étoiles correspond à votre degré de satisfaction :
1 étoile = très insatisfait(e)
2 étoiles = insatisfait(e)
3 étoiles = ni insatisfait(e), ni satisfait(e)
4 étoiles = satisfait(e)
5 étoiles = très satisfait(e)
Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.
Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.
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.
Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
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.
En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.
Utilisez la navigation privée
Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
Cliquez sur Ouvrir la console en navigation privée
Connectez-vous à la console
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.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
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
Le meilleur moyen d'exécuter cet atelier consiste à utiliser une fenêtre de navigation privée. 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.
Dans cet atelier, vous allez améliorer l'application Quiz en ligne en développant un service de backend permettant de traiter les commentaires des utilisateurs et d'enregistrer les scores.
Durée :
0 min de configuration
·
Accessible pendant 120 min
·
Terminé après 120 min