

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.

# Comment publier des applications
<a name="serverlessrepo-how-to-publish"></a>

Cette section décrit les procédures permettant de publier votre application sans serveur sur le à l'aide AWS Serverless Application Repository de la AWS SAM CLI ou du AWS Management Console. Elle vous montre également comment partager votre application pour permettre à d'autres utilisateurs de la déployer et à la supprimer de AWS Serverless Application Repository.

**Important**  
Les informations que vous entrez lorsque vous publiez une application ne sont pas chiffrées. Ces informations comprennent des données telles que le nom de l'auteur. Si vous disposez d'informations personnelles identifiables que vous ne souhaitez pas stocker ou rendre publiques, nous vous recommandons de ne pas les saisir lors de la publication de votre application.

## Publication d'une application (AWS CLI)
<a name="publishing-application-through-cli"></a>

Le moyen le plus simple de publier une application sur le AWS Serverless Application Repository est d'utiliser un ensemble de commandes AWS SAM CLI. Pour plus d'informations, consultez la section [Publication d'une application à l'aide de la AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-publishing-applications.html) dans le *guide du développeur AWS Serverless Application Model (AWS SAM)*.

## Publication d'une nouvelle application (console)
<a name="publishing-application-through-aws-console"></a>

Cette section explique comment utiliser le AWS Management Console pour publier une nouvelle application sur AWS Serverless Application Repository. Pour obtenir des instructions sur la publication d'une nouvelle version d'une application existante, veuillez consulter [Publication d'une nouvelle version d'une application existante](serverlessrepo-how-to-publish-new-version.md).

### Conditions préalables
<a name="publishing-application-prerequisites"></a>

