From 3a73cdf4b9433f7b6926abe4fd04a8cfca917436 Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Tue, 5 May 2026 15:43:08 +0200 Subject: [PATCH 1/4] P dans les announcements plus compacts --- src/assets/css/style.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/assets/css/style.css b/src/assets/css/style.css index ecba9b1..dcb90d6 100644 --- a/src/assets/css/style.css +++ b/src/assets/css/style.css @@ -144,6 +144,10 @@ p.version > a { max-width: 900px; } +#announcements p { + margin-bottom: 0.2rem; +} + .seeBorder { border: dotted 1px green; } From 8a2f7f620c05092388668d0f37d1b074ef7f87e8 Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Mon, 11 May 2026 10:24:58 +0200 Subject: [PATCH 2/4] =?UTF-8?q?Suppression=20des=20mentions=20sur=20les=20?= =?UTF-8?q?profils=20d'acheteurs=20qui=20ne=20publient=20pas=20de=20donn?= =?UTF-8?q?=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Omnikles publie via l'API DUME de l'AIFE, ne reste que Klekoon. Mais bon, ça fait des mauvaises vibes sur la page de le préciser :) --- src/pages/a-propos.py | 9 +-------- uv.lock | 2 +- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/pages/a-propos.py b/src/pages/a-propos.py index 91bb01b..26d2ba7 100644 --- a/src/pages/a-propos.py +++ b/src/pages/a-propos.py @@ -87,14 +87,7 @@ Vous pouvez consommer les données qui alimentent decp.info dcc.Markdown( """Les données visibles sur ce site proviennent exclusivement de la publication de données ouvertes par les acheteurs publics ou en leur nom, régie par [l'arrêté du 22 décembre 2022](https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000046850496). Leur qualité est donc principalement liée à la qualité de leur saisie par les agents publics, parfois peu aidé·es par la qualité des outils à leur disposition. Je pense que l'analyse de marchés individuels et le comptage de marchés sur des critères autres que financiers sont plutôt fiables. En revanche, certains montants de marché estimés à des valeurs farfelues ([1 euro](https://decp.info/marches/432766947000192025S01301), [1 milliard](https://decp.info/marches/2459004280001320210000000271)) faussent les calculs par aggrégation (sommes, moyennes, médianes) et donc la production de statistiques financières fiables. Acheteurs, acheteuses : s'il vous plaît, essayez d'estimer les montants des marchés publics attribués de manière plus précise. -Quant à l'exhaustivité, je consolide toutes les sources de données exploitables que j'ai pu identifier (voir [ci-dessous](/a-propos#sources). Certains profils d'acheteurs ne publient pas leurs données malgré l'obligation réglementaire : - -- klekoon.fr (ils y travaillent) -- safetender.com (Omnikles) - -**marches-publics.info** (AWS) publie ses données de manière assez sporadique depuis début 2023. Compte tenu de son poids dans le secteur, c'est assez dommageable pour la transparence des marchés publics. - -Au milieu de ces mauvaises nouvelles, je tiens à souligner la belle continuité de la publication par la DGFiP des données des marchés publics remontées via le [protocole PES](https://www.collectivites-locales.gouv.fr/finances-locales/le-protocole-dechange-standard-pes). Merci à leurs équipes.""" +Quant à l'exhaustivité, je consolide toutes les sources de données exploitables que j'ai pu identifier (voir [ci-dessous](/bin.usr-is-merged/)). Je tiens à souligner la belle continuité de la publication par la DGFiP des données des marchés publics remontées via le [protocole PES](https://www.collectivites-locales.gouv.fr/finances-locales/le-protocole-dechange-standard-pes). Merci à leurs équipes.""" ), html.H4("Sources de données ", id="sources"), get_sources_tables(os.getenv("SOURCE_STATS_CSV_PATH")), diff --git a/uv.lock b/uv.lock index db47a6d..9ac4ecc 100644 --- a/uv.lock +++ b/uv.lock @@ -760,7 +760,7 @@ wheels = [ [[package]] name = "decp-info" -version = "2.7.5" +version = "2.7.6" source = { virtual = "." } dependencies = [ { name = "dash", extra = ["compress"] }, From cd468a837cfb8fa716dc7911c4f579be16cdf5a9 Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Mon, 11 May 2026 10:31:18 +0200 Subject: [PATCH 3/4] Changelog v2.7.7 --- CHANGELOG.md | 4 ++++ pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 09d58a3..4d5dbcd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +##### 2.7.7 (11 mai 2026) + +- Suppression des mentions sur les profils d'acheteur. Omnikles/Safetender publie via l'API DUME et Klekoon ne publie pas, mais c'est peut-être pas le seul, donc je préfère supprimer et refaire un tour. + ##### 2.7.6 (5 mai 2026) - Correction du problème de filtre par date dans les tableaux diff --git a/pyproject.toml b/pyproject.toml index e5a73b1..a1e0f52 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "decp.info" description = "Interface d'exploration et d'analyse des marchés publics français." -version = "2.7.6" +version = "2.7.7" requires-python = ">= 3.10" authors = [{ name = "Colin Maudry", email = "colin@colmo.tech" }] dependencies = [ From 0c9666204bf825c07689fe02217f494a4ca639fd Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Mon, 11 May 2026 10:34:06 +0200 Subject: [PATCH 4/4] Autorisation du HTML dans les annonces --- src/app.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/app.py b/src/app.py index 5e9e490..40a40d5 100644 --- a/src/app.py +++ b/src/app.py @@ -145,7 +145,13 @@ navbar = dbc.Navbar( style={"minWidth": "230px"}, ), dbc.Nav( - children=[dcc.Markdown(os.getenv("ANNOUNCEMENTS"), id="announcements")], + children=[ + dcc.Markdown( + os.getenv("ANNOUNCEMENTS"), + id="announcements", + dangerously_allow_html=True, + ), + ], style={ "maxWidth": "1200px", "display": "inline-block",