Créer une API en PHP/SQL et l'appeler avec jQuery
Channel: PhilippGam
Date: 2020-07-05

Ressources utiles en complément de cette vidéo :
- glossaire PHP : http://igm.univ-mlv.fr/~gambette/ENSIUT/GlossairePhp.pdf
- aide-mémoire jQuery : http://igm.univ-mlv.fr/~gambette/ENSIUT/JQUERY-AideMemoire-2020.pdf
- cours sur les API : https://docs.google.com/presentation/d/17NefQVmxQQs-b9_LdmDCvCxMZnT5dbbP46XRq-KsZ_g/edit?usp=sharing

0:00 Description de la fonctionnalité implémentée avec une API : barre de recherche d'une chanson dans la base de données
0:38 Création de l'API en PHP : création du fichier api.php
0:54 Code PHP de connexion à la base de données
1:15 Code PHP d'envoi d'une requête à la base de données
1:43 Code PHP de récupération dans l'URL de la variable en GET
2:50 Code PHP de test pour savoir si une variable a été transmise en GET (dans l'URL)
3:40 Code PHP de création et d'initialisation d'une variable $requete à insérer pour personnaliser la requête SQL
4:13 Code PHP de test si la variable $requete est vide pour renvoyer une liste vide dans ce cas
4:39 Code PHP de préparation et d'envoi de la requête SQL de sélection des chansons
5:33 Vérification dans PhpMyAdmin des divers paramètres à préciser dans la requête SQL
6:25 Création du code SQL de la requête : code non sécurisé avec concaténation, qui permet une injection SQL
6:56 Code PHP d'utilisation de PDO pour préparer la requête afin d'éviter les injections SQL
7:40 Code PHP de récupération des résultats de la requête avec la méthode fetchAll
8:47 Test de l'API
9:02 Débugage de l'API : oubli de php, correction du nom de la base de données, vérification de la requête, de l'usage de fetchAll, suppression des guillemets dans la requête SQL
11:20 Fin du débugage : liste des chansons OK !
11:33 Code PHP d'affichage de la liste des chansons au format JSON
12:27 Utilisation de l'API : code HTML du champ de recherche d'un titre de chanson
14:08 Code jQuery de détection d'ajout de lettres dans le champ de recherche
16:01 Code jQuery de récupération du texte entré dans le champ de recherche
16:37 Code jQuery d'envoi d'un appel à l'API
17:50 Code jQuery d'affichage dans la console du résultat de l'appel à l'API
18:17 Test du code jQuery d'appel à l'API
19:39 Affichage du premier résultat renvoyé par l'API : problème de format de la sortie de l'API
20:29 Code PHP pour que l'API fournisse un code JSON plutôt que du texte
21:30 Code jQuery d'affichage des résultats de l'API dans un bloc div de la page web
21:54 Code jQuery d'effacement du contenu du bloc div
22:20 Code Javascript de boucle pour parcourir tous les résultats de l'API
22:48 Code jQuery d'ajout dans le bloc div de chaque résultat : id et nom de chaque chanson trouvée par l'API
24:00 Test du formulaire de recherche
24:27 Modification du code SQL pour rendre la recherche sensible à la casse

Dépôt GitHub du code obtenu : https://github.com/PhilippeGambette/siteMusique