

Avis de fin de support : le 31 mai 2026, AWS le support de AWS Panorama. Après le 31 mai 2026, vous ne pourrez plus accéder à la AWS Panorama console ni aux AWS Panorama ressources. Pour plus d'informations, voir [AWS Panorama fin du support](https://docs.aws.amazon.com/panorama/latest/dev/panorama-end-of-support.html). 

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.

# Déploiement de l'exemple d'application AWS Panorama
<a name="gettingstarted-deploy"></a>

Après avoir [configuré votre appliance AWS Panorama ou votre appareil compatible](gettingstarted-setup.md) et mis à jour son logiciel, déployez un exemple d'application. Dans les sections suivantes, vous allez importer un exemple d'application avec la CLI d'application AWS Panorama et le déployer avec la console AWS Panorama.

L'exemple d'application utilise un modèle d'apprentissage automatique pour classer les objets dans des images vidéo provenant d'une caméra réseau. Il utilise le SDK d'application AWS Panorama pour charger un modèle, obtenir des images et exécuter le modèle. L'application superpose ensuite les résultats sur la vidéo d'origine et les affiche sur un écran connecté.

Dans un environnement de vente au détail, l'analyse des modèles de trafic piétonnier vous permet de prévoir les niveaux de trafic. En combinant l'analyse avec d'autres données, vous pouvez planifier l'augmentation des besoins en personnel pendant les fêtes et autres événements, mesurer l'efficacité des publicités et des promotions des ventes, ou optimiser le placement des présentoirs et la gestion des stocks.

