Commit Graph

954 Commits

Author SHA1 Message Date
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
Colin Maudry b8db0cddf8 feat(etapes): styles du graphique étapes/seuils 2026-06-04 21:48:28 +02:00
Colin Maudry 4c60fed0c2 feat(etapes): vue mobile liste par étape
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 21:45:25 +02:00
Colin Maudry 070a91fed1 feat(etapes): graphique données par étape et par seuil 2026-06-04 21:42:33 +02:00
Colin Maudry e638ce45be feat(etapes): squelette de la page /etapes 2026-06-04 21:38:50 +02:00
Colin Maudry e55f3447db Possibilité de charger les données depuis une URL, memoisation de last_modified 2026-06-04 21:34:36 +02:00
Colin Maudry 6cf213add5 Spec+plan: vue mobile dédiée pour /etapes
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:31:17 +02:00
Colin Maudry 80c27bf357 Plan: page /etapes — données par étape et par seuil
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:26:09 +02:00
Colin Maudry 2e9b587613 Spec: page /etapes — données par étape et par seuil
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 21:13:35 +02:00
Colin Maudry ad7e3e5b1f Récupération de schéma plus robuste et changelog v2.7.8 2026-05-18 12:17:59 +02:00
Colin Maudry 7d4df0e6ad Récupération de schéma plus robuste et changelog 2026-05-18 12:16:03 +02:00
Colin Maudry 8dc5287918 Ajouts à flask #78 2026-05-18 11:47:05 +02:00
Colin Maudry 63f51d7b98 API: mention sur la page À propos (#78)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 14:47:03 +02:00