Base de données
Tables
La base de données comporte trois tables :
lieux: Contient les informations de référence sur chaque lieu (piscine, mairie, médiathèque) issues de data.grandlyon.com.
executions: Journalise chaque exécution du script principal. Elle permet de savoir quand le programme a tourné, avec quelle configuration de modèle de langage (LLM), et de suivre la consommation totale de CO2 pour chaque lot.
resultats_extraction: C’est la table transactionnelle principale. Elle fait le lien entre un lieu et une exécution spécifique. Pour chaque URL traitée lors d’une exécution, cette table stocke toutes les données du pipeline : le statut de l’URL, les différentes étapes du traitement du markdown (brut, nettoyé, filtré), la sortie du LLM (JSON et OSM), le résultat de la comparaison avec les données de référence, et les éventuelles erreurs.
Diagramme
+---------------------------+ +-------------------------------+ +------------------------------+
| lieux | | resultats_extraction | | executions |
+---------------------------+ 1--* +-------------------------------+ *--1 +------------------------------+
| identifiant (PK) | | id_resultats_extraction (PK) | | id_executions (PK) |
| nom | | lieu_id (FK) | | date_execution |
| type_lieu | | id_execution (FK) | | llm_modele |
| url | | statut_url | | llm_fournisseur |
| horaires_data_gl | | code_http | | llm_url |
| horaires_data_gl_json | | message_url | | llm_consommation_execution |
+---------------------------+ | markdown_brut | +------------------------------+
| markdown_nettoye |
| markdown_filtre |
| prompt_message |
| llm_consommation_requete |
| llm_horaires_json |
| llm_horaires_osm |
| horaires_identiques |
| differences_horaires |
| erreurs_pipeline |
+-------------------------------+
Détail des champs
Table lieux
Champ |
Type SQL |
Description |
---|---|---|
identifiant (PK) |
TEXT |
Identifiant unique du lieu (ex: « S1360 »), issu de data.grandlyon.com. |
nom |
TEXT |
Nom complet du lieu (ex: « Piscine Garibaldi »). |
type_lieu |
TEXT |
Catégorie du lieu (ex: « piscine », « mairie »). |
url |
TEXT |
URL de la page web contenant les horaires à vérifier. |
horaires_data_gl |
TEXT |
Horaires de référence au format OSM opening_hours issus de data.grandlyon.com. |
horaires_data_gl_json |
TEXT |
Version JSON des horaires de référence, convertis par SmartWatch. |
Table executions
Champ |
Type SQL |
Description |
---|---|---|
id_execution (PK auto-increment) |
INTEGER |
Identifiant unique de l’exécution. |
date_execution |
DATETIME |
Date et heure du début de l’exécution. |
llm_modele |
TEXT |
Nom du modèle de langage utilisé (ex: « devstral »). |
llm_fournisseur |
TEXT |
Fournisseur du LLM (« OPENAI », « MISTRAL »). |
llm_url |
TEXT |
URL de base de l’API du LLM. |
llm_consommation_execution |
FLOAT |
Estimation totale des émissions de CO2 (en kg) pour l’ensemble des appels LLM de cette exécution. |
Table resultats_extraction
Champ |
Type SQL |
Description |
---|---|---|
id_resultats_extraction (PK auto-increment) |
INTEGER |
Identifiant unique du résultat. |
lieu_id (FK) |
TEXT |
Clé étrangère liant ce résultat à un lieu dans la table lieux. |
id_execution (FK) |
INTEGER |
Clé étrangère liant ce résultat à une exécution dans la table executions. |
statut_url |
TEXT |
Statut final du traitement de l’URL. |
code_http |
INTEGER |
Code de statut HTTP retourné par la requête sur l’URL (ex: 200, 404). |
message_url |
TEXT |
Message d’erreur associé au statut de l’URL. |
markdown_brut |
TEXT |
Contenu Markdown brut extrait de la page web. |
markdown_nettoye |
TEXT |
Markdown après une première passe de nettoyage (suppression des liens, etc.). |
markdown_filtre |
TEXT |
Markdown après filtrage sémantique pour ne garder que les parties pertinentes. |
prompt_message |
TEXT |
Le prompt complet envoyé au LLM. |
llm_consommation_requete |
FLOAT |
Estimation des émissions de CO2 (en kg) pour l’appel LLM de ce résultat. |
llm_horaires_json |
TEXT |
Les horaires extraits par le LLM, au format JSON. |
llm_horaires_osm |
TEXT |
Les horaires extraits par le LLM, convertis au format OSM opening_hours. |
horaires_identiques |
BOOLEAN |
True si les horaires extraits correspondent à ceux de référence, False sinon. |
differences_horaires |
TEXT |
Description textuelle des différences trouvées lors de la comparaison. |
erreurs_pipeline |
TEXT |
Journal des erreurs survenues à différentes étapes du pipeline pour ce résultat. |