

Amazon n' CodeCatalyst est plus ouvert aux nouveaux clients. Les clients existants peuvent continuer à utiliser le service normalement. Pour de plus amples informations, veuillez consulter [Comment effectuer une migration depuis CodeCatalyst](migration.md).

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.

# Configuration d'un fichier de développement pour un environnement de développement
<a name="devenvironment-devfile"></a>

Un *fichier de développement* est un standard ouvert qui vous permet de personnaliser vos environnements de développement au sein de votre équipe. Un fichier de développement est un fichier YAML qui codifie les outils de développement dont vous avez besoin. En configurant un fichier de développement, vous pouvez prédéterminer les outils de projet et les bibliothèques d'applications dont vous avez besoin et Amazon les CodeCatalyst installe pour vous dans votre environnement de développement. Le fichier de développement est spécifique au référentiel pour lequel il a été créé, et vous pouvez créer un fichier de développement distinct pour chaque référentiel. Votre environnement de développement prend en charge les commandes et les événements et fournit une image de fichier de développement universelle par défaut.

Si vous créez un projet à l'aide du plan vide, vous pouvez créer un fichier de développement manuellement. Si vous créez un projet à l'aide d'un plan différent, CodeCatalyst crée automatiquement un fichier de développement. Le `/projects` répertoire d'un environnement de développement stocke les fichiers extraits du référentiel source et du fichier de développement. Le `/home` répertoire, qui est vide lorsque vous créez un environnement de développement pour la première fois, stocke les fichiers que vous créez lors de l'utilisation de votre environnement de développement. Tout ce qui se trouve dans les `/home` répertoires `/projects` et d'un environnement de développement est stocké de manière persistante.

**Note**  
Le `/home` dossier ne change que si vous modifiez le nom du fichier de développement ou le nom du composant de fichier de développement. Si vous modifiez le nom du devfile ou du composant devfile, le contenu du répertoire est remplacé et les données de votre `/home` `/home` répertoire précédent ne peuvent pas être récupérées.

Si vous créez un environnement de développement avec un référentiel source qui ne contient pas de fichier de développement à sa racine, ou si vous créez un environnement de développement sans référentiel source, un fichier de développement universel par défaut est automatiquement appliqué au référentiel source. La même image de fichier de développement universelle par défaut est utilisée pour tous IDEs. CodeCatalyst supporte actuellement la version 2.0.0 de devfile. Pour plus d'informations sur le fichier de développement, voir [Schéma de fichier de développement - Version 2.0.0](https://devfile.io/docs/2.0.0/devfile-schema).

**Note**  
Vous pouvez uniquement inclure des images de conteneur publiques dans votre devfile.

Notez que les environnements de développement connectés à VPC ne prennent en charge que les images de fichier de développement suivantes :
+ Image universelle
+ Images Amazon ECR privées, si le référentiel se trouve dans la même région que le VPC

