https://quentin-bernigaud.github.io/iim-designpattern-ratp/
Le but de cet exercice est de créer une interface HTML pour lister les lignes de métros via l’API :
https://api-ratp.pierre-grimaud.fr/v4/
Récupérer la liste des métros avec fetch via l’url suivante :
https://api-ratp.pierre-grimaud.fr/v4/lines/metros
Extraire les données
Créer une balise select
avec dans chaque option
les lignes récupérées à l’étape 2
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select
Ajouter un écouteur d'événement (change)
sur le select qui va lancer une requête asynchrone
pour récupérer la liste des stations
de la ligne de métro sélectionnée
Créer une autre balise select (#2) avec dans chaque option les stations
récupérées à l’étape 4
Ajouter un écouteur d'événement (change)
sur le select (#2) qui va lancer une requête asynchrone pour récupérer la liste des prochains horaires
de la ligne de métro sélectionnée et de la station sélectionnée. Par exemple, si j’ai sélectionné la ligne 6
, puis la station Nation
, récupérer les données de l’url suivante :
https://api-ratp.pierre-grimaud.fr/v4/schedules/metros/6/nation/A+R
Afficher dans des balises ul
et li
la liste des prochains horaires récupérés à l’étape 6 ainsi que la destination associée
Ajouter un refresh des données toutes les 30 secondes
Afficher la date exacte (ex. 15:30) au lieu de la valeur d’attente renvoyée par l’API (métro dans x minutes)
Séparer les données en les regroupants par destination et créer 2 listes avec des balises ul
différentes
Afficher la moyenne d’attente par destination
Récupérer l’état du trafic de la ligne sélectionnée
Exemple : si j’ai sélectionné la ligne 6
à l’étape 4, faire un appel fetch à l’url suivante :
https://api-ratp.pierre-grimaud.fr/v4/traffic/metros/6
Afficher la donnée de trafic sur la page, dans une div
Ajouter une étape entre la sélection de la ligne et de la station, demandant la destination
https://api-ratp.pierre-grimaud.fr/v4/destinations/metros/6
- Ajout d'une démo live
- Ajout d'une mise en page
CSS
- Affichage de l'
heure d'état
Sélection automatique
du premier élément de chaqueselect box
- Transfortmation des textes des messages
Destination unavailable
devientDestination indisponible
mn
devientmin
Train a quai
devientÀ quai
Train a l'approche
devientÀ l'approche
Train retarde
devientEn retard
Schedules unavailable
devientHoraire indisponible