Colin Maudry
06fad7ec2d
Changelog 2.8.1
v2.8.1
2026-06-25 09:54:45 +02:00
Colin Maudry
3eec248dab
Fix tokens_cli est maintenant autonome pour récupérer l'env
2026-06-25 09:50:19 +02:00
Colin Maudry
fc22eca661
Changelog 2.8.0
v2.8.0
2026-06-23 07:06:44 +02:00
Colin Maudry
e591c5500f
Petites améliorations du rendu #81
2026-06-22 22:47:37 +02:00
Colin Maudry
074716bc16
feat(observatoire): restructurer tuile en 3 barres
...
- Barre 1 (grise) : % marchés avec champs considérations renseignés
- Barre 2 (rose) : % positifs parmi les marchés renseignés — sociales
- Barre 3 (verte) : % positifs parmi les marchés renseignés — env
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 22:21:37 +02:00
Colin Maudry
ae8292d68d
fix(observatoire): filtre renseignées sur != 'Sans objet' plutôt que regex
...
Seule 'Sans objet' est considérée négative parmi les marchés renseignés,
cohérent avec le reste des traitements.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 22:02:37 +02:00
Colin Maudry
26455a7616
fix(observatoire): barre renseignée = positifs parmi les marchés renseignés
...
Dénominateur = marchés non-null ; numérateur = marchés positifs (regex).
Label affiché : "parmi les N marchés renseignés".
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 21:18:00 +02:00
Colin Maudry
19e181734c
feat(observatoire): ajouter barres 'valeur renseignée' dans tuile considérations
...
Affiche 4 barres groupées par type (sociales/env) : une pour les marchés
avec au moins une considération, une pour ceux qui ont une valeur renseignée
(non nulle, y compris 'Sans objet').
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 18:55:38 +02:00
Colin Maudry
8efd9b45eb
fix(observatoire): texte % blanc sur les barres de considérations
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 18:46:37 +02:00
Colin Maudry
eab06eedae
fix(observatoire): couleurs barres considérations palette Plotly Safe
...
Utilise les codes hex #CC6677 (sociales) et #117733 (env) via le prop
color de dbc.Progress, qui accepte les valeurs hex.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 18:45:33 +02:00
Colin Maudry
5586db23aa
feat(observatoire): afficher la tuile considérations après Type d'achat
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 18:17:27 +02:00
Colin Maudry
a85baca408
feat(observatoire): calcul et rendu tuile considérations sociales/env
...
Ajoute compute_considerations_stats (dédoublonnage par uid, regex
Clause|Critère|Marché réservé, colonne absente → 0%) et
get_considerations_card_content (deux dbc.Progress colorés Safe).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 18:16:34 +02:00
Colin Maudry
2ce762b6cc
docs: plan tuile considérations sociales/environnementales
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 18:11:45 +02:00
Colin Maudry
826448d6be
docs: spec tuile considérations sociales/environnementales (observatoire)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 18:09:05 +02:00
Colin Maudry
e44af8add8
Dans les résultats de recherche, le contenu de la colonne Département wrappe le texte #77
2026-06-22 17:55:53 +02:00
Colin Maudry
992f6d4f93
Recherche dans les tableaux insensible aux accents #79
2026-06-22 17:46:31 +02:00
Colin Maudry
966d193ec4
test(api): benchmark comparatif decp.info vs data.gouv.fr ( #78 )
...
Requête identique envoyée aux deux APIs (drapeaux d'agrégation nus),
tableau côte à côte + ratio decp/datagouv. Couvre filtres, differs,
agrégation. --url decp.info paramétrable (défaut prod), data.gouv.fr
sans auth.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 15:16:35 +02:00
Colin Maudry
c264c36684
fix(api): next=null sur dernière page en mode agrégation ( #78 )
...
Si la page retournée est partielle (len < page_size), on sait qu'on est
sur la dernière page → next=null, parité data.gouv.fr.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 14:23:09 +02:00
Colin Maudry
70ee819a51
feat(api): sort supporté sur colonnes groupby en mode agrégation ( #78 )
...
Testé contre tabular-api data.gouv.fr : sort sur une colonne groupby
est honoré (200), sort sur un alias d'agrégat retourne 400 (colonne
inconnue). aggregate_marches reçoit order_by ; doc Swagger mise à jour.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 14:20:02 +02:00
Colin Maudry
b87eb4328c
docs(api): documente les opérateurs (filtres + agrégation) dans Swagger ( #78 )
...
Remplace la description du paramètre <colonne>__<opérateur> par une
documentation complète listant tous les opérateurs de filtre (exact, differs,
contains, notcontains, in, notin, less, greater, strictly_less,
strictly_greater, isnull, isnotnull, sort) et les agrégations (groupby, count,
sum, avg, min, max).
Met à jour le docstring de data() pour documenter le mode agrégation et les
paramètres réservés.
Ajoute test_openapi_doc.py qui valide la présence des mots-clés clés dans
l'OpenAPI généré.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 14:09:34 +02:00
Colin Maudry
7c9a95355b
feat(api): mode agrégation sur /data (groupby + agrégats) ( #78 )
2026-06-22 14:06:44 +02:00
Colin Maudry
28709a162a
feat(db): aggregate_marches pour les requêtes GROUP BY ( #78 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 14:04:08 +02:00
Colin Maudry
9324a734d4
feat(api): parsing des opérateurs d'agrégation (groupby/count/sum/avg/min/max) ( #78 )
2026-06-22 13:59:50 +02:00
Colin Maudry
2a8e82ccd6
feat(api): ajoute l'opérateur de filtre differs (IS DISTINCT FROM) ( #78 )
...
Implémente l'opérateur de filtre `differs` qui génère un fragment SQL
`IS DISTINCT FROM` pour exclure des valeurs en tenant compte des NULL.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 13:55:18 +02:00
Colin Maudry
f5db674e22
feat(api): renomme le param réservé count en count_results ( #78 )
...
- Renomme RESERVED_PARAMS dans src/api/filters.py
- Fait passer le paramètre de 'count' à 'count_results' dans src/api/routes.py
- Met à jour la documentation swagger pour le nouveau nom
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 13:50:12 +02:00
Colin Maudry
5166c88b8b
docs: plan d'implémentation parité API decp.info / tabular-api ( #78 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 13:35:34 +02:00
Colin Maudry
b0fbe89c2c
docs: ajoute la doc Swagger des mots-clés au spec parité API ( #78 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 13:27:08 +02:00
Colin Maudry
441d36273a
docs: spec parité API decp.info / tabular-api data.gouv.fr ( #78 )
...
Opérateurs manquants : differs + agrégation (groupby/count/sum/avg/min/max),
renommage du param réservé count -> count_results. or hors périmètre.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 13:22:49 +02:00
Colin Maudry
ffaf200c07
api/v1/schema n'est plus auth, schema renvoie table schema, adaptation des tests #78
2026-06-16 17:03:14 +02:00
Colin Maudry
fede22f314
Plus d'options dans swagger UI pour Try it out #78
2026-06-16 11:06:46 +02:00
Colin Maudry
d591d7f47a
Merge branch 'feature/78_api' into dev
2026-06-12 20:26:30 +02:00
Colin Maudry
b8d73c7f7b
fix: omettre temporalCoverage si date inconnue + TimeoutException explicite ( #78 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-12 17:58:23 +02:00
Colin Maudry
cb93dbe05a
feat: chargements de pages best-effort au boot (tableau, sources) ( #78 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-12 13:58:50 +02:00
Colin Maudry
fa2709b38c
fix: re-vérifier db_path.exists() dans le handler et assertion return value ( #78 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-12 13:50:57 +02:00
Colin Maudry
bba53d81e1
feat: réutiliser le DuckDB existant si le bootstrap échoue ( #78 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-12 13:48:32 +02:00
Colin Maudry
5a6aa31c86
fix: robustesse schéma — TransportError, validation name, ValueError cache ( #78 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-12 13:28:36 +02:00
Colin Maudry
42ba73cd36
feat: schéma résilient URL→cache + suppression DATA_SCHEMA_LOCAL ( #78 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-12 13:26:03 +02:00
Colin Maudry
21c65c34fb
test: réparer le baseline test_db cassé par le merge ( #78 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-12 11:37:54 +02:00
Colin Maudry
afd6590c54
docs: plan d'implémentation bootstrap résilient ( #78 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 11:30:36 +02:00
Colin Maudry
20f81b5732
docs: spec surfaces C/D (chargements pages au boot) ( #78 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 11:23:35 +02:00
Colin Maudry
0ebbfcd872
docs: spec schéma en cache seul ( #78 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 11:10:13 +02:00
Colin Maudry
8a853b2384
docs: spec bootstrap résilient données et schéma ( #78 )
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-12 11:01:41 +02:00
Colin Maudry
1aea71be7f
Merge branch 'main' into feature/78_api
2026-06-12 09:33:59 +02:00
Colin Maudry
317b2b5cdb
Merge tag 'v2.7.9' into dev
...
- Ajout d'une vue "étapes" (elle sera mieux intégrée dans le site à l'avenir)
- Correction de petites erreurs qui polluent les logs
2026-06-09 11:33:32 +02:00
Colin Maudry
c304f05d85
Merge branch 'release/2.7.9'
v2.7.9
2026-06-09 11:31:21 +02:00
Colin Maudry
5341ca002e
Bump changelog 2.7.9
2026-06-09 11:28:16 +02:00
Colin Maudry
ed32b0f66b
Réduction des petites erreurs qui polluent les logs
2026-06-07 18:56:16 +02:00
Colin Maudry
4d3e8ac344
feat(etapes): fiches cliquables sur les barres et vue mobile
2026-06-04 22:15:10 +02:00
Colin Maudry
ab74717679
feat(etapes): suppression légende, JAL à la place de Journaux d'annonces légales
2026-06-04 22:04:31 +02:00
Colin Maudry
c9a97fe9d2
feat(etapes): référencement de /etapes dans le sitemap
2026-06-04 21:51:30 +02:00