**Topics**
+ [Modification d'un fichier de développement d'un référentiel pour un environnement de développement](devenvironment-devfile-moving.md)
+ [Fonctionnalités de Devfile prises en charge par CodeCatalyst](#devenvironment-devfile-support)
+ [Exemple de fichier de développement pour un environnement de développement](#devenvironment-devfile-example)
+ [Dépannage d'un fichier de développement d'un référentiel à l'aide du mode de](#devenvironment-devfile-recovery)
+ [Spécification d'images de fichier de développement universelles pour un environnement de développement](devenvironment-universal-image.md)
+ [Commandes Devfile](devenvironment-devfile-commands.md)
+ [Evénements Devfile](devenvironment-devfile-events.md)
+ [Composants Devfile](devenvironment-devfile-components.md)

# Modification d'un fichier de développement d'un référentiel pour un environnement de développement
<a name="devenvironment-devfile-moving"></a>

Utilisez la procédure suivante pour modifier le fichier de développement d'un référentiel pour un environnement de développement.

## Modification d'un fichier de développement d'un référentiel pour un environnement de développement dans CodeCatalyst
<a name="devenvironment-devfile-procedure"></a><a name="devenvironment-devfile-steps"></a>

**Pour modifier le fichier de développement du référentiel**

1. Ouvrez la CodeCatalyst console à l'[adresse https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Accédez au projet qui contient le référentiel source pour lequel vous souhaitez modifier le fichier de développement.

1. Dans le volet de navigation, sélectionnez **Code**.

1. Choisissez **Sources Repositories.**

1. Choisissez le référentiel source qui contient le fichier de développement que vous souhaitez modifier.

1. Dans la liste des fichiers, sélectionnez le `devfile.yaml` fichier.

1. Choisissez **Modifier**.

1. Modifiez le fichier de développement.

1. Choisissez **Commit** ou créez une pull request afin qu'un membre de l'équipe puisse examiner et approuver les modifications.

**Note**  
Si vous modifiez votre fichier de développement, vous devez le redémarrer pour que les modifications prennent effet. Cela peut être fait en courant`/aws/mde/mde start --location devfile.yaml`. En cas de problème lors du démarrage de votre fichier de développement, celui-ci passe en mode de restauration. Toutefois, si vous modifiez un fichier de développement associé à un environnement de développement connecté à un VPC, vous devez plutôt redémarrer l'environnement de développement pour que les modifications prennent effet.

Vous pouvez vérifier quel fichier de développement est utilisé en exécutant`/aws/mde/mde status`. Le champ d'emplacement contient le chemin du fichier de développement par rapport au `/projects` dossier de l'environnement.

```
{
            "status": "STABLE",
            "location": "devfile.yaml"
        }
```

Vous pouvez également déplacer le fichier de développement par défaut dans `/projects/devfile.yaml` votre référentiel de code source. Pour mettre à jour l'emplacement du fichier de développement, utilisez la commande suivante :`/aws/mde/mde start --location repository-name/devfile.yaml`.

## Modification d'un fichier de développement d'un référentiel pour un environnement de développement dans un IDE
<a name="devenvironment-devfile-ide"></a>

Pour modifier la configuration d'un environnement de développement, vous devez modifier le fichier de développement. Nous vous recommandons de modifier le fichier de développement dans un IDE compatible, puis de mettre à jour votre environnement de développement, mais vous pouvez également modifier le fichier de développement à la racine du référentiel source dans. CodeCatalyst Si vous modifiez le fichier de développement dans un IDE compatible, vous devez valider et transférer vos modifications dans le référentiel source ou créer une pull request afin qu'un membre de l'équipe puisse examiner et approuver les modifications du fichier de développement.
+ [Modification du fichier de développement du référentiel pour un environnement de développement dans AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/devenvironment-cloud9.title.html#ide-toolkits-edit-devfile-cloud9)
+ [Modification du fichier de développement du référentiel pour un environnement de développement dans VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/codecatalyst-devenvironment.html#codecatalyst-devenvironment-devfile)
+ [Modification du fichier de développement du référentiel pour un environnement de développement dans JetBrains](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/codecatalyst-overview.html#codecatalyst-overview-default)

## Fonctionnalités de Devfile prises en charge par CodeCatalyst
<a name="devenvironment-devfile-support"></a>

CodeCatalyst prend en charge les fonctionnalités de fichier de développement suivantes sur la version 2.0.0. Pour plus d'informations sur le fichier de développement, voir [Schéma de fichier de développement - Version 2.0.0](https://devfile.io/docs/2.0.0/devfile-schema).


| Fonctionnalité | Type | 
| --- | --- | 
|  `exec`  |  Commande  | 
|  `postStart`  |  Événement  | 
|  `container`  |  Composant  | 
|  `args`  |  Propriétés des composants  | 
|  `env`  |  Propriétés des composants  | 
|  `mountSources`  |  Propriétés des composants  | 
|  `volumeMounts`  |  Propriétés des composants  | 

## Exemple de fichier de développement pour un environnement de développement
<a name="devenvironment-devfile-example"></a>

Voici un exemple de fichier de développement simple.

```
schemaVersion: 2.0.0
metadata:
  name: al2
components:
  - name: test
    container:
      image: public.ecr.aws/amazonlinux/amazonlinux:2
      mountSources: true
      command: ['sleep', 'infinity']
  - name: dockerstore
commands:
  - id: setupscript
    exec:
      component: test
      commandLine: "chmod +x script.sh"
      workingDir: /projects/devfiles
  - id: executescript
    exec:
      component: test
      commandLine: "/projects/devfiles/script.sh"
  - id: yumupdate
    exec:
      component: test
      commandLine: "yum -y update --security"
events:
  postStart:
    - setupscript
    - executescript
    - yumupdate
```

Les journaux de démarrage, de commande et d'événements de Devfile sont capturés et stockés dans`/aws/mde/logs`. Pour déboguer le comportement des fichiers de développement, démarrez votre environnement de développement à l'aide d'un fichier de développement fonctionnel et accédez aux journaux.

## Dépannage d'un fichier de développement d'un référentiel à l'aide du mode de
<a name="devenvironment-devfile-recovery"></a>

En cas de problème lors du démarrage de votre fichier de développement, celui-ci passe en mode de restauration afin que vous puissiez toujours vous connecter à votre environnement et corriger votre fichier de développement. En mode de restauration, l'exécution `/aws/mde/mde status` ne contiendra pas l'emplacement de votre fichier de développement.

```
{
            "status": "STABLE"
        }
```

Vous pouvez vérifier l'erreur dans les journaux ci-dessous`/aws/mde/logs`, corriger le fichier de développement et réessayer de l'exécuter`/aws/mde/mde start`.

# Spécification d'images de fichier de développement universelles pour un environnement de développement
<a name="devenvironment-universal-image"></a>

L'*image universelle* par défaut inclut les langages de programmation les plus couramment utilisés et les outils associés qui peuvent être utilisés pour votre IDE. Si aucune image n'est spécifiée, CodeCatalyst fournit cette image et contient des outils gérés par CodeCatalyst. Pour rester informé des nouvelles publications d'images, consultez[Abonnement aux notifications par image universelles avec SNS](#devenvironment-universal-notifications).

Amazon prend CodeCatalyst activement en charge les images de fichier de développement suivantes :


| Version d’image | Identificateur de l'image | 
| --- | --- | 
| Universal image 4.0 | public.ecr.aws/aws-mde/universal-image:4.0 | 
| Universal image 5.0 | public.ecr.aws/aws-mde/universal-image:5.0 | 

**Note**  
Vous pouvez également l'utiliser `public.ecr.aws/aws-mde/universal-image:latest` pour obtenir la dernière image, qui est actuellement`public.ecr.aws/aws-mde/universal-image:5.0`.

CodeCatalyst a déconseillé les images suivantes. Vous pouvez toujours utiliser ces images, mais elles ne seront pas mises en cache sur l'hôte de compilation et augmenteront le temps de démarrage de l'environnement de développement.


| Version d’image | Identificateur de l'image | Date d’obsolescence | 
| --- | --- | --- | 
| Universal image 1.0 | public.ecr.aws/aws-mde/universal-image:1.0 | 16 août 2024 | 
| Universal image 2.0 | public.ecr.aws/aws-mde/universal-image:2.0 | 16 août 2024 | 
| Universal image 3.0 | public.ecr.aws/aws-mde/universal-image:3.0 | 30 juillet 2025 | 

**Note**  
Si vous l'utilisez AWS Cloud9, la saisie automatique ne fonctionnera pas pour PHP, Ruby et CSS après la mise à `universal-image:3.0` niveau vers.

**Topics**
+ [Abonnement aux notifications par image universelles avec SNS](#devenvironment-universal-notifications)
+ [Versions d'exécution d'Universal Image 4.0](#devenvironment-universal-runtimes-4.0)
+ [Versions d'exécution d'Universal Image 5.0](#devenvironment-universal-runtimes-5.0)

## Abonnement aux notifications par image universelles avec SNS
<a name="devenvironment-universal-notifications"></a>

CodeCatalyst fournit un service universel de notification par image. Vous pouvez l'utiliser pour vous abonner à une rubrique Amazon Simple Notification Service (SNS) qui vous avertit lorsque des mises à jour CodeCatalyst universelles des images ont été publiées. Pour plus d'informations sur les sujets liés aux réseaux sociaux, consultez [Qu'est-ce qu'Amazon Simple Notification Service ?](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) .

Chaque fois que de nouvelles images universelles sont publiées, nous envoyons des notifications aux abonnés ; cette section explique comment s'abonner aux mises à jour CodeCatalyst universelles des images.

**Exemple de message**

```
{
    "Type": "Notification",
    "MessageId": "123456789",
    "TopicArn": "arn:aws:sns:us-east-1:1234657890:universal-image-updates",
    "Subject": "New Universal Image Release",
    "Message": {
        "v1": {
            "Message": "A new version of the Universal Image has been released. You are now able to launch new DevEnvironments using this image.",
            "image ": {
                "release_type": "MAJOR VERSION",
                "image_name": "universal-image",
                "image_version": "2.0",
                "image_uri": "public.ecr.aws/amazonlinux/universal-image:2.0"
            }
        }
    },
    "Timestamp": "2021-09-03T19:05:57.882Z",
    "UnsubscribeURL": "example url"
}
```

**Pour vous abonner aux mises à jour CodeCatalyst universelles des images à l'aide de la console Amazon SNS**

1. [Ouvrez la console Amazon SNS sur le tableau de bord.](https://console.aws.amazon.com/sns/v2/home)

1. Dans la barre de navigation, choisissez votre Région AWS.

1. Dans le panneau de navigation, choisissez **Abonnements**, puis **Créer un abonnement**.

1. Dans **Topic ARN**, entrez`arn:aws:sns:us-east-1:089793673375:universal-image-updates`.

1. Dans **Protocole**, choisissez **E-mail**.

1. Dans **Endpoint**, saisissez une adresse e-mail. Cette adresse e-mail sera utilisée pour recevoir les notifications.

1. Choisissez **Créer un abonnement**.

1. Vous recevrez un e-mail de confirmation avec pour objet « AWS  Notification - Confirmation d'abonnement ». Ouvrez l'e-mail et choisissez **Confirmer l'abonnement**.

**Pour vous désabonner des mises à jour CodeCatalyst universelles des images à l'aide de la console Amazon SNS**

1. [Ouvrez la console Amazon SNS sur le tableau de bord.](https://console.aws.amazon.com/sns/v2/home)

1. Dans la barre de navigation, choisissez votre Région AWS.

1. Dans le volet de navigation, choisissez **Abonnements**, puis sélectionnez l'abonnement dont vous souhaitez vous désabonner.

1. Choisissez **Actions**, puis sélectionnez **Supprimer les abonnements**.

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

## Versions d'exécution d'Universal Image 4.0
<a name="devenvironment-universal-runtimes-4.0"></a>

Le tableau suivant répertorie les environnements d'exécution disponibles pour`universal-image:4.0`.


**`universal-image:4.0`versions d'exécution**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codecatalyst/latest/userguide/devenvironment-universal-image.html)

## Versions d'exécution d'Universal Image 5.0
<a name="devenvironment-universal-runtimes-5.0"></a>

Le tableau suivant répertorie les environnements d'exécution disponibles pour`universal-image:5.0`.


**`universal-image:5.0`versions d'exécution**  

| Nom de l’exécution  | Version | Version spécifique majeure et dernière version mineure | 
| --- | --- | --- | 
| agrafe |  2,25  |  `aws-cli: 2.x`  | 
| docker compose |  2,34  |  `docker-compose: 2.x`  | 
| dotnet |  8.0  |  `dotnet: 8.x`  | 
| golang |  1,24  |  `golang: 1.x`  | 
| java |  corretto21  |  `java: corretto21.x`  | 
| nodejs |  22,0  |  `nodejs: 22.x`  | 
| php |  8,3,16  |  `php: 8.x`  | 
| python |  3,12  |  `python: 3.x`  | 
| ruby |  3.4.2  |  `ruby: 3.x`  | 
| terraform |  1,1,5  |  `terraform: 1.x`  | 

# Commandes Devfile
<a name="devenvironment-devfile-commands"></a>

Actuellement, CodeCatalyst seules les `exec` commandes de votre fichier de développement sont prises en charge. Pour plus d'informations, consultez la section [Ajout de commandes](https://devfile.io/docs/2.0.0/adding-commands) dans la documentation de DevFile.io.

L'exemple suivant vous montre comment spécifier des `exec` commandes dans votre fichier de développement.

```
commands:
  - id: setupscript
    exec:
      component: test
      commandLine: "chmod +x script.sh"
      workingDir: /projects/devfiles
  - id: executescript
    exec:
      component: test
      commandLine: "./projects/devfiles/script.sh"
  - id: updateyum
    exec:
      component: test
      commandLine: "yum -y update --security"
```

Une fois connecté à votre environnement de développement, vous pouvez exécuter des commandes définies via le terminal.

```
/aws/mde/mde command <command-id>
/aws/mde/mde command executescript
```

Pour les commandes de longue durée, vous pouvez utiliser l'indicateur `-s` de streaming pour afficher l'exécution de la commande en temps réel.

```
/aws/mde/mde -s command <command-id>
```

**Note**  
`command-id`doit être en minuscules.

## Paramètres d'exécution pris en charge par CodeCatalyst
<a name="devenvironment-exec-support"></a>

CodeCatalyst prend en charge les `exec` paramètres suivants sur la version 2.0.0 de devfile.
+ `commandLine`
+ `component`
+ `id`
+ `workingDir`

# Evénements Devfile
<a name="devenvironment-devfile-events"></a>

Actuellement, CodeCatalyst ne prend en charge que `postStart` les événements de votre devfile. Pour plus d'informations, consultez la [postStartObject](https://devfile.io/docs/2.0.0/adding-event-bindings#post-start-object)documentation de Devfile.io.

L'exemple suivant vous montre comment ajouter des liaisons d'`postStart`événements dans votre fichier de développement.

```
commands:
  - id: executescript
    exec:
      component: test
      commandLine: "./projects/devfiles/script.sh"
  - id: updateyum
    exec:
      component: test
      commandLine: "yum -y update --security"
events:
  postStart:
    - updateyum
    - executescript
```

Après le démarrage, votre environnement de développement exécutera les `postStart` commandes spécifiées dans l'ordre dans lequel elles ont été définies. Si une commande échoue, l'environnement de développement continue de fonctionner et le résultat de l'exécution est stocké dans les journaux ci-dessous`/aws/mde/logs`.

# Composants Devfile
<a name="devenvironment-devfile-components"></a>

Actuellement, CodeCatalyst seuls les `container` composants de votre fichier de développement sont pris en charge. Pour plus d'informations, consultez la section [Ajout de composants](https://devfile.io/docs/2.0.0/adding-components) dans la documentation de DevFile.io.

L'exemple suivant vous montre comment ajouter une commande de démarrage à votre conteneur dans votre fichier de développement.

```
components:
  - name: test
    container:
      image: public.ecr.aws/amazonlinux/amazonlinux:2
      command: ['sleep', 'infinity']
```

**Note**  
Lorsque le conteneur possède une commande d'entrée de courte durée, vous devez l'inclure `command: ['sleep', 'infinity']` pour que le conteneur continue de fonctionner.

CodeCatalyst prend également en charge les propriétés suivantes dans votre composant conteneur : `args``env`,`mountSources`, et`volumeMounts`.