

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.

# Activation de l’hébergement de sites web
<a name="EnableWebsiteHosting"></a>

Lorsque vous configurez un compartiment en tant que site Web statique, vous devez activer l’hébergement de sites Web statiques, configurer un document d’index et définir des autorisations.

Vous pouvez activer l'hébergement statique de sites Web à l'aide de la console Amazon S3, de l'API REST AWS SDKs AWS CLI, du ou CloudFormation.

Pour configurer votre site Web avec un domaine personnalisé, consultez [Tutoriel : configuration d’un site Web statique à l’aide d’un domaine personnalisé enregistré auprès de Route 53](website-hosting-custom-domain-walkthrough.md).

## Utiliser la console S3.
<a name="HowDoIWebsiteConfiguration"></a>

**Pour activer l’hébergement de site Web statique**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation de gauche, choisissez **Compartiments à usage général**.

1. Dans la liste de compartiments, choisissez le nom du compartiment pour lequel vous souhaitez activer l’hébergement de sites Web statiques.

1. Choisissez **Propriétés**.

1. Sous **Static website hosting (Hébergement de site Web statique)**, choisissez **Edit (Modifier)**.

1. Choisissez **Utiliser ce compartiment pour héberger un site Web**. 

1. Sous **Static website hosting (Hébergement de site web statique)**, choisissez **Enable (Activer)**.

1. Dans **Index document (Document d’index)**, entrez le nom du document d’index, généralement `index.html`. 

   Le nom du document d’index est sensible à la casse et doit correspondre exactement au nom de fichier du document d’index HTML que vous prévoyez de charger dans votre compartiment S3. Lorsque vous configurez un compartiment pour l’hébergement d’un site web, vous devez indiquer un document d’index. Amazon S3 renvoie ce document d’index lorsque des demandes sont faites dans le domaine racine ou dans n’importe quel sous-dossier. Pour plus d’informations, consultez [Configuration d’un document d’index](IndexDocumentSupport.md).

1. Pour fournir votre propre document d’erreur personnalisé pour les erreurs de classe 4XX, entrez le nom du fichier du document d’erreur personnalisé dans **Document d’erreur**. 

   Le nom du document d’erreur est sensible à la casse et doit correspondre exactement au nom de fichier du document d’erreur HTML que vous prévoyez de charger dans votre compartiment S3. Si vous ne spécifiez pas de document d’erreur personnalisé et qu’une erreur se produit, Amazon S3 renvoie un document d’erreur HTML par défaut. Pour plus d’informations, consultez [Configuration d’un document d’erreur personnalisé](CustomErrorDocSupport.md).

