Planche de TD pour un cours dispensé à l’université de Rennes 2
Pour ce TD, vous créerez un nouveau fichier td_api_rest.py
. Dans ce fichier, votre code sera organisé de la manière suivante :
Notamment, vous définirez vos fonctions en début de fichier et les appels seront listés en fin de fichier. De cette manière, vous pourrez, d’une question à l’autre, réutiliser les fonctions déjà codées au besoin.
"depart"
et notez le format de date utilisé.Petit point sur :
UTC, Temps Universel Coordonné, (Coordinated Universal Time) est une échelle de temps adoptée comme base universelle. En France, nous avons une heure d’avance sur ce temps de référence. Pour représenter une date complète utilisable à l’international l’API de la Star utilise le modèle suivant
"jourThoraire+timezone"
en trois parties avec pour séparateurs"T"
et"+"
où :
- jour =
"aaaa-mm-jj"
,- horaire =
"hh:mn:sc"
,- timezone
IN {"00:00", "01:00"...}
Ainsi :
- si timezone vaut
"01:00"
il s’agit de l’heure “en France”,- si timezone vaut
"00:00"
, il y a une heure de retard
"+"
dans la chaîne de caractères). La date d’entrée de cette fonction devra être une chaine de caractères dont le modèle suit les caractéristiques de l’exemple suivant : "2020-11-23T09:01:52+00:00"
et la date de sortie doit être :Attention : vous devrez considérer deux cas de figure différents : a. si la fin de la chaîne de caractères est "+00:00"
: il faudra ajouter 1h à la date extraite car le fuseau horaire n’est pas le nôtre ; b. si la fin de la chaîne de caractères est "+01:00"
: la date sera considérée comme correcte.
"depart"
(contenant l’heure de départ au format datetime
), "destination"
et "nomarret"
et vous ne conserverez que les passages pour lesquels l’attribut "precision"
vaut "Temps réel"
.Attention : pour certains passages, l’attribut "depart"
n’existe pas : ces passages doivent donc être ignorés
t
en minutes et qui retourne la liste des passages qui auront lieu dans un délai de t
minutes après l’instant présent. Tester cette fonction en affichant la liste des prochains passages de métro dans les 10 minutes à venir.Cet exercice est à rendre sur CURSUS avant la séance de TD de la semaine prochaine. Le rendu se fera sous la forme d’un unique fichier Python (pas de version .txt
ou .pdf
) structuré comme demandé plus haut et contenant le code relatif à cette partie. Ce code devra se suffire à lui-même et devra donc contenir les éventuelles fonctions annexes appelées par ce code.
"freeFlow"
) et le nombre de points pour lesquels le traffic est chargé ("congested"
ou "heavy"
). Votre fonction devra s’assurer que les données récoltées sont récentes (datent toutes de moins de 2h) et afficher un message d’erreur si ce n’est pas le cas.