

La AWS SDK pour JavaScript v2 est arrivée end-of-support. Nous vous recommandons de migrer vers la [AWS SDK pour JavaScript version 3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Pour plus de détails et d'informations sur la façon de migrer, veuillez consulter cette [annonce](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

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.

# Utilisation d’un compartiment Amazon S3 en tant qu’hôte Web statique
<a name="s3-example-static-web-host"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/fr_fr/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Cet exemple de code Node.js présente :**
+ Comment configurer un compartiment Amazon S3 en tant qu'hôte Web statique.

## Scénario
<a name="s3-example-static-web-host-scenario"></a>

Dans cet exemple, une série de modules Node.js est utilisée pour configurer tous vos compartiments comme hôte web statique. Les modules Node.js utilisent le SDK pour configurer un compartiment Amazon S3 sélectionné JavaScript à l'aide des méthodes suivantes de la classe client Amazon S3 :
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getBucketWebsite-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getBucketWebsite-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketWebsite-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketWebsite-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#deleteBucketWebsite-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#deleteBucketWebsite-property)

Pour plus d'informations sur l'utilisation d'un compartiment Amazon S3 en tant qu'hôte Web statique, consultez la section [Hébergement d'un site Web statique sur Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html) dans le *guide de l'utilisateur d'Amazon Simple Storage Service*.

## Tâches prérequises
<a name="s3-example-static-web-host-prerequisites"></a>

Pour configurer et exécuter cet exemple, vous devez d'abord :
+ Installez Node.js. Pour plus d'informations sur l'installation de Node.js, consultez le [site web de Node.js](https://nodejs.org).
+ Créez un fichier de configurations partagé avec vos informations d'identification utilisateur. Pour plus d'informations sur le fichier d'informations d'identification partagé, consultez [Chargement des informations d'identification dans Node.js à partir du fichier d'informations d'identification partagé](loading-node-credentials-shared.md).

## Configuration du kit SDK
<a name="s3-example-static-web-host-configure-sdk"></a>

Configurez le SDK pour JavaScript en créant un objet de configuration global, puis en définissant la région pour votre code. Dans cet exemple, la région est `us-west-2`.

```
// Load the SDK for JavaScript
var AWS = require('aws-sdk');
// Set the Region 
AWS.config.update({region: 'us-west-2'});
```

## Extraction de la configuration actuelle du site web d'un compartiment
<a name="s3-example-static-web-host-get-website"></a>

Créez un module Node.js nommé `s3_getbucketwebsite.js`. Le module prend un seul argument de ligne de commande pour spécifier le compartiment de la configuration de site web que vous souhaitez. Configurez le kit SDK comme illustré précédemment.

Créez un objet de service `AWS.S3`. Créez une fonction qui extraie la configuration de site web du compartiment actuel pour le compartiment sélectionné dans la liste de compartiments. Le seul paramètre à passer est le nom du compartiment sélectionné lorsque vous appelez la méthode `getBucketWebsite`. Si le bucket possède actuellement une configuration de site Web, cette configuration est renvoyée par Amazon S3 dans le `data` paramètre transmis à la fonction de rappel.

Si le compartiment sélectionné ne dispose pas de configuration de site web, ces informations sont retournées à la fonction de rappel dans le paramètre `err`.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

var bucketParams = { Bucket: process.argv[2] };

// call S3 to retrieve the website configuration for selected bucket
s3.getBucketWebsite(bucketParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else if (data) {
    console.log("Success", data);
  }
});
```

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

```
node s3_getbucketwebsite.js BUCKET_NAME
```

Cet exemple de code se trouve [ici sur GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_getbucketwebsite.js).

## Définition de la configuration de site web d'un compartiment
<a name="s3-example-static-web-host-set-website"></a>

Créez un module Node.js nommé `s3_setbucketwebsite.js`. Veillez à configurer le kit SDK comme indiqué précédemment. Créez un objet de service `AWS.S3`. 

Créez une fonction qui applique une configuration de site web d'un compartiment. La configuration permet au compartiment sélectionné d'être utilisé comme hôte web statique. Les configurations de site web sont spécifiées au format JSON. Tout d'abord, créez un objet JSON contenant toutes les valeurs pour spécifier la configuration de site web, à l'exception de la valeur `Key` qui identifie le document d'erreur et la valeur `Suffix` qui identifie le document d'index.

Insérez les valeurs des éléments d'entrée de texte dans l'objet JSON. Préparez les paramètres pour la méthode `putBucketWebsite`, y compris le nom du compartiment et la configuration de site web JSON.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

// Create JSON for putBucketWebsite parameters
var staticHostParams = {
  Bucket: "",
  WebsiteConfiguration: {
    ErrorDocument: {
      Key: "",
    },
    IndexDocument: {
      Suffix: "",
    },
  },
};

// Insert specified bucket name and index and error documents into params JSON
// from command line arguments
staticHostParams.Bucket = process.argv[2];
staticHostParams.WebsiteConfiguration.IndexDocument.Suffix = process.argv[3];
staticHostParams.WebsiteConfiguration.ErrorDocument.Key = process.argv[4];

// set the new website configuration on the selected bucket
s3.putBucketWebsite(staticHostParams, function (err, data) {
  if (err) {
    // display error message
    console.log("Error", err);
  } else {
    // update the displayed website configuration for the selected bucket
    console.log("Success", data);
  }
});
```

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

```
node s3_setbucketwebsite.js BUCKET_NAME INDEX_PAGE ERROR_PAGE
```

Cet exemple de code se trouve [ici sur GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_setbucketwebsite.js).

## Suppression de la configuration de site web d'un compartiment
<a name="s3-example-static-web-host-delete-website"></a>

Créez un module Node.js nommé `s3_deletebucketwebsite.js`. Veillez à configurer le kit SDK comme indiqué précédemment. Créez un objet de service `AWS.S3`. 

Créez une fonction qui supprime la configuration de site web du compartiment sélectionné. Le seul paramètre à passer lorsque vous appelez la méthode `deleteBucketWebsite` est le nom du compartiment sélectionné.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

var bucketParams = { Bucket: process.argv[2] };

// call S3 to delete website configuration for selected bucket
s3.deleteBucketWebsite(bucketParams, function (error, data) {
  if (error) {
    console.log("Error", err);
  } else if (data) {
    console.log("Success", data);
  }
});
```

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

```
node s3_deletebucketwebsite.js BUCKET_NAME
```

Cet exemple de code se trouve [ici sur GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_deletebucketwebsite.js).