1. (Facultatif) Si vous souhaitez spécifier des règles de redirection avancées, décrivez les règles à l’aide du langage JSON dans **Redirection rules (Règles de redirection)**.

   Par exemple, vous pouvez acheminer les demandes de façon conditionnelle en fonction des noms ou préfixes de clés d’objets dans la demande. Pour plus d’informations, consultez [Configurer des règles de redirection pour utiliser des redirections conditionnelles avancées](how-to-page-redirect.md#advanced-conditional-redirects).

1. Choisissez **Enregistrer les modifications**.

   Amazon S3 permet l’hébergement de site web statique pour votre compartiment. Au bas de la page, sous **Static website hosting (Hébergement de site Web statique)**, vous voyez le point de terminaison du site web pour votre compartiment.

1. Sous **Static website hosting (Hébergement de site Web statique)**, notez la valeur de **Endpoint (Point de terminaison)**.

   **Endpoint (Point de terminaison)** correspond au point de terminaison du site web Amazon S3 de votre compartiment. Une fois que vous avez terminé de configurer votre compartiment en tant que site Web statique, vous pouvez utiliser ce point de terminaison pour tester votre site Web.

## Utilisation de l'API REST
<a name="ConfigWebSiteREST"></a>

Pour plus d’informations sur l’envoi direct de demandes REST afin d’activer l’hébergement de site Web statique, consultez les sections suivantes dans le manuel Référence d’API Amazon Simple Storage Service :
+ [PUT Bucket website](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html)
+ [GET Bucket website](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETwebsite.html)
+ [DELETE Bucket website](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html)

## À l'aide du AWS SDKs
<a name="ManagingBucketWebsiteConfig"></a>

Pour héberger un site web statique dans Amazon S3, vous configurez un compartiment Amazon S3 pour l’hébergement de site web, puis vous chargez le contenu du site web dans le compartiment. Vous pouvez également utiliser le AWS SDKs pour créer, mettre à jour et supprimer la configuration du site Web par programmation. Ils SDKs fournissent des classes wrapper autour de l'API REST Amazon S3. Vous pouvez envoyer des demandes d’API REST directement à partir de l’application, si cette dernière l’exige. 

------
#### [ .NET ]

L'exemple suivant montre comment utiliser le AWS SDK pour .NET pour gérer la configuration du site Web d'un bucket. Pour ajouter une configuration de site Web à un compartiment, vous fournissez un nom de compartiment et une configuration de site Web. La configuration de site Web doit comprendre un document d’index et peut contenir un rapport d’erreur facultatif. Ces documents doivent être stockés dans le compartiment. Pour plus d’informations, consultez [PUT Bucket website](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html). Pour plus d’informations sur la fonctionnalité du site Web Amazon S3, consultez [Hébergement d’un site Web statique à l’aide d’Amazon S3](WebsiteHosting.md). 

L’exemple de code C\$1 suivant ajoute une configuration de site Web sur le compartiment spécifié. La configuration spécifie les noms du document d’index et du rapport d’erreur. Pour plus d'informations sur la configuration et l'exécution des exemples de code, consultez [Getting Started with the AWS SDK for](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) .NET dans *AWS le Guide du développeur du SDK pour* .NET. 

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class WebsiteConfigTest
    {
        private const string bucketName = "*** bucket name ***";
        private const string indexDocumentSuffix = "*** index object key ***"; // For example, index.html.
        private const string errorDocument = "*** error object key ***"; // For example, error.html.
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 client;
        public static void Main()
        {
            client = new AmazonS3Client(bucketRegion);
            AddWebsiteConfigurationAsync(bucketName, indexDocumentSuffix, errorDocument).Wait();
        }

        static async Task AddWebsiteConfigurationAsync(string bucketName,
                                            string indexDocumentSuffix,
                                            string errorDocument)
        {
            try
            {
                // 1. Put the website configuration.
                PutBucketWebsiteRequest putRequest = new PutBucketWebsiteRequest()
                {
                    BucketName = bucketName,
                    WebsiteConfiguration = new WebsiteConfiguration()
                    {
                        IndexDocumentSuffix = indexDocumentSuffix,
                        ErrorDocument = errorDocument
                    }
                };
                PutBucketWebsiteResponse response = await client.PutBucketWebsiteAsync(putRequest);

                // 2. Get the website configuration.
                GetBucketWebsiteRequest getRequest = new GetBucketWebsiteRequest()
                {
                    BucketName = bucketName
                };
                GetBucketWebsiteResponse getResponse = await client.GetBucketWebsiteAsync(getRequest);
                Console.WriteLine("Index document: {0}", getResponse.WebsiteConfiguration.IndexDocumentSuffix);
                Console.WriteLine("Error document: {0}", getResponse.WebsiteConfiguration.ErrorDocument);
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message);
            }
        }
    }
}
```

------
#### [ PHP ]

L’exemple PHP suivant ajoute une configuration de site Web au compartiment spécifié. La méthode `create_website_config` fournit explicitement les noms du document d’index et du rapport d’erreur. L’exemple récupère également la configuration de site Web et affiche la réponse. Pour plus d’informations sur la fonctionnalité du site Web Amazon S3, consultez [Hébergement d’un site Web statique à l’aide d’Amazon S3](WebsiteHosting.md).

Pour plus d'informations sur l'API AWS SDK for Ruby, consultez [AWS SDK for Ruby](https://docs.aws.amazon.com/sdkforruby/api/index.html) - Version 2.

```
 require 'vendor/autoload.php';

use Aws\S3\S3Client;

$bucket = '*** Your Bucket Name ***';

$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'us-east-1'
]);


// Add the website configuration.
$s3->putBucketWebsite([
    'Bucket'                => $bucket,
    'WebsiteConfiguration'  => [
        'IndexDocument' => ['Suffix' => 'index.html'],
        'ErrorDocument' => ['Key' => 'error.html']
    ]
]);

// Retrieve the website configuration.
$result = $s3->getBucketWebsite([
    'Bucket' => $bucket
]);
echo $result->getPath('IndexDocument/Suffix');

// Delete the website configuration.
$s3->deleteBucketWebsite([
    'Bucket' => $bucket
]);
```

------

## À l'aide du AWS CLI
<a name="enabling-website-cli"></a>

Pour plus d'informations sur l'utilisation du AWS CLI pour configurer un compartiment S3 en tant que site Web statique, consultez le [site Web](https://docs.aws.amazon.com/cli/latest/reference/s3/website.html) dans le manuel de *référence des AWS CLI commandes*.

Ensuite, vous devez configurer le document d’index et définir les autorisations. Pour plus d’informations, consultez [Configuration d’un document d’index](IndexDocumentSupport.md) et [Définition des autorisations pour l’accès au site web](WebsiteAccessPermissionsReqd.md). 

Vous pouvez également configurer un [document d’erreur](CustomErrorDocSupport.md), la [journalisation du trafic web](LoggingWebsiteTraffic.md) ou une [redirection](how-to-page-redirect.md).