Réalisé par :
Malcolm BERTAINA (L3T7 Informatique)
Morgan CARRE (L2T5 Informatique)
Un grand merci à Adrien Sales pour la proposition de ce projet enrichissant, son suivi constant, ainsi que ses conseils précieux, même en soirée et les week-ends.
Merci également à Michèle Barre et Vinh Faucher pour leur réactivité et leur aide dans la résolution des problèmes liés à l'API des temps d'attente.
Dans le cadre de notre licence en informatique, nous avons eu l’opportunité de réaliser un projet tutoré. Nos professeurs nous ont proposé une liste variée de sujets, chacun présenté par des encadrants extérieurs à l'UNC, issus de différents secteurs et entreprises.
Après avoir étudié les différents sujets, tous très intéressants, nous avons finalement choisi de nous concentrer sur le projet "interface web des temps d’attente en agence OPT", proposé par Adrien Sales de la DSI de l’OPT.
Ce sujet aborde une problématique réelle et nous semblait d’autant plus pertinent qu’il impliquait une stack technique jamais utilisée pour nous, offrant ainsi une excellente opportunité d'apprentissage.
Roadmap établie avec trois objectifs :
Les versions ont été mises en place avec des deadlines précises
Mise en place du social preview pour améliorer le partage sur les réseaux sociaux
Création compte APIGEE, pour la récupération des données via l'API.
Utilisation de deux endpoints :
/communes
/agences?commune=[nom_commune]
Requête avec HTTPIE :
Affichage :
Bibliothèque Poltly pour la méthode plotly_chart()
fetch_communes()
fetch_agences(commune)
@st.cache_data()
INTERVALLE_AUTOREFRESH = 3 * 60 # 3 minutes
fetch_agence_by_id(id_agence)
sorted()
temps-attente-agences/agences/{id}/historique
Renvoie un json contenant tous les temps d’attente de la journée, avec des enregistrements espacés de 2 minutes pour chaque agence sélectionnée.
400 OK
{
"fault": {
"faultstring": "OASValidation OAS-Validation with resource \"oas://spec.yaml\": failed with reason:
\"[ERROR - String '2024-08-10T12:15:50' is invalid against requested date format(s) [yyyy-MM-dd'T'HH:mm:ssZ, yyyy-MM-dd'T'HH:mm:ss.
[0-9]{1,12}Z]: [], ERROR - String '2024-08-10T15:15:50' is invalid against requested date format(s) [yyyy-MM-dd'T'HH:mm:ssZ,
yyyy-MM-dd'T'HH:mm:ss.[0-9]{1,12}Z]: []]\"",
"detail": {
"errorcode": "steps.oasvalidation.Failed"
}
}
}
Ouverture d'une issue pour signaler le BUG
Vinh un membre de l'équipe d'Adrien nous a proposé un autre portail pour utiliser l'API, ainsi qu'un moyen de tester l'image.
Nous avons opter pour Rapidapi le temps que le bug soit fixé
fetch_agence_historique(id_agence,debut,fin)
L’API était en UTC, alors que nous avions besoin de UTC+11 (Nouvelle-Calédonie).
Problème corrigé avec un décalage de -11 heures via timedelta
Affichage d’un message si l’application est consultée hors des horaires d’ouverture (7h45 à 15h30).
Vérification via check_valid_hours()
pour informer si les agences sont fermées.