Mettez en pratique vos compétences dans la console Google Cloud
Points de contrôle
Create a bucket
Vérifier ma progression
/ 50
Upload objects to your bucket
Vérifier ma progression
/ 50
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 : Stocker des fichiers image et vidéo dans Cloud Storage – 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
Cloud Storage permet de stocker et de récupérer autant de données que vous le souhaitez, à tout moment et à l'échelle mondiale. Vous pouvez utiliser Cloud Storage dans diverses situations, par exemple pour diffuser le contenu d'un site Web, stocker des données pour l'archivage et la reprise après sinistre, ou distribuer des objets de données volumineux aux utilisateurs via le téléchargement direct.
Dans cet atelier, vous allez configurer une application afin qu'elle utilise Cloud Storage pour stocker et récupérer les données de l'application. L'application est un quiz en ligne, et les données sont celles du formulaire, y compris une image que vous pouvez importer depuis votre ordinateur local.
Objectifs
Cet atelier va vous apprendre à effectuer les tâches suivantes :
Configurer Cloud Shell comme environnement de développement
Mettre à jour le code de l'application pour intégrer Cloud Datastore
Utiliser l'application Quiz pour importer un fichier image dans Cloud Storage et afficher l'image dans le quiz
Préparation
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.
Tâche 1 : Créer un environnement virtuel
virtualenv vous permet de créer des environnements virtuels pour les espaces utilisateur afin d'installer différents ensembles de packages Python pour plusieurs projets. L'utilisation de virtualenv vous évite également d'installer des packages Python de manière globale, ce qui peut entraîner l'interruption des outils système ou d'autres projets Python. Dans cet atelier, "virtualenv" permet également de vérifier que Python 3 est utilisé pour toutes les commandes Python.
Configurez un environnement "virtualenv" pour Python 3 :
virtualenv -p python3 vrenv
Activez l'environnement virtuel :
source vrenv/bin/activate
Tâche 2 : Préparer l'application Quiz
Dans cette section, vous allez accéder à Cloud Shell, cloner le dépôt Git qui contient l'application Quiz et exécuter l'application.
Cloner le code source dans Cloud Shell
Pour cloner le dépôt du cours, exécutez la commande suivante :
exporte une variable d'environnement GCLOUD_PROJECT ;
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.
Exécutez l'application :
python run_server.py
L'application est en cours d'exécution lorsque la sortie suivante s'affiche :
* Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 502-577-323
Examiner l'application Quiz
Pour afficher l'application, cliquez sur Web Preview > Preview on port 8080 (Aperçu sur le Web > Prévisualiser sur le port 8080).
Cliquez sur le lien Create Question (Créer une question) dans la barre d'outils.
Un formulaire simple contenant des zones de texte pour la question et les réponses doit s'afficher. Des cases d'option permettent de sélectionner la bonne réponse.
Remarque :
Ce formulaire comporte un champ d'importation de fichiers, qui vous servira à importer des fichiers image ou vidéo. Dans cet atelier, vous importerez un fichier image. Le processus est le même pour les fichiers vidéo.
Tâche 3 : Examiner le code de l'application Quiz
Dans cette section, vous allez examiner le code de l'application de l'étude de cas.
Dans cet atelier, vous afficherez et modifierez 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 Ouvrir l'éditeur > Ouvrir dans une nouvelle fenêtre pour lancer l'éditeur de code.
Examiner le code de l'application
Accédez au dossier /cloudstorage/start à l'aide du panneau de l'explorateur de fichiers situé à gauche de l'éditeur.
Sélectionnez le fichier add.html dans le dossier ...quiz/webapp/templates/.
Ce fichier contient le modèle du formulaire "Create Question" (Créer une question).
Notez que le formulaire a été modifié afin d'utiliser multipart/form-data comme enc-type et que deux nouvelles commandes de formulaire sont apparues :
Une commande d'importation de fichier appelée image
Un champ masqué appelé imageUrl
Sélectionnez le fichier routes.py dans le dossier ...quiz/webapp.
Ce fichier contient le routage du gestionnaire POST qui reçoit les données du formulaire. Il a été modifié afin d'obtenir le fichier image du formulaire.
Sélectionnez le fichier questions.py dans le dossier ...quiz/webapp.
Ce fichier contient le gestionnaire traitant les données du formulaire extraites du fichier routes.py. Vous devez modifier ce fichier afin d'utiliser un nouveau module qui est un client de Cloud Storage.
Sélectionnez le fichier ...quiz/gcp/storage.py.
Il s'agit du fichier dans lequel vous allez écrire du code pour enregistrer les données du fichier image dans Cloud Storage.
Tâche 4 : Créer un bucket Cloud Storage
Dans cette section, vous allez créer un bucket Cloud Storage et exporter une variable d'environnement qui le référence.
Revenez à la ligne de commande Cloud Shell, puis cliquez sur Ouvrir le terminal.
Arrêtez l'application en appuyant sur Ctrl+C.
Créez un bucket Cloud Storage nommé <Project ID>-media :
Vous pouvez créer un bucket à l'aide de la commande gcloud storage buckets create, en indiquant le nom du bucket sous la forme gs://BUCKET_NAME.
Vous pouvez utiliser $DEVSHELL_PROJECT_ID comme préfixe du nom du bucket, suivi de "-media".
Pour exporter le nom du bucket Cloud Storage comme variable d'environnement nommée GCLOUD_BUCKET, exécutez la commande suivante :
export GCLOUD_BUCKET=$DEVSHELL_PROJECT_ID-media
Remarque :
Notez que l'application utilise des variables d'environnement pour la configuration.
L'équipe de développement pourra ainsi déployer l'application en développement, test, préproduction et production simplement en modifiant ces variables.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer un bucket
Tâche 5 : Ajouter des objets à Cloud Storage
Dans cette section, vous allez écrire du code pour enregistrer les fichiers importés dans Cloud Storage.
Remarque : Modifiez ou ajoutez du code entre les commentaires ci-dessous.
// TODO // END TODO
Pour parfaire votre apprentissage, examinez le code, les commentaires intégrés et la documentation sur les API concernées.
Importer et utiliser le module Python Cloud Storage
Dans l'éditeur de code, accédez au début du fichier ...quiz/gcp/storage.py.
Récupérez le nom du bucket à partir de la variable d'environnement GCLOUD_BUCKET.
Importez le module "storage" à partir du package google.cloud.
Créez un client Cloud Storage.
Récupérez la référence du bucket Cloud Storage.
quiz/gcp/storage.py:
# TODO: Get the Bucket name from the GCLOUD_BUCKET environment variable
bucket_name = os.getenv('GCLOUD_BUCKET')
# END TODO
# TODO: Import the storage module
from google.cloud import storage
# END TODO
# TODO: Create a client for Cloud Storage
storage_client = storage.Client()
# END TODO
# TODO: Use the client to get the Cloud Storage bucket
bucket = storage_client.get_bucket(bucket_name)
# END TODO
Rédiger du code pour envoyer un fichier vers Cloud Storage
Toujours dans le fichier storage.py, dans la fonction upload_file(...), supprimez l'instruction "pass" existante, puis utilisez le client Cloud Storage pour importer un fichier dans votre bucket Cloud Storage et le rendre public.
Obtenez une référence vers un objet blob Cloud Storage dans le bucket.
Utilisez l'objet blob pour importer l'image.
Rendez le fichier public.
Renvoyez l'URL publique du blob.
quiz/gcp/storage.pyupload_file(...) function:
"""
Uploads a file to a given Cloud Storage bucket and returns the public url
to the new object.
"""
def upload_file(image_file, public):
pass
# TODO: Use the bucket to get a blob object
blob = bucket.blob(image_file.filename)
# END TODO
# TODO: Use the blob to upload the file
blob.upload_from_string(
image_file.read(),
content_type=image_file.content_type)
# END TODO
# TODO: Make the object public
if public:
blob.make_public()
# END TODO
# TODO: Modify to return the blob's Public URL
return blob.public_url
# END TODO
Enregistrez storage.py.
Rédiger du code pour utiliser la fonction Cloud Storage
Dans l'éditeur, accédez au début du fichier ...quiz/webapp/questions.py.
Modifiez l'instruction "import" pour utiliser votre client de stockage ainsi que le client de datastore.
Pour la fonction upload_file(...), utilisez votre client de stockage pour importer un fichier et attribuer l'URL publique renvoyée à une variable.
Modifiez l'instruction "return" pour renvoyer l'URL publique.
Pour la fonction save_question(...), faites un test pour vérifier que image_file est bien présent.
S'il est présent, utilisez la fonction upload_file(...) et attribuez l'URL publique à une propriété d'entité nommée "imageUrl".
Sinon, attribuez une chaîne vide à la propriété d'entité "imageUrl".
quiz/webapp/questions.py:
# TODO: Import the storage module
from quiz.gcp import storage, datastore
# END TODO
"""
uploads file into google cloud storage
- upload file
- return public_url
"""
def upload_file(image_file, public):
if not image_file:
return None
# TODO: Use the storage client to Upload the file
# The second argument is a boolean
public_url = storage.upload_file(
image_file,
public
)
# END TODO
# TODO: Return the public URL
# for the object
return public_url
# END TODO
"""
uploads file into google cloud storage
- call method to upload file (public=true)
- call datastore helper method to save question
"""
def save_question(data, image_file):
# TODO: If there is an image file, then upload it
# And assign the result to a new Datastore
# property imageUrl
# If there isn't, assign an empty string
if image_file:
data['imageUrl'] = str(
upload_file(image_file, True))
else:
data['imageUrl'] = u''
# END TODO
data['correctAnswer'] = int(data['correctAnswer'])
datastore.save_question(data)
return
Enregistrez questions.py.
Exécuter l'application et créer un objet Cloud Storage
Revenez à Cloud Shell pour exécuter l'application :
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 le lien Create Question (Créer une question).
Remplissez le formulaire avec les valeurs suivantes, puis cliquez sur Save (Enregistrer).
Champ du formulaire
Valeur
Author (Auteur)
Votre nom
Quiz
Google Cloud Platform
Title (Titre)
À quel produit correspond ce logo ?
Image
Importez le fichier Google_Cloud_Storage_logo.png que vous avez précédemment téléchargé
Answer 1 (Réponse 1)
App Engine
Answer 2 (Réponse 2)
Cloud Storage (cochez la case d'option "Answer 2")
Answer 3 (Réponse 3)
Compute Engine
Answer 4 (Réponse 4)
Kubernetes Engine
Revenez à la console Cloud et accédez au menu de navigation > Cloud Storage.
Sur la page Cloud Storage > Buckets, cliquez sur le bucket nommé <Project ID>-media.
Vous devriez voir votre nouvel objet nommé Google_Cloud_Storage_logo.png.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Importez des objets dans le bucket.
Exécuter l'application cliente et tester l'URL publique de Cloud Storage
Ajoutez /api/quizzes/gcp à la fin de l'URL de l'application.
Les données JSON ont normalement été renvoyées au client correspondant à la question que vous avez ajoutée dans l'application Web.
La propriété imageUrl doit avoir une valeur correspondant à l'objet dans Cloud Storage.
Revenez à la page d'accueil de l'application et cliquez sur le lien Take Test (Faire le test).
Cliquez sur GCP, puis répondez à chaque question.
Lorsque vous arrivez à la question que vous venez d'ajouter, vous devriez voir que l'image a été mise en forme dans l'application Web côté client.
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 ajouterez des images et des vidéos à une application. Vous stockerez également des fichiers en tant qu'objets dans un bucket Cloud Storage.
Durée :
0 min de configuration
·
Accessible pendant 60 min
·
Terminé après 60 min