

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.

# Étape 3 : Ajouter un magasin de données principal
<a name="gettingstarted-db"></a>

**Important**  
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur [AWS Re:Post](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

[Étape 2.1 : Créer une pile - Chef 11](gettingstarted-simple-stack.md) vous a montré comment créer une pile ayant servi une application PHP. Cependant, il s'agissait d'une application très simple qui ne faisait guère plus qu'afficher un texte statique. Les applications en production utilisent généralement un magasin de données principal, ce qui donne une configuration de pile similaire à l'illustration suivante.

![\[AWS OpsWorks stack architecture diagram showing PHP app, MySQL, and user interactions.\]](http://docs.aws.amazon.com/fr_fr/opsworks/latest/userguide/images/php_walkthrough_arch_3.png)


Cette section explique comment étendre MyStack pour inclure un serveur de base de données MySQL principal. Vous ne pouvez pas, toutefois, vous contenter d'ajouter un serveur MySQL à la pile. Vous devez également configurer l'application pour qu'elle communique correctement avec le serveur de base de données. OpsWorks Stacks ne le fait pas pour vous ; vous devrez implémenter des recettes personnalisées pour effectuer cette tâche.

**Topics**
+ [Étape 3.1 : Ajouter une base de données principale](gettingstarted-db-db.md)
+ [Étape 3.2 : Mise à jour simple PHPApp](gettingstarted-db-update.md)
+ [Une courte digression : attributs des livres de cuisine, des recettes et des piles OpsWorks](gettingstarted-db-recipes.md)
+ [Étape 3.3 : Ajoutez les livres de recettes personnalisés à MyStack](gettingstarted-db-cookbooks.md)
+ [Étape 3.4 : Exécuter les recettes](gettingstarted-db-lifecycle.md)
+ [Étape 3.5 : Déploiement de SimplePHPApp, version 2](gettingstarted-db-deploy.md)
+ [Étape 3.6 : Exécuter en toute simplicité PHPApp](gettingstarted-db-run.md)

# Étape 3.1 : Ajouter une base de données principale
<a name="gettingstarted-db-db"></a>

**Important**  
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur [AWS Re:Post](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

La nouvelle version de Simple PHPApp stocke ses données dans une base de données principale. OpsWorks Stacks prend en charge deux types de serveurs de base de données :
+ La [couche MySQL OpsWorks Stacks](workinglayers-db-mysql.md) est un modèle pour créer des EC2 instances Amazon hébergeant un maître de base de données MySQL.
+ La couche de service Amazon RDS permet d'intégrer une [instance Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) dans une pile.

[Vous pouvez également utiliser d'autres bases de données, telles qu'Amazon DynamoDB, ou créer une couche personnalisée pour prendre en charge des bases de données telles que MongoDB.](http://www.mongodb.org/) Pour de plus amples informations, veuillez consulter [Utilisation d'un magasin de données principal](customizing-rds.md).

Cet exemple utilise une couche MySQL.

**Pour ajouter une couche MySQL à MyStack**

1. Sur la page **Layers (Couches)**, cliquez sur **\$1 Layer (\$1 Couche)**.

1. Sur la page **Add Layer (Ajouter une couche)**, pour **Layer type (Type de couche)**, sélectionnez **MySQL**, acceptez les paramètres par défaut et cliquez sur **Add Layer (Ajouter une couche)**.  
![\[Add Layer interface for MySQL with options to set utilisateur racine password and apply to all instances.\]](http://docs.aws.amazon.com/fr_fr/opsworks/latest/userguide/images/gsb3.png)

**Pour ajouter une instance à la couche MySQL**

1. Sur la ligne **MySQL** de la page **Layers**, cliquez sur **Ajouter une instance**.

1. Sur la page **Instances**, sous **MySQL**, cliquez sur **Add an instance (Ajouter une instance)**.

1. Acceptez les valeurs par défaut et cliquez sur **Add instance (Ajouter une instance)**, mais ne démarrez pas encore.

**Note**  
OpsWorks Stacks crée automatiquement une base de données nommée en utilisant le nom abrégé de l'application, simplephpapp pour cet exemple. Vous aurez besoin de ce nom si vous souhaitez utiliser les [recettes Chef](http://docs.chef.io/recipes.html) pour interagir avec la base de données.

# Étape 3.2 : Mise à jour simple PHPApp
<a name="gettingstarted-db-update"></a>

**Important**  
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur [AWS Re:Post](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

Pour commencer, vous avez besoin d'une nouvelle version de Simple PHPApp qui utilise un magasin de données principal. Avec OpsWorks Stacks, il est facile de mettre à jour une application. Si vous utilisez un référentiel Git ou Subversion, vous pouvez avoir une branche de référentiel distincte pour chaque version de l'application. L'exemple stocke une version de l'application qui utilise une base de données principale de la branche version2 du référentiel Git. Il suffit de mettre à jour la configuration de l'application pour spécifier la nouvelle branche et redéployer l'application.

**Pour mettre à jour Simple PHPApp**

1. 

**Ouvrir la page Edit de l'application**

   Dans le volet de navigation, cliquez sur **Applications**, puis sur **Modifier** dans la colonne **Actions** de la PHPApp ligne **Simple**.

1. 

**Mettre à jour la configuration de l'application**

   Modifiez les paramètres suivants.  
**Branch/Revision**  
Ce paramètre indique la branche de référentiel de l'application. La première version de Simple PHPApp ne se connectait pas à une base de données. Pour utiliser une version base de données de l'application, définissez la valeur sur **version2**.  
**Document root (Racine du document)**  
Ce paramètre spécifie le dossier racine de votre application. La première version de Simple PHPApp utilisait le paramètre par défaut, qui s'installe `index.php` dans le dossier racine standard du serveur (`/srv/www`pour les applications PHP). Si vous spécifiez un sous-dossier ici (juste le nom, pas de «/» en tête),OpsWorks Stacks l'ajoute au chemin de dossier standard. La version 2 de Simple PHPApp devrait entrer`/srv/www/web`, alors définissez **Document root** sur**web**.  
**Data source type (Type de source de données)**  
Ce paramètre associe un serveur de base de données à l'application. L'exemple utilise l'instance MySQL que vous avez créée à l'étape précédente. Définissez donc le **type de source de données** sur OpsWorks et l'**instance de base** de données sur l'instance que vous avez créée à l'étape précédente, **db-master1 (**mysql). Laissez **le champ Nom de base** de données vide ; OpsWorks Stacks créera une base de données sur le serveur portant le nom abrégé de l'application, simplephpapp.

   Puis, cliquez sur **Save (Enregistrer)** pour enregistrer la nouvelle configuration.  
![\[Add App form with settings for SimplePHP application and OpsWorks data source.\]](http://docs.aws.amazon.com/fr_fr/opsworks/latest/userguide/images/gsb2.png)

1. Démarrez l'instance MySQL.

Après avoir mis à jour une application, OpsWorks Stacks déploie automatiquement la nouvelle version de l'application sur toutes les nouvelles instances de serveur d'applications lorsque vous les démarrez. Cependant, OpsWorks Stacks ne déploie pas automatiquement la nouvelle version de l'application sur les instances de serveur existantes ; vous devez le faire manuellement, comme décrit dans[Étape 2.4 : Créer et déployer une application - Chef 11](gettingstarted-simple-app.md). Vous pouvez déployer la version mise à jour de Simple PHPApp dès maintenant, mais pour cet exemple, il vaut mieux attendre un peu.

# Une courte digression : attributs des livres de cuisine, des recettes et des piles OpsWorks
<a name="gettingstarted-db-recipes"></a>

**Important**  
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur [AWS Re:Post](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

Vous avez maintenant des serveurs d'applications et de bases de données, mais ils ne sont pas tout à fait prêts à être utilisés. Vous devez toujours configurer la base de données et les paramètres de connexion de l'application. OpsWorks Stacks ne gère pas ces tâches automatiquement, mais prend en charge les livres de recettes, les recettes et les attributs dynamiques de Chef. Vous pouvez implémenter deux recettes, l'une pour configurer la base de données et l'autre pour configurer les paramètres de connexion de l'application, et demander à OpsWorks Stacks de les exécuter pour vous.

Le livre de recettes phpapp, qui contient les recettes nécessaires, est déjà implémenté et prêt à être utilisé ; vous pouvez juste passer à [Étape 3.3 : Ajoutez les livres de recettes personnalisés à MyStack](gettingstarted-db-cookbooks.md) si vous préférez. Si vous souhaitez en savoir plus, cette section fournit quelques informations sur les livres de recettes et sur les recettes, et décrit comment les recettes fonctionnent. Pour consulter le livre de recettes, accédez au [livre de recettes phpapp](https://github.com/amazonwebservices/opsworks-example-cookbooks/tree/master/phpapp).

**Topics**
+ [Recettes et attributs](#gettingstarted-db-recipes-attributes)
+ [Configurer la base de données](#gettingstarted-db-recipes-dbsetup)
+ [Connecter l'application à la base de données](#gettingstarted-db-recipes-appsetup)

## Recettes et attributs
<a name="gettingstarted-db-recipes-attributes"></a>

Une recette Chef est essentiellement une application Ruby spécialisée qui effectue des tâches sur une instance, telles que l'installation de packages, la création de fichiers de configuration, l'exécution de commandes shell, etc. Les groupes de recettes connexes sont organisés en *livres de recettes*, qui contiennent également les fichiers de prise en charge tels que les modèles pour la création des fichiers de configuration.

OpsWorks Stacks propose un ensemble de livres de recettes qui prennent en charge les couches intégrées. Vous pouvez aussi créer des livres de cuisine personnalisés avec vos propres recettes pour effectuer des tâches personnalisées sur vos instances. Cette rubrique fournit une brève introduction aux recettes et montre comment les utiliser pour configurer la base de données et les paramètres de connexion de l'application. Pour plus d'informations sur les livres de recettes et les recettes, consultez [Livres de recettes et recettes](workingcookbook.md) ou [Personnalisation des piles OpsWorks](customizing.md).

Les recettes dépendent généralement des *attributs* Chef pour les données en entrée : 
+ Certains attributs sont définis par Chef et fournissent des informations de base sur l'instance, telles que le système d'exploitation. 
+ OpsWorks Stacks définit un ensemble d'attributs contenant des informations sur la pile, telles que les configurations des couches, et sur les applications déployées, telles que le référentiel d'applications.

  Vous pouvez ajouter des attributs personnalisés à cet ensemble en affectant le [JSON personnalisé](workingstacks-json.md) à la pile ou au déploiement.
+ Vos livres de recettes peuvent aussi définir des attributs, qui sont spécifiques au livre de recettes. 

  Les attributs du livre de recettes phpapp sont définis dans `attributes/default.rb`.

Pour une liste complète des attributs de OpsWorks Stacks, reportez-vous aux sections [Attributs de déploiement et de configuration de pile : Linux](attributes-json-linux.md) et[Attributs des livres de recettes intégrés](attributes-recipes.md). Pour de plus amples informations, veuillez consulter [Remplacement des attributs](workingcookbook-attributes.md).

Les attributs sont organisés selon une structure hiérarchique, laquelle peut être représentée sous forme d'un objet JSON.

Vous intégrez ces données dans votre application en utilisant la syntaxe nœud Chef, comme suit :

```
[:deploy][:simplephpapp][:database][:username]
```

Le nœud `deploy` possède un seul nœud d'application, `simplephpapp`, qui contient les informations sur la base de données de l'application, le référentiel Git, etc. L'exemple représente la valeur du nom d'utilisateur de la base de données, qui se résout en `root`.

## Configurer la base de données
<a name="gettingstarted-db-recipes-dbsetup"></a>

Les recettes de configuration intégrées à la couche MySQL créent automatiquement une base de données pour l'application nommée avec le nom abrégé de l'application. Dans cet exemple, vous avez déjà une base de données nommée simplephpapp. Cependant, vous devez terminer la configuration en créant une table pour que l'application stocke ses données. Vous pouvez créer le tableau manuellement, mais une meilleure approche consiste à implémenter une recette personnalisée pour gérer la tâche et à laisser OpsWorks Stacks l'exécuter pour vous. Cette section décrit comment la recette, `dbsetup.rb`, est mise en œuvre. La procédure permettant à OpsWorks Stacks d'exécuter la recette est décrite plus loin.

Pour consulter la recette dans le référentiel, accédez à [dbsetup.rb](https://github.com/amazonwebservices/opsworks-example-cookbooks/blob/master/phpapp/recipes/dbsetup.rb). L'exemple suivant montre le code d'`dbsetup.rb`. 

`execute` est une *ressource Chef* qui exécute une commande spécifiée. Dans ce cas, il s'agit d'une commande MySQL qui crée une table. La directive `not_if` garantit que la commande ne s'exécute pas si la table spécifiée existe déjà. Pour plus d'informations sur les ressources Chef, consultez [À propos des ressources et des fournisseurs](https://docs.chef.io/resource.html).

La recette insère les valeurs d'attribut dans la chaîne de commande, à l'aide de la syntaxe nœud discutée plus tôt. Par exemple, l'instruction suivante insère le nom d'utilisateur de la base de données.

```
#{deploy[:database][:username]}
```

Intéressons-nous de plus prés à ce code quelque peu énigmatique :
+ Pour chaque itération, `deploy` est défini sur le nœud en cours de l'application et, par conséquent, se résout en `[:deploy][:app_name]`. Pour cet exemple, il est résolu en `[:deploy][:simplephpapp]`.
+ En utilisant les valeurs d'attribut de déploiement illustrées plus tôt, le nœud entier se résout en `root`.
+ Vous enveloppez le nœud dans \$1\$1 \$1 pour l'insérer en une chaîne.

La plupart des autres nœuds se résolvent d'une manière similaire. L'exception est `#{node[:phpapp][:dbtable]}`, qui est défini par le fichier d'attributs du livre de recettes personnalisé et se résout en nom de la table, `urler`. La commande réelle qui s'exécute sur l'instance MySQL est donc :

```
"/usr/bin/mysql 
    -uroot
    -pvjud1hw5v8
    simplephpapp
    -e'CREATE TABLE urler(
       id INT UNSIGNED NOT NULL AUTO_INCREMENT,
       author VARCHAR(63) NOT NULL,
       message TEXT,
       PRIMARY KEY (id))'
"
```

Cette commande crée une table nommée `urler` avec les champs id, author et message, à l'aide des informations d'identification et du nom de base de données des attributs de déploiement.

## Connecter l'application à la base de données
<a name="gettingstarted-db-recipes-appsetup"></a>

La deuxième pièce du puzzle est l'application, qui a besoin des informations de connexion telles que le mot de passe de la base de données pour accéder à la table. Simple n'a PHPApp effectivement qu'un seul fichier de travail`app.php`, `index.php` il ne fait que le charger`app.php`. 

`app.php` comprend `db-connect.php`, qui gère la connexion de la base de données, mais ce fichier n'est pas dans le référentiel. Vous ne pouvez pas créer `db-connect.php` à l'avance, car il définit la base de données en fonction de l'instance particulière. Au lieu de cela, la recette `appsetup.rb` génère `db-connect.php` à l'aide des données de connexion des attributs de déploiement.

Pour consulter la recette dans le référentiel, accédez à [appsetup.rb](https://github.com/amazonwebservices/opsworks-example-cookbooks/blob/master/phpapp/recipes/appsetup.rb). L'exemple suivant montre le code d'`appsetup.rb`. 

Par exemple`dbsetup.rb`, `appsetup.rb` itère sur les applications du nœud, encore une fois, une `deploy` simple application PHP. Il exécute un bloc de code avec une ressource `script` et une ressource `template`.

La `script` ressource installe [Composer](http://www.getcomposer.org), un gestionnaire de dépendances pour les applications PHP. Il exécute ensuite la commande `install` de Composer pour installer les dépendances de l'exemple d'application sur le répertoire racine de l'application.

La ressource `template` génère `db-connect.php` et le met dans `/srv/www/simplephpapp/current`. Notez ce qui suit :
+ La recette utilise une instruction conditionnelle pour spécifier le propriétaire du fichier, lequel dépend du système d'exploitation de l'instance.
+ La directive `only_if` demande à Chef de ne générer le modèle que si le répertoire spécifié existe.

Une ressource `template` fonctionne sur un modèle qui a pour l'essentiel les mêmes contenu et structure que le fichier associé, mais qui inclut des espaces réservés pour les différentes valeurs de données. Le paramètre `source` spécifie le modèle, `db-connect.php.erb`, qui se trouve dans le répertoire phpapp `templates/default` du livre de recettes phpapp et contient les éléments suivants :

Lorsque le Chef traite le modèle, il remplace les espaces réservés `<%= =>` par la valeur des variables correspondantes de la ressource modèle, qui proviennent à leur tour des attributs de déploiement. Le fichier généré se présente donc ainsi :

# Étape 3.3 : Ajoutez les livres de recettes personnalisés à MyStack
<a name="gettingstarted-db-cookbooks"></a>

**Important**  
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur [AWS Re:Post](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

Vous stockez les livres de recettes personnalisés dans un référentiel, tout comme les applications. Chaque pile peut avoir un référentiel qui contient un ensemble de livres de recettes personnalisés. Vous demandez ensuite à OpsWorks Stacks d'installer vos livres de recettes personnalisés sur les instances de la pile.

1. Cliquez sur **Stack (Pile)** dans le panneau de navigation pour afficher la page de la pile actuelle.

1. Cliquez sur **Stack Settings (Paramètres de pile)**, puis sur **Edit (Modifier)**. 

1. Modifiez la configuration de la pile comme suit :
   + **Utilisez des livres de cuisine Chef personnalisés** **— Oui**
   + **Type de dépôt** — **Git**
   + **URL du dépôt** — **git://github.com/amazonwebservices/opsworks-example-cookbooks.git**

1. Cliquez sur **Save (Enregistrer)** pour mettre à jour la configuration de la pile.  
![\[Configuration options for custom Chef cookbooks with Git repository settings.\]](http://docs.aws.amazon.com/fr_fr/opsworks/latest/userguide/images/gsb6.png)

OpsWorks Stacks installe ensuite le contenu de votre référentiel de livres de recettes sur toutes les instances de la pile. Si vous créez de nouvelles instances, OpsWorks Stacks installe automatiquement le référentiel de livres de recettes.

**Note**  
Si vous devez mettre à jour l'un de vos livres de recettes ou en ajouter de nouveaux au référentiel, vous pouvez le faire sans toucher aux paramètres de la pile. OpsWorks Stacks installera automatiquement les livres de recettes mis à jour sur toutes les nouvelles instances. Cependant, OpsWorks Stacks n'installe pas automatiquement les livres de recettes mis à jour sur les instances en ligne de la pile. Vous devez explicitement demander à OpsWorks Stacks de mettre à jour les livres de recettes en exécutant la commande `Update Cookbooks` stack. Pour de plus amples informations, veuillez consulter [Exécution des commandes de pile](workingstacks-commands.md).

# Étape 3.4 : Exécuter les recettes
<a name="gettingstarted-db-lifecycle"></a>

**Important**  
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur [AWS Re:Post](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

Une fois que vous avez votre livre de recettes personnalisé, vous devez exécuter les recettes sur les instances appropriées. Vous pouvez [les exécuter manuellement](workingcookbook-manual.md). Cependant, les recettes doivent généralement être exécutées sur des points prévisibles du cycle de vie d'une instance, tels qu'après l'amorçage de l'instance ou le moment où une application est déployée. Cette section décrit une approche beaucoup plus simple : demandez à OpsWorks Stacks de les exécuter automatiquement pour vous au moment opportun.

OpsWorks Stacks prend en charge un ensemble d'[événements du cycle de vie](workingcookbook-events.md) qui simplifient les recettes d'exécution. Par exemple, l'événement Setup se produit lorsqu'une instance finit le démarrage et l'événement Deploy se produit lorsque vous déployez une application. Chaque couche possède un ensemble de recettes intégrées associées à chaque événement du cycle de vie. Lorsqu'un événement du cycle de vie se produit sur une instance, l'agent exécute les recettes associées pour chacune des couches de l'instance. Pour que OpsWorks Stacks exécute automatiquement une recette personnalisée, ajoutez-la à l'événement du cycle de vie approprié sur la couche appropriée et l'agent exécutera la recette une fois les recettes intégrées terminées.

Pour cet exemple, vous devez exécuter deux recettes, `dbsetup.rb` sur l'instance My SQLinstance et `appsetup.rb` sur l'instance PHP App Server.

**Note**  
Vous spécifiez les recettes sur la console en utilisant le *recipe\$1name* format *cookbook\$1name* : :, dans lequel l'*recipe\$1name*extension .rb n'est pas incluse. Par exemple, vous faites référence à `dbsetup.rb` sous la forme **phpapp::dbsetup**.

**Pour assigner les recettes personnalisées aux événements de cycle de vie**

1. Sur la page **Couches**, pour MySQL, cliquez sur **Recettes**, puis sur **Modifier**.

1.  Dans la section **Custom Chef recipes (Recettes Chef personnalisées)**, entrez [**phpapp::dbsetup**](gettingstarted-db-recipes.md#gettingstarted-db-recipes-dbsetup) pour **Deploy**.   
![\[Custom Chef recipes section with Repository URL and three configuration steps.\]](http://docs.aws.amazon.com/fr_fr/opsworks/latest/userguide/images/gsb6a.png)

1. Cliquez sur l'icône **\$1** pour affecter la recette à l'événement et cliquez sur **Save (Enregistrer)** pour enregistrer la nouvelle configuration de la couche.

1. Retournez à la page des **couches** et répétez la procédure d'attribution **phpapp::appsetup** à l'événement **Deploy** de la couche **PHP App Server**.

# Étape 3.5 : Déploiement de SimplePHPApp, version 2
<a name="gettingstarted-db-deploy"></a>

**Important**  
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur [AWS Re:Post](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

La dernière étape consiste à déployer la nouvelle version de SimplePHPApp.

**Pour déployer Simple PHPApp**

1. Sur la page **Applications**, cliquez sur **Déployer** dans **Actions** de PHPApp l'application **Simple**.  
![\[Apps page showing SimplePHPApp with deploy, edit, and delete options in the Actions column.\]](http://docs.aws.amazon.com/fr_fr/opsworks/latest/userguide/images/gsb6aa.png)

1. Acceptez les valeurs par défaut et cliquez sur **Deploy (Déployer)**.  
![\[Deploy App interface with settings for SimplePHPApp and instance selection options.\]](http://docs.aws.amazon.com/fr_fr/opsworks/latest/userguide/images/gs17a.png)

   Lorsque vous cliquez sur **Deploy (Déployer)** sur la page **Deploy App (Déployer l'application)**, vous déclenchez un événement de cycle de vie Deploy, qui demande aux agents d'exécuter leurs recettes Deploy. Par défaut, vous déclenchez l'événement sur l'ensemble des instances de la pile. Les recettes de déploiement intégrées déploient l'application uniquement sur les instances appropriées au type d'application, les instances de PHP App Server dans ce cas. Cependant, il est souvent utile de déclencher l'événement Deploy sur d'autres instances, pour leur permettre de répondre au déploiement d'applications. Dans ce cas, vous souhaitez également déclencher Deploy sur l'instance MySQL pour configurer la base de données. 

   Notez ce qui suit :
   + L'agent de l'instance PHP App Server exécute la recette intégrée de la couche`appsetup.rb`, suivie de celle qui configure la connexion à la base de données de l'application.
   + L'agent de l'instance MySQL n'installe rien, mais il s'exécute `dbsetup.rb` pour créer la table des urler.

   Lorsque le déploiement est terminé, **Status (Statut)** devient **successful (succès)** sur la page **Deployment (Déploiement)**.

# Étape 3.6 : Exécuter en toute simplicité PHPApp
<a name="gettingstarted-db-run"></a>

**Important**  
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur [AWS Re:Post](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

Une fois que l'état du déploiement est **passé à Successful**, vous pouvez exécuter la nouvelle PHPApp version Simple comme suit.

**Pour exécuter Simple PHPApp**

1. Sur la page **Instances**, cliquez sur l'adresse IP publique dans la ligne **php-app1**.

   Vous devez voir la page suivante dans votre navigateur.  
![\[Text input field labeled "Your Thoughts" with a "Share Your Thought" button above.\]](http://docs.aws.amazon.com/fr_fr/opsworks/latest/userguide/images/gsb7.png)

1. Cliquez sur **Share Your Thought** et tapez quelque chose comme **Hello world\$1** pour **Your Thought** et votre nom pour **Your Name**. Puis, cliquez sur **Submit Your Thought** pour ajouter le message à la base de données.  
![\[Form with success message, text input fields for thought and name, and submit buttons.\]](http://docs.aws.amazon.com/fr_fr/opsworks/latest/userguide/images/gsb8.png)

1. Cliquez sur **Go Back** pour afficher tous les messages de la base de données.