

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.

# Hooks de plateforme
<a name="platforms-linux-extend.hooks"></a>

Les hooks de plateforme sont spécifiquement conçus pour étendre la plateforme de votre environnement. Il s'agit de scripts personnalisés et autres fichiers exécutables que vous déployez dans le cadre du code source de votre application et qui sont exécutés par Elastic Beanstalk au cours de différentes étapes de provisionnement d'instance.

**Note**  
Les hooks de plateforme ne sont pas pris en charge sur les versions de plateforme de l'AMI Amazon Linux (précédemment Amazon Linux 2).

## Hooks de plateforme de déploiement d'applications
<a name="platforms-linux-extend.hooks.appdeploy"></a>

Un *déploiement d'application* se produit lorsque vous fournissez un nouveau bundle source pour le déploiement ou lorsque vous apportez une modification de configuration qui nécessite la résiliation et la récréation de toutes les instances d'environnement.

Pour fournir des hooks de plateforme qui s'exécutent pendant un déploiement d'application, placez les fichiers sous le répertoire `.platform/hooks` de votre bundle source, dans l'un des sous-répertoires suivants.
+ `prebuild` – Les fichiers s'exécutent après que le moteur de plateforme Elastic Beanstalk a téléchargé et extrait le bundle de fichiers source de l'application, et avant qu'il installe et configure l'application et le serveur web.

  Les fichiers `prebuild` s'exécutent après l'exécution des commandes trouvées dans la section [commands](customize-containers-ec2.md#linux-commands) de tout fichier de configuration et avant l'exécution des commandes `Buildfile`.
+ `predeploy` – Les fichiers s'exécutent après que le moteur de plateforme Elastic Beanstalk a installé et configuré l'application et le serveur web, et avant qu'il les déploie dans leur emplacement d'exécution final.

  Les fichiers `predeploy` s'exécutent après l'exécution des commandes trouvées dans la section [container\$1commands](customize-containers-ec2.md#linux-container-commands) de tout fichier de configuration et avant l'exécution des commandes `Procfile`.
+ `postdeploy` – Les fichiers s'exécutent après que le moteur de plateforme Elastic Beanstalk a déployé l'application et le serveur proxy.

  Il s'agit de la dernière étape du workflow de déploiement.

## Hooks de plateforme de déploiement de configuration
<a name="platforms-linux-extend.hooks.configdeploy"></a>

Un *déploiement de configuration* se produit lorsque vous apportez des modifications de configuration qui mettent uniquement à jour les instances d'environnement sans les recréer. Les mises à jour des options suivantes provoquent une mise à jour de la configuration.
+ [Propriétés de l'environnement et paramètres spécifiques à la plateforme](environments-cfg-softwaresettings.md)
+ [Fichiers statiques](environment-cfg-staticfiles.md)
+ [AWS X-Ray démon](environment-configuration-debugging.md)
+ [Stockage des journaux et streaming](environments-cfg-logging.md)
+ Port de l'application (pour plus de détails, voir[Configuration du proxy inverse](platforms-linux-extend.proxy.md))

Pour fournir des hooks qui s'exécutent lors d'un déploiement de configuration, placez-les sous le répertoire `.platform/confighooks` de votre bundle source. Les trois mêmes sous-répertoires que pour les hooks de déploiement d'applications s'appliquent.

## En savoir plus sur les hooks de plateforme
<a name="platforms-linux-extend.hooks.more"></a>

Les fichiers hooks peuvent être des fichiers binaires ou des fichiers script commençant par une ligne `#!` et contenant leur chemin d'interpréteur, par exemple `#!/bin/bash`. Tous les fichiers doivent disposer d'une autorisation d'exécution. Utilisez la commande `chmod +x` pour définir l'autorisation d'exécution sur vos fichiers hook. Pour toutes les versions de plateforme basées sur Amazon Linux 2023 et Amazon Linux 2 publiées à partir du 29 avril 2022, Elastic Beanstalk accorde automatiquement des autorisations d'exécution à tous les scripts de hook de plateforme. Dans ce cas, vous n'avez pas besoin d'accorder manuellement les autorisations d'exécution. Pour obtenir la liste de ces versions de plateforme, consultez les notes de mise à jour de Linux du [29 avril 2022 ](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-04-29-linux.html#release-2022-04-29-linux.platforms) dans le *AWS Elastic Beanstalk Release Notes Guide* (Guide de notes de mise à jour ).

Elastic Beanstalk exécute les fichiers dans chacun de ces répertoires et dans l'ordre lexicographique des noms de fichier. Tous les fichiers sont exécutés en tant qu'utilisateur `root`. Le répertoire de travail en cours (cwd) pour les hooks de plateforme est le répertoire racine de l'application. Pour les fichiers `prebuild` et `predeploy`, il s'agit du répertoire intermédiaire de l'application ; pour les fichiers `postdeploy`, il s'agit du répertoire en cours de l'application. Si un des fichiers échoue (fin d'exécution avec un code de sortie différent de zéro), le déploiement échoue.

Un script de texte accroche une plate-forme peut échouer s'il contient des caractères de saut de ligne Windows *Carriage Retur/Line Feed* (CRLF). Si un fichier a été enregistré sur un hôte Windows, puis transféré vers un serveur Linux, il peut contenir des sauts de ligne Windows CRLF. Pour les plateformes publiées le [29 décembre 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-12-29-linux.html) ou après cette date, Elastic Beanstalk convertit automatiquement les caractères Windows CRLF en caractères de saut de *ligne Linux Line Feed* (LF) dans les fichiers texte des hooks de plateforme. Si votre application s'exécute sur des plateformes Amazon Linux 2 publiées avant cette date, vous devez convertir les caractères Windows CRLF en caractères Linux LF. Pour cela, vous pouvez créer et enregistrer le fichier script sur un hôte Linux. Des outils permettant de convertir ces caractères sont également disponibles sur Internet.

Les fichiers hook ont accès à toutes les propriétés d'environnement que vous avez définies dans les options d'application, ainsi qu'aux variables d'environnement système `HOME`, `PATH` et `PORT`. 

Pour obtenir des valeurs de variables d'environnement et d'autres options de configuration dans vos scripts de hook de plateforme, vous pouvez utiliser l'utilitaire `get-config` fourni par Elastic Beanstalk sur les instances d'environnement. Pour en savoir plus, consultez [Outils de script de plateforme pour vos environnements Elastic Beanstalk](custom-platforms-scripts.md).