Créer des dépôts depuis Bitbucket Server

Cloud Build vous permet de créer des déclencheurs à partir de dépôts hébergés sur un serveur Bitbucket Server. Vous pouvez ainsi exécuter des builds en réponse à des événements tels que des transferts ou des demandes d'extraction associées à votre dépôt Bitbucket Server.

Cette page explique comment activer la fonctionnalité de déclenchement sur une instance Bitbucket Server et comment créer des dépôts à partir de Biserver bucket si votre instance est hébergée dans un environnement sur site.

Avant de commencer

  • Activer les API Cloud Build, Secret Manager, and Compute Engine.

    Activer les API

  • Si vous n'avez pas installé d'instance Bitbucket Server, consultez le guide d'installation de Bitbucket Server pour obtenir des instructions.
  • [Facultatif] Si votre instance Bitbucket Server est hébergée dans un environnement sur site, activez l'API Service Networking pour l'appairer à un réseau cloud privé virtuel.

Configuration

Avant de créer un déclencheur Bitbucket Server, vous devez obtenir une clé API pour authentifier et accepter les événements entrants provenant de Bitbucket Server. En outre, vous devez accorder les autorisations IAM dans votre projet Google Cloud pour créer des déclencheurs et générer des jetons d'accès personnels dans Bitbucket Server, afin de créer des webhooks et récupérer les données du dépôt.

Cette section décrit les étapes à suivre avant de créer un déclencheur Bitbucket Server.

Obtenir une clé API

Pour connecter vos dépôts hôtes et authentifier les événements de webhook entrants, vous avez besoin d'une clé API.

Pour obtenir une clé API:

  1. Ouvrez la page Identifiants dans Google Cloud Console:

    Ouvrez la page Identifiants.

  2. Cliquez sur Créer des identifiants.

  3. Cliquez sur Clé API.

    Une boîte de dialogue contenant la clé API s'affiche. Prenez note de votre clé API.

  4. Si vous souhaitez limiter votre clé pour les applications de produits, cliquez sur Restreindre la clé pour effectuer les étapes supplémentaires permettant de sécuriser votre clé. Sinon, cliquez sur Fermer.

    Pour savoir comment restreindre votre clé, consultez la section Appliquer des restrictions de clé API.

Autorisations IAM requises

Pour connecter votre hôte Bitbucket Server, accordez le rôle Éditeur Cloud Build (roles/cloudbuild.builds.editor) et Propriétaire des intégrations Cloud Build (cloudbuild.integrations.owner) à votre compte utilisateur.

Pour ajouter les rôles requis à votre compte utilisateur, consultez la page Configurer l'accès aux ressources Cloud Build. Pour en savoir plus sur les rôles IAM associés à Cloud Build, consultez la page Rôles et autorisations IAM.

Créer des jetons d'accès personnel

Vous devez créer deux jetons d'accès personnel dans Bitbucket Server pour effectuer les tâches suivantes:

Ces jetons d'accès personnel sont les autorisations minimales requises. Vous devrez peut-être configurer des autorisations supplémentaires sur le serveur Bitbucket. Par exemple, vous pouvez sélectionner Bitbucket Server pour accéder uniquement à un sous-ensemble des dépôts de votre instance Bitbucket Server afin de bénéficier d'un contrôle plus précis sur les ressources disponibles dans Cloud Build.

Une fois vos jetons d'accès personnels créés, enregistrez-les en toute sécurité. Vous utiliserez ces jetons pour vous connecter ultérieurement au dépôt du serveur Bitbucket.

Appeler des déclencheurs à partir de Bitbucket Server

Cette section explique comment connecter vos dépôts Bitbucket Server à Cloud Build et créer un déclencheur pour appeler automatiquement des builds sur vos dépôts connectés. Si vous souhaitez utiliser des déclencheurs Bitbucket Server dans un environnement sur site, consultez la section Créer des dépôts dans un environnement sur site à partir de Bitbucket Server pour obtenir des instructions supplémentaires.

