Nous avons maintenant :
Je vous propose d'apprendre à faire communiquer les deux ! Nous allons réutiliser le TP Mini-chat de mon cours PHP, que nous allons faire tourner sur AWS. 😊
Si vous regardez bien, vous verrez que l'AMI LAMP de Bitnami fournit un serveur MySQL intégré. En théorie, on pourrait donc se contenter du serveur SQL dans EC2 mais... on a déjà eu cette conversation ensemble n'est-ce pas ? RDS présente de nombreux avantages (ne serait-ce que les backups) qui font que je vous recommande de l'utiliser si vous le pouvez.
Comment faire pour accéder à votre base de données sur RDS ? Tout dépend comment vous avez configuré l'accessibilité publique lors du lancement du serveur :
Notez que vous pouvez changer l'accessibilité publique du serveur à tout moment, en cliquant sur "Actions d'instance" > "Modifier" depuis RDS.
Je vous propose dans ce chapitre de partir sur la solution la plus simple.
Pour pouvoir vous connecter depuis votre machine, vérifiez :
Si ce n'est pas fait, il y a de fortes chances que le serveur ne réponde pas lorsque vous vous y connectez.
Depuis votre machine, ouvrez un client SQL comme MySQL Workbench.
Créez une nouvelle connexion en indiquant le point de terminaison (nom d'hôte) de votre serveur RDS. Je vous rappelle que cette information peut être trouvée si vous cliquez sur votre serveur RDS.

Indiquez aussi le nom d'utilisateur et le mot de passe que vous aviez définis pour le serveur (il faudra faire "Store in Keychain" pour stocker le mot de passe).

Si vous cliquez sur "Test Connection", vous devriez avoir confirmation que cela fonctionne. Si ce n'est pas le cas, revérifiez les points que je vous ai indiqués juste avant (accessibilité publique et groupe de sécurité).
Cliquez ensuite sur la connexion nouvellement créée pour vous retrouver sur l'administration du serveur MySQL.
Vous voilà donc connectés à votre base de données !

Vous pouvez faire tout ce que vous voulez à partir de là. Workbench est un outil très complet, probablement plus complexe que PhpMyAdmin.
Vous pouvez créer autant de bases de données que vous voulez, y créer des tables, etc.
Vous avez un bouton en haut pour créer une nouvelle base (nouveau schéma) et de nouvelles tables.

Vous pouvez aussi choisir d'importer un fichier SQL si vous en avez un sous la main.
Pour ma part, je vais créer une base "tests" et une table "minichat" comme indiqué dans le TP minichat.

Une fois la structure créée, notre script devrait pouvoir tourner ! Et si on l'uploadait sur notre serveur web sur EC2 ?
On va prendre les 2 fichiers minichat.php et minichat_post.php
issus du TP
Mini-chat et les
envoyer sur le serveur EC2.
Attention : vous devez penser à modifier auparavant le code de ces 2 fichiers pour indiquer le nom d'hôte du serveur, votre login et votre mot de passe. Ne vous contentez pas de copier-coller mon code ! Par exemple:
<?php
$bdd = new
PDO('mysql:host=dbinstance.cmo5fnknxzqh.us-east-2.rds.amazonaws.com;dbname=test;charset=utf8',
'mateo', 'VOTRE_MOT_DE_PASSE_ICI');
Envoyez les fichiers sur EC2 avec un logiciel SFTP comme FileZilla, comme vous avez appris à le faire précédemment.

Bien, il ne reste plus qu'à tester !
Si on se rend maintenant à l'adresse de notre serveur, suivie de minichat.php , on devrait
retrouver notre chat !

Hourra ! On utilise désormais bien EC2 pour le serveur web et RDS pour le stockage de la base de données. 😃