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
Colin Maudry
a9d3d96a5e
"Partager" masqué dans l'observatoire pour l'instant #65
2026-03-19 00:04:59 +01:00
Colin Maudry
dbfc20921a
Amélioration du layout dans titulaire et acheteur
2026-03-18 23:54:41 +01:00
Colin Maudry
d8f1a884a3
fix: show actual km ranges in distance histogram tooltip
...
Replace px.histogram with manually-computed go.Bar so hover text
displays human-readable distance ranges (e.g. "8.9 – 10.0 km")
instead of raw log10 bin values.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 23:35:04 +01:00
Colin Maudry
0ac6c55d9e
Correction imports
2026-03-18 23:21:47 +01:00
Colin Maudry
6a6be51455
refactor: replace CSS grid layout with Dash Bootstrap Components grid
...
Replace the custom CSS grid (`.wrapper`, `.org_*`, `.results_*` classes)
in acheteur, titulaire, and recherche pages with dbc.Row/dbc.Col.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 23:21:17 +01:00
Colin Maudry
8a61d3268a
fix: lecture du dataframe plus flexible dans la création de l'histogram
2026-03-18 22:53:17 +01:00
Colin Maudry
32aa877797
fix: guard against missing titulaire_distance column in get_distance_histogram
2026-03-18 22:40:28 +01:00
Colin Maudry
858ab6c61a
feat: add distance histogram to titulaire detail page
2026-03-18 22:28:34 +01:00
Colin Maudry
b08d517f36
feat: add distance histogram to acheteur detail page
2026-03-18 22:26:57 +01:00
Colin Maudry
44d2d7d2c1
feat: add distance histogram card to observatoire dashboard
...
Integrate the get_distance_histogram function into the observatoire dashboard
to display buyer-contractor distance distribution on a logarithmic scale.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 22:24:01 +01:00
Colin Maudry
f2af09bb35
fix: use streaming collect and filter zero distances in get_distance_histogram
2026-03-18 22:22:54 +01:00
Colin Maudry
24db748b6a
feat: add get_distance_histogram figure function
...
Implement get_distance_histogram that creates a histogram of titulaire distances
with logarithmic scale. Add 3 unit tests covering basic functionality, null handling,
and edge cases. Also add DATA_SCHEMA_PATH to pytest env config.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 22:15:26 +01:00
Colin Maudry
78d528f75b
Filtre par montant #65
2026-03-18 21:13:21 +01:00