TP AJAX.
Pensez à mettre à jour votre copie du dépôt git pour le tp :
https://dwarves.iut-fbleau.fr/git/monnerat/FI_WIM4.git
Vous disposez tous, à la racine de votre compte, d'un répertoire public_html qui est servi (http) par le serveur dwarves. Pour accéder à vos pages, utilisez l'url :
http://dwarves.arda/~login
Écrire un client html qui permet d'envoyer en POST des messages (du texte) à un serveur echo. Vous écrirez le serveur en php.
Le client affiche les échos du serveur, avec à chaque fois le temps d'échange.
Vous en écrirez deux versions :
application/x-www-form-urlencoded
application/json
Le serveur renvoit uniquement du json
.
Le but est de créer un formulaire dont certains champs seront renseignés par des données retournées par un
"service" web.
Pour commencer :
cp-xxxxx.txt
, où xxxxx
représente le code postal.
Exemple pour le code 77300 :
Fontainebleau,Seine et Marne
<?xml version="1.0" encoding="UTF-8"?> <codep> <ville>Fontainebleau</ville> <departement>Seine et Marne</departement> </codep>
{ "codep" : { "ville" : "Fontainebleau", "departement":"Seine et Marne" } }
La situation précédente n'est pas très réaliste. Le but est de reprendre l'exercice précedent, à la seule différence
que vous invoquerez un "vrai" service web.
Le réseau de données ouvertes OpenDataSoft offre en particulier une api
qui permet de récupérer, au format JSON, la liste des communes correspondant à un code postal. Par exemple, l'url
https://data.opendatasoft.com/api/records/1.0/search/?dataset=code-postal-code-insee-2015@public&q=code_postal:77140&facet=nom_reg&facet=code_dept&facet=nom_dept&facet=statut&facet=insee_com
renvoie, en json, toutes les villes correspondantes au code 77140.
Comme plusieurs villes peuvent correspondre au code postal, la champ Ville sera une liste de selection construite dynamiquement en fonction de la réponse à la reqûete ajax.
Vous rajouterez, pendant le temps que le serveur donne une réponse, une animation de ce type : , par exemple en utlisant FontAwesome.