

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.

# Commencer à utiliser les AWS IoT Core didacticiels
<a name="iot-gs"></a>

Que vous débutiez dans le domaine de l'IoT ou que vous ayez des années d'expérience, ces ressources présentent les AWS IoT concepts et les termes qui vous aideront à commencer à les utiliser AWS IoT.
+ **Regardez** à l'intérieur AWS IoT et ses composants dedans[Comment AWS IoT fonctionne](aws-iot-how-it-works.md).
+ [**Pour en savoir** plus](aws-iot-learn-more.md), AWS IoT consultez notre collection de supports de formation et de vidéos. Cette rubrique inclut également une liste de services auxquels il est AWS IoT possible de se connecter, des liens vers les réseaux sociaux et des liens vers les spécifications des protocoles de communication.
+ **[Connectez votre premier appareil à AWS IoT Core](#aws-iot-get-started)**.
+ **Développez** vos solutions IoT [Connect à AWS IoT Core](connect-to-iot.md) en explorant les [AWS IoT tutoriels](iot-tutorials.md).
+ **Testez et validez** vos appareils IoT pour une communication sécurisée et fiable en utilisant le [Device Advisor](device-advisor.md).
+ **Gérez** votre solution à l'aide de services AWS IoT Core de gestion tels que [Indexation de la flotte](iot-indexing.md)[AWS IoT Emplois](iot-jobs.md), et[AWS IoT Device Defender](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/what-is-device-defender.html).
+ **Analysez** les données de vos appareils à l'aide du [AWS IoT services de données](aws-iot-how-it-works.md#aws-iot-components-data).

## Connectez votre premier appareil à AWS IoT Core
<a name="aws-iot-get-started"></a>

AWS IoT Core les services connectent les appareils IoT à AWS IoT des services et à d'autres AWS services. AWS IoT Core inclut la passerelle pour appareils et le courtier de messages, qui connectent et traitent les messages entre vos appareils IoT et le cloud.

Voici comment vous pouvez commencer avec AWS IoT Core et AWS IoT.

![\[AWS IoT Core mise en route de votre carte.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/iot-gs-tour-map.png)


Cette section présente une visite guidée du AWS IoT Core pour présenter ses principaux services et fournit plusieurs exemples de la manière de connecter un appareil à ceux-ci AWS IoT Core et de leur transmettre des messages. La transmission de messages entre les appareils et le cloud est essentielle à toute solution IoT et permet à vos appareils d'interagir avec d'autres AWS services.
+ 

**[Configurez Compte AWS](setting-up.md)**  
Avant de pouvoir utiliser AWS IoT les services, vous devez configurer un Compte AWS. Si vous avez déjà un utilisateur Compte AWS et un utilisateur IAM pour vous-même, vous pouvez les utiliser et ignorer cette étape.
+ 

**[Essayez le didacticiel de connexion rapide](iot-quick-start.md)**  
Ce didacticiel est idéal si vous souhaitez démarrer rapidement AWS IoT et voir comment il fonctionne dans un scénario limité. Dans ce didacticiel, vous aurez besoin d'un appareil sur lequel vous installerez des AWS IoT logiciels. Si vous ne possédez pas d'appareil IoT, vous pouvez utiliser votre ordinateur personnel Windows, Linux ou MacOs comme appareil pour ce didacticiel. Si vous voulez essayer AWS IoT, mais que vous n'avez pas d'appareil, essayez l'option suivante.
+ 

**[Essayez le tutoriel interactif](interactive-demo.md)**  
Cette démonstration est idéale si vous souhaitez découvrir ce qu'une AWS IoT solution de base peut faire sans connecter un appareil ni télécharger de logiciel. Le didacticiel interactif présente une solution simulée basée sur AWS IoT Core des services qui illustre la manière dont ils interagissent.
+ 

**[Explorez les AWS IoT Core services grâce à un didacticiel pratique](iot-gs-first-thing.md)**  
Ce didacticiel est idéal pour les développeurs qui AWS IoT souhaitent commencer à explorer d'autres AWS IoT Core fonctionnalités, telles que le moteur de règles et les ombres. Ce didacticiel suit un processus similaire au didacticiel de connexion rapide, mais fournit plus de détails sur chaque étape afin de permettre une transition plus fluide vers les didacticiels plus avancés.
+ 

**[Afficher les messages MQTT avec le client AWS IoT MQTT](view-mqtt-messages.md)**  
Découvrez comment utiliser le client de test MQTT pour regarder votre premier appareil publier des messages MQTT sur AWS IoT. Le client de test MQTT est un outil utile pour surveiller et dépanner les connexions des appareils.

**Note**  
Si vous souhaitez essayer plusieurs de ces didacticiels de mise en route ou répéter le même didacticiel, vous devez supprimer l'objet que vous avez créé à partir d'un didacticiel antérieur avant d'en démarrer un autre. Si vous ne supprimez pas l'objet d'un didacticiel précédent, vous devrez utiliser un nom d'objet différent pour les didacticiels suivants. En effet, le nom de l'objet doit être unique dans votre compte et Région AWS.

Pour plus d'informations AWS IoT Core, voir [Qu'est-ce que c'est AWS IoT Core](what-is-aws-iot.md) ?

# Configurez Compte AWS
<a name="setting-up"></a>

Avant de l'utiliser AWS IoT Core pour la première fois, effectuez les tâches suivantes :

**Topics**
+ [Inscrivez-vous pour un Compte AWS](#sign-up-for-aws)
+ [Création d’un utilisateur doté d’un accès administratif](#create-an-admin)
+ [Ouvrez la AWS IoT console](#iot-console-signin)

## Inscrivez-vous pour un Compte AWS
<a name="sign-up-for-aws"></a>

Si vous n'en avez pas Compte AWS, procédez comme suit pour en créer un.

**Pour vous inscrire à un Compte AWS**

1. Ouvrez l'[https://portal.aws.amazon.com/billing/inscription.](https://portal.aws.amazon.com/billing/signup)

1. Suivez les instructions en ligne.

   Dans le cadre de la procédure d’inscription, vous recevrez un appel téléphonique ou un SMS et vous saisirez un code de vérification en utilisant le clavier numérique du téléphone.

   Lorsque vous vous inscrivez à un Compte AWS, un *Utilisateur racine d'un compte AWS*est créé. Par défaut, seul l’utilisateur racine a accès à l’ensemble des Services AWS et des ressources de ce compte. La meilleure pratique de sécurité consiste à attribuer un accès administratif à un utilisateur, et à utiliser uniquement l’utilisateur racine pour effectuer les [tâches nécessitant un accès utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS vous envoie un e-mail de confirmation une fois le processus d'inscription terminé. À tout moment, vous pouvez consulter l'activité actuelle de votre compte et gérer votre compte en accédant à [https://aws.amazon.com/](https://aws.amazon.com/)et en choisissant **Mon compte**.

## Création d’un utilisateur doté d’un accès administratif
<a name="create-an-admin"></a>

Après vous être inscrit à un Compte AWS, sécurisez Utilisateur racine d'un compte AWS AWS IAM Identity Center, activez et créez un utilisateur administratif afin de ne pas utiliser l'utilisateur root pour les tâches quotidiennes.

**Sécurisez votre Utilisateur racine d'un compte AWS**

1.  Connectez-vous en [AWS Management Console](https://console.aws.amazon.com/)tant que propriétaire du compte en choisissant **Utilisateur root** et en saisissant votre adresse Compte AWS e-mail. Sur la page suivante, saisissez votre mot de passe.

   Pour obtenir de l’aide pour vous connecter en utilisant l’utilisateur racine, consultez [Connexion en tant qu’utilisateur racine](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) dans le *Guide de l’utilisateur Connexion à AWS *.

1. Activez l’authentification multifactorielle (MFA) pour votre utilisateur racine.

   Pour obtenir des instructions, voir [Activer un périphérique MFA virtuel pour votre utilisateur Compte AWS root (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) dans le guide de l'utilisateur *IAM*.

**Création d’un utilisateur doté d’un accès administratif**

1. Activez IAM Identity Center.

   Pour obtenir des instructions, consultez [Activation d’ AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

1. Dans IAM Identity Center, octroyez un accès administratif à un utilisateur.

   Pour un didacticiel sur l'utilisation du Répertoire IAM Identity Center comme source d'identité, voir [Configurer l'accès utilisateur par défaut Répertoire IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) dans le *Guide de AWS IAM Identity Center l'utilisateur*.

**Connexion en tant qu’utilisateur doté d’un accès administratif**
+ Pour vous connecter avec votre utilisateur IAM Identity Center, utilisez l’URL de connexion qui a été envoyée à votre adresse e-mail lorsque vous avez créé l’utilisateur IAM Identity Center.

  Pour obtenir de l'aide pour vous connecter en utilisant un utilisateur d'IAM Identity Center, consultez la section [Connexion au portail AWS d'accès](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) dans le *guide de l'Connexion à AWS utilisateur*.

**Attribution d’un accès à d’autres utilisateurs**

1. Dans IAM Identity Center, créez un ensemble d’autorisations qui respecte la bonne pratique consistant à appliquer les autorisations de moindre privilège.

   Pour obtenir des instructions, consultez [Création d’un ensemble d’autorisations](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

1. Attribuez des utilisateurs à un groupe, puis attribuez un accès par authentification unique au groupe.

   Pour obtenir des instructions, consultez [Ajout de groupes](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.
+ [Ouvrez la AWS IoT console](#iot-console-signin)

Si vous avez déjà un Compte AWS et un utilisateur pour vous-même, vous pouvez les utiliser et passer directement à[Ouvrez la AWS IoT console](#iot-console-signin).

## Ouvrez la AWS IoT console
<a name="iot-console-signin"></a>

La plupart des rubriques de cette section consacrées à la console commencent par la AWS IoT console. Si vous n'êtes pas encore connecté à votre Compte AWS, connectez-vous, puis ouvrez la [AWS IoT console](https://console.aws.amazon.com//iot/home) et passez à la section suivante pour continuer à démarrer AWS IoT.

# Tutoriel interactif
<a name="interactive-demo"></a>

Le didacticiel interactif présente les composants d'une solution IoT simple basée sur AWS IoT. Le didacticiel montre comment les appareils IoT interagissent avec AWS IoT Core les services. Cette rubrique fournit un aperçu du didacticiel AWS IoT Core interactif.

**Note**  
Les images de la console incluent des animations qui n'apparaissent pas dans les images de ce didacticiel.

Pour lancer la démo, vous devez d'abord [Configurez Compte AWS](setting-up.md). Le didacticiel, cependant, ne nécessite aucune AWS IoT ressource, aucun logiciel supplémentaire ou aucun codage.

Attendez-vous à consacrer environ 5 à 10 minutes à cette démonstration. En vous accordant 10 minutes, vous aurez plus de temps pour comprendre chacune des étapes.

**Pour exécuter le didacticiel AWS IoT Core interactif**

1. Ouvrez la [page d'AWS IoT accueil](https://console.aws.amazon.com//iot/home#/home) dans la AWS IoT console.

   Sur la **AWS IoT page d'accueil**, dans le volet de la fenêtre **Ressources pédagogiques**, choisissez **Démarrer le didacticiel**.  
![\[Il s'agit de la page d'accueil de la AWS IoT console.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-learn-home-demo.png)

1. Sur la page **AWS IoT Tutoriel de la console**, passez en revue les sections du didacticiel et choisissez **Démarrer la section** lorsque vous êtes prêt à continuer.

**Les sections suivantes décrivent comment le **didacticiel de AWS IoT console** présente ces AWS IoT Core fonctionnalités :**
+ [Connexion d'appareils loT](#interactive-demo-part1)
+ [Enregistrer l'état de l'appareil hors ligne](#interactive-demo-part2)
+ [Acheminement des données de l'appareil vers les services](#interactive-demo-part3)

## Connexion d'appareils loT
<a name="interactive-demo-part1"></a>

Découvrez comment les appareils IoT communiquent avec AWS IoT Core.

![\[Il s'agit de la première étape du didacticiel AWS IoT interactif.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-learn-demo-step-1.png)


L'animation de cette étape montre comment deux appareils, le dispositif de commande sur la gauche et une lampe intelligente dans la maison sur la droite, se connectent et communiquent avec AWS IoT Core dans le cloud. L'animation montre les appareils communiquant AWS IoT Core et réagissant aux messages qu'ils reçoivent.

Pour plus d'informations sur la connexion de périphériques à AWS IoT Core, consultez[Connect à AWS IoT Core](connect-to-iot.md).

## Enregistrer l'état de l'appareil hors ligne
<a name="interactive-demo-part2"></a>

Découvrez comment AWS IoT Core enregistrer l'état de l'appareil lorsqu'un appareil ou une application est hors ligne.

![\[Il s'agit de la deuxième étape du didacticiel AWS IoT interactif.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-learn-demo-step-2.png)


L'animation de cette étape montre comment le service Device Shadow AWS IoT Core enregistre les informations d'état de l'appareil pour le dispositif de commande et la lampe intelligente. Lorsque la lampe intelligente est hors ligne, le Device Shadow enregistre les commandes du dispositif de commande.

Lorsque la lampe intelligente se reconnecte à AWS IoT Core, elle récupère ces commandes. Lorsque le dispositif de contrôle est hors ligne, le Device Shadow enregistre les informations d'état de la lampe intelligente. Lorsque le dispositif de commande se reconnecte, il récupère l'état actuel de la lampe intelligente pour mettre à jour son affichage.

Pour plus d'informations sur Device Shadows, consultez [AWS IoT Service Device Shadow](iot-device-shadows.md).

## Acheminement des données de l'appareil vers les services
<a name="interactive-demo-part3"></a>

Découvrez comment AWS IoT Core envoyer l'état de l'appareil à d'autres AWS services.

![\[Il s'agit de la troisième étape du didacticiel AWS IoT interactif.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-learn-demo-step-3.png)


L'animation de cette étape montre comment AWS IoT Core envoyer les données des appareils à d'autres AWS services à l'aide de AWS IoT règles. AWS IoT les règles s'abonnent à des messages spécifiques provenant des appareils, interprètent les données contenues dans ces messages et acheminent les données interprétées vers d'autres services. Dans cet exemple, une AWS IoT règle interprète les données d'un détecteur de mouvement et envoie des commandes à un Device Shadow, qui les envoie ensuite à l'ampoule intelligente. Comme dans l'exemple précédent, le Device Shadow stocke les informations relatives à l'état de l'appareil de commande.

Pour plus d'informations sur AWS IoT les règles, consultez[Règles pour AWS IoT](iot-rules.md).

# Essayez le didacticiel de connexion AWS IoT Core rapide
<a name="iot-quick-start"></a>

Dans ce didacticiel, vous allez créer votre premier objet, y connecter un appareil et le regarder envoyer des messages MQTT.

Attendez à consacrer 15 à 20 minutes à ce didacticiel.

Ce didacticiel est idéal pour les personnes qui souhaitent démarrer rapidement AWS IoT pour voir comment il fonctionne dans un scénario limité. Si vous recherchez un exemple qui vous permettra de démarrer et d'explorer davantage de fonctionnalités et de services, essayez [Explorez AWS IoT Core dans des didacticiels pratiques](iot-gs-first-thing.md).

Dans ce didacticiel, vous allez télécharger et exécuter un logiciel sur un appareil qui se connecte à *une ressource* d'objets dans AWS IoT Core le cadre d'une très petite solution IoT. L'appareil peut être un appareil IoT, tel qu'un Raspberry Pi, ou il peut également s'agir d'un ordinateur exécutant Linux, OS et OSX, ou Windows. Si vous souhaitez connecter un périphérique WAN (LoRaWAN) à longue portée AWS IoT, reportez-vous au didacticiel [>Connecter des appareils et des passerelles au AWS IoT Core](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/lorawan-getting-started.html) WAN. LoRa

Si votre appareil est compatible avec un navigateur capable d'exécuter la [AWS IoT console](https://console.aws.amazon.com//iot/home), nous vous recommandons de suivre ce didacticiel sur cet appareil.

**Note**  
Si votre appareil n'est pas doté d'un navigateur compatible, suivez ce didacticiel sur ordinateur. Lorsque la procédure vous demande de télécharger le fichier, téléchargez-le sur votre ordinateur, puis transférez le fichier téléchargé sur votre appareil à l'aide de Secure Copy (SCP) ou d'un processus similaire.

Le didacticiel nécessite que votre appareil IoT communique avec le port 8443 sur le point de terminaison Compte AWS de données de votre appareil. Pour vérifier s'il peut accéder à ce port, essayez les procédures décrites dans[Testez la connectivité avec le point de terminaison de données de votre appareil](iot-quick-start-test-connection.md).

## Étape 1. Commencez avec le didacticiel
<a name="iot-quick-start-connect"></a>

Si possible, effectuez cette procédure sur votre appareil ; sinon, soyez prêt à transférer un fichier sur votre appareil plus tard dans cette procédure.

Pour démarrer le didacticiel, connectez-vous à la [AWS IoT console](https://console.aws.amazon.com//iot/home). Sur la page d'accueil de la AWS IoT console, sur la gauche, choisissez **Connect**, puis **Connect one device**.

![\[Cette page d'accueil de AWS IoT console indique comment connecter un appareil.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-quick-connect.PNG)


## Étape 2. Cela crée un objet
<a name="iot-quick-start-configure"></a>

1. Dans la section **Préparer votre appareil**, suivez les instructions affichées à l'écran pour préparer votre appareil à la connexion à AWS IoT.  
![\[Comment préparer l'appareil dans AWS IoT la console.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-learn-prepare-device.png)

1. Dans la section **Enregistrer et sécuriser votre appareil**, choisissez **Créer un nouvel objet** ou **Choisir un objet existant**. Dans le champ **Nom de l'objet**, entrez le nom de votre objet. Le nom de l'objet utilisé dans cet exemple est **TutorialTestThing**
**Important**  
Vérifiez le nom de votre objet avant de continuer.  
Vous ne pouvez plus modifier le nom d'un objet. Si vous souhaitez modifier le nom d'un objet, vous devez créer un objet portant le nom d'objet correct, puis supprimer celui dont le nom est incorrect.

   Dans la section **Configurations supplémentaires**, personnalisez davantage votre ressource d'objets à l'aide des configurations facultatives répertoriées.

   Après avoir donné un nom à votre objet et sélectionné des configurations supplémentaires, choisissez **Suivant**.  
![\[Utilisez AWS IoT la console pour enregistrer et sécuriser votre appareil.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-learn-register-and-secure-your-device.png)

1. Dans la section **Choisir la plate-forme et le SDK**, choisissez la plate-forme et la langue du SDK du AWS IoT périphérique que vous souhaitez utiliser. Cet exemple utilise la Linux/OSX plateforme et le SDK Python. Assurez-vous que python3 et pip3 sont installés sur votre appareil cible avant de passer à l'étape suivante.
**Note**  
Assurez-vous de consulter la liste des logiciels requis par le SDK que vous avez choisi au bas de la page de console.  
Le logiciel requis doit être installé sur votre ordinateur cible avant de passer à l'étape suivante.

   Après avoir choisi la langue du SDK de la plate-forme et de l'appareil, choisissez **Suivant**.  
![\[Utilisez AWS IoT la console pour choisir la plate-forme et le SDK.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-learn-choose-platform-and-SDK.png)

## Étape 3. Téléchargez des fichiers sur votre appareil
<a name="iot-quick-start-name"></a>

Cette page apparaît après AWS IoT la création du kit de connexion, qui inclut les fichiers et ressources suivants dont votre appareil a besoin :
+ Les fichiers de certificat utilisés pour authentifier l'appareil
+ Une ressource politique pour autoriser votre objet à interagir avec AWS IoT
+ Le script permettant de télécharger le SDK du AWS périphérique et d'exécuter l'exemple de programme sur votre appareil

1. Lorsque vous êtes prêt à continuer, cliquez sur le bouton **Télécharger le kit de connexion pour** télécharger le kit de connexion pour la plate-forme que vous avez choisie précédemment.  
![\[Il s'agit de la page de AWS IoT console permettant de télécharger le fichier de certificat.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-learn-download-connection-kit_1.png)

1. Si vous exécutez cette procédure sur votre appareil, enregistrez le fichier du kit de connexion dans un répertoire à partir duquel vous pouvez exécuter des commandes en ligne.

   Si vous n'exécutez pas cette procédure sur votre appareil, enregistrez le fichier du kit de connexion dans un répertoire local, puis transférez-le sur votre appareil.

1. Dans la section **Décompressez le kit de connexion sur votre appareil**, entrez **unzip connect\$1device\$1package.zip** dans le répertoire où se trouvent les fichiers du kit de connexion.

   Si vous utilisez une fenêtre de PowerShell commande Windows et que la **unzip** commande ne fonctionne pas, **unzip** remplacez-la **expand-archive** par et réessayez la ligne de commande.

1. Après avoir installé le fichier du kit de connexion sur l'appareil, poursuivez le didacticiel en choisissant **Suivant**.  
![\[AWS IoT page de téléchargement du fichier de certificat de console après le téléchargement du kit de connexion.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-learn-download-connection-kit_2.png)

## Étape 4 : Exécutez l'échantillon
<a name="iot-quick-start-install-run"></a>

Vous devez effectuer cette procédure dans un terminal ou une fenêtre de commande de votre appareil tout en suivant les instructions affichées dans la console. Les commandes affichées dans la console correspondent au système d'exploitation que vous avez choisi dans [Étape 2. Cela crée un objet](#iot-quick-start-configure). Celles présentées ici concernent les systèmes Linux/OSX d'exploitation.

1. Dans un terminal ou une fenêtre de commande de votre appareil, dans le répertoire contenant le fichier du kit de connexion, effectuez les étapes indiquées dans la AWS IoT console.  
![\[AWS IoT page de démarrage rapide, d'installation et d'exécution de la console.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-learn-run-connection-kit.png)

1. Après avoir saisi la commande de **l'étape 2** dans la console, vous devriez voir un résultat similaire à ce qui suit dans le terminal ou dans la fenêtre de commande de l'appareil. Ce résultat provient des messages que le programme envoie puis reçoit en retour AWS IoT Core.  
![\[AWS IoT exemple de sortie du programme de démarrage rapide de la console.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-learn-connect-console-output-python_updated.png)

   Pendant l'exécution de l'exemple de programme, le message de test `Hello World!` apparaît également. Le message de test apparaît dans le terminal ou dans la fenêtre de commande de votre appareil.
**Note**  
Pour plus d'informations sur l'abonnement aux rubriques et leur publication, consultez l'exemple de code du SDK que vous avez choisi.

1. Pour exécuter à nouveau l'exemple de programme, vous pouvez répéter les commandes de **l'étape 2** dans la console de cette procédure.

1. (Facultatif) Si vous souhaitez voir les messages de votre client IoT dans la [AWS IoT console](https://console.aws.amazon.com//iot/home), ouvrez le [client de test MQTT](https://console.aws.amazon.com//iot/home#/test) sur la page **Test** de la AWS IoT console. Si vous avez choisi le SDK Python, dans le **client de test MQTT**, dans le **filtre d’objet**, entrez l’objet, par exemple **sdk/test/*python*** pour vous abonner aux messages depuis votre appareil. Les filtres thématiques distinguent les majuscules et minuscules et dépendent du langage de programmation du SDK que vous avez choisi à **l'étape 1**. Pour plus d'informations sur l'abonnement aux rubriques et leur publication, consultez l'exemple de code du SDK que vous avez choisi.

1. Après vous être abonné à la rubrique de test, exécutez-le **./start.sh** sur votre appareil. Pour de plus amples informations, veuillez consulter [Afficher les messages MQTT avec le client AWS IoT MQTT](view-mqtt-messages.md).

   Après l'exécution de **./start.sh**, des messages similaires aux suivants apparaissent dans le client MQTT :

   ```
   {
     "message": "Hello World!" [1]
   }
   ```

   Le nombre `sequence` est incrémenté dans `[]` d'une unité chaque fois qu'un nouveau message `Hello World!` est reçu et s'arrête lorsque vous terminez le programme.

1. Pour terminer le didacticiel et voir un résumé, dans la AWS IoT console, choisissez **Continuer**.   
![\[AWS IoT page de fin de démarrage rapide de la console.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-learn-connect-complete_updated1.png)

1. Un résumé de votre didacticiel de connexion AWS IoT rapide s'affiche désormais.  
![\[AWS IoT page de résumé du démarrage rapide de la console.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/aws-iot-learn-device-is-connected.png)

## Étape 5. Explorez davantage
<a name="iot-quick-start-test"></a>

Voici quelques idées à AWS IoT approfondir une fois que vous aurez terminé le démarrage rapide.
+ 

**[Afficher les messages MQTT dans le client MQTT](https://console.aws.amazon.com/iot/home#/test)**  
Depuis la [AWS IoT console](https://console.aws.amazon.com//iot/home), vous pouvez ouvrir le [client MQTT](https://console.aws.amazon.com//iot/home#/test) sur la page **Test** de la console AWS IoT . Dans le **client de test MQTT**, abonnez-vous au programme **\$1**, puis exécutez le programme **./start.sh** sur votre appareil comme décrit à l'étape précédente. Pour de plus amples informations, veuillez consulter [Afficher les messages MQTT avec le client AWS IoT MQTT](view-mqtt-messages.md).
+ 

**Exécutez des tests sur vos appareils avec [Device Advisor](https://docs.aws.amazon.com//iot/latest/developerguide/device-advisor.html)**  
Utilisez Device Advisor pour vérifier si vos appareils peuvent se connecter et interagir de manière sûre et fiable avec AWS IoT.
+ 

**[Tutoriel interactif](interactive-demo.md)**  
Pour démarrer le didacticiel interactif, sur la page **Apprendre** de la AWS IoT console, dans la vignette **Voir comment AWS IoT fonctionne**, sélectionnez **Démarrer le didacticiel**.
+ 

**[Préparez-vous à découvrir d'autres didacticiels](iot-gs-first-thing.md)**  
Ce démarrage rapide ne vous donne qu'un échantillon de AWS IoT. Si vous souhaitez en savoir AWS IoT plus et en savoir plus sur les fonctionnalités qui en font une puissante plateforme de solutions IoT, commencez à préparer votre plateforme de développement en[Explorez AWS IoT Core dans des didacticiels pratiques](iot-gs-first-thing.md).

# Testez la connectivité avec le point de terminaison de données de votre appareil
<a name="iot-quick-start-test-connection"></a>

Cette rubrique explique comment tester la connexion d'un appareil avec le *point de terminaison de données* de votre compte, le point de terminaison auquel vos appareils IoT se connectent AWS IoT.

Effectuez ces procédures sur le périphérique que vous souhaitez tester ou en utilisant une session de terminal SSH connectée à l'appareil que vous souhaitez tester.

**Topics**
+ [Trouvez le point de terminaison des données de votre appareil](#iot-quick-start-test-connection-endpoint)
+ [Testez rapidement la connexion](#iot-quick-start-test-connection-ping)
+ [Téléchargez l'application pour tester la connexion aux données, au point de terminaison et au port de votre appareil](#iot-quick-start-test-connection-app)
+ [Testez la connexion avec le point de terminaison et le port de données de votre appareil](#iot-quick-start-test-connection-test)

## Trouvez le point de terminaison des données de votre appareil
<a name="iot-quick-start-test-connection-endpoint"></a>

Cette procédure explique comment trouver le point de terminaison des données de votre appareil dans la [AWS IoT console](https://console.aws.amazon.com//iot/home) pour tester la connexion à votre appareil IoT.

**Pour trouvez le point de terminaison des données de votre appareil**

1. Dans la [AWS IoT console](https://console.aws.amazon.com//iot/home), dans la section **Connect**, accédez à **Configurations de domaine**.

1. Sur la page **Configurations de domaine**, accédez au conteneur de **configurations de domaine** et copiez le **nom de domaine**. La valeur de votre point de terminaison est unique à votre Compte AWS et est similaire à cet exemple :`a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com`.

1. 

   Enregistrez le point de terminaison des données de votre appareil à utiliser dans les procédures suivantes.

## Testez rapidement la connexion
<a name="iot-quick-start-test-connection-ping"></a>

Cette procédure teste la connectivité générale avec le point de terminaison de données de votre appareil, mais elle ne teste pas le port spécifique que vos appareils utiliseront. Ce test utilise un programme courant et est généralement suffisant pour savoir si vos appareils peuvent se connecter à AWS IoT.

Si vous souhaitez tester la connectivité avec le port spécifique que vos appareils utiliseront, ignorez cette procédure et passez à [Téléchargez l'application pour tester la connexion aux données, au point de terminaison et au port de votre appareil](#iot-quick-start-test-connection-app).

**Pour tester rapidement le point de terminaison des données de l'appareil**

1. Dans une fenêtre de terminal ou de ligne de commande de votre appareil, remplacez l'exemple de point de terminaison de données de l'appareil (`a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com`) par le point de terminaison de données de l'appareil pour votre compte, puis entrez cette commande.

------
#### [ Linux ]

   ```
   ping -c 5 a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com
   ```

------
#### [ Windows ]

   ```
   ping -n 5 a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com
   ```

------

1. S'il `ping` affiche une sortie similaire à la suivante, il s'est correctement connecté au point de terminaison de données de votre appareil. Bien qu'il n'ait pas communiqué AWS IoT directement avec lui, il a trouvé le serveur et il est probable qu'il AWS IoT soit disponible via ce point de terminaison.

   ```
   PING a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com (xx.xx.xxx.xxx) 56(84) bytes of data.
   64 bytes from ec2-EXAMPLE-218.eu-west-1.compute.amazonaws.com (xx.xx.xxx.xxx): icmp_seq=1 ttl=231 time=127 ms
   64 bytes from ec2-EXAMPLE-218.eu-west-1.compute.amazonaws.com (xx.xx.xxx.xxx): icmp_seq=2 ttl=231 time=127 ms
   64 bytes from ec2-EXAMPLE-218.eu-west-1.compute.amazonaws.com (xx.xx.xxx.xxx): icmp_seq=3 ttl=231 time=127 ms
   64 bytes from ec2-EXAMPLE-218.eu-west-1.compute.amazonaws.com (xx.xx.xxx.xxx): icmp_seq=4 ttl=231 time=127 ms
   64 bytes from ec2-EXAMPLE-218.eu-west-1.compute.amazonaws.com (xx.xx.xxx.xxx): icmp_seq=5 ttl=231 time=127 ms
   ```

   Si vous êtes satisfait de ce résultat, vous pouvez arrêter les tests ici.

   Si vous souhaitez tester la connectivité avec le port spécifique utilisé par AWS IoT, passez à [Téléchargez l'application pour tester la connexion aux données, au point de terminaison et au port de votre appareil](#iot-quick-start-test-connection-app).

1. Si `ping` n'a pas renvoyé de résultat réussi, vérifiez la valeur du point de terminaison pour vous assurer que vous disposez du bon point de terminaison et vérifiez la connexion de l'appareil avec Internet.

## Téléchargez l'application pour tester la connexion aux données, au point de terminaison et au port de votre appareil
<a name="iot-quick-start-test-connection-app"></a>

Un test de connectivité plus approfondi peut être effectué en utilisant `nmap`. Cette procédure permet de vérifier si `nmap` est installé sur votre appareil.

**Pour vérifier `nmap` sur l'appareil**

1. Dans un terminal ou une fenêtre de ligne de commande de l'appareil que vous souhaitez tester, entrez cette commande pour voir si `nmap` est installée.

   ```
   nmap --version
   ```

1. Si vous obtenez une sortie similaire à ce qui suit, `nmap` est installée et vous pouvez continuer vers [Testez la connexion avec le point de terminaison et le port de données de votre appareil](#iot-quick-start-test-connection-test).

   ```
   Nmap version 6.40 ( http://nmap.org )
   Platform: x86_64-koji-linux-gnu
   Compiled with: nmap-liblua-5.2.2 openssl-1.0.2k libpcre-8.32 libpcap-1.5.3 nmap-libdnet-1.12 ipv6
   Compiled without:
   Available nsock engines: epoll poll select
   ```

1. Si vous ne voyez pas de réponse similaire à celle indiquée à l'étape précédente, vous devez procéder à l'installation de `nmap` sur l'appareil. Choisissez la procédure pour le système d'exploitation de votre appareil.

------
#### [ Linux ]

Cette procédure nécessite que vous ayez l'autorisation d'installer le logiciel sur l'ordinateur.

**Pour installer nmap sur votre ordinateur Linux**

1. Dans un terminal ou une fenêtre de ligne de commande de votre appareil, entrez la commande correspondant à la version de Linux qu'il exécute.

   1. Pour Debian/Ubuntu :

      ```
      sudo apt install nmap
      ```

   1. Pour CentOS ou RHEL :

      ```
      sudo yum install nmap
      ```

1. Testez l'installation avec cette commande :

   ```
   nmap --version
   ```

1. Si vous obtenez une sortie similaire à ce qui suit, `nmap` est installée et vous pouvez continuer vers [Testez la connexion avec le point de terminaison et le port de données de votre appareil](#iot-quick-start-test-connection-test).

   ```
   Nmap version 6.40 ( http://nmap.org )
   Platform: x86_64-koji-linux-gnu
   Compiled with: nmap-liblua-5.2.2 openssl-1.0.2k libpcre-8.32 libpcap-1.5.3 nmap-libdnet-1.12 ipv6
   Compiled without:
   Available nsock engines: epoll poll select
   ```

------
#### [ macOS ]

Cette procédure nécessite que vous ayez l'autorisation d'installer le logiciel sur l'ordinateur.

**Pour installer nmap sur votre ordinateur MacOs**

1. Dans un navigateur, ouvrez [https://nmap.org/download\$1macosx](https://nmap.org/download#macosx) et téléchargez la **dernière version stable du programme**.

   Lorsque vous y êtes invité, sélectionnez **Ouvrir avec DiskImageInstaller**.

1. Dans la fenêtre d'installation, déplacez le package vers le dossier **Applications**.

1. Dans le **Recherche**, recherchez le `nmap-xxxx-mpkg` package dans le dossier **Applications**. **Ctrl-click**cliquez sur le package et sélectionnez **Ouvrir** pour ouvrir le package.

1. Consultez la boîte de dialogue de sécurité. Si vous êtes prêt à procéder à l'installation**nmap**, choisissez **Ouvrir** pour effectuer l'installation**nmap**.

1. Dans **Terminal**, testez l'installation avec cette commande.

   ```
   nmap --version
   ```

1. Si vous obtenez une sortie similaire à ce qui suit, `nmap` est installée et vous pouvez continuer vers [Testez la connexion avec le point de terminaison et le port de données de votre appareil](#iot-quick-start-test-connection-test).

   ```
   Nmap version 7.92 ( https://nmap.org )
   Platform: x86_64-apple-darwin17.7.0
   Compiled with: nmap-liblua-5.3.5 openssl-1.1.1k nmap-libssh2-1.9.0 libz-1.2.11 nmap-libpcre-7.6 nmap-libpcap-1.9.1 nmap-libdnet-1.12 ipv6 Compiled without:
   Available nsock engines: kqueue poll select
   ```

------
#### [ Windows ]

Cette procédure nécessite que vous ayez l'autorisation d'installer le logiciel sur l'ordinateur.

**Pour installer nmap sur votre ordinateur Windows**

1. Dans un navigateur, ouvrez [https://nmap.org/download\$1windows](https://nmap.org/download#windows) et téléchargez la **dernière version stable** du programme d'installation.

   Si vous y êtes invité, choisissez **Enregistrer le fichier**. Une fois le fichier téléchargé, ouvrez-le depuis le dossier des téléchargements.

1.  Une fois le téléchargement du fichier d'installation terminé, ouvrez le fichier téléchargé **nmap-xxxx-setup.exe** pour installer l'application. 

1.  Acceptez les paramètres par défaut lors de l'installation du programme.

   Vous n'avez pas besoin de l'application Npcap pour ce test. Vous pouvez désélectionner cette option si vous ne souhaitez pas l'installer.

1. Dans **Command**, testez l'installation avec cette commande.

   ```
   nmap --version
   ```

1. Si vous obtenez une sortie similaire à ce qui suit, `nmap` est installée et vous pouvez continuer vers [Testez la connexion avec le point de terminaison et le port de données de votre appareil](#iot-quick-start-test-connection-test).

   ```
   Nmap version 7.92 ( https://nmap.org )
   Platform: i686-pc-windows-windows
   Compiled with: nmap-liblua-5.3.5 openssl-1.1.1k nmap-libssh2-1.9.0 nmap-libz-1.2.11 nmap-libpcre-7.6 Npcap-1.50 nmap-libdnet-1.12 ipv6
   Compiled without:
   Available nsock engines: iocp poll select
   ```

------

## Testez la connexion avec le point de terminaison et le port de données de votre appareil
<a name="iot-quick-start-test-connection-test"></a>

Cette procédure teste la connexion de votre appareil IoT au point de terminaison de données de votre appareil à l'aide du port sélectionné.

**Pour tester le point de terminaison et le port de données de votre appareil**

1. Dans une fenêtre de terminal ou de ligne de commande de votre appareil, remplacez l'exemple de point de terminaison de données de l'appareil (`a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com`) par le point de terminaison de données de l'appareil pour votre compte, puis entrez cette commande.

   ```
   nmap -p 8443 a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com
   ```

1. Si `nmap` affiche une sortie similaire ceci, `nmap` a réussi à se connecter au point de terminaison de données de votre appareil sur le port sélectionné.

   ```
   Starting Nmap 7.92 ( https://nmap.org ) at 2022-02-18 16:23 Pacific Standard Time
   Nmap scan report for a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com (xx.xxx.147.160)
   Host is up (0.036s latency).
   Other addresses for a3qEXAMPLEsffp-ats.iot.eu-west-1.amazonaws.com (not scanned): xx.xxx.134.144 xx.xxx.55.139 xx.xxx.110.235 xx.xxx.174.233 xx.xxx.74.65 xx.xxx.122.179 xx.xxx.127.126
   rDNS record for xx.xxx.147.160: ec2-EXAMPLE-160.eu-west-1.compute.amazonaws.com
   
   PORT     STATE SERVICE
   8443/tcp open  https-alt
   MAC Address: 00:11:22:33:44:55 (Cimsys)
   
   Nmap done: 1 IP address (1 host up) scanned in 0.91 seconds
   ```

1. Si `nmap` n'a pas renvoyé de résultat réussi, vérifiez la valeur du point de terminaison pour vous assurer que vous disposez du bon point de terminaison et vérifiez votre connexion de l'appareil avec Internet.

Vous pouvez tester d'autres ports sur le point de terminaison de données de votre appareil, tels que le port 443, le port HTTPS principal, `8443` en remplaçant le port utilisé à l'étape 1 par le port que vous souhaitez tester.

# Explorez AWS IoT Core dans des didacticiels pratiques
<a name="iot-gs-first-thing"></a>

Dans ce didacticiel, vous allez installer le logiciel et créer les AWS IoT ressources nécessaires pour connecter un appareil AWS IoT Core afin qu'il puisse envoyer et recevoir des messages MQTT avec AWS IoT Core. Vous verrez les messages du client MQTT dans la AWS IoT console.

Attendez à consacrer 20 à 30 minutes à ce didacticiel. Si vous utilisez un appareil IoT ou un Raspberry Pi, ce didacticiel peut prendre plus de temps si, par exemple, vous devez installer le système d'exploitation et configurer l'appareil.

![\[Commencer avec AWS IoT Core la page.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/iot-getting-started.png)


Ce didacticiel est idéal pour les développeurs qui AWS IoT Core souhaitent commencer à explorer des fonctionnalités plus avancées, telles que le [moteur de règles](https://docs.aws.amazon.com//iot/latest/developerguide/iot-rules.html) et les [ombres](https://docs.aws.amazon.com//iot/latest/developerguide/iot-device-shadows.html). Ce didacticiel vous prépare à poursuivre votre apprentissage AWS IoT Core et à découvrir comment il interagit avec d'autres AWS services en expliquant les étapes de manière plus détaillée que dans [le didacticiel de démarrage rapide](iot-quick-start.md). Si vous recherchez juste une expérience rapide, *Hello World*, essayez le [Essayez le didacticiel de connexion AWS IoT Core rapide](iot-quick-start.md).

Après avoir configuré votre AWS IoT console Compte AWS et, vous allez suivre ces étapes pour savoir comment connecter un appareil et lui demander d'envoyer des messages AWS IoT Core.

**Étapes suivantes**
+ [Choisissez l'option d'appareil qui vous convient le mieux](#choosing-a-gs-system)
+ [Créez des AWS IoT ressources](create-iot-resources.md) si vous n'avez pas l'intention de créer un appareil virtuel avec Amazon EC2
+ [Configurer votre appareil](configure-device.md)
+ [Afficher les messages MQTT avec le client AWS IoT MQTT](view-mqtt-messages.md)

Pour plus d'informations AWS IoT Core, voir [Qu'est-ce que c'est AWS IoT Core](what-is-aws-iot.md) ?

## Quelle option d'appareil vous convient le mieux ?
<a name="choosing-a-gs-system"></a>

Si vous ne savez pas quelle option choisir, utilisez la liste suivante des avantages et des inconvénients de chaque option pour vous aider à choisir celle qui vous convient le mieux.


| Option | Cela peut être une bonne option si : | Cela ne peut être une bonne option si : | 
| --- | --- | --- | 
| [Création d'un appareil virtuel avec Amazon EC2](creating-a-virtual-thing.md) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/iot-gs-first-thing.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/iot-gs-first-thing.html)  | 
| [Utilisez votre PC ou Mac Windows ou Linux comme AWS IoT appareil](using-laptop-as-device.md) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/iot-gs-first-thing.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/iot-gs-first-thing.html)  | 
| [Connectez un Raspberry Pi ou un autre appareil](connecting-to-existing-device.md) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/iot-gs-first-thing.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/iot-gs-first-thing.html)  | 

# Créez des AWS IoT ressources
<a name="create-iot-resources"></a>

Dans ce didacticiel, vous allez créer les AWS IoT ressources dont un appareil a besoin pour se connecter AWS IoT Core et échanger des messages.

![\[Créez une page de AWS IoT ressources.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/iot-gs-create-resources.png)


1. Créez un document AWS IoT de politique qui autorisera votre appareil à interagir avec les AWS IoT services.

1. Créez un objet AWS IoT et son certificat de périphérique X.509, puis joignez le document de politique. L'objet est la représentation virtuelle de votre appareil dans le AWS IoT registre. Le certificat authentifie votre appareil auprès de AWS IoT Core, et le document de politique autorise votre appareil à interagir avec celui-ci. AWS IoT
**Note**  
Si vous avez l'intention de [Création d'un appareil virtuel avec Amazon EC2](creating-a-virtual-thing.md), vous pouvez ignorer cette page et passer à [Configurer votre appareil](configure-device.md). Vous créerez ces ressources lorsque vous créerez votre objet virtuel.

Ce didacticiel utilise la AWS IoT console pour créer les AWS IoT ressources. Si votre appareil prend en charge un navigateur Web, il peut être plus facile d'exécuter cette procédure sur le navigateur Web de l'appareil, car vous pourrez télécharger les fichiers de certificat directement sur votre appareil. Si vous exécutez cette procédure sur un autre ordinateur, vous devrez copier les fichiers de certificat sur votre appareil avant de pouvoir les utiliser comme exemple d'application.

## Création d'une AWS IoT politique
<a name="create-iot-policy"></a>

Les appareils utilisent un certificat X.509 pour s'authentifier. AWS IoT Core Le certificat est associé à des AWS IoT politiques. Ces politiques déterminent quelles opérations AWS IoT , telles que l'abonnement ou la publication sur des sujets MQTT, l'appareil est autorisé à effectuer. Votre appareil présente son certificat lorsqu'il se connecte et envoie des messages à AWS IoT Core.

Suivez les étapes pour créer une politique permettant à votre appareil d'effectuer les opérations AWS IoT nécessaires pour exécuter le programme d'exemple. Vous devez créer la politique AWS IoT avant de pouvoir l'associer au certificat de l'appareil, que vous créerez ultérieurement.

**Pour créer une AWS IoT politique**

1. Dans la [AWS IoT console](https://console.aws.amazon.com//iot/home), dans le menu de gauche, choisissez **Sécurité** puis choisissez **Politiques**.

1. Sur la page, **Vous n'avez pas encore de stratégie**, choisissez **Créer une politique**.

   Si des politiques existent déjà dans votre compte, choisissez **Créer une politique**.

1. Sur la page **Créer une politique** :

   1. Dans la section **Propriétés de la politique**, dans le champ **Nom de la politique**, entrez le nom de la politique (par exemple,**My\$1Iot\$1Policy**). N'utilisez pas d'informations personnelles identifiables dans vos noms de stratégie.

   1. Dans la section **Document de politique**, créez les déclarations de politique qui accordent ou refusent aux ressources l'accès aux opérations AWS IoT Core . Pour créer une déclaration de politique qui autorise tous les clients à exécuter ****iot:Connect****, procédez comme suit :
      + Dans le champ **Effet de la politique**, sélectionnez **Autoriser**. Cela permet à tous les clients dont cette politique est attachée à leur certificat d'exécuter l'action répertoriée dans le champ **Action de la politique**.
      + Dans le champ **Action de la politique**, choisissez une action de politique telle que ****iot:Connect****. Les actions de politique sont les actions que votre appareil doit être autorisé à effectuer lorsqu'il exécute l'exemple de programme à partir du SDK de l’appareil.
      + Dans le champ **Ressource de la politique**, entrez une ressource Amazon Resource Name (ARN) ou **\$1**. Un **\$1** pour sélectionner n'importe quel client (appareil).

      Pour créer les déclarations de politique pour ****iot:Receive****, ****iot:Publish****, et ****iot:Subscribe****, choisissez **Ajouter une nouvelle déclaration** et répétez les étapes.  
![\[La page permettant de créer une politique.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/gs-create-policy-new.png)
**Note**  
Dans ce démarrage rapide, le caractère générique (\$1) est utilisé pour des raisons de simplicité. Pour une sécurité accrue, vous devez limiter les clients (appareils) autorisés à se connecter et à publier des messages en spécifiant un ARN client au lieu du caractère générique comme ressource. Le client ARNs suit ce format :`arn:aws:iot:your-region:your-aws-account:client/my-client-id`.   
Cependant, vous devez d'abord créer la ressource (telle qu'un appareil client ou un objet fantôme) avant de pouvoir attribuer son ARN à une politique. Pour plus d’informations, consultez [AWS IoT Core les ressources d’action](https://docs.aws.amazon.com//iot/latest/developerguide/iot-action-resources.html).

1. Une fois que vous avez entré les informations relatives à votre politique, choisissez **Créer**.

Pour de plus amples informations, veuillez consulter [Comment AWS IoT fonctionne avec IAM](security_iam_service-with-iam.md).

## Créez un objet
<a name="create-aws-thing"></a>

Les appareils connectés AWS IoT Core sont représentés par *des objets* dans le AWS IoT registre. Un *objet* représente un appareil spécifique ou une entité logique. Il peut s'agir d'un appareil physique ou d'un capteur (par exemple, une ampoule ou un interrupteur mural). Il peut également s'agir d'une entité logique, telle qu'une instance d'une application ou d'une entité physique qui ne se connecte pas AWS IoT, mais qui est associée à d'autres appareils qui le font (par exemple, une voiture équipée de capteurs de moteur ou d'un panneau de commande).

**Pour créer un objet dans la AWS IoT console**

1. Dans le menu de gauche de la [AWS IoT console](https://console.aws.amazon.com/iot/home), choisissez **Tous les appareils**, puis **Objets**.

1. Sur la page **Objets**, choisissez **Créer des objets**.

1. Sur la page **Création d'objets ****, choisissez **Créer un objet unique, puis sur **Suivant**.

1. Sur la page **Spécifier les propriétés de l'objet**, dans **Nom de l'objet**, entrez un nom pour votre objet, tel que **MyIotThing**.

   Choisissez les noms des objets avec soin, car vous ne pourrez pas modifier le nom d'un objet ultérieurement.

   Pour changer le nom d'un objet, vous devez créer un objet, lui donner un nouveau nom, puis supprimer l'ancien objet.
**Note**  
N'utilisez pas d'informations personnellement identifiables dans le nom de votre objet. Le nom de l'objet peut apparaître dans les communications et les rapports non chiffrés.

1. Laissez les autres champs de cette page vides. Choisissez **Suivant**.

1. Sur la page **Configurer le certificat de l'appareil - *facultatif***, choisissez **Générer automatiquement un nouveau certificat (recommandé).** Choisissez **Suivant**.

1. Sur la page **Attacher des politiques au certificat - *facultatif***, sélectionnez la politique que vous avez créée dans la section précédente. Dans cette section, la politique était nommée, **My\$1Iot\$1Policy**. Choisissez **Créer objet**.

1. Sur la page **Télécharger les certificats et les clés** :

   1. Téléchargez chacun des fichiers de certificat et de clé et enregistrez-les pour plus tard. Vous devez installer ces fichiers sur votre appareil.

      Lorsque vous enregistrez vos fichiers de certificats, donnez-leur les noms indiqués dans le tableau suivant. Il s'agit des noms de fichiers utilisés dans les exemples suivants.  
**Noms des fichiers de certificat**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/create-iot-resources.html)

   1. Pour télécharger le fichier de l'autorité de certification racine correspondant à ces fichiers, cliquez sur le lien de **téléchargement** du fichier correspondant au type de point de terminaison de données et de suite de chiffrement que vous utilisez. Dans ce didacticiel, choisissez **Télécharger** à droite de la clé **RSA 2048 bits : Amazon Root CA 1 et téléchargez la clé** **RSA 2048 bits : fichier de certificat Amazon Root CA** 1.
**Important**  
Vous devez enregistrer les fichiers de certificat avant de quitter cette page. Une fois que vous aurez quitté cette page dans la console, vous n'aurez plus accès aux fichiers de certificats.  
Si vous avez oublié de télécharger les fichiers de certificat que vous avez créés lors de cette étape, vous devez quitter cet écran de console, accéder à la liste des éléments de la console, supprimer l'objet que vous avez créé, puis recommencer cette procédure depuis le début.

   1.  Sélectionnez **Exécuté**.

Une fois cette procédure terminée, le nouvel objet devrait apparaître dans votre liste d'objets.

# Configurer votre appareil
<a name="configure-device"></a>

Cette section décrit comment configurer votre appareil pour qu'il se connecte à AWS IoT Core. Si vous souhaitez commencer AWS IoT Core mais que vous n'avez pas encore d'appareil, vous pouvez créer un appareil virtuel à l'aide d'Amazon EC2 ou utiliser votre PC ou Mac Windows comme appareil IoT.

Sélectionnez l'option d'appareil qui vous convient le mieux AWS IoT Core. Bien sûr, vous pouvez tous les essayer, mais n'en essayez qu'un à la fois. Si vous ne savez pas quelle option d'appareil vous convient le mieux, découvrez comment choisir [la meilleure option d'appareil](iot-gs-first-thing.md#choosing-a-gs-system), puis revenez à cette page.

**Options de l'appareil**
+ [Création d'un appareil virtuel avec Amazon EC2](creating-a-virtual-thing.md)
+ [Utilisez votre PC ou Mac Windows ou Linux comme AWS IoT appareil](using-laptop-as-device.md)
+ [Connectez un Raspberry Pi ou un autre appareil](connecting-to-existing-device.md)

# Création d'un appareil virtuel avec Amazon EC2
<a name="creating-a-virtual-thing"></a>

Dans ce didacticiel, vous allez créer une instance Amazon EC2 qui servira d'appareil virtuel dans le cloud.

Pour terminer ce didacticiel, vous avez besoin d'un Compte AWS. Si vous n'en avez pas, effectuez les étapes décrites dans la section [Configurez Compte AWS](setting-up.md) avant de continuer.

**Topics**
+ [Configurer une instance Amazon EC2](#set-up-ec2)
+ [Installez Git, Node.js et configurez AWS CLI](#install-git-node)
+ [Créez AWS IoT des ressources pour votre appareil virtuel](#ec2-create-certificate)
+ [Installez le SDK du AWS IoT périphérique pour JavaScript](#ec2-sdk)
+ [Exécuter les exemples d'applications](#ec2-run-app)
+ [Afficher les messages de l'exemple d'application dans la AWS IoT console](#ec2-view-msg)

## Configurer une instance Amazon EC2
<a name="set-up-ec2"></a>

Les étapes suivantes vous montrent comment créer une instance Amazon EC2 qui fera office de périphérique virtuel à la place d'un appareil physique.

Si c'est la première fois que vous créez une instance Amazon EC2, vous trouverez peut-être les instructions de la section [Commencer avec les instances Amazon EC2 Linux](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/EC2_GetStarted.html) plus utiles.

**Pour lancer une instance**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le menu de la console sur la gauche, développez la section **Instances** et choisissez **Instances**. Dans le tableau de bord **Instances**, choisissez **Lancer les instances** sur la droite pour afficher une liste des configurations de base. 

1. Dans la section **Nom et balises**, entrez le nom de l'instance et ajoutez éventuellement des balises.

1. Dans la section **Images d'applications et de systèmes d'exploitation (Amazon Machine Image)**, choisissez un modèle d'AMI pour votre instance, tel que l'*AMI Amazon Linux 2 (HVM)*. Notez que cette AMI est indiquée comme « Éligible à l'offre gratuite ».

1. Dans la section **Type d'instance**, vous pouvez sélectionner la configuration matérielle de votre instance. Sélectionnez le type `t2.micro` qui est sélectionné par défaut. Notez que ce type d'instance est éligible pour l'offre gratuite.

1. Dans la section **Key pair (Paire de clés [login])**, choisissez un nom de paire de clés dans la liste déroulante ou choisissez **Create a new key pair (Créer une paire** de clés) pour en créer une. Lorsque vous créez une nouvelle paire de clés, assurez-vous de télécharger le fichier de clé privée et de l'enregistrer dans un endroit sûr, car c'est votre seule chance de le télécharger et de l'enregistrer. Vous devez fournir le nom de votre paire de clés quand vous lancez une instance, ainsi que la clé privée correspondante chaque fois que vous vous connectez à l'instance.
**Avertissement**  
Ne choisissez pas l'option **Continuer sans paire de clés**. Si vous lancez votre instance sans une paire de clés, vous ne pourrez pas vous y connecter.

1. Dans les sections **Paramètres réseau** et **Configuration du stockage**, vous pouvez conserver les paramètres par défaut. Une fois que vous êtes prêt, choisissez **Lancer les instances**.

1. Une page de confirmation indique que l'instance est en cours de lancement. Sélectionnez **View Instances** pour fermer la page de confirmation et revenir à la console.

1. Sur l'écran **Instances**, vous pouvez afficher le statut du lancement. Il suffit de peu de temps pour lancer une instance. Lorsque vous lancez une instance, son état initial est `pending`. Une fois que l’instance a démarré, son état devient `running` et elle reçoit un nom DNS public. (Si la colonne **DNS public (IPv4)** est masquée, choisissez **Afficher/Masquer les colonnes** (icône en forme d'engrenage) dans le coin supérieur droit de la page, puis sélectionnez **DNS public** ().) IPv4

1. Cela peut prendre quelques minutes avant que l'instance soit prête pour que vous puissiez vous y connecter. Vérifiez que votre instance a réussi ses contrôles de statut ; vous pouvez voir cette information dans la colonne **Status Checks**.

   Une fois que le statut de votre nouvelle instance a été vérifié, passez à la procédure suivante et connectez-vous à celle-ci.

**Pour vous connecter à votre instance**

Vous pouvez vous connecter à une instance à l'aide du client basé sur un navigateur en sélectionnant l'instance dans la console Amazon EC2 et en choisissant de vous connecter à l'aide d'Amazon EC2 Instance Connect. Instance Connect gère les autorisations et fournit une connexion réussie.

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le menu de gauche, choisissez **Instances**.

1. Sélectionnez l’instance, puis choisissez **Connect (Connexion)**.

1. Choisissez **Amazon EC2 Instance Connect**, **Connect**.

Vous devriez maintenant avoir une fenêtre **Amazon EC2 Instance Connect** connectée à votre nouvelle instance Amazon EC2.

## Installez Git, Node.js et configurez AWS CLI
<a name="install-git-node"></a>

Dans cette section, vous allez installer Git et Node.js sur votre instance Linux.

**Pour installer Git**

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, mettez à jour votre instance à l'aide de la commande suivante.

   ```
   sudo yum update -y
   ```

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, installez Git à l’aide de la commande suivante.

   ```
   sudo yum install git -y
   ```

1. Pour vérifier si Git a été installé et si la version actuelle de Git est installée, exécutez la commande suivante :

   ```
   git --version
   ```

**Pour installer Node.js**

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, installez le gestionnaire de versions de nœud (nvm) à l'aide de la commande suivante.

   ```
   curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
   ```

   Nous allons utiliser nvm pour installer Node.js, car il peut installer plusieurs versions de Node.js et vous permettre de passer de l'une à l'autre. 

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, activez nvm à l'aide de cette commande.

   ```
   . ~/.nvm/nvm.sh
   ```

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, utilisez nvm pour installer la dernière version de Node.js à l'aide de cette commande.

   ```
   nvm install 16
   ```
**Note**  
Cela installe la dernière version LTS de Node.js.

   L'installation de Node.js installe également le gestionnaire de package de nœud (npm), ce qui vous permet d'installer des modules supplémentaires si besoin.

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, vérifiez que Node.js est installé et s'exécute correctement à l'aide de cette commande.

   ```
   node -e "console.log('Running Node.js ' + process.version)"
   ```

    Ce didacticiel nécessite Nœud v10.0 ou une version ultérieure. Pour plus d'informations, consultez [Tutoriel : Configuration de Node.js sur une instance Amazon EC2](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html).

**Pour configurer AWS CLI**

Votre instance Amazon EC2 est préchargée avec le AWS CLI. Cependant, vous devez compléter votre AWS CLI profil. Pour plus d’informations sur la configuration de votre CLI, consultez [Configuration du AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).

1. L’exemple suivant montre des exemples de valeurs. Remplacez les par vos propres valeurs. Vous pouvez trouver ces valeurs dans votre [AWS console, dans les informations de votre compte sous **Identifiants de sécurité**](https://console.aws.amazon.com//iam/home#/security_credentials).

   Dans votre fenêtre **Amazon EC2 Instance Connect**, saisissez cette commande :

   ```
   aws configure
   ```

   Entrez ensuite les valeurs de votre compte en suivant les instructions affichées.

   ```
   AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
   AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   Default region name [None]: us-west-2
   Default output format [None]: json
   ```

1. Vous pouvez tester votre AWS CLI configuration à l'aide de cette commande :

   ```
   aws iot describe-endpoint --endpoint-type iot:Data-ATS
   ```

   Si vous êtes correctement AWS CLI configuré, la commande doit renvoyer une adresse de point de terminaison provenant de votre Compte AWS.

## Créez AWS IoT des ressources pour votre appareil virtuel
<a name="ec2-create-certificate"></a>

Cette section décrit comment utiliser le AWS CLI pour créer l'objet objet et ses fichiers de certificat directement sur le périphérique virtuel. Cela se fait directement sur l'appareil afin d'éviter les complications potentielles qui pourraient découler de leur copie à partir d'un autre ordinateur. Dans cette section, vous allez créer les ressources suivantes pour votre appareil virtuel :
+ Un objet dans lequel représenter votre appareil virtuel AWS IoT.
+ Un certificat pour authentifier votre appareil virtuel.
+ Document de politique autorisant votre appareil virtuel à se connecter aux messages AWS IoT, à les publier, à les recevoir et à s'y abonner.

**Pour créer un AWS IoT objet dans votre instance Linux**

Les appareils connectés AWS IoT sont représentés par *des objets* dans le AWS IoT registre. Un *objet* représente un appareil spécifique ou une entité logique. Dans ce cas, votre *objet* représentera votre appareil virtuel, cette instance Amazon EC2.

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, exécutez la commande suivante pour créer votre objet.

   ```
   aws iot create-thing --thing-name "MyIotThing"
   ```

1. La réponse JSON devrait ressembler à ceci :

   ```
   {
       "thingArn": "arn:aws:iot:your-region:your-aws-account:thing/MyIotThing", 
       "thingName": "MyIotThing",
       "thingId": "6cf922a8-d8ea-4136-f3401EXAMPLE"
   }
   ```

**Pour créer et joindre AWS IoT des clés et des certificats dans votre instance Linux**

La commande **[create-keys-and-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/create-keys-and-certificate.html)** crée des certificats clients signés par l'autorité de certification Amazon Root. Ce certificat est utilisé pour authentifier l'identité de votre appareil virtuel.

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, créez un répertoire pour stocker vos fichiers de certificat et de clé.

   ```
   mkdir ~/certs
   ```

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, téléchargez une copie du certificat de l'autorité de certification Amazon (CA) à l'aide de cette commande.

   ```
   curl -o ~/certs/Amazon-root-CA-1.pem \
       https://www.amazontrust.com/repository/AmazonRootCA1.pem
   ```

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, exécutez la commande suivante pour créer vos fichiers de clé privée, de clé publique et de certificat X.509. Cette commande enregistre et active également le certificat avec AWS IoT.

   ```
   aws iot create-keys-and-certificate \
       --set-as-active \
       --certificate-pem-outfile "~/certs/device.pem.crt" \
       --public-key-outfile "~/certs/public.pem.key" \
       --private-key-outfile "~/certs/private.pem.key"
   ```

   La réponse se présente comme suit. Enregistrez le `certificateArn` afin de pouvoir l'utiliser dans les commandes suivantes. Vous en aurez besoin pour joindre votre certificat à votre objet et pour associer la politique au certificat ultérieurement.

   ```
   {
       "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/9894ba17925e663f1d29c23af4582b8e3b7619c31f3fbd93adcb51ae54b83dc2",
       "certificateId": "9894ba17925e663f1d29c23af4582b8e3b7619c31f3fbd93adcb51ae54b83dc2",
       "certificatePem": "
   -----BEGIN CERTIFICATE-----
   MIICiTCCEXAMPLE6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC
   VVMxCzAJBgNVBAgEXAMPLEAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6
   b24xFDASBgNVBAsTC0lBTSEXAMPLE2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd
   BgkqhkiG9w0BCQEWEG5vb25lQGFtYEXAMPLEb20wHhcNMTEwNDI1MjA0NTIxWhcN
   MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCEXAMPLEJBgNVBAgTAldBMRAwDgYD
   VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAEXAMPLEsTC0lBTSBDb25z
   b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEXAMPLE25lQGFt
   YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+aEXAMPLE
   EXAMPLEfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T
   rDHudUZEXAMPLELG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE
   Ibb3OhjZnzcvQAEXAMPLEWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4
   nUhVVxYUntneD9+h8Mg9qEXAMPLEyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb
   FFBjvSfpJIlJ00zbhNYS5f6GuoEDEXAMPLEBHjJnyp378OD8uTs7fLvjx79LjSTb
   NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE=
   -----END CERTIFICATE-----\n",
       "keyPair": {
           "PublicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkEXAMPLEQEFAAOCAQ8AMIIBCgKCAQEAEXAMPLE1nnyJwKSMHw4h\nMMEXAMPLEuuN/dMAS3fyce8DW/4+EXAMPLEyjmoF/YVF/gHr99VEEXAMPLE5VF13\n59VK7cEXAMPLE67GK+y+jikqXOgHh/xJTwo+sGpWEXAMPLEDz18xOd2ka4tCzuWEXAMPLEahJbYkCPUBSU8opVkR7qkEXAMPLE1DR6sx2HocliOOLtu6Fkw91swQWEXAMPLE\GB3ZPrNh0PzQYvjUStZeccyNCx2EXAMPLEvp9mQOUXP6plfgxwKRX2fEXAMPLEDa\nhJLXkX3rHU2xbxJSq7D+XEXAMPLEcw+LyFhI5mgFRl88eGdsAEXAMPLElnI9EesG\nFQIDAQAB\n-----END PUBLIC KEY-----\n",
           "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nkey omitted for security reasons\n-----END RSA PRIVATE KEY-----\n"
       }
   }
   ```

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, attachez votre objet au certificat que vous venez de créer à l'aide de la commande suivante et de la *certificateArn* réponse de la commande précédente.

   ```
   aws iot attach-thing-principal \
       --thing-name "MyIotThing" \
       --principal "certificateArn"
   ```

   En cas de succès, cette commande n'affiche aucune sortie.

**Pour créer et attacher une politique**

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, créez le fichier de politique en copiant et en collant ce document de politique dans un fichier nommé **\$1/policy.json**.

   Si vous n'en avez pas, vous pouvez ouvrir **nano** à l'aide de cette commande.

   ```
   nano ~/policy.json
   ```

   Collez-y le document de politique pour `policy.json`. Faites ctrl-x pour quitter l'éditeur **nano** et enregistrer le fichier.

   Contenu du document de politique pour `policy.json`.  
****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "iot:Publish",
                   "iot:Subscribe",
                   "iot:Receive",
                   "iot:Connect"
               ],
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, créez votre politique à l’aide de la commande suivante.

   ```
   aws iot create-policy \
       --policy-name "MyIotThingPolicy" \
       --policy-document "file://~/policy.json"
   ```

   Sortie :  
****  

   ```
   {
       "policyName": "MyIotThingPolicy",
       "policyArn": "arn:aws:iot:us-east-1:your-aws-account:policy/MyIotThingPolicy",
       "policyDocument": "{
           \"Version\": \"2012-10-17\",
           \"Statement\": [
               {
                   \"Effect\": \"Allow\",
                   \"Action\": [
                       \"iot:Publish\",
                       \"iot:Receive\",
                       \"iot:Subscribe\",
                       \"iot:Connect\"
                   ],
                   \"Resource\": [
                       \"*\"
                   ]
           }
           ]
       }",
       "policyVersionId": "1"
   }
   ```

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, attachez la politique au certificat de votre appareil virtuel à l’aide de la commande suivante.

   ```
   aws iot attach-policy \
       --policy-name "MyIotThingPolicy" \
       --target "certificateArn"
   ```

   En cas de succès, cette commande n'affiche aucune sortie.

## Installez le SDK du AWS IoT périphérique pour JavaScript
<a name="ec2-sdk"></a>

Dans cette section, vous allez installer le SDK du AWS IoT périphérique JavaScript, qui contient le code avec lequel les applications peuvent communiquer, AWS IoT ainsi que des exemples de programmes. Pour plus d'informations, consultez le [SDK du AWS IoT périphérique pour le JavaScript GitHub référentiel](https://github.com/aws/aws-iot-device-sdk-js-v2).

**Pour installer le SDK du AWS IoT périphérique JavaScript sur votre instance Linux**

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, clonez le SDK du AWS IoT périphérique pour le JavaScript référentiel dans le `aws-iot-device-sdk-js-v2` répertoire de votre répertoire personnel à l'aide de cette commande.

   ```
   cd ~
   git clone https://github.com/aws/aws-iot-device-sdk-js-v2.git
   ```

1. Accédez au répertoire `aws-iot-device-sdk-js-v2` que vous avez créé à l'étape précédente.

   ```
   cd aws-iot-device-sdk-js-v2
   ```

1. Utilisez npm pour installer le kit SDK.

   ```
   npm install
   ```

## Exécuter les exemples d'applications
<a name="ec2-run-app"></a>

 Les commandes des sections suivantes supposent que vos fichiers de clé et de certificat sont stockés sur votre appareil virtuel comme indiqué dans ce tableau.


**Noms des fichiers de certificat**  

|  Fichier  |  Chemin d'accès du fichier  | 
| --- | --- | 
|  Clé privée  |  `~/certs/private.pem.key`  | 
|  Certificat de l'appareil  |  `~/certs/device.pem.crt`  | 
|  Certificat racine de l'autorité de certification  |  `~/certs/Amazon-root-CA-1.pem`  | 

Dans cette section, vous allez installer et exécuter l'`pub-sub.js`exemple d'application qui se trouve dans le `aws-iot-device-sdk-js-v2/samples/node` répertoire du SDK du AWS IoT périphérique pour JavaScript. Cette application montre comment un appareil, votre instance Amazon EC2, utilise la bibliothèque MQTT pour publier des messages MQTT et s'y abonner. L'exemple d'application `pub-sub.js` s'abonne à une rubrique, `topic_1`, publie 10 messages sur cette rubrique et affiche les messages au fur et à mesure qu'ils sont reçus de l’agent de messages.

**Pour installer et exécuter l'exemple d'application**

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, accédez au `aws-iot-device-sdk-js-v2/samples/node/pub_sub` répertoire créé par le SDK et installez l'exemple d'application à l'aide de ces commandes.

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   npm install
   ```

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, accédez *your-iot-endpoint* à partir de AWS IoT en utilisant cette commande.

   ```
   aws iot describe-endpoint --endpoint-type iot:Data-ATS
   ```

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, insérez *your-iot-endpoint* comme indiqué et exécutez cette commande.

   ```
   node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

Exemple d'application :

1. Se connecte AWS IoT Core à votre compte.

1. S'abonne à la rubrique du message, **topic\$11**, et affiche les messages qu'il reçoit à cette rubrique.

1. Publie 10 messages dans la rubrique **topic\$11**.

1. Affiche une sortie similaire à celle-ci :

   ```
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":1}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":2}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":3}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":4}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":5}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":6}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":7}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":8}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":9}
   Publish received. topic:"topic_1" dup:false qos:1 retain:false
   {"message":"Hello world!","sequence":10}
   ```

Si vous rencontrez des difficultés en exécutant l'exemple d'application, veuillez consulter [Résoudre les problèmes liés à l'exemple d'application](gs-device-troubleshoot.md).

Vous pouvez également ajouter le paramètre `--verbosity debug` sur la ligne de commande afin que l'exemple d'application affiche des messages détaillés sur ce qu'elle fait. Ces informations peuvent vous fournir l'aide dont vous avez besoin pour corriger le problème.

## Afficher les messages de l'exemple d'application dans la AWS IoT console
<a name="ec2-view-msg"></a>

Vous pouvez voir les messages de l'application d'exemple lorsqu'ils passent par l’agent de messages en utilisant le **client de test MQTT** dans la **AWS IoT console**.

**Pour afficher les messages MQTT publiés par l'exemple d'application**

1. Consultez [Afficher les messages MQTT avec le client AWS IoT MQTT](view-mqtt-messages.md). Cela vous permet d'apprendre à utiliser le **client de test MQTT** dans la **AWS IoT console** pour afficher les messages MQTT lorsqu'ils transitent par l’agent de messages.

1. Ouvrez le **client de test MQTT** dans la **AWS IoT console**.

1. Dans **S'abonner à une rubrique**, S'abonner à la rubrique, **topic\$11**.

1. Dans votre fenêtre **Amazon EC2 Instance Connect**, réexécutez l'exemple d'application et regardez les messages du **client de test MQTT** dans la **AWS IoT console**.

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

Pour plus d'informations sur le MQTT et sur la manière dont le protocole est pris AWS IoT Core en charge, consultez [MQTT](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html).

# Utilisez votre PC ou Mac Windows ou Linux comme AWS IoT appareil
<a name="using-laptop-as-device"></a>

Dans ce didacticiel, vous allez configurer un ordinateur personnel à utiliser avec AWS IoT. Ces instructions sont compatibles avec Windows, Linux PCs et Mac. Pour ce faire, vous devez installer des logiciels sur votre ordinateur. Si vous ne souhaitez pas installer de logiciel sur votre ordinateur, vous pouvez essayer [Création d'un appareil virtuel avec Amazon EC2](creating-a-virtual-thing.md), ce qui permet d'installer tous les logiciels sur une machine virtuelle.

**Topics**
+ [Configuration de votre ordinateur personnel](#gs-pc-prereqs)
+ [Installation de Git, Python et du SDK AWS IoT Device pour Python](#gs-pc-sdk-node)
+ [Configuration de la politique et exécution de l'exemple d'application](#gs-pc-python-app-run)
+ [Afficher les messages de l'exemple d'application dans la AWS IoT console](#gs-pc-view-msg)
+ [Exécutez l'exemple d'abonnement partagé dans Python](#gs-pc-shared-subscription-example)

## Configuration de votre ordinateur personnel
<a name="gs-pc-prereqs"></a>

Pour suivre ce didacticiel, vous devez disposer d'un PC Windows ou Linux ou d'un Mac connecté à Internet.

Avant de passer à l'étape suivante, assurez-vous de pouvoir ouvrir une fenêtre de ligne de commande sur votre ordinateur. Utiliser **cmd.exe** sur un PC Windows. Sur un PC Linux ou un Mac, utilisez **Terminal**.

## Installation de Git, Python et du SDK AWS IoT Device pour Python
<a name="gs-pc-sdk-node"></a>

Dans cette section, vous allez installer Python et le AWS IoT Device SDK for Python sur votre ordinateur. 

### Installez la dernière version de Git et Python
<a name="gs-pc-node-runtime"></a>

Cette procédure explique comment installer la dernière version de Git et Python sur votre ordinateur personnel.

**Pour télécharger et installer Git et Python sur votre ordinateur**

1. Vérifier si Git est installé sur votre ordinateur. Entrez cette commande dans la ligne de commande.

   ```
   git --version
   ```

   Si la commande affiche la version de Git, Git est installé et vous pouvez passer à l'étape suivante.

   Si la commande affiche une erreur, ouvrez [https://git-scm.com/download](https://git-scm.com/download)et installez Git sur votre ordinateur.

1. Vérifiez si vous avez déjà installé Python. Entrez la commande dans la ligne de commande.

   ```
   python -V
   ```
**Note**  
Si cette commande renvoie une erreur : `Python was not found`, cela peut être dû au fait que votre système d'exploitation appelle l'exécutable Python v3.x en tant que `Python3`. Dans ce cas, remplacez toutes les instances de `python` par `python3` et poursuivez le reste de ce didacticiel.

   Si la commande affiche la version de Python, c’est que Python est déjà installé. Ce didacticiel nécessite Python v3.7 ou version ultérieure.

1. Si Python est installé, vous pouvez ignorer le reste des étapes de cette section. Si ce n'est pas le cas, continuez.

1. Ouvrez [https://www.python.org/downloads/](https://www.python.org/downloads/) et téléchargez le programme d'installation pour votre ordinateur.

1. Si le téléchargement ne démarre pas automatiquement, lancez le programme téléchargé pour installer Python.

1. Vérifier l'installation de Python.

   ```
   python -V
   ```

   Vérifiez que la commande affiche la version de Python. Si la version de Python n'est pas affichée, réessayez de télécharger et d'installer Python.

### Installation du SDK du AWS IoT périphérique pour Python
<a name="gs-pc-python-intall-sdk"></a>

**Pour installer le AWS IoT Device SDK pour Python sur votre ordinateur**

1. Installez la version 2 du SDK AWS IoT Device pour Python.

   ```
   python3 -m pip install awsiotsdk
   ```

1. Clonez le référentiel AWS IoT Device SDK for Python dans le répertoire aws-iot-device-sdk -python-v2 de votre répertoire personnel. Cette procédure fait référence au répertoire de base des fichiers que vous installez*home*.

   L'emplacement réel du *home* répertoire dépend de votre système d'exploitation.

------
#### [ Linux/macOS ]

   Dans macOS et Linux, le *home* répertoire est`~`.

   ```
   cd ~ 
   git clone https://github.com/aws/aws-iot-device-sdk-python-v2.git
   ```

------
#### [ Windows ]

   Sous Windows, vous pouvez trouver le chemin du *home* répertoire en exécutant cette commande dans la `cmd` fenêtre.

   ```
   echo %USERPROFILE%
   cd %USERPROFILE%
   git clone https://github.com/aws/aws-iot-device-sdk-python-v2.git
   ```

------
**Note**  
Si vous utilisez Windows PowerShell au lieu de**cmd.exe**, utilisez la commande suivante.  

   ```
   echo $home
   ```

Pour plus d'informations, consultez le [ GitHub référentiel AWS IoT Device SDK pour Python](https://github.com/aws/aws-iot-device-sdk-python-v2).

### Se préparer à exécuter les exemples d'applications
<a name="gs-pc-python-config-app"></a>

**Pour préparer votre système à exécuter l'exemple d'application**
+ Créez le répertoire `certs`. Dans le répertoire `certs`, copiez les fichiers de clé privée, de certificat de l’appareil et de certificat d'autorité de certification racine que vous avez enregistrés lorsque vous avez créé et enregistré l'objet dans [Créez des AWS IoT ressources](create-iot-resources.md). Les noms de chaque fichier du répertoire de destination doivent correspondre à ceux du tableau.

   Les commandes figurant dans la section suivante supposent que vos fichiers de clé et de certificat sont stockés sur votre appareil, comme indiqué dans ce tableau.

------
#### [ Linux/macOS ]

  Exécutez cette commande pour créer le sous-répertoire `certs` que vous utiliserez lorsque vous exécuterez les exemples d'applications.

  ```
  mkdir ~/certs
  ```

  Dans le nouveau sous-répertoire, copiez les fichiers vers les chemins de fichiers de destination indiqués dans le tableau suivant.  
**Noms des fichiers de certificat**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/using-laptop-as-device.html)

  Exécutez cette commande pour répertorier les fichiers du répertoire `certs` et les comparer à ceux répertoriés dans le tableau.

  ```
  ls -l ~/certs
  ```

------
#### [ Windows ]

  Exécutez cette commande pour créer le sous-répertoire `certs` que vous utiliserez lorsque vous exécuterez les exemples d'applications.

  ```
  mkdir %USERPROFILE%\certs
  ```

  Dans le nouveau sous-répertoire, copiez les fichiers vers les chemins de fichiers de destination indiqués dans le tableau suivant.  
**Noms des fichiers de certificat**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/using-laptop-as-device.html)

  Exécutez cette commande pour répertorier les fichiers du répertoire `certs` et les comparer à ceux répertoriés dans le tableau.

  ```
  dir %USERPROFILE%\certs
  ```

------

## Configuration de la politique et exécution de l'exemple d'application
<a name="gs-pc-python-app-run"></a>

Dans cette section, vous allez configurer votre politique et exécuter l'exemple de script `pubsub.py` qui se trouve dans le `aws-iot-device-sdk-python-v2/samples` répertoire du Kit SDK des appareils AWS IoT pour Python. Ce script montre comment votre appareil utilise la bibliothèque MQTT pour publier et s'abonner aux messages MQTT.

L'exemple d'application `pubsub.py` s'abonne à une rubrique, `test/topic`, publie 10 messages sur cette rubrique et affiche les messages au fur et à mesure qu'ils sont reçus de l’agent de messages.

Pour exécuter l'exemple de script `pubsub.py`, vous avez besoin des informations suivantes :


**Valeurs des paramètres de l'application**  

|  Paramètre  |  Où trouver la valeur  | 
| --- | --- | 
| your-iot-endpoint |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/using-laptop-as-device.html)  | 

La *your-iot-endpoint* valeur a le format suivant :`endpoint_id-ats.iot.region.amazonaws.com`, par exemple,`a3qj468EXAMPLE-ats.iot.us-west-2.amazonaws.com`.

Avant d'exécuter le script, assurez-vous que la politique de votre objet autorise l'exemple de script à se connecter, à s'abonner, à publier et à recevoir. 

**Pour rechercher et consulter le document de politique d'une ressource d'objet**

1. Dans la [AWS IoT console](https://console.aws.amazon.com//iot/home#/thinghub), dans la liste des **Objets**, recherchez la ressource d'objets qui représente votre appareil.

1. Cliquez sur le lien **Nom** de la ressource d'objet qui représente votre appareil pour ouvrir la page des **détails de l'objet**.

1. Sur la page **Détails de l'objet**, dans l'onglet **Certificats**, choisissez le certificat attaché à la ressource d'objet. Il ne doit y avoir qu'un seul certificat dans la liste. S'il y en a plusieurs, choisissez le certificat dont les fichiers sont installés sur votre appareil et auquel vous souhaitez vous connecter AWS IoT Core.

   Sur la page **Détails du certificat**, dans l'onglet **Politiques**, choisissez la politique attachée au certificat. Il ne doit y en avoir qu'un. S'il y en a plusieurs, répétez l'étape suivante pour chacune afin de vous assurer qu'au moins une politique accorde l'accès requis.

1. Sur la page d'aperçu de la **politique**, recherchez l'éditeur JSON et choisissez **Modifier le document de politique** pour consulter et modifier le document de politique selon les besoins.

1. La politique JSON est affichée dans l'exemple suivant. Dans l'`"Resource"`élément, remplacez `region:account` par votre Région AWS et Compte AWS dans chacune des `Resource` valeurs.  
****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "iot:Publish",
                   "iot:Receive"
               ],
               "Resource": [
               "arn:aws:iot:us-east-1:123456789012:topic/test/topic"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iot:Subscribe"
               ],
               "Resource": [
               "arn:aws:iot:us-east-1:123456789012:topicfilter/test/topic"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iot:Connect"
               ],
               "Resource": [
               "arn:aws:iot:us-east-1:123456789012:client/test-*"
               ]
           }
       ]
   }
   ```

------
#### [ Linux/macOS ]

**Pour exécuter l'exemple de script sous Linux/MacOs**

1. Dans votre fenêtre de ligne de commande, accédez au répertoire `~/aws-iot-device-sdk-python-v2/samples/node/pub_sub` créé par le SDK à l'aide de ces commandes.

   ```
   cd ~/aws-iot-device-sdk-python-v2/samples
   ```

1. Dans votre fenêtre de ligne de commande, remplacez *your-iot-endpoint* comme indiqué et exécutez cette commande.

   ```
   python3 pubsub.py --endpoint your-iot-endpoint --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key
   ```

------
#### [ Windows ]

**Pour exécuter l'exemple d'application sur un PC Windows**

1. Dans votre fenêtre de ligne de commande, accédez au répertoire `%USERPROFILE%\aws-iot-device-sdk-python-v2\samples` créé par le SDK et installez l’exemple d’application à l’aide de ces commandes.

   ```
   cd %USERPROFILE%\aws-iot-device-sdk-python-v2\samples
   ```

1. Dans votre fenêtre de ligne de commande, remplacez *your-iot-endpoint* comme indiqué et exécutez cette commande.

   ```
   python3 pubsub.py --endpoint your-iot-endpoint --ca_file %USERPROFILE%\certs\Amazon-root-CA-1.pem --cert %USERPROFILE%\certs\device.pem.crt --key %USERPROFILE%\certs\private.pem.key
   ```

------

Exemple de script :

1. Se connecte AWS IoT Core à votre compte.

1. S'abonne à la rubrique du message, **topic/test**, et affiche les messages qu'il reçoit à cette rubrique.

1. Publie 10 messages dans la rubrique **topic/test**.

1. Affiche une sortie similaire à celle-ci :

```
Connected!
Subscribing to topic 'test/topic'...
Subscribed with QoS.AT_LEAST_ONCE
Sending 10 message(s)
Publishing message to topic 'test/topic': Hello World! [1]
Received message from topic 'test/topic': b'"Hello World! [1]"'
Publishing message to topic 'test/topic': Hello World! [2]
Received message from topic 'test/topic': b'"Hello World! [2]"'
Publishing message to topic 'test/topic': Hello World! [3]
Received message from topic 'test/topic': b'"Hello World! [3]"'
Publishing message to topic 'test/topic': Hello World! [4]
Received message from topic 'test/topic': b'"Hello World! [4]"'
Publishing message to topic 'test/topic': Hello World! [5]
Received message from topic 'test/topic': b'"Hello World! [5]"'
Publishing message to topic 'test/topic': Hello World! [6]
Received message from topic 'test/topic': b'"Hello World! [6]"'
Publishing message to topic 'test/topic': Hello World! [7]
Received message from topic 'test/topic': b'"Hello World! [7]"'
Publishing message to topic 'test/topic': Hello World! [8]
Received message from topic 'test/topic': b'"Hello World! [8]"'
Publishing message to topic 'test/topic': Hello World! [9]
Received message from topic 'test/topic': b'"Hello World! [9]"'
Publishing message to topic 'test/topic': Hello World! [10]
Received message from topic 'test/topic': b'"Hello World! [10]"'
10 message(s) received.
Disconnecting...
Disconnected!
```

Si vous rencontrez des difficultés en exécutant l'exemple d'application, veuillez consulter [Résoudre les problèmes liés à l'exemple d'application](gs-device-troubleshoot.md).

Vous pouvez également ajouter le paramètre `--verbosity Debug` sur la ligne de commande afin que l'exemple d'application affiche des messages détaillés sur ce qu'elle fait. Ces informations peuvent vous aider à corriger le problème.

## Afficher les messages de l'exemple d'application dans la AWS IoT console
<a name="gs-pc-view-msg"></a>

Vous pouvez voir les messages de l'application d'exemple lorsqu'ils passent par l’agent de messages en utilisant le **client de test MQTT** dans la **AWS IoT console**.

**Pour afficher les messages MQTT publiés par l'exemple d'application**

1. Consultez [Afficher les messages MQTT avec le client AWS IoT MQTT](view-mqtt-messages.md). Cela vous permet d'apprendre à utiliser le **client de test MQTT** dans la **AWS IoT console** pour afficher les messages MQTT lorsqu'ils transitent par l’agent de messages.

1. Ouvrez le **client de test MQTT** dans la **AWS IoT console**.

1. Dans **S'abonner à une rubrique**, abonnez-vous à la rubrique, **test/topic**.

1. Dans votre fenêtre de ligne de commande, exécutez à nouveau l'exemple d'application et observez les messages du **client MQTT** dans la **AWS IoT console**.

------
#### [ Linux/macOS ]

   ```
   cd ~/aws-iot-device-sdk-python-v2/samples
   python3 pubsub.py --topic test/topic --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

------
#### [ Windows ]

   ```
   cd %USERPROFILE%\aws-iot-device-sdk-python-v2\samples
   python3 pubsub.py --topic test/topic --ca_file %USERPROFILE%\certs\Amazon-root-CA-1.pem --cert %USERPROFILE%\certs\device.pem.crt --key %USERPROFILE%\certs\private.pem.key --endpoint your-iot-endpoint
   ```

------

Pour plus d'informations sur le MQTT et sur la manière dont le protocole est pris AWS IoT Core en charge, consultez [MQTT](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html).

## Exécutez l'exemple d'abonnement partagé dans Python
<a name="gs-pc-shared-subscription-example"></a>

AWS IoT Core prend en charge les [abonnements partagés](mqtt.md#mqtt5-shared-subscription) pour MQTT 3 et MQTT 5. Les abonnements partagés permettent à plusieurs clients de partager un abonnement à une rubrique et un seul client recevra les messages publiés sur cette rubrique selon une distribution aléatoire. Pour utiliser les abonnements partagés, les clients s'abonnent au [filtre de rubrique](https://docs.aws.amazon.com//iot/latest/developerguide/topics.html#topicfilters) d'un abonnement partagé :`$share/{ShareName}/{TopicFilter}`. 

**Pour configurer la politique et exécuter l'exemple d'abonnement partagé**

1. Pour exécuter l'exemple d'abonnement partagé, vous devez configurer la politique de votre objet, comme indiqué dans [Abonnement partagé MQTT 5](https://github.com/aws/aws-iot-device-sdk-python-v2/blob/main/samples/mqtt5_shared_subscription.md#mqtt5-shared-subscription). 

1. Pour exécuter l'exemple d'abonnement partagé, exécutez les commandes suivantes.

------
#### [ Linux/macOS ]

**Pour exécuter l'exemple de script sous Linux/MacOs**

   1. Dans votre fenêtre de ligne de commande, accédez au répertoire `~/aws-iot-device-sdk-python-v2/samples` créé par le SDK à l'aide de ces commandes.

      ```
      cd ~/aws-iot-device-sdk-python-v2/samples
      ```

   1. Dans votre fenêtre de ligne de commande, remplacez *your-iot-endpoint* comme indiqué et exécutez cette commande.

      ```
      python3 mqtt5_shared_subscription.py --endpoint your-iot-endpoint --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --group_identifier consumer
      ```

------
#### [ Windows ]

**Pour exécuter l'exemple d'application sur un PC Windows**

   1. Dans votre fenêtre de ligne de commande, accédez au répertoire `%USERPROFILE%\aws-iot-device-sdk-python-v2\samples` créé par le SDK et installez l’exemple d’application à l’aide de ces commandes.

      ```
      cd %USERPROFILE%\aws-iot-device-sdk-python-v2\samples
      ```

   1. Dans votre fenêtre de ligne de commande, remplacez *your-iot-endpoint* comme indiqué et exécutez cette commande.

      ```
      python3 mqtt5_shared_subscription.py --endpoint your-iot-endpoint --ca_file %USERPROFILE%\certs\Amazon-root-CA-1.pem --cert %USERPROFILE%\certs\device.pem.crt --key %USERPROFILE%\certs\private.pem.key --group_identifier consumer
      ```

------
**Note**  
Vous pouvez éventuellement spécifier un identifiant de groupe en fonction de vos besoins lorsque vous exécutez l'échantillon (par exemple,`--group_identifier consumer`). Si vous n’en spécifiez pas, `python-sample` est l’identifiant de groupe par défaut.

1. Le résultat de votre ligne de commande peut ressembler à ce qui suit :

   ```
   Publisher]: Lifecycle Connection Success
   [Publisher]: Connected
   Subscriber One]: Lifecycle Connection Success
   [Subscriber One]: Connected
   Subscriber Two]: Lifecycle Connection Success
   [Subscriber Two]: Connected
   [Subscriber One]: Subscribed to topic 'test/topic' in shared subscription group 'consumer'.
   [Subscriber One]: Full subscribed topic is: '$share/consumer/test/topic' with SubAck code: [<SubackReasonCode.GRANTED_QOS_1: 1>]
   [Subscriber Two]: Subscribed to topic 'test/topic' in shared subscription group 'consumer'.
   [Subscriber Two]: Full subscribed topic is: '$share/consumer/test/topic' with SubAck code: [<SubackReasonCode.GRANTED_QOS_1: 1>]
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber Two] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [1]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber One] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [2]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber Two] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [3]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber One] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [4]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber Two] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [5]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber One] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [6]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber Two] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [7]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber One] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [8]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber Two] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [9]"'
   [Publisher]: Sent publish and got PubAck code: <PubackReasonCode.SUCCESS: 0>
   [Subscriber One] Received a publish
           Publish received message on topic: test/topic
           Message: b'"Hello World!  [10]"'
   [Subscriber One]: Unsubscribed to topic 'test/topic' in shared subscription group 'consumer'.
   [Subscriber One]: Full unsubscribed topic is: '$share/consumer/test/topic' with UnsubAck code: [<UnsubackReasonCode.SUCCESS: 0>]
   [Subscriber Two]: Unsubscribed to topic 'test/topic' in shared subscription group 'consumer'.
   [Subscriber Two]: Full unsubscribed topic is: '$share/consumer/test/topic' with UnsubAck code [<UnsubackReasonCode.SUCCESS: 0>]
   Publisher]: Lifecycle Disconnected
   [Publisher]: Lifecycle Stopped
   [Publisher]: Fully stopped
   Subscriber One]: Lifecycle Disconnected
   [Subscriber One]: Lifecycle Stopped
   [Subscriber One]: Fully stopped
   Subscriber Two]: Lifecycle Disconnected
   [Subscriber Two]: Lifecycle Stopped
   [Subscriber Two]: Fully stopped
   Complete!
   ```

1. Ouvrez **client de test MQTT** dans la **AWS IoT console**. Dans **S'abonner à un sujet**, abonnez-vous au sujet de l'abonnement partagé tel que :`$share/consumer/test/topic`. Vous pouvez spécifier un identifiant de groupe en fonction de vos besoins lorsque vous exécutez l'échantillon (par exemple,`--group_identifier consumer`). Si vous ne spécifiez pas d'identifiant de groupe, la valeur par défaut est `python-sample`. Pour plus d'informations, consultez [l'exemple Python d'abonnement partagé MQTT 5](https://github.com/aws/aws-iot-device-sdk-python-v2/blob/main/samples/mqtt5_shared_subscription.md#mqtt5-shared-subscription) et le *guide AWS IoT Core du développeur* sur [les abonnements partagés](mqtt.md#mqtt5-shared-subscription).

   Dans votre fenêtre de ligne de commande, exécutez à nouveau l'exemple d'application et observez la distribution des messages dans votre **Client de test MQTT** de la **AWS IoT console** et de la ligne de commande.  
![\[La page de sortie des abonnements partagés.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/shared-subscription-output.png)

# Connectez un Raspberry Pi ou un autre appareil
<a name="connecting-to-existing-device"></a>

Dans cette section, nous allons configurer un Raspberry Pi à utiliser avec AWS IoT. Si vous souhaitez connecter un autre appareil, les instructions du Raspberry Pi incluent des références qui peuvent vous aider à adapter ces instructions à votre appareil.

Cela prend normalement environ 20 minutes, mais cela peut prendre plus de temps si vous devez installer de nombreuses mises à niveau du logiciel système.

**Topics**
+ [Configurez votre appareil](#gs-device-prereqs)
+ [Installez les outils et bibliothèques requis pour le SDK du AWS IoT périphérique](#gs-device-sdk-tools)
+ [Installer le SDK AWS IoT du périphérique](#gs-device-install-sdk)
+ [Installez et exécutez l'exemple d'application](#gs-device-node-app-run)
+ [Afficher les messages de l'exemple d'application dans la AWS IoT console](#gs-device-view-msg)

**Important**  
L'adaptation de ces instructions à d'autres appareils et systèmes d'exploitation peut s'avérer difficile. Vous devez avoir une connaissance suffisante de votre appareil pour être en mesure d'interpréter ces instructions et de les appliquer.  
Si vous rencontrez des difficultés lors de la configuration de votre appareil pour AWS IoT, vous pouvez essayer l'une des autres options de l'appareil comme alternative, telle que [Création d'un appareil virtuel avec Amazon EC2](creating-a-virtual-thing.md) ou[Utilisez votre PC ou Mac Windows ou Linux comme AWS IoT appareil](using-laptop-as-device.md).

## Configurez votre appareil
<a name="gs-device-prereqs"></a>

L'objectif de cette étape est de collecter les informations dont vous aurez besoin pour configurer votre appareil afin qu'il puisse démarrer le système d'exploitation (OS), se connecter à Internet et vous permettre d'interagir avec celui-ci via une interface de ligne de commande.

Pour suivre ce didacticiel, vous aurez besoin des éléments suivants :
+ Un Compte AWS. Si vous n'en avez pas, effectuez les étapes décrites dans [Configurez Compte AWS](setting-up.md) avant de continuer.
+ Un [Raspberry Pi 3 modèle B](https://www.raspberrypi.com/products/) ou un modèle plus récent. Cela peut fonctionner sur les versions antérieures du Raspberry Pi, mais elles n'ont pas été testées.
+ [Système d'exploitation Raspberry Pi (32 bits)](https://www.raspberrypi.com/software/operating-systems/) ou version ultérieure. Nous vous recommandons d'utiliser la dernière version du système d'exploitation Raspberry Pi. Les versions antérieures du système d'exploitation peuvent fonctionner, mais elles n'ont pas été testées.

  Pour exécuter cet exemple, vous n'avez pas besoin d'installer le bureau avec l'interface utilisateur graphique (GUI) ; cependant, si vous êtes nouveau sur le Raspberry Pi et que votre matériel Raspberry Pi le prend en charge, l’utilisation du bureau avec l'interface graphique peut être plus facile.
+ Une WiFi connexion ou une connexion Ethernet.
+ Clavier, souris, écran, câbles, blocs d'alimentation et autres équipements nécessaires à votre appareil.

**Important**  
Avant de passer à l'étape suivante, le système d'exploitation de votre appareil doit être installé, configuré et en cours d'exécution. L'appareil doit être connecté à Internet et vous devez pouvoir y accéder à l'aide de son interface en ligne de commande. L'accès à la ligne de commande peut se faire via un clavier, une souris et un moniteur directement connectés, ou en utilisant une interface distante de terminal SSH.

 Si vous exécutez un système d'exploitation sur votre Raspberry Pi doté d'une interface utilisateur graphique (GUI), ouvrez une fenêtre de terminal sur l'appareil et suivez les instructions suivantes dans cette fenêtre. Sinon, si vous vous connectez à votre appareil à l'aide d'un terminal distant, tel que PuTTY, ouvrez un terminal distant sur votre appareil et utilisez-le.

## Installez les outils et bibliothèques requis pour le SDK du AWS IoT périphérique
<a name="gs-device-sdk-tools"></a>

Avant d'installer le SDK du AWS IoT périphérique et un exemple de code, assurez-vous que votre système est à jour et qu'il dispose des outils et bibliothèques nécessaires pour installer le SDKs.

1. 

**Mise à jour du système d'exploitation et installation des bibliothèques requises**  
Avant d'installer un SDK de AWS IoT périphérique, exécutez ces commandes dans une fenêtre de terminal de votre appareil pour mettre à jour le système d'exploitation et installer les bibliothèques requises.

   ```
   sudo apt-get update
   ```

   ```
   sudo apt-get upgrade
   ```

   ```
   sudo apt-get install cmake
   ```

   ```
   sudo apt-get install libssl-dev
   ```

1. 

**Installez Git**  
Si Git n'est pas installé sur le système d'exploitation de votre appareil, vous devez l'installer pour installer le SDK du AWS IoT périphérique pour JavaScript. 

   1. Vérifiez si Git est déjà installé en exécutant cette commande.

      ```
      git --version
      ```

   1. Si la commande précédente renvoie la version de Git, cela signifie que Git est déjà installé et vous pouvez passer à l'étape 3.

   1. Si une erreur s'affiche lorsque vous exécutez la commande **git**, installez Git en exécutant cette commande.

      ```
      sudo apt-get install git
      ```

   1. Testez à nouveau pour voir si Git est installé en exécutant cette commande.

      ```
      git --version
      ```

   1. Si Git est installé, passez à la section suivante. Si ce n'est pas le cas, dépannez et corrigez l'erreur avant de continuer. Vous avez besoin de Git pour installer le AWS IoT Device SDK pour JavaScript.

## Installer le SDK AWS IoT du périphérique
<a name="gs-device-install-sdk"></a>

Installez le SDK du AWS IoT périphérique.

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

Dans cette section, vous allez installer Python, ses outils de développement et le AWS IoT Device SDK pour Python sur votre appareil. Ces instructions concernent un Raspberry Pi exécutant le dernier système d’exploitation Raspberry Pi. Si vous avez un autre appareil ou utilisez un autre système d'exploitation, vous devrez peut-être adapter ces instructions à votre appareil.

1. 

**Installer Python et ses outils de développement**  
Le AWS IoT Device SDK pour Python nécessite l'installation de Python v3.5 ou version ultérieure sur votre Raspberry Pi.

   Dans une fenêtre de terminal sur votre appareil, exécutez ces commandes.

   1. Exécutez cette commande pour déterminer la version de Python installée sur votre appareil.

      ```
      python3 --version
      ```

      Si Python est installé, il affichera sa version.

   1. Si la version affichée est `Python 3.5` ou supérieure, vous pouvez passer à l'étape 2.

   1. Si la version affichée est inférieure à `Python 3.5`, vous pouvez installer la bonne version en exécutant cette commande.

      ```
      sudo apt install python3
      ```

   1. Exécutez cette commande pour vérifier que la bonne version de Python est désormais installée.

      ```
      python3 --version
      ```

1. 

**Test pour pip3**  
Dans une fenêtre de terminal sur votre appareil, exécutez ces commandes.

   1. Exécutez cette commande pour voir si **pip3** est installée.

      ```
      pip3 --version
      ```

   1. Si la commande renvoie un numéro de version, **pip3** est installée et vous pouvez passer à l'étape 3.

   1. Si la commande précédente renvoie une erreur, exécutez cette commande pour effectuer l'installation de **pip3**.

      ```
      sudo apt install python3-pip
      ```

   1. Exécutez cette commande pour voir si **pip3** est installée.

      ```
      pip3 --version
      ```

1. 

**Installez le SDK AWS IoT Device actuel pour Python**  
Installez le SDK AWS IoT Device pour Python et téléchargez les exemples d'applications sur votre appareil.

   Sur votre appareil, exécutez ces commandes.

   ```
   cd ~
   python3 -m pip install awsiotsdk
   ```

   ```
   git clone https://github.com/aws/aws-iot-device-sdk-python-v2.git
   ```

------
#### [ JavaScript ]

Dans cette section, vous allez installer Node.js, le gestionnaire de packages npm et le AWS IoT Device SDK for JavaScript sur votre appareil. Ces instructions concernent un Raspberry Pi exécutant le système d’exploitation Raspberry Pi. Si vous avez un autre appareil ou utilisez un autre système d'exploitation, vous devrez peut-être adapter ces instructions à votre appareil.

1. 

**Installer la dernière version de Node.js**  
Le SDK du AWS IoT périphérique pour JavaScript nécessite l'installation de Node.js et du gestionnaire de packages npm sur votre Raspberry Pi.

   1. Téléchargez la dernière version du référentiel Nœud en entrant cette commande.

      ```
      cd ~
      curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
      ```

   1. Installez Nœud et npm.

      ```
      sudo apt-get install -y nodejs
      ```

   1. Vérifier l'installation de Nœud.

      ```
      node -v
      ```

      Confirmez que la commande affiche la version du Nœud. Ce didacticiel nécessite Nœud v10.0 ou une version ultérieure. Si la version de Nœud n'est pas affichée, essayez de télécharger à nouveau le référentiel Nœud.

   1. Vérifiez l'installation de npm.

      ```
      npm -v
      ```

      Confirmez que la commande affiche la version du Nœud npm. Si la version npm n'est pas affichée, réessayez d'installer Nœud et npm.

   1. Redémarrez le périphérique.

      ```
      sudo shutdown -r 0
      ```

      Continuez après le redémarrage de l'appareil.

1. 

**Installez le SDK du AWS IoT périphérique pour JavaScript**  
Installez le SDK du AWS IoT périphérique pour JavaScript votre Raspberry Pi.

   1. Clonez le SDK du AWS IoT périphérique pour le JavaScript référentiel dans le `aws-iot-device-sdk-js-v2` répertoire de votre *home* répertoire. Sur le Raspberry Pi`~/`, le *home* répertoire est, qui est utilisé comme *home* répertoire dans les commandes suivantes. Si votre appareil utilise un chemin différent pour le *home* répertoire, vous devez le `~/` remplacer par le chemin correct pour votre appareil dans les commandes suivantes.

      Ces commandes créent le répertoire `~/aws-iot-device-sdk-js-v2` et y copient le code du SDK.

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-js-v2.git
      ```

   1. Accédez au répertoire `aws-iot-device-sdk-js-v2` que vous avez créé à l'étape précédente et lancez-le `npm install` pour installer le SDK. La commande `npm install` invoque la compilation de la bibliothèque `aws-crt`, qui peut prendre quelques minutes.

      ```
      cd ~/aws-iot-device-sdk-js-v2
      npm install
      ```

------

## Installez et exécutez l'exemple d'application
<a name="gs-device-node-app-run"></a>

Dans cette section, vous allez installer et exécuter l'`pubsub`exemple d'application qui se trouve dans le SDK de l' AWS IoT appareil. Cette application montre comment votre appareil utilise la bibliothèque MQTT pour publier et s'abonner aux messages MQTT. L'exemple d'application s'abonne à une rubrique, `topic_1`, publie 10 messages sur cette rubrique et affiche les messages au fur et à mesure qu'ils sont reçus de l’agent de messages.

**Installez les fichiers de certificat**  
L'exemple d'application nécessite que les fichiers de certificat authentifiant l'appareil soient installés sur celui-ci.

**Pour installer les fichiers de certificat de l'appareil pour l'exemple d'application**

1. Créez un `certs` sous-répertoire dans votre *home* répertoire en exécutant ces commandes.

   ```
   cd ~
   mkdir certs
   ```

1. Dans le répertoire `~/certs`, copiez la clé privée, le certificat de périphérique et le certificat d'autorité de certification racine que vous avez créés précédemment dans [Créez des AWS IoT ressources](create-iot-resources.md).

   La façon dont vous copiez les fichiers de certificat sur votre appareil dépend de l'appareil et du système d'exploitation et n'est pas décrite ici. Toutefois, si votre appareil prend en charge une interface utilisateur graphique (GUI) et dispose d'un navigateur Web, vous pouvez suivre la procédure décrite dans le navigateur Web de votre appareil [Créez des AWS IoT ressources](create-iot-resources.md) pour télécharger les fichiers obtenus directement sur votre appareil.

   Les commandes figurant dans la section suivante supposent que vos fichiers de clé et de certificat sont stockés sur l'appareil, comme indiqué dans ce tableau.  
**Noms des fichiers de certificat**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/connecting-to-existing-device.html)

Pour exécuter cet exemple d'application, vous avez besoin des informations suivantes :


**Valeurs des paramètres de l'application**  

|  Paramètre  |  Où trouver la valeur  | 
| --- | --- | 
| your-iot-endpoint |  Dans la [AWS IoT console](https://console.aws.amazon.com/iot/home), choisissez **Tous les appareils**, puis **Objets**. Sur la page **Paramètres** du AWS IoT menu. Votre point de terminaison est affiché dans la **section Point de terminaison des données** de l'appareil.  | 

La *your-iot-endpoint* valeur a le format suivant :`endpoint_id-ats.iot.region.amazonaws.com`, par exemple,`a3qj468EXAMPLE-ats.iot.us-west-2.amazonaws.com`.

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

**Pour installer et exécuter l'exemple d'application**

1. Accédez au répertoire de l’exemple d’application.

   ```
   cd ~/aws-iot-device-sdk-python-v2/samples
   ```

1. Dans la fenêtre de ligne de commande, remplacez *your-iot-endpoint* comme indiqué et exécutez cette commande.

   ```
   python3 pubsub.py --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

1. Notez que l'exemple d'application :

   1. Se connecte au AWS IoT service associé à votre compte.

   1. S'abonne à la rubrique du message, **topic\$11**, et affiche les messages qu'il reçoit à cette rubrique.

   1. Publie 10 messages dans la rubrique **topic\$11**.

   1. Affiche une sortie similaire à celle-ci :

   ```
   Connecting to a3qEXAMPLEffp-ats.iot.us-west-2.amazonaws.com with client ID 'test-0c8ae2ff-cc87-49d2-a82a-ae7ba1d0ca5a'...
   Connected!
   Subscribing to topic 'topic_1'...
   Subscribed with QoS.AT_LEAST_ONCE
   Sending 10 message(s)
   Publishing message to topic 'topic_1': Hello World! [1]
   Received message from topic 'topic_1': b'Hello World! [1]'
   Publishing message to topic 'topic_1': Hello World! [2]
   Received message from topic 'topic_1': b'Hello World! [2]'
   Publishing message to topic 'topic_1': Hello World! [3]
   Received message from topic 'topic_1': b'Hello World! [3]'
   Publishing message to topic 'topic_1': Hello World! [4]
   Received message from topic 'topic_1': b'Hello World! [4]'
   Publishing message to topic 'topic_1': Hello World! [5]
   Received message from topic 'topic_1': b'Hello World! [5]'
   Publishing message to topic 'topic_1': Hello World! [6]
   Received message from topic 'topic_1': b'Hello World! [6]'
   Publishing message to topic 'topic_1': Hello World! [7]
   Received message from topic 'topic_1': b'Hello World! [7]'
   Publishing message to topic 'topic_1': Hello World! [8]
   Received message from topic 'topic_1': b'Hello World! [8]'
   Publishing message to topic 'topic_1': Hello World! [9]
   Received message from topic 'topic_1': b'Hello World! [9]'
   Publishing message to topic 'topic_1': Hello World! [10]
   Received message from topic 'topic_1': b'Hello World! [10]'
   10 message(s) received.
   Disconnecting...
   Disconnected!
   ```

   Si vous rencontrez des difficultés en exécutant l'exemple d'application, veuillez consulter [Résoudre les problèmes liés à l'exemple d'application](gs-device-troubleshoot.md).

   Vous pouvez également ajouter le paramètre `--verbosity Debug` sur la ligne de commande afin que l'exemple d'application affiche des messages détaillés sur ce qu'elle fait. Ces informations peuvent vous fournir l'aide dont vous avez besoin pour corriger le problème.

------
#### [ JavaScript ]

**Pour installer et exécuter l'exemple d'application**

1. Dans votre fenêtre de ligne de commande, accédez au répertoire `~/aws-iot-device-sdk-js-v2/samples/node/pub_sub` créé par le SDK et installez l’exemple d’application à l’aide de ces commandes. La commande `npm install` invoque la compilation de la bibliothèque `aws-crt`, qui peut prendre quelques minutes.

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   npm install
   ```

1. Dans la fenêtre de ligne de commande, remplacez *your-iot-endpoint* comme indiqué et exécutez cette commande.

   ```
   node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

1. Notez que l'exemple d'application :

   1. Se connecte au AWS IoT service associé à votre compte.

   1. S'abonne à la rubrique du message, **topic\$11**, et affiche les messages qu'il reçoit à cette rubrique.

   1. Publie 10 messages dans la rubrique **topic\$11**.

   1. Affiche une sortie similaire à celle-ci :

   ```
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":1}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":2}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":3}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":4}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":5}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":6}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":7}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":8}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":9}
   Publish received on topic topic_1
   {"message":"Hello world!","sequence":10}
   ```

   Si vous rencontrez des difficultés en exécutant l'exemple d'application, veuillez consulter [Résoudre les problèmes liés à l'exemple d'application](gs-device-troubleshoot.md).

   Vous pouvez également ajouter le paramètre `--verbosity Debug` sur la ligne de commande afin que l'exemple d'application affiche des messages détaillés sur ce qu'elle fait. Ces informations peuvent vous fournir l'aide dont vous avez besoin pour corriger le problème.

------

## Afficher les messages de l'exemple d'application dans la AWS IoT console
<a name="gs-device-view-msg"></a>

Vous pouvez voir les messages de l'application d'exemple lorsqu'ils passent par l’agent de messages en utilisant le **client de test MQTT** dans la **AWS IoT console**.

**Pour afficher les messages MQTT publiés par l'exemple d'application**

1. Consultez [Afficher les messages MQTT avec le client AWS IoT MQTT](view-mqtt-messages.md). Cela vous permet d'apprendre à utiliser le **client de test MQTT** dans la **AWS IoT console** pour afficher les messages MQTT lorsqu'ils transitent par l’agent de messages.

1. Ouvrez le **client de test MQTT** dans la **AWS IoT console**.

1. S'abonner à la rubrique, **topic\$11**.

1. Dans votre fenêtre de ligne de commande, exécutez à nouveau l'exemple d'application et observez les messages du **client MQTT** dans la **AWS IoT console**.

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

   ```
   cd ~/aws-iot-device-sdk-python-v2/samples
   python3 pubsub.py --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

------
#### [ JavaScript ]

   ```
   cd ~/aws-iot-device-sdk-js-v2/samples/node/pub_sub
   node dist/index.js --topic topic_1 --ca_file ~/certs/Amazon-root-CA-1.pem --cert ~/certs/device.pem.crt --key ~/certs/private.pem.key --endpoint your-iot-endpoint
   ```

------

# Résoudre les problèmes liés à l'exemple d'application
<a name="gs-device-troubleshoot"></a>

Si vous rencontrez une erreur lorsque vous essayez d'exécuter l'exemple d'application, voici quelques points à vérifier.

## Vérifiez le certificat
<a name="gs-device-ts-step-1"></a>

Si le certificat n'est pas actif, AWS IoT il n'acceptera aucune tentative de connexion l'utilisant à des fins d'autorisation. Lorsque vous créez votre certificat, il est facile d'oublier le bouton **Activer**. Heureusement, vous pouvez activer votre certificat depuis la [AWS IoT console](https://console.aws.amazon.com/iot/home).

**Pour vérifier l'activation de votre certificat**

1. Dans la [AWS IoT console](https://console.aws.amazon.com/iot/home), dans le menu de gauche, choisissez **Sécurisé**, puis **Certificats**.

1. Dans la liste des certificats, recherchez le certificat que vous avez créé pour l'exercice et vérifiez son statut dans la colonne **État**.

   Si vous ne vous souvenez pas du nom du certificat, vérifiez s'il est **inactif** pour voir s'il s'agit bien de celui que vous utilisez.

   Choisissez le certificat dans la liste pour ouvrir sa page de détail. Sur la page détaillée, vous pouvez voir sa **date de création** pour vous aider à identifier le certificat.

1. **Pour activer un certificat inactif**, sur la page détaillée du certificat, sélectionnez **Actions**, puis sélectionnez **Activer**. 

Si vous avez trouvé le bon certificat et qu'il est actif, mais que vous rencontrez toujours des problèmes lors de l'exécution de l'exemple d'application, vérifiez sa politique comme décrit à l'étape suivante.

Vous pouvez également essayer de créer un nouvel objet et un nouveau certificat en suivant les étapes décrites dans [Créez un objet](create-iot-resources.md#create-aws-thing). Si vous créez un nouvel objet, vous devrez lui attribuer un nouveau nom et télécharger les nouveaux fichiers de certificat sur votre appareil.

## Vérifiez la politique attachée au certificat
<a name="gs-device-ts-step-2"></a>

Les politiques autorisent les actions dans AWS IoT. Si le certificat utilisé pour se connecter à AWS IoT n'a pas de politique ou n'a pas de politique lui permettant de se connecter, la connexion sera refusée, même si le certificat est actif.

**Pour vérifier les politiques attachées à un certificat**

1. Recherchez le certificat comme décrit dans l'article précédent et ouvrez sa page de détails.

1. Dans le menu de gauche de la page de détails du certificat, choisissez **Politiques** pour voir les politiques attachées au certificat.

1. Si aucune politique n'est attachée au certificat, ajoutez-en une en choisissant le menu **Actions**, puis en choisissant **Attacher une politique**. 

   Choisissez la politique que vous avez créée précédemment dans [Créez des AWS IoT ressources](create-iot-resources.md).

1. Si une politique est jointe, sélectionnez la vignette de politique pour ouvrir sa page de détails.

   Sur la page de détails, consultez le **document de politique** pour vous assurer qu'il contient les mêmes informations que celles que vous avez créées dans [Création d'une AWS IoT politique](create-iot-resources.md#create-iot-policy).

## Vérifiez la ligne de commande
<a name="gs-device-ts-step-3"></a>

Assurez-vous d'avoir utilisé la bonne ligne de commande pour votre système. Les commandes utilisées sur les systèmes Linux et MacOs sont souvent différentes de celles utilisées sur les systèmes Windows.

## Vérifiez l'adresse du point de terminaison
<a name="gs-device-ts-step-4"></a>

Passez en revue la commande que vous avez saisie et vérifiez que l'adresse du point de terminaison indiquée dans votre commande correspond à celle de votre [AWS IoT console](https://console.aws.amazon.com/iot/home).

## Vérifiez les noms des fichiers de certificat
<a name="gs-device-ts-step-5"></a>

Comparez les noms de fichiers figurant dans la commande que vous avez saisie aux noms de fichiers des certificats du répertoire `certs`.

Certains systèmes peuvent nécessiter que les noms de fichiers soient entre guillemets pour fonctionner correctement.

## Vérifiez l'installation du SDK
<a name="gs-device-ts-step-6"></a>

Assurez-vous que l'installation du SDK est complète et correcte.

En cas de doute, réinstallez le SDK sur votre appareil. Dans la plupart des cas, il suffit de trouver la section du didacticiel intitulée **Installer le SDK du AWS IoT périphérique pour **SDK language**** et de suivre à nouveau la procédure.

Si vous utilisez le **SDK du AWS IoT périphérique pour JavaScript**, n'oubliez pas d'installer les exemples d'applications avant d'essayer de les exécuter. L'installation du SDK n'installe pas automatiquement les exemples d'applications. Les exemples d'applications doivent être installés manuellement après l'installation du SDK.

# Afficher les messages MQTT avec le client AWS IoT MQTT
<a name="view-mqtt-messages"></a>

Cette section décrit comment utiliser le client de test AWS IoT MQTT dans la [AWS IoT console](https://console.aws.amazon.com/iot/home) pour surveiller les messages MQTT envoyés et reçus par. AWS IoT L'exemple utilisé dans cette section concerne les exemples utilisés dans [Commencer à utiliser les AWS IoT Core didacticiels](iot-gs.md) ; toutefois, vous pouvez remplacer le nom *topicName* utilisé dans les exemples par n'importe quel [nom de rubrique ou filtre de sujet](topics.md) utilisé par votre solution IoT.

Les appareils publient des messages MQTT identifiés par des [sujets auxquels](topics.md) ils doivent communiquer leur état AWS IoT, et AWS IoT publient des messages MQTT pour informer les appareils et les applications des changements et des événements. Vous pouvez utiliser le client MQTT pour vous abonner à ces rubriques et consulter les messages au fur et à mesure qu'ils apparaissent. Vous pouvez également utiliser le client de test MQTT pour publier des messages MQTT sur les appareils et services abonnés de votre. Compte AWS

**Topics**
+ [Affichage des messages MQTT dans le client MQTT](#view-mqtt-subscribe)
+ [Publication de messages MQTT à partir du client MQTT](#view-mqtt-publish)
+ [Test des abonnements partagés dans le client MQTT](#view-mqtt-shared-subscriptions)

## Affichage des messages MQTT dans le client MQTT
<a name="view-mqtt-subscribe"></a>

La procédure suivante explique comment s'abonner à un sujet MQTT spécifique sur lequel votre appareil publie des messages et comment afficher ces messages dans la [AWS IoT console](https://console.aws.amazon.com/iot/home).

**Pour afficher les messages MQTT dans le client MQTT**

1. Dans la [AWS IoT console](https://console.aws.amazon.com/iot/home), dans le menu de gauche, choisissez **Test** puis choisissez **Client de test MQTT**.  
![\[Choisissez le client de test MQTT dans le menu de la console dans le menu de navigation de gauche.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/choose-test.png)

1. Dans l'onglet **S'abonner à un sujet**, entrez le *topicName* pour vous abonner au sujet sur lequel votre appareil publie. Pour l’exemple d’application de démarrage, abonnez-vous à **\$1**, qui s’abonne à tous les rubriques de message.

   En reprenant l'exemple de démarrage, sous l'onglet **S'abonner à une rubrique**, dans le champ **Filtre de rubrique**, saisissez **\$1**, puis choisissez **S'abonner**.  
![\[L'onglet S'abonner à un sujet.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/subscribe-button-topic.png)

   La page du journal des messages de la rubrique, **\$1**, s'ouvre et **\$1** apparaît dans la liste des **abonnements**. Si le périphérique que vous avez [Configurer votre appareil](configure-device.md) configuré exécute le programme d'exemple, vous devriez voir les messages qu'il envoie AWS IoT dans le journal des messages **\$1**. Les entrées du journal des messages apparaîtront sous la section **Publier** lorsque les messages contenant le sujet auquel vous êtes abonné seront reçus par AWS IoT.  
![\[La section pour afficher le sujet a été abonnée avec succès.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/subscribed-button-topic.png)

1. Sur la page du journal des messages **\$1**, vous pouvez également publier des messages dans une rubrique, mais vous devez spécifier son nom. Vous ne pouvez pas publier sur la rubrique **\$1**.

   Les messages publiés dans les sujets auxquels vous êtes abonné apparaissent dans le journal des messages au fur et à mesure de leur réception, le message le plus récent étant placé en premier.

### Résolution des problèmes MQTT
<a name="view-mqtt-trouble"></a>

**Utiliser le filtre de rubrique générique**  
Si vos messages n'apparaissent pas dans le journal des messages comme prévu, essayez de vous abonner à un filtre de rubrique générique comme décrit dans [Filtres de noms de sujets](topics.md#topicfilters). Le filtre de rubrique générique multiniveau MQTT est le dièse ou le signe dièse ( `#` ) et peut être utilisé comme filtre de sujet dans le champ **Sujet d'abonnement**.

L'abonnement au `#` le filtre de rubrique s'abonne à chaque rubrique reçue par l’agent de messages. Vous pouvez affiner le filtre en remplaçant les éléments du chemin du filtre par rubrique par un caractère générique à `#` de plusieurs niveaux ou le caractère joker '\$1' à un seul niveau.

**Lorsque vous utilisez des caractères génériques dans un filtre de rubrique**
+ Le caractère générique à plusieurs niveaux doit être le dernier caractère dans le filtre de rubrique.
+ Le chemin du filtre de rubrique ne peut comporter qu'un seul caractère générique par niveau de rubrique.

Par exemple :


|  Filtre de rubriques  |  Affiche les messages avec  | 
| --- | --- | 
|   `#`   |   Un nom de rubrique quelconque   | 
|   `topic_1/#`   |   Un nom de rubrique commençant par `topic_1/`  | 
|   `topic_1/level_2/#`   |   Un nom de rubrique commençant par `topic_1/level_2/`  | 
|   `topic_1/+/level_3`   |   Nom de rubrique commençant par `topic_1/`, se terminant par `/level_3` et comportant un élément de n'importe quelle valeur entre les deux.  | 

Pour plus d'informations sur les filtres de rubriques, consultez [Filtres de noms de sujets](topics.md#topicfilters).

**Vérifiez les erreurs dans le nom de rubrique**  
Les noms de rubrique MQTT et les filtres de rubrique sont sensibles à la casse. Si, par exemple, votre appareil publie des messages sur `Topic_1` (avec un *T* majuscule) au lieu de `topic_1`, la rubrique où vous êtes abonné, ses messages n'apparaîtront pas dans le client de test MQTT. L'abonnement au filtre de rubrique générique indiquerait toutefois que l'appareil publie des messages et que vous pourriez voir qu'il utilise un nom de rubrique qui n'est pas celui que vous attendiez.

## Publication de messages MQTT à partir du client MQTT
<a name="view-mqtt-publish"></a>

**Pour publier un message dans une rubrique MQTT**

1. Sur la page du client de test MQTT, dans l'onglet **Publier dans un sujet**, dans le champ **Nom du sujet**, entrez le message *topicName* de votre message. Pour cet exemple, utilisez **my/topic**. 
**Note**  
N'utilisez pas d'informations personnelles identifiables dans les noms de rubriques, lorsque vous les utilisiez dans le client MQTT ou dans l’implémentation de votre système. Le nom de rubriques peut apparaître dans les communications et les rapports non chiffrés.

1. Dans la section de charge utile du message, saisissez le contenu JSON suivant :

   ```
   {
       "message": "Hello, world",
       "clientType": "MQTT test client"
   }
   ```

1. Choisissez **Publier** pour publier votre message dans AWS IoT.
**Note**  
Assurez-vous d'être abonné à la rubrique **my/topic** avant de publier votre message.  
![\[L'onglet Publier dans une rubrique.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/publish-to-topic.png)

1. Dans la liste **Abonnement** choisissez **my/topic** pour afficher le message. Vous devriez voir le message apparaître dans le client de test MQTT sous la fenêtre de charge utile du message de publication.  
![\[L'écran qui affiche le sujet publié a été reçu.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/publish-to-topic-received.png)

Vous pouvez publier des messages MQTT sur d'autres sujets *topicName* en modifiant le champ **Nom du sujet** et en cliquant sur le bouton **Publier**.

**Important**  
Lorsque vous créez plusieurs abonnements avec des thèmes qui se recoupent (par exemple, sonde1/température et sonde1/n°), il est possible qu’un seul message publié sur un thème correspondant aux deux abonnements soit envoyé plusieurs fois, une fois pour chaque abonnement concerné. 

## Test des abonnements partagés dans le client MQTT
<a name="view-mqtt-shared-subscriptions"></a>

Cette section décrit comment utiliser le client AWS IoT MQTT dans la [AWS IoT console](https://console.aws.amazon.com/iot/home) pour surveiller les messages MQTT envoyés et reçus à AWS IoT l'aide d'abonnements partagés. [Abonnements partagés](mqtt.md#mqtt5-shared-subscription)permettre à plusieurs clients de partager un abonnement à un sujet, un seul client recevant des messages publiés sur ce sujet en utilisant une distribution aléatoire. Pour simuler plusieurs clients MQTT (dans cet exemple, deux clients MQTT) partageant le même abonnement, vous devez ouvrir le client AWS IoT MQTT dans la [AWS IoT console](https://console.aws.amazon.com/iot/home) à partir de plusieurs navigateurs Web. L'exemple utilisé dans cette section ne concerne pas les exemples utilisés dans [Commencer à utiliser les AWS IoT Core didacticiels](iot-gs.md). Pour plus d'informations, consultez [Abonnements partagés](mqtt.md#mqtt5-shared-subscription).

**Pour partager un abonnement sur une rubrique MQTT**

1. Dans la [AWS IoT console](https://console.aws.amazon.com/iot/home), dans le volet de navigation, choisissez **Test** puis choisissez **Client de test MQTT**.

1. Dans l'onglet **S'abonner à un sujet**, entrez le *topicName* pour vous abonner au sujet sur lequel votre appareil publie. Pour utiliser les abonnements partagés, abonnez-vous au filtre de rubriques d'un abonnement partagé comme suit :

   ```
   $share/{ShareName}/{TopicFilter}
   ```

   Un exemple de filtre de rubrique peut être **\$1share/group1/topic1**, qui s'abonne à la rubrique **topic1** du message.  
![\[L'onglet qui indique comment définir un filtre de rubrique pour les abonnements partagés.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/shared-subscription-topicfilter.png)

1. Ouvrez un autre navigateur Web et répétez les étapes 1 et 2. De cette façon, vous simulez deux clients MQTT différents qui partagent le même abonnement **\$1share/group1/topic1**.

1. Choisissez un client MQTT, dans l'onglet **Publier dans un sujet**, dans le champ **Nom du sujet**, saisissez le contenu *topicName* de votre message. Pour cet exemple, utilisez **topic1**. Essayez de publier le message plusieurs fois. Dans la liste des **abonnements** des deux clients MQTT, vous devriez être en mesure de voir que les clients reçoivent le message selon une distribution aléatoire. Dans cet exemple, nous publions trois fois le même message « Bonjour depuis AWS IoT la console ». Le client MQTT de gauche a reçu le message deux fois et le client MQTT de droite l'a reçu une fois.  
![\[Les abonnements partagés sont transmis à deux clients pour partager un abonnement à un sujet et un seul client recevra les messages publiés sur ce sujet selon une distribution aléatoire.\]](http://docs.aws.amazon.com/fr_fr/iot/latest/developerguide/images/shared_subscriptions_test.gif)