

 AWS Cloud9 n'est plus disponible pour les nouveaux clients. Les clients existants d’ AWS Cloud9 peuvent continuer à l’utiliser normalement. [En savoir plus](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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.

# TypeScript tutoriel pour AWS Cloud9
<a name="sample-typescript"></a>

Ce didacticiel explique comment travailler TypeScript dans un environnement AWS Cloud9 de développement.

Le fait de suivre ce didacticiel et de créer cet exemple peut entraîner des frais sur votre AWS compte. Il peut s'agir de frais pour des services tels qu'Amazon EC2 et Amazon S3. Pour en savoir plus, consultez les sections [Tarification Amazon EC2](https://aws.amazon.com/ec2/pricing/) et [Tarification Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Conditions préalables](#sample-typescript-prereqs)
+ [Étape 1 : Installer les outils requis](#sample-typescript-install)
+ [Étape 2 : Ajouter du code](#sample-typescript-code)
+ [Étape 3 : Exécuter le code](#sample-typescript-run)
+ [Étape 4 : Installation et configuration du AWS SDK pour JavaScript dans Node.js](#sample-typescript-sdk)
+ [Étape 5 : ajouter le code du AWS SDK](#sample-typescript-sdk-code)
+ [Étape 6 : Exécuter le code du AWS SDK](#sample-typescript-sdk-run)
+ [Étape 7 : nettoyer](#sample-typescript-clean-up)

## Conditions préalables
<a name="sample-typescript-prereqs"></a>

Avant d'utiliser cet exemple, vérifiez que votre configuration respecte les conditions requises suivantes :
+ **Vous devez disposer d'un environnement de développement AWS Cloud9 EC2 existant.** Cet exemple suppose que vous disposez déjà d'un environnement EC2 connecté à une instance Amazon EC2 s'exécutant sur Amazon Linux ou Ubuntu Server. Si vous utilisez un autre type d'environnement ou de système d'exploitation, vous devrez peut-être adapter les instructions de cet exemple pour configurer les outils associés. Pour de plus amples informations, veuillez consulter [Création d'un environnement dans AWS Cloud9](create-environment.md).
+ **L' AWS Cloud9 IDE correspondant à l'environnement existant est déjà ouvert.** Lorsque vous ouvrez un environnement, AWS Cloud9 ouvre l'IDE correspondant à cet environnement dans votre navigateur Web. Pour de plus amples informations, veuillez consulter [Ouvrir un environnement dans AWS Cloud9](open-environment.md).

## Étape 1 : Installer les outils requis
<a name="sample-typescript-install"></a>

Au cours de cette étape, vous devez procéder à TypeScript l'installation à l'aide de Node Package Manager (**`npm`**). Pour installer ** `npm` **, vous utilisez Node Version Manager (** `nvm` **). Si vous ne disposez pas de ** `nvm` **, vous devez d'abord l'installer dans cette étape.

1. Dans une session de terminal dans l' AWS Cloud9 IDE, vérifiez s'il TypeScript est déjà installé en exécutant le TypeScript compilateur de ligne de commande avec l'**`--version`**option. (Pour démarrer une nouvelle séance de terminal, dans la barre de menus, choisissez **Window** (Fenêtre), **New Terminal** (Nouveau terminal).) En cas de succès, la sortie contient le numéro de TypeScript version. S' TypeScript il est installé, passez directement à[Étape 2 : Ajouter du code](#sample-typescript-code).

   ```
   tsc --version
   ```

1. Vérifiez si ** `npm` ** est déjà installé en exécutant ** `npm` ** avec l'option ** `--version` **. Si c'est le cas, la sortie contient le numéro de version ** `npm` **. S'il **`npm`**est installé, passez à l'étape 10 de cette procédure à utiliser **`npm`**pour l'installation TypeScript.

   ```
   npm --version
   ```

1. Exécutez la commande ** `yum update` ** (pour Amazon Linux) ou la commande ** `apt update` ** (pour Ubuntu Server) afin d'être sûr que les mises à jour de sécurité et les correctifs les plus récents sont installés.

   Pour Amazon Linux :

   ```
   sudo yum -y update
   ```

   Pour Ubuntu Server :

   ```
   sudo apt update
   ```

1. Pour l'installer **`npm`**, commencez par exécuter la commande suivante pour télécharger Node Version Manager (**`nvm`**). (**`nvm`**est un script shell Bash simple qui est utile pour installer et gérer les versions de Node.js. Pour plus d'informations, consultez [Node Version Manager](https://github.com/creationix/nvm/blob/master/README.md) sur le GitHub site Web.)

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

1. Pour commencer à utiliser ** `nvm` **, fermez la session de terminal et démarrez-la à nouveau, ou approvisionnez le fichier `~/.bashrc` qui contient les commandes pour charger ** `nvm` **.

   ```
   . ~/.bashrc
   ```

1. Vérifiez que ** `nvm` ** est installé en exécutant ** `nvm` ** avec l'option ** `--version` **.

   ```
   nvm --version
   ```

1. Installez la dernière version 16 de Node.js en exécutant **`nvm`**. (**`npm`**est inclus dans Node.js.)

   ```
   nvm install v16
   ```

1. Confirmez que Node.js est installé en exécutant la version de ligne de commande de Node.js avec l'option ** `--version` **.

   ```
   node --version
   ```

1. Vérifiez que ** `npm` ** est installé en exécutant ** `npm` ** avec l'option ** `--version` **.

   ```
   npm --version
   ```

1. Installez TypeScript en exécutant **`npm`**l'**`-g`**option. Cela s'installe TypeScript en tant que package global dans l'environnement.

   ```
   npm install -g typescript
   ```

1. Confirmez qu' TypeScript il est installé en exécutant le TypeScript compilateur de ligne de commande avec l'**`--version`**option.

   ```
   tsc --version
   ```

## Étape 2 : Ajouter du code
<a name="sample-typescript-code"></a>

1. Dans l' AWS Cloud9 IDE, créez un fichier nommé`hello.ts`. (Pour créer un fichier, dans la barre de menus, choisissez **Fichier**, **Nouveau fichier**. Pour l'enregistrer, choisissez **Fichier**, **Enregistrer**.)

1. Dans un terminal de l'IDE, depuis le même répertoire que le fichier `hello.ts`, exécutez ** `npm` ** pour installer la bibliothèque `@types/node`.

   ```
   npm install @types/node
   ```

   Cela ajoute un dossier `node_modules/@types/node` dans le même répertoire que le fichier `hello.ts`. Ce nouveau dossier contient les définitions de type Node.js dont vous aurez TypeScript besoin plus loin dans cette procédure pour les `process.argv` propriétés `console.log` et que vous ajouterez au `hello.ts` fichier.

1. Ajoutez le code suivant au fichier `hello.ts` :

   ```
   console.log('Hello, World!');
   
   console.log('The sum of 2 and 3 is 5.');
   
   const sum: number = parseInt(process.argv[2], 10) + parseInt(process.argv[3], 10);
   
   console.log('The sum of ' + process.argv[2] + ' and ' +
     process.argv[3] + ' is ' + sum + '.');
   ```

## Étape 3 : Exécuter le code
<a name="sample-typescript-run"></a>

1. Dans le terminal, depuis le même répertoire que le `hello.ts` fichier, lancez le TypeScript compilateur. Spécifiez le fichier `hello.ts` et les bibliothèques supplémentaires à inclure.

   ```
   tsc hello.ts --lib es6
   ```

   TypeScript utilise le `hello.ts` fichier et un ensemble de ECMAScript 6 (ES6) fichiers de bibliothèque pour transpiler le TypeScript code du `hello.ts` fichier en JavaScript code équivalent dans un fichier nommé`hello.js`.

1. Dans la fenêtre **Environment (Environnement)**, ouvrez le fichier `hello.js`.

1. Dans la barre de menus, choisissez **Exécuter**, **Configurations d'exécution**, **Nouvelle configuration d'exécution**.

1. Dans l'onglet **[New] - Idle ([Nouveau] - Inactif)**, choisissez **Runner: Auto (Exécuteur : Auto)**, puis **Node.js**.

1. Pour **Commande)**, saisissez `hello.js 5 9`. Dans le code, `5` représente `process.argv[2]`, et `9` représente `process.argv[3]`. (`process.argv[0]` représente le nom de l'exécution (`node`), et `process.argv[1]` représente le nom du fichier (`hello.js`).)

1. Choisissez le bouton **Run (Exécuter)** et comparez la sortie. Lorsque vous avez terminé, choisissez **Stop (Arrêter)**.

   ```
   Hello, World!
   The sum of 2 and 3 is 5.
   The sum of 5 and 9 is 14.
   ```

![\[Sortie Node.js après avoir exécuté le code dans l' AWS Cloud9 IDE\]](http://docs.aws.amazon.com/fr_fr/cloud9/latest/user-guide/images/ide-nodejs-simple.png)


**Note**  
Au lieu de créer une nouvelle configuration d'exécution dans l'IDE, vous pouvez également exécuter ce code en exécutant la commande ** `node hello.js 5 9` ** à partir du terminal.

## Étape 4 : Installation et configuration du AWS SDK pour JavaScript dans Node.js
<a name="sample-typescript-sdk"></a>

Vous pouvez améliorer cet exemple pour utiliser le AWS SDK JavaScript dans Node.js afin de créer un compartiment Amazon S3, de répertorier vos compartiments disponibles, puis de supprimer le compartiment que vous venez de créer.

Au cours de cette étape, vous allez installer et configurer le AWS SDK pour JavaScript dans Node.js. Le SDK fournit un moyen pratique d'interagir avec des AWS services tels qu'Amazon S3, à partir de votre JavaScript code. Après avoir installé le AWS SDK pour JavaScript dans Node.js, vous devez configurer la gestion des informations d'identification dans votre environnement. Le SDK a besoin de ces informations d'identification pour interagir avec les AWS services.

### Pour installer le AWS SDK pour JavaScript dans Node.js
<a name="sample-typescript-sdk-install-sdk"></a>

Dans une session de terminal dans l' AWS Cloud9 IDE, depuis le même répertoire que le `hello.js` fichier[Étape 3 : Exécuter le code](#sample-typescript-run), exécutez **`npm`**pour installer le AWS SDK pour JavaScript dans Node.js.

```
npm install aws-sdk
```

Cette commande ajoute plusieurs dossiers au dossier `node_modules` de l'[Étape 3 : Exécuter le code](#sample-typescript-run). Ces dossiers contiennent le code source et les dépendances du AWS SDK pour JavaScript Node.js. Pour plus d'informations, consultez la section [Installation du SDK pour JavaScript](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/installing-jssdk.html) dans le *Guide du AWS SDK pour JavaScript développeur*.

### Pour configurer la gestion des informations d'identification dans votre environnement
<a name="sample-typescript-sdk-creds"></a>

Chaque fois que vous utilisez le AWS SDK pour appeler un AWS service JavaScript dans Node.js, vous devez fournir un ensemble d'informations d'identification avec l'appel. Ces informations d'identification déterminent si le AWS SDK pour JavaScript Node.js dispose des autorisations appropriées pour effectuer cet appel. Si les informations d'identification ne sont pas associées aux autorisations nécessaires, l'appel échoue.

Au cours de cette étape, vous allez stocker vos informations d'identification dans l'environnement. Pour ce faire, suivez les instructions de la rubrique [Téléphoner Services AWS depuis un environnement dans AWS Cloud9](credentials.md), puis revenez à cette rubrique.

Pour plus d'informations, consultez [Setting Credentials in Node.js](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html) dans le *Guide du développeur AWS SDK pour JavaScript *.

## Étape 5 : ajouter le code du AWS SDK
<a name="sample-typescript-sdk-code"></a>

Au cours de cette étape, vous allez ajouter du code supplémentaire pour interagir avec Amazon S3, créer un compartiment, répertorier les compartiments disponibles, puis supprimer le compartiment que vous venez de créer. Vous exécuterez ce code ultérieurement.

1. Dans l' AWS Cloud9 IDE, dans le même répertoire que le `hello.js` fichier des étapes précédentes, créez un fichier nommé`s3.ts`.

1. À partir d'un terminal de l' AWS Cloud9 IDE, dans le même répertoire que le `s3.ts` fichier, activez le code pour appeler les opérations Amazon S3 de manière asynchrone en exécutant **`npm`**deux fois pour installer la bibliothèque asynchrone pour TypeScript et de nouveau pour. JavaScript

   ```
   npm install @types/async # For TypeScript.
   npm install async        # For JavaScript.
   ```

1. Ajoutez le code suivant au fichier `s3.ts` :

   ```
   import * as async from 'async';
   import * as AWS from 'aws-sdk';
   
   if (process.argv.length < 4) {
     console.log('Usage: node s3.js <the bucket name> <the AWS Region to use>\n' +
       'Example: node s3.js my-test-bucket us-east-2');
     process.exit(1);
   }
   
   const AWS = require('aws-sdk'); // To set the AWS credentials and AWS Region.
   const async = require('async'); // To call AWS operations asynchronously.
   
   const s3: AWS.S3 = new AWS.S3({apiVersion: '2006-03-01'});
   const bucket_name: string = process.argv[2];
   const region: string = process.argv[3];
   
   AWS.config.update({
     region: region
   });
   
   const create_bucket_params: any = {
     Bucket: bucket_name,
     CreateBucketConfiguration: {
       LocationConstraint: region
     }
   };
   
   const delete_bucket_params: any = {
     Bucket: bucket_name
   };
   
   // List all of your available buckets in this AWS Region.
   function listMyBuckets(callback): void {
     s3.listBuckets(function(err, data) {
       if (err) {
   
       } else {
         console.log("My buckets now are:\n");
   
         for (let i: number = 0; i < data.Buckets.length; i++) {
           console.log(data.Buckets[i].Name);
         }
       }
   
       callback(err);
     });
   }
   
   // Create a bucket in this AWS Region.
   function createMyBucket(callback): void {
     console.log("\nCreating a bucket named '" + bucket_name + "'...\n");
   
     s3.createBucket(create_bucket_params, function(err, data) {
       if (err) {
         console.log(err.code + ": " + err.message);
       }
   
       callback(err);
     });
   }
   
   // Delete the bucket you just created.
   function deleteMyBucket(callback): void {
     console.log("\nDeleting the bucket named '" + bucket_name + "'...\n");
   
     s3.deleteBucket(delete_bucket_params, function(err, data) {
       if (err) {
         console.log(err.code + ": " + err.message);
       }
   
       callback(err);
     });
   }
   
   // Call the AWS operations in the following order.
   async.series([
     listMyBuckets,
     createMyBucket,
     listMyBuckets,
     deleteMyBucket,
     listMyBuckets
   ]);
   ```

## Étape 6 : Exécuter le code du AWS SDK
<a name="sample-typescript-sdk-run"></a>

1. Dans le terminal, depuis le même répertoire que le `s3.ts` fichier, lancez le TypeScript compilateur. Spécifiez le fichier `s3.ts` et les bibliothèques supplémentaires à inclure.

   ```
   tsc s3.ts --lib es6
   ```

   TypeScript utilise le `s3.ts` fichier, le AWS SDK pour JavaScript Node.js, la bibliothèque asynchrone et un ensemble de ECMAScript 6 (ES6) fichiers de bibliothèque pour transpiler le TypeScript code du fichier en JavaScript code équivalent dans un `s3.ts` fichier nommé. `s3.js`

1. Dans la fenêtre **Environment (Environnement)**, ouvrez le fichier `s3.js`.

1. Dans la barre de menus, choisissez **Exécuter**, **Configurations d'exécution**, **Nouvelle configuration d'exécution**.

1. Dans l'onglet **[New] - Idle ([Nouveau] - Inactif)**, choisissez **Runner: Auto (Exécuteur : Auto)**, puis **Node.js**.

1. Dans **Command**`s3.js YOUR_BUCKET_NAME THE_AWS_REGION `, tapez où ` YOUR_BUCKET_NAME ` est le nom du compartiment que vous souhaitez créer puis supprimer, ainsi ` THE_AWS_REGION ` que l'ID de la AWS région dans laquelle le bucket doit être créé. Par exemple, pour la région USA Est (Ohio), utilisez `us-east-2`. Pour en savoir plus IDs, consultez [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) dans le. *Référence générale d'Amazon Web Services*
**Note**  
Les noms des compartiments Amazon S3 doivent être uniques pour l'ensemble de votre compte AWS, et pas uniquement pour ce qui est de votre AWS compte.

1. Choisissez le bouton **Run (Exécuter)** et comparez la sortie. Lorsque vous avez terminé, choisissez **Stop (Arrêter)**.

   ```
   My buckets now are:
   
   Creating a new bucket named 'my-test-bucket'...
   
   My buckets now are:
   
   my-test-bucket
   
   Deleting the bucket named 'my-test-bucket'...
   
   My buckets now are:
   ```

## Étape 7 : nettoyer
<a name="sample-typescript-clean-up"></a>

Pour éviter que votre AWS compte ne soit débité une fois que vous aurez terminé d'utiliser cet exemple, vous devez supprimer l'environnement. Pour obtenir des instructions, veuillez consulter [Supprimer un environnement dans AWS Cloud9](delete-environment.md).