Colin Maudry
cdb6a70f7a
feat(db): ajouter count_marches, count_unique_marches et paramètre offset à query_marches
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 23:39:51 +02:00
Colin Maudry
95c90e319e
feat: ajouter traducteurs filter_query→SQL et sort_by→SQL
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 23:33:49 +02:00
Colin Maudry
e44fe452b2
Corrections de typage et d'appels à filter_table_data
2026-04-19 23:55:20 +02:00
Colin Maudry
7aef7acd34
Petits ajustements (cache => utils, noms de variables)
2026-04-19 23:49:02 +02:00
Colin Maudry
b0d2aca4ff
perf(tableau): memoize filter+sort+postprocess pipeline ( #72 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 22:50:32 +02:00
Colin Maudry
0abbd982ea
feat: add memoized _load_filter_sort_postprocess helper ( #72 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 22:39:13 +02:00
Colin Maudry
18d07b5398
feat: add normalize_sort_by hashable cache-key helper ( #72 )
...
Add normalize_sort_by function to convert Dash DataTable's sort_by list
(unhashable) into a tuple representation (hashable) for use in cache keys.
Includes TDD-driven tests for empty inputs, hashability, and order preservation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 22:36:55 +02:00
Colin Maudry
0c7ca04f8e
refactor: move track_search out of filter_table_data into callers ( #72 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 22:32:28 +02:00
Colin Maudry
89904a5bad
test: scaffold unit tests for table utilities ( #72 )
2026-04-19 22:30:28 +02:00
Colin Maudry
4c4b010f44
Correction des tests avec données db
2026-04-18 21:39:36 +02:00
Colin Maudry
94ff13a66b
test: reconstruction de la base DuckDB de test avant chaque session ( #71 )
2026-04-16 11:04:44 +02:00
Colin Maudry
cfd0da34cd
test(db): sérialisation des builds concurrents par fcntl.flock ( #71 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-15 16:27:41 +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
553e23dd98
Nettoyage des tests should_rebuild suite à la revue
...
- Import de should_rebuild au niveau module
- Suppression d'un setenv DEVELOPMENT inutile (branche db-missing)
- Utilisation de os.utime pour un ordre mtime déterministe
refs #71
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-15 16:10:17 +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
1f48319a0f
Utilisation d'un store plutôt que df global, regroupement des inputs/outputs
2026-03-23 13:25:08 +01:00
Colin Maudry
b06f3c91e0
test: add multi-param URL round-trip test for observatoire
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 11:33:38 +01:00
Colin Maudry
547accd7be
fix: update test_010 to use prepare_dashboard_data instead of removed _apply_filters
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 11:25: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
9da3d9ce34
Ne pas supprimer les données de test à la fin
2026-03-18 21:48:23 +01:00
Colin Maudry
78d528f75b
Filtre par montant #65
2026-03-18 21:13:21 +01:00
Colin Maudry
26dd2aaf1a
Correction de l'injection du nom d'org dans le titre #65
2026-03-18 20:41:46 +01:00
Colin Maudry
5d4c0b8438
test: failing test for observatoire localStorage filter persistence #65
2026-03-18 20:31:45 +01:00
Colin Maudry
acb8500dc0
Test e2e : recherche → observatoire #65
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 15:02:27 +01:00
Colin Maudry
e804b6bca2
URL partageable pour la page observatoire #65
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 14:59:32 +01:00
Colin Maudry
3745f6df74
Callback URL → filtres sur la page observatoire #65
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 14:55:41 +01:00
Colin Maudry
bf1791635f
Ajout du lien observatoire dans titulaire_nom via add_links() #65
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 14:48:05 +01:00
Colin Maudry
1d88682f85
Ajout du lien observatoire dans acheteur_nom via add_links() #65
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 14:43:10 +01:00
Colin Maudry
4619dd2708
Correction du téléchargemnent buggé dans /tableau + test
2026-02-22 18:39:31 +01:00
Colin Maudry
472fbb7cbb
Améliorations des textes et petits ajustements
2026-02-05 17:16:31 +01:00
Colin Maudry
3beedbcfe4
Test de la persistence des fitres (toutes pages)
2026-02-05 15:05:37 +01:00
Colin Maudry
61dbf237cf
Premier test UI
2026-02-04 23:33:59 +01:00