

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Gestion d’un projet Étiquettes personnalisées Amazon Rekognition
<a name="managing-project"></a>

Dans Étiquettes personnalisées Amazon Rekognition, vous utilisez un projet pour gérer les modèles que vous créez pour un cas d’utilisation spécifique. Un projet gère les jeux de données, l’entraînement des modèles, les versions des modèles, l’évaluation des modèles et l’exécution des modèles de votre projet. 

**Topics**
+ [Suppression d’un projet Étiquettes personnalisées Amazon Rekognition](mp-delete-project.md)
+ [Description d’un projet (kit SDK)](md-describing-project-sdk.md)
+ [Création d'un projet avec AWS CloudFormation](cloudformation.md)

# Suppression d’un projet Étiquettes personnalisées Amazon Rekognition
<a name="mp-delete-project"></a>

Vous pouvez supprimer un projet à l'aide de la console Amazon Rekognition ou en appelant l'API. [DeleteProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProject) Pour supprimer un projet, vous devez d’abord supprimer chaque modèle associé. Il est impossible de rétablir un projet ou un modèle supprimé. 

**Topics**
+ [Suppression d’un projet Étiquettes personnalisées Amazon Rekognition (console)](#mp-delete-project-console)
+ [Suppression d’un projet Étiquettes personnalisées Amazon Rekognition (kit SDK)](#mp-delete-project-sdk)

## Suppression d’un projet Étiquettes personnalisées Amazon Rekognition (console)
<a name="mp-delete-project-console"></a>

Vous pouvez supprimer un projet depuis la page des projets ou supprimer un projet depuis la page détaillée d’un projet. La procédure suivante vous montre comment supprimer un projet en utilisant la page des projets.

La console Étiquettes personnalisées Amazon Rekognition supprime pour vous les modèles et les jeux de données associés lors de la suppression du projet. Vous ne pouvez pas supprimer un projet si l’un de ses modèles est en cours d’exécution ou d’entraînement. Pour arrêter un modèle en cours d’exécution, consultez [Arrêt d’un modèle Étiquettes personnalisées Amazon Rekognition (kit SDK)](rm-stop.md#rm-stop-sdk). Si un modèle est en cours d’entraînement, attendez la fin de l’entraînement pour supprimer le projet.

**Pour supprimer un projet (console)**

1. Ouvrez la console Amazon Rekognition à l'adresse. [https://console.aws.amazon.com/rekognition/](https://console.aws.amazon.com/rekognition/)

1. Choisissez **Utiliser Custom Labels**.

1. Choisissez **Démarrer**. 

1. Dans le volet de navigation de gauche, choisissez **Projets**.

1. Sur la page **Projets**, sélectionnez la case d’option pour le projet que vous souhaitez supprimer. La liste des projets affiche echo-devices-project, avec 1 version créée le 25/03/2020, et les options pour supprimer, entraîner un nouveau modèle ou créer un projet.  
![\[Liste des projets indiquant le echo-devices-project projet et les détails du projet.\]](http://docs.aws.amazon.com/fr_fr/rekognition/latest/customlabels-dg/images/delete-projects-page.png)

1. En haut de la page, choisissez **Supprimer**. La boîte de dialogue **Supprimer le projet** s’affiche.

1. Si aucun modèle n’est associé au projet :

   1. Entrez **delete** pour supprimer le projet.

   1. Choisissez **Supprimer** pour supprimer le projet.

1. Si aucun modèle ou jeu de données n’est associé au projet :

   1. Entrez **delete** pour confirmer que vous souhaitez supprimer le ou les modèles et jeux de données.

   1. Choisissez **Supprimer les modèles associés**, **Supprimer les jeux de données associés** ou **Supprimer les ensembles de données et les modèles associés**, selon que le modèle comporte des jeux de données, des modèles ou les deux. La suppression du modèle peut prendre un certain temps.
**Note**  
La console ne peut pas supprimer les modèles en cours d’entraînement ou d’exécution. Réessayez après avoir arrêté tous les modèles en cours d’exécution répertoriés et attendez que ceux répertoriés comme des modèles d’entraînement soient terminés.  
Si vous choisissez de **Fermer** la boîte de dialogue pendant la suppression du modèle, les modèles sont quand même supprimés. Vous pouvez supprimer le projet par la suite en répétant cette procédure. 

       Le panneau de suppression d'un modèle vous donne des instructions explicites pour supprimer les modèles associés.   
![\[Interface pour supprimer un projet.\]](http://docs.aws.amazon.com/fr_fr/rekognition/latest/customlabels-dg/images/delete-project-with-models.png)

   1. Entrez **delete** pour confirmer que vous voulez supprimer le projet.

   1. Choisissez **Supprimer** pour supprimer le projet.  
![\[Boîte de dialogue confirmant la suppression du projet echo-devices-project « » sans modèle.\]](http://docs.aws.amazon.com/fr_fr/rekognition/latest/customlabels-dg/images/delete-project.png)

## Suppression d’un projet Étiquettes personnalisées Amazon Rekognition (kit SDK)
<a name="mp-delete-project-sdk"></a>

Vous supprimez un projet Amazon Rekognition Custom Labels en [DeleteProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProject)appelant et en fournissant le nom de ressource Amazon (ARN) du projet que vous souhaitez supprimer. Pour obtenir ARNs les projets sur votre AWS compte, appelez [DescribeProjects](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects). La réponse inclut un ensemble d'[ProjectDescription](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ProjectDescription)objets. L’ARN du projet est le champ `ProjectArn`. Vous pouvez utiliser le nom du projet pour identifier l’ARN du projet. Par exemple, `arn:aws:rekognition:us-east-1:123456789010:project/project name/1234567890123`. 

Avant de supprimer un projet, vous devez commencer par supprimer tous les modèles et jeux de données dans le projet. Pour plus d’informations, consultez [Suppression d’un modèle Étiquettes personnalisées Amazon Rekognition (kit SDK)](tm-delete-model.md#tm-delete-model-sdk) et [Suppression d’un jeu de données](md-delete-dataset.md).

La suppression du projet peut prendre quelques instants. Pendant ce temps, le statut du projet est `DELETING`. Le projet est supprimé si un appel ultérieur [DescribeProjects](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects)n'inclut pas le projet que vous avez supprimé.

**Pour supprimer un projet (kit SDK)**

1. Si ce n'est pas déjà fait, installez et configurez le AWS CLI et le AWS SDKs. Pour de plus amples informations, veuillez consulter [Étape 4 : configurer le AWS CLI et AWS SDKs](su-awscli-sdk.md).

1. Utilisez le code suivant pour supprimer un projet. 

------
#### [ AWS CLI ]

   Remplacez la valeur de `project-arn` par le nom du projet que vous souhaitez supprimer.

   ```
   aws rekognition delete-project --project-arn project_arn \
     --profile custom-labels-access
   ```

------
#### [ Python ]

   Utilisez le code suivant. Fournissez les paramètres de ligne de commande suivants :
   + `project_arn` : l’ARN du projet que vous souhaitez supprimer.

   ```
   # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # SPDX-License-Identifier: Apache-2.0
   
   """
   Purpose
   Amazon Rekognition Custom Labels project example used in the service documentation:
   https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/mp-delete-project.html
   Shows how to delete an existing Amazon Rekognition Custom Labels project. 
   You must first delete any models and datasets that belong to the project.
   """
   
   import argparse
   import logging
   import time
   import boto3
   
   
   from botocore.exceptions import ClientError
   
   logger = logging.getLogger(__name__)
   
   
   def find_forward_slash(input_string, n):
       """
       Returns the location of '/' after n number of occurences. 
       :param input_string: The string you want to search
       : n: the occurence that you want to find.
       """
       position = input_string.find('/')
       while position >= 0 and n > 1:
           position = input_string.find('/', position + 1)
           n -= 1
       return position
   
   
   def delete_project(rek_client, project_arn):
       """
       Deletes an Amazon Rekognition Custom Labels project.
       :param rek_client: The Amazon Rekognition Custom Labels Boto3 client.
       :param project_arn: The ARN of the project that you want to delete.
       """
   
       try:
           # Delete the project
           logger.info("Deleting project: %s", project_arn)
   
           response = rek_client.delete_project(ProjectArn=project_arn)
   
           logger.info("project status: %s",response['Status'])
   
           deleted = False
   
           logger.info("waiting for project deletion: %s", project_arn)
   
           # Get the project name
           start = find_forward_slash(project_arn, 1) + 1
           end = find_forward_slash(project_arn, 2)
           project_name = project_arn[start:end]
   
           project_names = [project_name]
   
           while deleted is False:
   
               project_descriptions = rek_client.describe_projects(
                   ProjectNames=project_names)['ProjectDescriptions']
   
               if len(project_descriptions) == 0:
                   deleted = True
   
               else:
                   time.sleep(5)
   
           logger.info("project deleted: %s",project_arn)
   
           return True
   
       except ClientError as err:
           logger.exception(
               "Couldn't delete project - %s: %s",
               project_arn, err.response['Error']['Message'])
           raise
   
   
   def add_arguments(parser):
       """
       Adds command line arguments to the parser.
       :param parser: The command line parser.
       """
   
       parser.add_argument(
           "project_arn", help="The ARN of the project that you want to delete."
       )
   
   
   def main():
   
       logging.basicConfig(level=logging.INFO,
                           format="%(levelname)s: %(message)s")
   
       try:
   
           # get command line arguments
           parser = argparse.ArgumentParser(usage=argparse.SUPPRESS)
           add_arguments(parser)
           args = parser.parse_args()
   
           print(f"Deleting project: {args.project_arn}")
   
           # Delete the project.
           session = boto3.Session(profile_name='custom-labels-access')
           rekognition_client = session.client("rekognition")
   
           delete_project(rekognition_client,
                          args.project_arn)
   
           print(f"Finished deleting project: {args.project_arn}")
   
       except ClientError as err:
           error_message = f"Problem deleting project: {err}"
           logger.exception(error_message)
           print(error_message)
   
   
   if __name__ == "__main__":
       main()
   ```

------
#### [ Java V2 ]

   Utilisez le code suivant. Fournissez les paramètres de ligne de commande suivants :
   + `project_arn` : l’ARN du projet que vous souhaitez supprimer.

   ```
   /*
   Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   SPDX-License-Identifier: Apache-2.0
   */
   
   package com.example.rekognition;
   
   import java.util.List;
   import java.util.Objects;
   import java.util.logging.Level;
   import java.util.logging.Logger;
   
   import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
   import software.amazon.awssdk.regions.Region;
   import software.amazon.awssdk.services.rekognition.RekognitionClient;
   import software.amazon.awssdk.services.rekognition.model.DeleteProjectRequest;
   import software.amazon.awssdk.services.rekognition.model.DeleteProjectResponse;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsRequest;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsResponse;
   import software.amazon.awssdk.services.rekognition.model.ProjectDescription;
   import software.amazon.awssdk.services.rekognition.model.RekognitionException;
   
   public class DeleteProject {
   
       public static final Logger logger = Logger.getLogger(DeleteProject.class.getName());
   
       public static void deleteMyProject(RekognitionClient rekClient, String projectArn) throws InterruptedException {
   
           try {
   
               logger.log(Level.INFO, "Deleting project: {0}", projectArn);
   
               // Delete the project
   
               DeleteProjectRequest deleteProjectRequest = DeleteProjectRequest.builder().projectArn(projectArn).build();
               DeleteProjectResponse response = rekClient.deleteProject(deleteProjectRequest);
   
               logger.log(Level.INFO, "Status: {0}", response.status());
   
               // Wait until deletion finishes
   
               Boolean deleted = false;
   
               do {
   
   				    DescribeProjectsRequest describeProjectsRequest = DescribeProjectsRequest.builder().build();
                       DescribeProjectsResponse describeResponse = rekClient.describeProjects(describeProjectsRequest);
                       List<ProjectDescription> projectDescriptions = describeResponse.projectDescriptions();
   
                       deleted = true;
   
                       for (ProjectDescription projectDescription : projectDescriptions) {
   
                           if (Objects.equals(projectDescription.projectArn(), projectArn)) {
                               deleted = false;
                               logger.log(Level.INFO, "Not deleted: {0}", projectDescription.projectArn());
                               Thread.sleep(5000);
                               break;
                           }
                       }
   
               } while (Boolean.FALSE.equals(deleted));
   
               logger.log(Level.INFO, "Project deleted: {0} ", projectArn);
   
           } catch (
   
           RekognitionException e) {
               logger.log(Level.SEVERE, "Client error occurred: {0}", e.getMessage());
               throw e;
           }
   
       }
   
       public static void main(String[] args) {
   
           final String USAGE = "\n" + "Usage: " + "<project_arn>\n\n" + "Where:\n"
                + "   project_arn - The ARN of the project that you want to delete.\n\n";
   
           if (args.length != 1) {
                System.out.println(USAGE);
   	         System.exit(1);
           }
   
           String projectArn = args[0];
   
           try {
   
               RekognitionClient rekClient = RekognitionClient.builder()
                   .region(Region.US_WEST_2)
                   .credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access"))
                   .build();
   
               // Delete the project.
               deleteMyProject(rekClient, projectArn);
   
               System.out.println(String.format("Project deleted: %s", projectArn));
   
               rekClient.close();
   
           } catch (RekognitionException rekError) {
               logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage());
               System.exit(1);
           }
   
           catch (InterruptedException intError) {
               logger.log(Level.SEVERE, "Exception while sleeping: {0}", intError.getMessage());
               System.exit(1);
           }
       }
   
   }
   ```

------

# Description d’un projet (kit SDK)
<a name="md-describing-project-sdk"></a>

Vous pouvez utiliser l’API `DescribeProjects` pour obtenir des informations sur vos projets.

**Pour décrire un projet (kit SDK)**

1. Si ce n'est pas déjà fait, installez et configurez le AWS CLI et le AWS SDKs. Pour de plus amples informations, veuillez consulter [Étape 4 : configurer le AWS CLI et AWS SDKs](su-awscli-sdk.md).

1. Utilisez l’exemple de code suivant pour décrire un projet. Remplacez `project_name` par le nom du projet que vous souhaitez décrire. Si vous ne spécifiez pas `--project-names`, les descriptions de tous les projets sont renvoyées.

------
#### [ AWS CLI ]

   ```
   aws rekognition describe-projects --project-names project_name \
     --profile custom-labels-access
   ```

------
#### [ Python ]

   Utilisez le code suivant. Fournissez les paramètres de ligne de commande suivants :
   + project\$1name`` : le nom du projet que vous souhaitez décrire. Si vous ne spécifiez pas de nom, les descriptions de tous les projets sont renvoyées.

   ```
   # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # SPDX-License-Identifier: Apache-2.0
   
   """
   Purpose
   Shows how to describe an Amazon Rekognition Custom Labels project.
   """
   import argparse
   import logging
   import json
   import boto3
   from botocore.exceptions import ClientError
   
   logger = logging.getLogger(__name__)
   
   
   def display_project_info(project):
       """
       Displays information about a Custom Labels project.
       :param project: The project that you want to display information about.
       """
       print(f"Arn: {project['ProjectArn']}")
       print(f"Status: {project['Status']}")
   
       if len(project['Datasets']) == 0:
           print("Datasets: None")
       else:
           print("Datasets:")
   
       for dataset in project['Datasets']:
           print(f"\tCreated: {str(dataset['CreationTimestamp'])}")
           print(f"\tType: {dataset['DatasetType']}")
           print(f"\tARN: {dataset['DatasetArn']}")
           print(f"\tStatus: {dataset['Status']}")
           print(f"\tStatus message: {dataset['StatusMessage']}")
           print(f"\tStatus code: {dataset['StatusMessageCode']}")
           print()
       print()
   
   
   def describe_projects(rek_client, project_name):
       """
       Describes an Amazon Rekognition Custom Labels project, or all projects.
       :param rek_client: The Amazon Rekognition Custom Labels Boto3 client.
       :param project_name: The project you want to describe. Pass None to describe all projects.
       """
   
       try:
           # Describe the project
           if project_name is None:
               logger.info("Describing all projects.")
           else:
               logger.info("Describing project: %s.",project_name)
   
           if project_name is None:
               response = rek_client.describe_projects()
           else:
               project_names = json.loads('["' + project_name + '"]')
               response = rek_client.describe_projects(ProjectNames=project_names)
   
           print('Projects\n--------')
           if len(response['ProjectDescriptions']) == 0:
               print("Project(s) not found.")
           else:
               for project in response['ProjectDescriptions']:
                   display_project_info(project)
   
           logger.info("Finished project description.")
   
       except ClientError as err:
           logger.exception(
               "Couldn't describe project - %s: %s",
               project_name,err.response['Error']['Message'] )
           raise
   
   
   def add_arguments(parser):
       """
       Adds command line arguments to the parser.
       :param parser: The command line parser.
       """
   
       parser.add_argument(
           "--project_name",  help="The name of the project that you want to describe.", required=False
       )
   
   
   def main():
   
       logging.basicConfig(level=logging.INFO,
                           format="%(levelname)s: %(message)s")
   
       try:
   
           # Get command line arguments.
           parser = argparse.ArgumentParser(usage=argparse.SUPPRESS)
           add_arguments(parser)
   
           args = parser.parse_args()
   
           print(f"Describing projects: {args.project_name}")
   
           # Describe the project.
           session = boto3.Session(profile_name='custom-labels-access')
           rekognition_client = session.client("rekognition")
   
           describe_projects(rekognition_client,
                             args.project_name)
   
           if args.project_name is None:
               print("Finished describing all projects.")
           else:
               print("Finished describing project %s.", args.project_name)
   
       except ClientError as err:
           error_message = f"Problem describing project: {err}"
           logger.exception(error_message)
           print(error_message)
   
   
   if __name__ == "__main__":
       main()
   ```

------
#### [ Java V2 ]

   Utilisez le code suivant. Fournissez les paramètres de ligne de commande suivants :
   + `project_name` : l’ARN du projet que vous souhaitez décrire. Si vous ne spécifiez pas de nom, les descriptions de tous les projets sont renvoyées.

   ```
   /*
      Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
      SPDX-License-Identifier: Apache-2.0
   */
   
   package com.example.rekognition;
   
   import java.util.ArrayList;
   import java.util.List;
   import java.util.logging.Level;
   import java.util.logging.Logger;
   
   import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
   import software.amazon.awssdk.services.rekognition.RekognitionClient;
   import software.amazon.awssdk.services.rekognition.model.DatasetMetadata;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsRequest;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsResponse;
   import software.amazon.awssdk.services.rekognition.model.ProjectDescription;
   import software.amazon.awssdk.services.rekognition.model.RekognitionException;
   
   public class DescribeProjects {
   
       public static final Logger logger = Logger.getLogger(DescribeProjects.class.getName());
   
       public static void describeMyProjects(RekognitionClient rekClient, String projectName) {
   
           DescribeProjectsRequest descProjects = null;
   
           // If a single project name is supplied, build projectNames argument
   
           List<String> projectNames = new ArrayList<String>();
   
           if (projectName == null) {
               descProjects = DescribeProjectsRequest.builder().build();
           } else {
               projectNames.add(projectName);
               descProjects = DescribeProjectsRequest.builder().projectNames(projectNames).build();
           }
   
           // Display useful information for each project.
   
           DescribeProjectsResponse resp = rekClient.describeProjects(descProjects);
   
           for (ProjectDescription projectDescription : resp.projectDescriptions()) {
   
               System.out.println("ARN: " + projectDescription.projectArn());
               System.out.println("Status: " + projectDescription.statusAsString());
               if (projectDescription.hasDatasets()) {
                   for (DatasetMetadata datasetDescription : projectDescription.datasets()) {
                       System.out.println("\tdataset Type: " + datasetDescription.datasetTypeAsString());
                       System.out.println("\tdataset ARN: " + datasetDescription.datasetArn());
                       System.out.println("\tdataset Status: " + datasetDescription.statusAsString());
                   }
               }
               System.out.println();
           }
   
       }
   
       public static void main(String[] args) {
   
           String projectArn = null;
   
           // Get command line arguments
   
           final String USAGE = "\n" + "Usage: " + "<project_name>\n\n" + "Where:\n"
                   + "   project_name - (Optional) The name of the project that you want to describe. If not specified, all projects "
                   + "are described.\n\n";
   
           if (args.length > 1) {
               System.out.println(USAGE);
               System.exit(1);
           }
   
           if (args.length == 1) {
               projectArn = args[0];
           }
   
           try {
   
               // Get the Rekognition client
               RekognitionClient rekClient = RekognitionClient.builder()
                   .credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access"))
                   .region(Region.US_WEST_2)
                   .build();
               
               // Describe projects
   
               describeMyProjects(rekClient, projectArn);
   
               rekClient.close();
   
           } catch (RekognitionException rekError) {
               logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage());
               System.exit(1);
           }
   
       }
   
   }
   ```

------

# Création d'un projet avec AWS CloudFormation
<a name="cloudformation"></a>

Amazon Rekognition Custom Labels est AWS CloudFormation intégré à un service qui vous aide à modéliser et à AWS configurer vos ressources afin que vous puissiez passer moins de temps à créer et à gérer vos ressources et votre infrastructure. Vous créez un modèle qui décrit toutes les AWS ressources que vous souhaitez, et vous vous CloudFormation occupez de leur provisionnement et de leur configuration.

Vous pouvez l'utiliser CloudFormation pour approvisionner et configurer les projets Amazon Rekognition Custom Labels. 

Lorsque vous l'utilisez CloudFormation, vous pouvez réutiliser votre modèle pour configurer vos projets Amazon Rekognition Custom Labels de manière cohérente et répétée. Décrivez simplement vos projets une seule fois, puis fournissez les mêmes projets à plusieurs reprises dans plusieurs AWS comptes et régions. 

## Étiquettes et modèles personnalisés Amazon Rekognition CloudFormation
<a name="working-with-templates"></a>

Pour allouer et configurer des projets pour Étiquettes personnalisées Amazon Rekognition et les services connexes, vous devez maîtriser les [modèles CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html). Les modèles sont des fichiers texte formatés en JSON ou YAML. Ces modèles décrivent les ressources que vous souhaitez mettre à disposition dans vos CloudFormation piles. Si vous n'êtes pas familiarisé avec JSON ou YAML, vous pouvez utiliser CloudFormation Designer pour vous aider à démarrer avec les CloudFormation modèles. Pour plus d’informations, consultez [Qu’est-ce que CloudFormation Designer ?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer.html) dans le *AWS CloudFormation Guide de l’utilisateur*.

 Pour obtenir des informations de référence sur des projets Étiquettes personnalisées Amazon Rekognition, y compris des exemples de modèles JSON et YAML, consultez [Référence du type de ressource Rekognition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Rekognition.html).

## En savoir plus sur CloudFormation
<a name="learn-more-cloudformation"></a>

Pour en savoir plus CloudFormation, consultez les ressources suivantes :
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [AWS CloudFormation Guide de l'utilisateur](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [CloudFormation API Reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/Welcome.html)
+ [AWS CloudFormation Guide de l'utilisateur de l'interface de ligne de commande](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)