**Topics**
+ [Prérequis](#gettingstarted-deploy-prerequisites)
+ [Importer l'exemple d'application](#gettingstarted-deploy-import)
+ [Déployer l'application](#gettingstarted-deploy-deploy)
+ [Afficher le résultat](#gettingstarted-deploy-view)
+ [Activer le SDK pour Python](#gettingstarted-deploy-redeploy)
+ [Nettoyage](#gettingstarted-deploy-cleanup)
+ [Étapes suivantes](#gettingstarted-deploy-next)

## Prérequis
<a name="gettingstarted-deploy-prerequisites"></a>

Pour suivre les procédures décrites dans ce didacticiel, vous aurez besoin d'un shell ou d'un terminal de ligne de commande pour exécuter des commandes. Dans les listes de codes, les commandes sont précédées d'un symbole d'invite (\$1) et du nom du répertoire actuel, le cas échéant.

```
~/panorama-project$ this is a command
this is output
```

Pour les commandes longues, nous utilisons un caractère d'échappement (`\`) pour diviser une commande sur plusieurs lignes.

Sur Linux et macOS, utilisez votre gestionnaire de shell et de package préféré. Sur Windows 10, vous pouvez [installer le sous-système Windows pour Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10) afin d'obtenir une version intégrée à Windows d'Ubuntu et Bash. Pour obtenir de l'aide sur la configuration d'un environnement de développement sous Windows, consultez[Configuration d'un environnement de développement sous Windows](applications-devenvwindows.md).

Vous utilisez Python pour développer des applications AWS Panorama et installer des outils avec pip, le gestionnaire de packages de Python. Si vous n'avez pas encore Python, [installez la dernière version](https://www.python.org/downloads/). Si vous avez Python 3 mais pas pip, installez pip avec le gestionnaire de paquets de votre système d'exploitation ou installez une nouvelle version de Python, fournie avec pip.

Dans ce didacticiel, vous utiliserez Docker pour créer le conteneur qui exécute le code de votre application. [Installez Docker depuis le site Web de Docker : Get Docker](https://docs.docker.com/get-docker/)

Ce didacticiel utilise la CLI d'application AWS Panorama pour importer l'exemple d'application, créer des packages et télécharger des artefacts. La CLI de l'application AWS Panorama utilise le AWS Command Line Interface (AWS CLI) pour appeler les opérations de l'API de service. Si vous l'avez déjà AWS CLI, mettez-le à niveau vers la dernière version. Pour installer la CLI de l'application AWS Panorama et AWS CLI utilisez`pip`.

```
$ pip3 install --upgrade awscli panoramacli
```

Téléchargez l'exemple d'application et extrayez-le dans votre espace de travail.

****
+ **Exemple d'application** : [aws-panorama-sample.zip](https://github.com/awsdocs/aws-panorama-developer-guide/releases/download/v1.0-ga/aws-panorama-sample.zip)

## Importer l'exemple d'application
<a name="gettingstarted-deploy-import"></a>

Pour importer l'exemple d'application à utiliser dans votre compte, utilisez l'interface de ligne de commande de l'application AWS Panorama. Les dossiers et le manifeste de l'application contiennent des références à un numéro de compte fictif. Pour les mettre à jour avec votre numéro de compte, exécutez la `panorama-cli import-application` commande.

```
aws-panorama-sample$ panorama-cli import-application
```

Le `SAMPLE_CODE` package, dans le `packages` répertoire, contient le code et la configuration de l'application, y compris un Dockerfile qui utilise l'image de base de l'application. `panorama-application` Pour créer le conteneur d'applications qui s'exécute sur l'appliance, utilisez la `panorama-cli build-container` commande.

```
aws-panorama-sample$ ACCOUNT_ID=$(aws sts get-caller-identity --output text --query 'Account')
aws-panorama-sample$ panorama-cli build-container --container-asset-name code_asset --package-path packages/${ACCOUNT_ID}-SAMPLE_CODE-1.0
```

La dernière étape avec la CLI d'application AWS Panorama consiste à enregistrer le code et les nœuds de modèle de l'application, puis à télécharger les ressources vers un point d'accès Amazon S3 fourni par le service. Les actifs incluent l'image du conteneur du code, le modèle et un fichier descripteur pour chacun d'eux. Pour enregistrer les nœuds et télécharger des actifs, exécutez la `panorama-cli package-application` commande.

```
aws-panorama-sample$ panorama-cli package-application
Uploading package model
Registered model with patch version bc9c58bd6f83743f26aa347dc86bfc3dd2451b18f964a6de2cc4570cb6f891f9
Uploading package code
Registered code with patch version 11fd7001cb31ea63df6aaed297d600a5ecf641a987044a0c273c78ceb3d5d806
```

## Déployer l'application
<a name="gettingstarted-deploy-deploy"></a>

Utilisez la console AWS Panorama pour déployer l'application sur votre appliance.

**Pour déployer l'application**

1. Ouvrez la [page des applications déployées](https://console.aws.amazon.com/panorama/home#deployed-applications) de la console AWS Panorama.

1. Choisissez **Déployer l'application**.

1. Collez le contenu du manifeste de l'application dans l'éditeur de texte. `graphs/aws-panorama-sample/graph.json` Choisissez **Suivant**.

1. Pour **Nom de l’application**, saisissez `aws-panorama-sample`.

1. Choisissez **Proceed to deploy**.

1. Choisissez **Commencer le déploiement**.

1. Choisissez **Next** sans sélectionner de rôle.

1. Choisissez **Sélectionner un appareil**, puis choisissez votre appareil. Choisissez **Suivant**.

1. À l'étape **Sélectionner les sources de données**, choisissez **Afficher les entrées** et ajoutez le flux de votre caméra en tant que source de données. Choisissez **Suivant**.

1. À l'étape **Configurer**, choisissez **Next**.

1. Choisissez **Déployer**, puis cliquez sur **Terminé**.

1. Dans la liste des applications déployées, sélectionnez **aws-panorama-sample**.

Actualisez cette page pour les mises à jour ou utilisez le script suivant pour surveiller le déploiement à partir de la ligne de commande.

**Example monitor-deployment.sh**  

```
while true; do
  aws panorama list-application-instances --query 'ApplicationInstances[?Name==`aws-panorama-sample`]'
  sleep 10
done
```

```
[
    {
        "Name": "aws-panorama-sample",
        "ApplicationInstanceId": "applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "DefaultRuntimeContextDeviceName": "my-appliance",
        "Status": "DEPLOYMENT_PENDING",
        "HealthStatus": "NOT_AVAILABLE",
        "StatusDescription": "Deployment Workflow has been scheduled.",
        "CreatedTime": 1630010747.443,
        "Arn": "arn:aws:panorama:us-west-2:123456789012:applicationInstance/applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "Tags": {}
    }
]
[
    {
        "Name": "aws-panorama-sample",
        "ApplicationInstanceId": "applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "DefaultRuntimeContextDeviceName": "my-appliance",
        "Status": "DEPLOYMENT_PENDING",
        "HealthStatus": "NOT_AVAILABLE",
        "StatusDescription": "Deployment Workflow has completed data validation.",
        "CreatedTime": 1630010747.443,
        "Arn": "arn:aws:panorama:us-west-2:123456789012:applicationInstance/applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "Tags": {}
    }
]
...
```

Si l'application ne démarre pas, consultez les [journaux de l'application et de l'appareil](monitoring-logging.md) dans Amazon CloudWatch Logs.

## Afficher le résultat
<a name="gettingstarted-deploy-view"></a>

 Lorsque le déploiement est terminé, l'application commence à traiter le flux vidéo et envoie les journaux à CloudWatch.

**Pour afficher les journaux dans CloudWatch Logs**

1. Ouvrez la [page Groupes de journaux de la console CloudWatch Logs](https://console.aws.amazon.com/cloudwatch/home#logsV2:log-groups).

1. Trouvez les journaux de l'application et de l'appliance AWS Panorama dans les groupes suivants :

****
   + **Journaux de l'appareil** — `/aws/panorama/devices/device-id`
   + **Journaux des applications** — `/aws/panorama/devices/device-id/applications/instance-id`

```
2022-08-26 17:43:39 INFO     INITIALIZING APPLICATION
2022-08-26 17:43:39 INFO     ## ENVIRONMENT VARIABLES
{'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'TERM': 'xterm', 'container': 'podman'...}
2022-08-26 17:43:39 INFO     Configuring parameters.
2022-08-26 17:43:39 INFO     Configuring AWS SDK for Python.
2022-08-26 17:43:39 INFO     Initialization complete.
2022-08-26 17:43:39 INFO     PROCESSING STREAMS
2022-08-26 17:46:19 INFO     epoch length: 160.183 s (0.936 FPS)
2022-08-26 17:46:19 INFO     avg inference time: 805.597 ms
2022-08-26 17:46:19 INFO     max inference time: 120023.984 ms
2022-08-26 17:46:19 INFO     avg frame processing time: 1065.129 ms
2022-08-26 17:46:19 INFO     max frame processing time: 149813.972 ms
2022-08-26 17:46:29 INFO     epoch length: 10.562 s (14.202 FPS)
2022-08-26 17:46:29 INFO     avg inference time: 7.185 ms
2022-08-26 17:46:29 INFO     max inference time: 15.693 ms
2022-08-26 17:46:29 INFO     avg frame processing time: 66.561 ms
2022-08-26 17:46:29 INFO     max frame processing time: 123.774 ms
```

Pour afficher la sortie vidéo de l'application, connectez l'appareil à un moniteur à l'aide d'un câble HDMI. Par défaut, l'application affiche tout résultat de classification dont le niveau de confiance est supérieur à 20 %.

**Example [squeezenet\$1classes.json](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SAMPLE_CODE-1.0/squeezenet_classes.json)**  

```
["tench", "goldfish", "great white shark", "tiger shark",
"hammerhead", "electric ray", "stingray", "cock", "hen", "ostrich",
"brambling", "goldfinch", "house finch", "junco", "indigo bunting",
"robin", "bulbul", "jay", "magpie", "chickadee", "water ouzel",
"kite", "bald eagle", "vulture", "great grey owl",
"European fire salamander", "common newt", "eft",
"spotted salamander", "axolotl", "bullfrog", "tree frog",
...
```

Le modèle d'échantillon comprend 1 000 classes comprenant de nombreux animaux, de la nourriture et des objets courants. Essayez de diriger votre appareil photo vers un clavier ou une tasse à café.

![\[\]](http://docs.aws.amazon.com/fr_fr/panorama/latest/dev/images/mug.jpg)


Pour des raisons de simplicité, l'exemple d'application utilise un modèle de classification léger. Le modèle produit un seul tableau avec une probabilité pour chacune de ses classes. Les applications du monde réel utilisent plus fréquemment des modèles de détection d'objets dotés d'une sortie multidimensionnelle. Pour des exemples d'applications avec des modèles plus complexes, voir[Exemples d'applications, de scripts et de modèles](panorama-samples.md).

## Activer le SDK pour Python
<a name="gettingstarted-deploy-redeploy"></a>

L'exemple d'application utilise le AWS SDK pour Python (Boto) pour envoyer des métriques à Amazon CloudWatch. Pour activer cette fonctionnalité, créez un rôle qui autorise l'application à envoyer des métriques, puis redéployez l'application avec le rôle associé.

L'exemple d'application inclut un CloudFormation modèle qui crée un rôle doté des autorisations nécessaires. Pour créer le rôle, utilisez la `aws cloudformation deploy` commande.

```
$ aws cloudformation deploy --template-file aws-panorama-sample.yml --stack-name aws-panorama-sample-runtime --capabilities CAPABILITY_NAMED_IAM
```



**Pour redéployer l'application**

1. Ouvrez la [page des applications déployées](https://console.aws.amazon.com/panorama/home#deployed-applications) de la console AWS Panorama.

1. Choisissez une application.

1. Choisissez **Remplacer**.

1. Suivez les étapes pour déployer l'application. Dans le champ **Spécifier le rôle IAM**, choisissez le rôle que vous avez créé. Son nom commence par `aws-panorama-sample-runtime`.

1. Lorsque le déploiement est terminé, ouvrez la [CloudWatchconsole](https://console.aws.amazon.com/cloudwatch/home#metricsV2:graph=~();namespace=~'AWSPanoramaApplication) et consultez les métriques dans l'espace de `AWSPanoramaApplication` noms. Toutes les 150 images, l'application enregistre et télécharge des métriques pour le traitement des images et le temps d'inférence.

## Nettoyage
<a name="gettingstarted-deploy-cleanup"></a>

Si vous avez terminé d'utiliser l'exemple d'application, vous pouvez utiliser la console AWS Panorama pour le supprimer de l'appliance.

**Pour supprimer l'application de l'appliance**

1. Ouvrez la [page des applications déployées](https://console.aws.amazon.com/panorama/home#deployed-applications) de la console AWS Panorama.

1. Choisissez une application.

1. Choisissez **Supprimer de l'appareil**.

## Étapes suivantes
<a name="gettingstarted-deploy-next"></a>

Si vous avez rencontré des erreurs lors du déploiement ou de l'exécution de l'exemple d'application, consultez[Résolution des problèmes](panorama-troubleshooting.md).

Pour en savoir plus sur les fonctionnalités et la mise en œuvre de l'exemple d'application, passez à [la rubrique suivante](gettingstarted-sample.md).