Avant de publier une application sur le AWS Serverless Application Repository, vous devez disposer des éléments suivants :
+ Un AWS compte valide.
+ Un modèle valide AWS Serverless Application Model (AWS SAM) qui définit les AWS ressources utilisées. Pour plus d'informations sur les AWS SAM modèles, consultez la section [Principes AWS SAM de base](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-basics.html) des modèles. 
+ Un package pour votre application que vous avez créé à l'aide de la AWS CloudFormation `package` commande pour AWS CLI. Cette commande regroupe les artefacts locaux (chemins locaux) auxquels votre AWS SAM modèle fait référence. Pour plus de détails, consultez le [package](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html) dans la CloudFormation documentation. 
+ Une URL qui pointe vers le code source de votre application, si vous souhaitez publier votre application publiquement.
+ Un fichier readme.txt. Ce fichier doit décrire comment les clients peuvent utiliser votre application et comment la configurer avant de la déployer dans leurs propres AWS comptes. 
+ Un fichier license.txt ou un identifiant de licence valide du [site web SPDX](https://spdx.org/licenses/). Notez qu'une licence n'est requise que si vous souhaitez partager votre application publiquement. Si vous voulez garder votre application privée ou la partager uniquement en privé, vous n'avez pas besoin de spécifier de licence.
+ Une politique de compartiment Amazon S3 valide qui accorde au service des autorisations de lecture pour les artefacts qui ont été chargés sur Amazon S3 lorsque vous avez empaqueté votre application. Pour définir cette stratégie, procédez comme suit :

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

  1. Choisissez le compartiment Amazon S3 que vous avez utilisé pour empaqueter votre application.

  1. Sélectionnez l’onglet **Autorisations**.

  1. Choisissez le bouton **Stratégie de compartiment**.

  1. Collez l'instruction de stratégie suivante dans l'**éditeur de stratégie de compartiment**. Assurez-vous de remplacer le nom de votre compartiment dans l'`Resource`élément et votre identifiant de AWS compte dans l'`Condition`élément. L'expression contenue dans l'`Condition`élément ensure est AWS Serverless Application Repository uniquement autorisée à accéder aux applications à partir du AWS compte spécifié. Pour plus d'informations sur les déclarations de stratégie, consultez [Référence des éléments de stratégie IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dans le *Guide de l'utilisateur IAM*.

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Principal": {
                     "Service":  "serverlessrepo.amazonaws.com"
                 },
                 "Action": "s3:GetObject",
                 "Resource": "arn:aws:s3:::bucketname/*",
                 "Condition" : {
                     "StringEquals": {
                         "aws:SourceAccount": "123456789012"
                     }
                 }
             }
         ]
     }
     ```

------

  1. Choisissez le bouton **Enregistrer**.

### Procédure
<a name="create-new-application"></a>

Créez une nouvelle application dans le AWS Serverless Application Repository en suivant la procédure ci-dessous.

**Pour créer une nouvelle application dans AWS Serverless Application Repository**

1. Ouvrez la [console AWS Serverless Application Repository](https://console.aws.amazon.com/serverlessrepo/home) et choisissez **Publish applications (Publier les applications)**.

1. Sur la page **Publier une application** entrez les informations d'application suivantes, puis choisissez **Publier une application** :    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverlessrepo/latest/devguide/serverlessrepo-how-to-publish.html)

## Suppression d'une application
<a name="share-application"></a>

Les applications publiées peuvent disposer d’autorisations définies dans l'une des trois catégories suivantes :
+ **Privé (par défaut)** : applications créées avec le même compte et qui n'ont été partagées avec aucun autre AWS compte. Seuls les utilisateurs qui partagent votre AWS compte sont autorisés à déployer des applications privées.
+ **Partage privé** : applications que l'éditeur a explicitement partagées avec un ensemble de AWS comptes spécifique ou avec des AWS comptes au sein d'une AWS organisation. Les consommateurs sont autorisés à déployer des applications qui ont été partagées avec leur AWS compte ou leur AWS organisation. Pour plus d'informations AWS Organizations, consultez le *[guide de AWS Organizations l'utilisateur](https://docs.aws.amazon.com/organizations/latest/userguide/)*.
+ **Partage public** : applications que l'éditeur a partagées avec tout le monde. Tous les consommateurs ont l'autorisation de déployer n'importe quelle application partagée publiquement.

Une fois que vous avez publié une application sur le AWS Serverless Application Repository, elle est définie par défaut sur **privée**. Cette section explique comment partager une application en privé avec des AWS comptes spécifiques ou une AWS organisation, ou comment la partager publiquement avec tout le monde.

### Partage d'une application via la console
<a name="share-application-console"></a>

Deux options s'offrent à vous pour partager votre application avec d'autres personnes : 1) Partagez-la avec des AWS comptes spécifiques ou au AWS sein de votre AWS organisation, ou 2) Partagez-la publiquement avec tout le monde. Pour plus d'informations AWS Organizations, consultez le *[guide de AWS Organizations l'utilisateur](https://docs.aws.amazon.com/organizations/latest/userguide/)*.

**Option 1 : partager votre candidature avec un ou plusieurs AWS comptes spécifiques au sein de votre AWS organisation**

1. Ouvrez la [AWS Serverless Application Repository console](https://console.aws.amazon.com/serverlessrepo/home).

1. Dans le panneau de navigation, choisissez **Published Applications (Applications publiées)** pour afficher la liste des applications que vous avez créées.

1. Choisissez l'application que vous souhaitez partager.

1. Cliquez sur l'onglet **Sharing (Partager)** .

1. Dans la section **Application policy statements (Déclarations de stratégie d'application)**, cliquez sur le bouton **Create Statement (Créer une déclaration)**.

1. Dans la fenêtre **Statement Configuration (Configuration de la déclaration)**, remplissez les champs en fonction de la façon dont vous souhaitez partager votre application.
**Note**  
Si vous partagez avec une organisation, vous pouvez uniquement spécifier l'organisation dont votre AWS compte est membre. Si vous essayez de spécifier une AWS organisation dont vous n'êtes pas membre, une erreur se produira.  
Pour partager votre candidature avec votre AWS organisation, vous devez reconnaître que l'`UnshareApplication`action sera ajoutée à votre déclaration de politique, au cas où le partage doive être révoqué à l'avenir.

1. Choisissez le bouton **Enregistrer**.

**Option 2 : partager publiquement votre application avec tout le monde**

1. Ouvrez la [AWS Serverless Application Repository console](https://console.aws.amazon.com/serverlessrepo/home).

1. Dans le panneau de navigation, choisissez **Published Applications (Applications publiées)** pour afficher la liste des applications que vous avez créées.

1. Choisissez l'application que vous souhaitez partager.

1. Cliquez sur l'onglet **Sharing (Partager)** .

1. Dans la section **Public Sharing (Partage public)** cliquez sur le bouton **Edit (Modifier)** .

1. Sous **Public sharing (Partage public)**, choisissez le bouton radio **Enabled (Activé)** .

1. Dans la zone de texte, saisissez le nom de votre application, puis cliquez sur le bouton **Save (Enregistrer)** .

**Note**  
Pour partager publiquement une application, elle doit avoir à la fois définies les propriétés `LicenseUrl` et `SemanticVersion`.

### Partage d'une application par le biais du AWS CLI
<a name="share-application-cli"></a>

Pour partager une application à l'aide de, AWS CLI vous accordez des autorisations à l'aide de la `[put-application-policy](https://docs.aws.amazon.com/cli/latest/reference/serverlessrepo/put-application-policy.html)` commande permettant de spécifier le ou les AWS comptes avec lesquels vous souhaitez partager en tant que principaux.

Pour plus d'informations sur le partage de votre application à l'aide de la AWS CLI, consultez[AWS Serverless Application Repository Exemples de politiques d'application](security_iam_resource-based-policy-examples.md).

## Annuler le partage d'une application
<a name="unshare-applications"></a>

Il existe deux options pour annuler le partage d'une application auprès d'une AWS organisation :

1. L'éditeur de l'application peut supprimer des autorisations à l'aide de la commande `[put-application-policy](https://docs.aws.amazon.com/cli/latest/reference/serverlessrepo/put-application-policy.html)`.

1. Un utilisateur du *compte de gestion* d'une AWS organisation peut annuler le [partage d'une application](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/applications-applicationid-unshare.html) sur n'importe quelle application partagée avec l'organisation, même si l'application a été publiée par un utilisateur d'un autre compte.
**Note**  
Lorsqu'une application n'est plus partagée avec une AWS organisation à l'aide de l'opération « annuler le partage de l'application », elle ne peut pas être partagée à nouveau avec AWS l'organisation.

   Pour plus d'informations AWS Organizations, consultez le *[guide de AWS Organizations l'utilisateur](https://docs.aws.amazon.com/organizations/latest/userguide/)*.

### Suppression des autorisations par l’éditeur
<a name="unshare-applications-publisher"></a>

#### Suppression des autorisations par l’éditeur via la console
<a name="unshare-application-publisher-console"></a>

Pour annuler le partage d'une application via le AWS Management Console, vous devez supprimer la déclaration de politique qui la partage avec d'autres AWS comptes. Pour cela, procédez comme suit :

1. Ouvrez la [AWS Serverless Application Repository console](https://console.aws.amazon.com/serverlessrepo/home).

1. Choisissez **Available Applications (Applications disponibles)** dans le volet de navigation gauche.

1. Choisissez l'application dont vous souhaitez annuler le partage.

1. Cliquez sur l'onglet **Sharing (Partager)** .

1. Dans la section **Application policy statements (Déclarations de stratégie d'application)**, sélectionnez la déclaration de stratégie qui partage l'application avec les comptes pour lesquels vous souhaitez annuler le partage.

1. Sélectionnez **Delete (Supprimer)**.

1. Un message de confirmation s'affiche. Choisissez **Supprimer** à nouveau.

#### L'éditeur supprime les autorisations via le AWS CLI
<a name="unshare-application-publisher-cli"></a>

Pour annuler le partage d'une application via le AWS CLI, l'éditeur peut supprimer ou modifier les autorisations à l'aide de la `[put-application-policy](https://docs.aws.amazon.com/cli/latest/reference/serverlessrepo/put-application-policy.html)` commande permettant de rendre l'application privée ou de la partager avec un autre ensemble de AWS comptes.

Pour plus d'informations sur la modification des autorisations à l'aide de la AWS CLI, consultez[AWS Serverless Application Repository Exemples de politiques d'application](security_iam_resource-based-policy-examples.md).

### Annulation du partage d'une application par un compte de gestion
<a name="unshare-applications-management"></a>

#### Compte de gestion annulant le partage d'une application avec une AWS organisation via la console
<a name="unshare-application-management-console"></a>

Pour annuler le partage d'une application auprès d'une AWS organisation via le AWS Management Console, un utilisateur du *compte de gestion* peut effectuer les opérations suivantes :

1. Ouvrez la [AWS Serverless Application Repository console](https://console.aws.amazon.com/serverlessrepo/home).

1. Choisissez **Available Applications (Applications disponibles)** dans le volet de navigation gauche.

1. Dans la tuile de l'application, choisir **Unshare (Annuler le partage)**.

1. Dans la zone de message d'annulation du partage, confirmez que vous souhaitez annuler le partage de l'application en saisissant l'ID de l'organisation et le nom de l'application, puis en choisissant **Save (Enregistrer)**.

#### Compte de gestion annulant le partage d'une demande auprès d'une AWS organisation par le biais du AWS CLI
<a name="unshare-application-management-cli"></a>

Pour annuler le partage d'une application avec une AWS organisation, un utilisateur du *compte de gestion* peut exécuter la `aws serverlessrepo unshare-application` commande.

La commande suivante annule le partage d'une application avec une AWS organisation, où *application-id* sont le nom de ressource Amazon (ARN) de l'application et *organization-id* l'ID de l' AWS organisation :

```
1. aws serverlessrepo unshare-application --application-id application-id --organization-id organization-id
```

## Suppression d'une application
<a name="deleting-applications"></a>

Vous pouvez supprimer des applications à l'aide AWS Serverless Application Repository de la CLI AWS Management Console ou de la AWS SAM CLI.

### Suppression d'une application (console)
<a name="deleting-application-through-aws-console"></a>

Pour supprimer une application publiée via le AWS Management Console, procédez comme suit.

1. Ouvrez la [AWS Serverless Application Repository console](https://console.aws.amazon.com/serverlessrepo/home).

1. Pour **My Applications (Mes applications)**, choisissez l'application que vous souhaitez supprimer.

1. Sur la page des détails de l'application, choisissez **Supprimer l'application**. 

1. Choisissez **Supprimer l'application** pour terminer la suppression.

### Suppression d'une application (AWS CLI)
<a name="deleting-application-through-cli"></a>

Pour supprimer une application publiée à l'aide de AWS CLI, exécutez la `[aws serverlessrepo delete-application](https://docs.aws.amazon.com/cli/latest/reference/serverlessrepo/delete-application.html)` commande.

La commande suivante supprime une application, où l’`application-id` est le nom de ressource Amazon (ARN) de l'application :

```
1. aws serverlessrepo delete-application --application-id application-id
```

# Publication d'une nouvelle version d'une application existante
<a name="serverlessrepo-how-to-publish-new-version"></a>

Cette section explique comment publier une nouvelle version d'une application existante sur le à l'aide AWS Serverless Application Repository de la AWS SAM CLI ou du AWS Management Console. Pour obtenir des instructions sur la publication d'une nouvelle application, veuillez consulter [Comment publier des applications](serverlessrepo-how-to-publish.md).

## Publication d'une nouvelle version d'une application existante (AWS CLI)
<a name="serverlessrepo-how-to-publish-new-version-cli"></a>

Le moyen le plus simple de publier une nouvelle version d'une application existante consiste à utiliser un ensemble de commandes AWS SAM CLI. Pour plus d'informations, consultez la section [Publication d'une application à l'aide de la AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-publishing-applications.html) dans le *guide du développeur AWS Serverless Application Model (AWS SAM)*.

## Publication d'une nouvelle version d'une application existante (console)
<a name="serverlessrepo-how-to-publish-new-version-console"></a>

Pour publier une nouvelle version d'une application que vous avez déjà publiée, procédez comme suit :

1. Ouvrez la [AWS Serverless Application Repository console](https://console.aws.amazon.com/serverlessrepo/home).

1. Dans le panneau de navigation, choisissez **Mes applications** pour afficher la liste des applications que vous avez créées.

1. Choisissez l'application pour laquelle vous voulez publier une nouvelle version.

1. Choisissez **Publish new version (Publier une nouvelle version)**.

1. Dans **Versions**, entrez les informations d'application suivantes :    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/serverlessrepo/latest/devguide/serverlessrepo-how-to-publish-new-version.html)

1. Choisissez **Publier la version**.