Commit Graph

586 Commits

Author SHA1 Message Date
Colin Maudry 600567330f Améliorations typing 2026-04-18 19:01:22 +02:00
Colin Maudry af3b3464e4 Refactorisation utils 2026-04-18 19:01:07 +02:00
Colin Maudry e4e1438220 Refactorisation des fonctions utils 2026-04-18 18:33:09 +02:00
Colin Maudry e352624c02 Capitalisation des constantes 2026-04-18 18:09:42 +02:00
Colin Maudry accdfe1384 Merge branch 'feat/duckdb-migration' into dev 2026-04-18 16:57:45 +02:00
Colin Maudry 09ddb0f485 Suppression des dataframes globaux remplacés par DuckDB (#71) 2026-04-16 11:11:58 +02:00
Colin Maudry 342f7b53a9 figures.py : remplacement de df.columns par schema.names() depuis src.db (#71) 2026-04-16 11:09:43 +02:00
Colin Maudry 88016d9517 observatoire.py : migration vers query_marches et schema depuis src.db (#71) 2026-04-16 11:09:22 +02:00
Colin Maudry 5ecfb463f3 tableau.py : migration vers query_marches et schema depuis src.db (#71) 2026-04-16 11:08:45 +02:00
Colin Maudry 1655af375c arbre/liste_marches_org.py : requêtes DuckDB pour les listes de marchés (#71) 2026-04-16 11:07:59 +02:00
Colin Maudry cba3128b8f departement.py : requêtes DuckDB sur acheteurs_departement et titulaires_departement (#71) 2026-04-16 11:07:32 +02:00
Colin Maudry a31d996812 titulaire.py : migration vers query_marches et schema depuis src.db (#71) 2026-04-16 11:07:07 +02:00
Colin Maudry e89311f3ab acheteur.py : migration vers query_marches et schema depuis src.db (#71) 2026-04-16 11:06:35 +02:00
Colin Maudry 31b68079e0 marche.py : utilisation de query_marches au lieu du df global (#71) 2026-04-16 11:05:52 +02:00
Colin Maudry 9cf92563ae Intégration de src.db dans utils (coexistence avec les globaux) (#71) 2026-04-16 11:05:18 +02:00
Colin Maudry 4715db282e Les boutons de Tableau passent à ligne si écran plus étroit 2026-04-15 17:49:25 +02:00
Colin Maudry 2d592842ab Suppression print/logs inutiles 2026-04-15 16:33:57 +02:00
Colin Maudry f31522734c Connexion DuckDB globale, verrou fcntl et query_marches
- _ensure_database : vérifie rebuild sous verrou fcntl exclusif
- conn en lecture seule au niveau module, schema importé via SELECT LIMIT 0
- query_marches : helper SQL paramétré retournant un pl.DataFrame
- get_cursor : cursor par appel pour thread-safety Dash
- pyarrow ajouté en dépendance (requis par duckdb .pl())

refs #71

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 16:23:09 +02:00
Colin Maudry 077af6dd2e Implémentation de build_database avec transforms Polars et tables dérivées
- _load_source_frame reprend la pipeline Polars (sort, filtre donneesActuelles,
  booleans_to_strings, remplacement des noms null)
- build_database utilise write_parquet + read_parquet pour zéro-dépendance
  pyarrow (pyarrow absent du venv) et écrit atomiquement via .tmp + os.replace
- 4 tables dérivées : acheteurs_marches, titulaires_marches,
  acheteurs_departement, titulaires_departement

refs #71

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 16:16:12 +02:00
Colin Maudry e83df64261 Ajout de src.db.should_rebuild et ses tests
refs #71
2026-04-15 16:07:41 +02:00
Colin Maudry 9a19e5cba7 Mise en place d'un cache pour l'observatoire 2026-04-15 12:11:44 +02:00
Colin Maudry 0d0c0d0a75 Acheteur et titulaire appliquent bien la liste de colonnes par défaut 2026-04-15 11:35:10 +02:00
Colin Maudry ade9a20926 Tableau applique bien la liste de colonnes par défaut 2026-04-14 17:39:52 +02:00
Colin Maudry 24e0cee2b1 Améliorations de typage 2026-03-30 14:58:18 +02:00
Colin Maudry 6e5f4011e5 On garde toutes les valeurs en paramètre puour prepare_dashboard_data 2026-03-23 13:39:37 +01:00
Colin Maudry 1f48319a0f Utilisation d'un store plutôt que df global, regroupement des inputs/outputs 2026-03-23 13:25:08 +01:00
Colin Maudry 24bce6e2d6 Lien vers #sources 2026-03-23 07:43:37 +01:00
Colin Maudry 72da1a15e2 Nettoyage HTML recherche.py 2026-03-23 07:43:37 +01:00
Colin Maudry f4514bf06c Le bouton Partager n'apparaît que s'il y a des filtres 2026-03-23 07:43:02 +01:00
Colin Maudry a54f78875e Utilise l'année en cours pour plafonner les données du graph sources #65 2026-03-21 12:25:31 +01:00
Colin Maudry 7b78e0a0ea Style, ordre des années #65 2026-03-21 12:09:00 +01:00
Colin Maudry eecd75ac42 Style des boutons Prévisualiser et Partager #65 2026-03-21 11:55:48 +01:00
Colin Maudry 139b820b6b fix: remove duplicate observatoire-share-url element in layout
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 11:32:43 +01:00
Colin Maudry bb2cde2fc5 feat: sync_observatoire_share_url encodes all 17 filter params
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 11:31:47 +01:00
Colin Maudry 3957ca1662 feat: restore_filters reads all 17 filter params from URL
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 11:27:54 +01:00
Colin Maudry e6bf671f16 Prévisualisation des données: bonnes données téléchargées #65 2026-03-21 10:28:07 +01:00
Colin Maudry b34f63f711 Prévisualisation des données: choix des colonnes #65 2026-03-21 10:17:58 +01:00
Colin Maudry d6e14e2564 Prévisualisation des données fonctionnelle #65 2026-03-21 10:02:11 +01:00
Colin Maudry dd63feeeac Style des boutons 2026-03-20 17:49:27 +01:00
Colin Maudry 3b2cb15935 Prévisualisation basique des données #65 2026-03-20 17:38:10 +01:00
Colin Maudry 91ea9eccea Top 10 acheteurs et titulaires #65 2026-03-20 16:44:29 +01:00
Colin Maudry a89677604b Médian des distances titulaire-acheteur #65 2026-03-20 14:20:44 +01:00
Colin Maudry e5419bab9c Donut : ajout à autres si moins de 1% #65; 2026-03-20 13:57:44 +01:00
Colin Maudry 4f9f31c4c7 Ajout des filtres objet et code CPV #65 2026-03-20 11:46:56 +01:00
Colin Maudry 28fdca2a06 Tri des départements pour dropdown #65 2026-03-20 11:33:25 +01:00
Colin Maudry 771dcf0ea1 Moins de barres dans l'histogramme distances #65 2026-03-20 11:32:50 +01:00
Colin Maudry dac9efee88 Carte résumé => figures.py #65 2026-03-20 10:20:44 +01:00
Colin Maudry 50c3947c04 Filtres sur techniques, sous-traitance, innovant #65 2026-03-19 18:36:54 +01:00
Colin Maudry 9852d55a3d Tentative de tri des départemetns 2026-03-19 13:02:42 +01:00
Colin Maudry 144e714235 fix: reduce right margin in distance histogram to use full card width
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 13:02:41 +01:00