Se connecter à un hôte Bitbucket Server

Console

Pour connecter votre hôte Bitbucket Server à Cloud Build à l'aide de Google Cloud Console, procédez comme suit:

  1. Ouvrez la page Gérer les dépôts dans Google Cloud Console:

    Ouvrir la page "Gérer les dépôts"

  2. Cliquez sur Connecter un hôte.

    Le panneau Connecter l'hôte s'affiche.

    Saisissez les informations suivantes pour connecter votre instance Bitbucket Server à Cloud Build:

    • Host url (URL de l'hôte) : l'URL de l'instance de votre serveur Bitbucket. Par exemple, https://bbs.example-test.com:7990.
    • Clé API Google Cloud : clé API utilisée pour authentifier vos identifiants.
    • [FACULTATIF] Certificat CA: votre certificat autosigné La taille de votre certificat ne doit pas dépasser 10 Ko et doit être au format PEM (.pem, .cer ou .crt). Si cette section est vide, un ensemble de certificats par défaut est utilisé.

    • Nom d'utilisateur: nom d'utilisateur de votre compte Bitbucket Server. Ce compte doit disposer d'un accès administrateur aux dépôts que vous souhaitez associer à Cloud Build.

    • Jeton d'accès en lecture: jeton d'accès personnel de votre compte Bitbucket avec autorisations de lecture.

    • Jeton d'accès administrateur: jeton d'accès personnel de votre compte Bitbucket avec des autorisations d'administrateur sur les projets et les dépôts.

    • [FACULTATIF] : Projet de réseau : ID de votre projet de réseau sur site.

    • [FACULTATIF] Nom du réseau : nom de votre réseau sur site.

  3. Cliquez sur Connecter un hôte.

    Si votre instance Bitbucket Server se trouve sur un réseau appairé, la connexion de votre hôte peut prendre plusieurs minutes.

    Vous serez redirigé vers le panneau Connect Repository (Connecter un dépôt).

    Une fois la connexion hôte créée, vos jetons d'accès personnels et votre secret de webhook seront stockés de manière sécurisée dans Secret Manager. Vous pouvez afficher et gérer vos secrets sur la page Secret Manager.

gcloud

Pour connecter votre hôte Bitbucket Server à Cloud Build à l'aide de commandes gcloud, vous devez exécuter la commande gcloud alpha builds enterprise-config bitbucketserver create dans votre terminal. Contrairement à la méthode permettant de connecter votre hôte à l'aide de Google Cloud Console, vous devrez stocker manuellement vos jetons d'accès personnels et votre secret de webhook dans Secret Manager avant d'exécuter la commande suivante:

gcloud alpha builds enterprise-config bitbucketserver create
    --name=BITBUCKET_SERVER_CONFIG_NAME \
    --user-name=USERNAME \
    --host-uri=HOST_URI \
    --admin-access-token-secret-version=ADMIN_ACCESS_TOKEN_SECRET_VERSION \
    --read-access-token-secret-version=READ_ACCESS_TOKEN_SECRET_VERSION \
    --webhook-secret-secret-version=WEBHOOK_SECRET_SECRET_VERSION \
    --api-key=API_KEY \
    --peered-network=PEERED_NETWORK \
    --ssl-ca-file=SSL_CA_FILE

Où :

  • BITBUCKET_SERVER_CONFIG_NAME est le nom de votre configuration de serveur Bitbucket.
  • USERNAME est votre nom d'utilisateur Bitbucket Server.
  • HOST_URI est l'URI de l'instance de votre instance Bitbucket Server.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION est le nom de ressource de votre jeton d'accès administrateur stocké dans Secret Manager. Le format attendu pour les secrets stockés dans Secret Manager est projects/${PROJECT_ID}/secrets/${SECRET_NAME}/versions/${VERSION_NUMBER}. Vous pouvez spécifier latest comme version afin d'utiliser la dernière version de votre secret. Cette modification s'applique à chaque ressource stockée dans Secret Manager.
  • READ_ACCESS_TOKEN_SECRET_VERSION correspond au nom de ressource de votre jeton d'accès en lecture stocké dans Secret Manager.
  • WEBHOOK_SECRET_SECRET_VERSION est le nom de ressource de votre secret de webhook stocké dans Secret Manager.
  • API_KEY est la clé API Google Cloud.
  • [Facultatif] PEERED_NETWORK est le réseau VPC auquel se connecter sur site pour vos instances Bitbucket Server.
  • SSL_CA_FILE est le chemin d'accès à un fichier local contenant votre certificat SSL à utiliser pour les requêtes envoyées à Bitbucket Server. Le certificat doit être au format PEM.

API

Pour connecter votre hôte Bitbucket Server à Cloud Build à l'aide de l'API, utilisez le modèle JSON suivant. Contrairement à la méthode permettant de connecter votre hôte à l'aide de Google Cloud Console, vous devez stocker manuellement vos jetons d'accès personnels et votre secret de webhook dans Secret Manager avant d'appeler l'API:

  {
      "hostUri": HOST_URI,
      "username": USERNAME,
      "apiKey": API_KEY,
      "secrets": {
        "adminAccessTokenVersionName": ADMIN_ACCESS_TOKEN_SECRET_VERSION,
        "readAccessTokenVersionName": READ_ACCESS_TOKEN_SECRET_VERSION,
        "webhookSecretVersionName": WEBHOOK_SECRET_SECRET_VERSION,
      },
      "peeredNetwork": PEERED_NETWORK,
      "sslCa": SSL_CERTIFICATE
  }

Où :

  • HOST_URI est l'URI de l'instance de votre instance Bitbucket Server.
  • USERNAME est votre nom d'utilisateur Bitbucket Server.
  • API_KEY est la clé API Google Cloud.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION est le nom de ressource de votre jeton d'accès administrateur stocké dans Secret Manager. Vous devrez peut-être accorder le rôle Secret Manager à votre compte de service Cloud Build, service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com. Pour en savoir plus, consultez la section Attribuer le rôle Secret Manager à votre compte de service.

  • READ_ACCESS_TOKEN_SECRET_VERSION correspond au nom de ressource de votre jeton d'accès en lecture stocké dans Secret Manager.

  • WEBHOOK_SECRET_SECRET_VERSION est le nom de ressource de votre secret de webhook stocké dans Secret Manager.

  • [Facultatif] PEERED_NETWORK est le réseau VPC à appairer aux instances de votre serveur Bitbucket sur site.

  • [Facultatif] SSL_CERTIFICATE est le certificat SSL utilisé pour vos instances Bitbucket Server sur site.

Saisissez la commande curl suivante dans votre terminal:

  curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8"  -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/global/bitbucketServerConfigs/?bitbucketServerConfigId=BITBUCKET_SERVER_CONFIG_NAME -d @config.json

Où :

  • PROJECT_NUMBER est le numéro de votre projet Cloud.
  • PROJECT_ID est votre ID de projet cloud.
  • BITBUCKET_SERVER_CONFIG_NAME est le nom de votre configuration de serveur Bitbucket.

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de Operation.

Saisissez la commande curl suivante dans votre terminal:

  curl -X GET -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8"  -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/global/operations/OPERATION_ID

Où :

  • PROJECT_NUMBER est le numéro de votre projet Cloud.
  • PROJECT_ID est votre ID de projet cloud.
  • OPERATION_ID est l'ID de votre opération de création de configuration Bitbucket Server.

Vous devrez peut-être continuer à exécuter la commande d'API GetOperation jusqu'à ce que la réponse contienne done: true, ce qui indique que l'opération est terminée. Si la configuration Bitbucket Server a bien été créée, vous pouvez la voir dans le champ response.value. Sinon, consultez le champ error pour obtenir un rapport d'erreur détaillé.

Se connecter à un dépôt Bitbucket Server

Console

Pour connecter un dépôt Bitbucket Server à Cloud Build à l'aide de Google Cloud Console, procédez comme suit:

  1. Ouvrez la page Déclencheurs de Google Cloud Console.

    Ouvrir la page Déclencheurs

  2. Cliquez sur Connecter un dépôt.

    Le panneau Connecter un dépôt s'affiche.

  3. Sous Sélectionner une source, sélectionnez Serveur Bitbucket.

  4. Sous Sélectionner un dépôt, sélectionnez les dépôts Bitbucket Server que vous souhaitez connecter à Cloud Build.

  5. Cliquez sur Connect (Connecter) pour connecter vos dépôts.

    Lorsqu'un dépôt est connecté, Cloud Build configure un webhook sur le dépôt dans votre instance Bitbucket Server. Le dépôt envoie ensuite des webhooks pour appeler les déclencheurs Bitbucket Server correspondants lorsque vous modifiez votre dépôt. Un dépôt peut également être connecté plusieurs fois à plusieurs connexions hôtes. Pour en savoir plus sur la gestion des webhooks, consultez cette page.

    Pour trouver le webhook, vous avez besoin de son ID. L'ID de webhook de chaque dépôt connecté se trouve dans BitbucketServerConfig. Saisissez la commande suivante pour récupérer l'ID du webhook, où CONFIG_NAME correspond au nom de la configuration Bitbucket Server:

    gcloud alpha builds enterprise-config bitbucketserver describe --config=CONFIG_NAME
    
  6. Cliquez sur OK. Vous pouvez également cliquer sur Créer un déclencheur pour en créer un.

API

Pour connecter votre dépôt Bitbucket Server à Cloud Build à l'aide de l'API, utilisez le modèle JSON suivant:

  {
    "parent": "projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME",
    "requests": {
      "parent": "projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME",
      "bitbucketServerConnectedRepository": {
        "parent": "projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME",
        "repo": {
           "projectKey": "PROJECT_KEY",
           "repoSlug": "REPO_SLUG"
         }
       }
    }
  }

Où :

  • PROJECT_NUMBER est le numéro de votre projet Cloud.
  • BITBUCKET_SERVER_CONFIG_NAME est le nom de votre configuration de serveur Bitbucket.
  • PROJECT_KEY est la clé de votre projet Bitbucket Server. Si vous souhaitez connecter un dépôt personnel, votre clé de projet doit contenir le symbole tilde (~) avant votre nom d'utilisateur. Exemple : ~${USERNAME}. L'URL complète d'un dépôt hôte peut ressembler à ceci : https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}.
  • REPO_SLUG est le slug de votre dépôt Server Bitbucket.

Saisissez la commande curl suivante dans votre terminal:

  curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/global/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json

Où :

  • PROJECT_NUMBER est le numéro de votre projet Cloud.
  • PROJECT_ID est votre ID de projet cloud.
  • BITBUCKET_SERVER_CONFIG_NAME est le nom de votre configuration Bitbucket Server.

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de Operation.

Saisissez la commande curl suivante dans votre terminal:

  curl -X GET -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8"  -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/global/operations/OPERATION_ID

Où :

  • PROJECT_NUMBER est le numéro de votre projet Cloud.
  • PROJECT_ID est votre ID de projet cloud.
  • OPERATION_ID est l'ID de votre opération de création de configuration Bitbucket Server.

Vous devrez peut-être continuer à exécuter la commande d'API GetOperation jusqu'à ce que la réponse contienne done: true, ce qui indique que l'opération est terminée. Si le dépôt Bitbucket Server est connecté, vous pouvez le voir dans le champ response.bitbucketServerConnectedRepositories. Sinon, consultez le champ error pour obtenir un rapport d'erreur détaillé.

Créer un déclencheur Bitbucket Server

Console

Pour créer un déclencheur Bitbucket Server à l'aide de Google Cloud Console, procédez comme suit:

  1. Ouvrez la page Déclencheurs :

    Ouvrir la page Déclencheurs

  2. Sélectionnez votre projet en haut de la page, puis cliquez sur Ouvrir.

  3. Cliquez sur Créer un déclencheur.

  4. Entrez les paramètres de déclencheur suivants :

    • Nom : nom de votre déclencheur.

    • Région: sélectionnez la région de votre déclencheur.

    • Description (facultatif) : description de votre déclencheur.

    • Événement : sélectionnez l'événement lié au dépôt qui appelle votre déclencheur.

      • Déployer sur une branche : configurez votre déclencheur pour lancer une compilation sur les commits réalisés dans une branche spécifique.

      • Transférer le nouveau tag : configurez votre déclencheur pour lancer une compilation sur des commits contenant un tag particulier.

      • Demande d'extraction (Cloud Source Repositories non compatible): définissez votre déclencheur pour démarrer une compilation sur les commits d'une demande d'extraction.

    • Source: sélectionnez le dépôt à compiler lorsque le déclencheur Bitbucket Server s'exécute.

    • Révision : sélectionnez la branche ou la balise à créer lorsque le déclencheur Bitbucket Server s'exécute.

    • Branche : définissez un déclencheur pour créer cette branche.

    • Balise : définissez un déclencheur pour créer cette balise.

    • Configuration: sélectionnez le fichier de configuration de compilation situé dans votre dépôt ou configurez votre version de manière intégrée sur le déclencheur.

    • Type: sélectionnez le type de configuration à utiliser pour votre compilation.

      • Fichier de configuration Cloud Build (yaml or json) : utilisez un fichier de configuration de compilation pour votre configuration.
      • Dockerfile : utilisez un fichier Dockerfile pour votre configuration.
    • Emplacement: spécifiez l'emplacement de votre configuration.

      • Repository : si votre fichier de configuration se trouve dans votre dépôt, indiquez l'emplacement de votre fichier de configuration de compilation ou le répertoire Dockerfile, et attribuez un nom à l'image obtenue. Si votre configuration est un Dockerfile, vous pouvez éventuellement fournir un délai d'expiration pour votre compilation. Une fois le fichier Dockerfile et le nom de l'image fournis, vous obtenez un aperçu de la commande docker build que votre compilation va exécuter.

      • Intégré: si vous avez sélectionné Fichier de configuration Cloud Build (yaml ou json) comme option de configuration, vous pouvez spécifier votre configuration de compilation de manière intégrée. Cliquez sur Open Editor (Ouvrir l'éditeur) pour écrire votre fichier de configuration de compilation dans Google Cloud Console à l'aide de la syntaxe YAML ou JSON. Cliquez sur OK pour enregistrer la configuration de compilation.

  5. Cliquez sur Create (Créer) pour créer votre déclencheur Bitbucket Server.

gcloud

Pour créer un déclencheur Bitbucket Server à l'aide des commandes gcloud, vous devez exécuter la commande gcloud alpha builds triggers create bitbucketserver suivante dans votre terminal:

gcloud alpha builds triggers create bitbucketserver
    --name=TRIGGER_NAME \
    --project-key=PROJECT_KEY \
    --repo-slug=REPO_SLUG \
    --bitbucket-server-config-resource=projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/ID \
    --branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
    --build-config=BUILD_CONFIG

Où :

  • TRIGGER_NAME correspond au nom de votre déclencheur.
  • PROJECT_KEY est la clé de votre projet Bitbucket Server.
  • REPO_SLUG est le slug de votre dépôt Server Bitbucket.
  • PROJECT_NUMBER est le numéro de votre projet Cloud.
  • ID est l'ID de votre BitbucketServerConfig.
  • BRANCH_NAME est l'expression régulière de votre branche si vous souhaitez définir un déclencheur pour créer certaines branches.
  • TAG_NAME est l'expression régulière de votre tag si vous souhaitez définir le déclencheur de sorte qu'il crée certains tags.
  • BUILD_CONFIG correspond au chemin d'accès à votre fichier de configuration de compilation.

API

Pour créer un déclencheur Bitbucket Server avec l'API, utilisez le modèle JSON suivant.

    {
      "filename": "cloudbuild.yaml",
      "name": "curl-trigger",
      "description": "curl trigger",
      "bitbucket_server_trigger_config": {
          "repo_slug": REPO_SLUG
          "project_key": PROJECT_KEY
          "push": {
             "branch": BRANCH_NAME # "tag": TAG_NAME
          }
     "bitbucket_server_config_resource": "projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/ID"
      }
  }

Où :

  • PROJECT_KEY est la clé de votre projet Bitbucket Server.
  • REPO_SLUG est le slug de votre dépôt Server Bitbucket.
  • PROJECT_NUMBER est le numéro de votre projet Cloud.
  • ID est l'ID de votre BitbucketServerConfig.
  • BRANCH_NAME est l'expression régulière de votre branche si vous souhaitez définir un déclencheur pour créer certaines branches.
  • TAG_NAME est l'expression régulière de votre tag si vous souhaitez définir le déclencheur de sorte qu'il crée certains tags.

Saisissez la commande curl suivante dans votre terminal:

curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/triggers -d @trigger.json

Où :

  • PROJECT_NUMBER est le numéro de votre projet Cloud.
  • PROJECT_ID est votre ID de projet cloud.

Créer des dépôts dans un environnement sur site à partir de Bitbucket Server

Si votre instance Bitbucket Server est hébergée dans un environnement sur site et non accessible par une connexion Internet publique, vous devez créer une connexion privée entre votre réseau VPC et le réseau de producteurs de services. Vous avez également besoin d'un pool privé pour compiler dans un environnement sur site.

Pour créer un déclencheur Bitbucket Server à créer dans votre environnement sur site:

  1. Créez une connexion privée entre votre réseau VPC et votre réseau de producteurs de services en procédant comme suit:

    1. Activez l'API Service Networking.
    2. Créez un réseau VPC ou sélectionnez un réseau VPC existant.

    3. Affectez une plage d'adresses IP nommée dans le réseau VPC. Pour utiliser le réseau VPC avec Cloud Build, la longueur de votre préfixe doit être inférieure ou égale à /23, par exemple /22, /21, etc.

    4. Établissez une connexion privée de réseau VPC entre votre réseau VPC et Google Cloud. Pour en savoir plus, consultez la section Créer une connexion privée.

    5. Si vous avez configuré le DNS pour votre instance Bitbucket Server, vous devez appairer manuellement votre zone DNS à notre fournisseur de services. Pour en savoir plus, consultez la section Partager des zones DNS privées avec les producteurs de services.

    6. [FACULTATIF] Si vous ne souhaitez pas créer de connexion privée depuis votre projet Cloud, vous pouvez configurer un VPC partagé et demander à votre projet Cloud d'utiliser ce réseau si votre projet fait partie d'une organisation. Le VPC partagé doit toujours être appairé à l'API Service Networking.

  2. Utilisez des pools privés pour exécuter vos compilations. Si vous n'avez pas créé de pool privé, consultez Créer un pool privé.

  3. Créez un déclencheur Bitbucket Server pour créer des dépôts hébergés sur une instance Bitbucket Server.

Votre déclencheur Bitbucket Server appellera automatiquement des compilations sur votre instance Bitbucket Server en fonction de votre configuration. Pour savoir comment exécuter des builds à l'aide d'un pool de nœuds de calcul privé, consultez la section Exécuter des builds dans un pool privé.

Étapes suivantes