From 84b94fd882abf2d2809bec997167c941625e3620 Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Wed, 1 Oct 2025 11:57:55 +0200 Subject: [PATCH 1/4] =?UTF-8?q?Affiche=20du=20nombre=20de=20march=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 ++++-- pyproject.toml | 2 +- src/pages/home.py | 3 +-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0b03ed6..df42c41 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # decp.info -> v2.1.0 +> v2.1.1 Outil d'exploration et de téléchargement des données essentielles de la commande publique. @@ -26,9 +26,11 @@ python run.py ## Déploiement -- **Production** (branche `main`, [decp.info](https://decp.info)) : déploiement manuel via un déclenchement de la Github Action [Déploiement](https://github.com/ColinMaudry/decp.info/actions/workflows/deploy.yaml). +- **Production** (branche `main`, [decp.info](https://decp.info)) : déploiement manuel via un déclenchement de la Github Action [Déploiement](https://github.com/ColinMaudry/decp.info/actions/workflows/deploy.yaml) - **Test** (branche `dev`, [test.decp.info](https://test.decp.info)) : déploiement automatique à chaque push sur la branche `dev`, via la même Github Action. +Ne pas oublier de mettre à jour les fichier .env. + ## Liens connexes - [decp-processing](https://github.com/ColinMaudry/decp-processing) (traitement et publication des données) diff --git a/pyproject.toml b/pyproject.toml index acfbe79..c976cf3 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.1.0" +version = "2.1.1" requires-python = ">= 3.10" authors = [ { name = "Colin Maudry", email = "colin+decp@maudry.com" } diff --git a/src/pages/home.py b/src/pages/home.py index e309bc0..164f12a 100644 --- a/src/pages/home.py +++ b/src/pages/home.py @@ -188,8 +188,7 @@ def update_table(page_current, page_size, filter_query, sort_by, data_timestamp) dff: pl.DataFrame = lff.collect() height = dff.height - - nb_rows = f"{format_number(height)} lignes" + nb_rows = f"{format_number(height)} lignes ({format_number(dff.select('uid').unique().height)} marchés)" # Pagination des données start_row = page_current * page_size From 712dc5a7f82f07d7b53359ae01af803efb3fb1ee Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Wed, 1 Oct 2025 13:18:58 +0200 Subject: [PATCH 2/4] =?UTF-8?q?R=C3=A9tr=C3=A9cissement=20de=20la=20carte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/figures.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/figures.py b/src/figures.py index 860c695..25e1b9e 100644 --- a/src/figures.py +++ b/src/figures.py @@ -38,8 +38,8 @@ def get_map_count_marches(lf: pl.LazyFrame): range_color=(df["uid"].min(), df["uid"].max()), labels={"uid": "Marchés attribués"}, scope="europe", - width=1000, - height=800, + width=900, + height=700, ) fig.update_geos(fitbounds="locations", visible=False) From 85f0084b7b26c31953a85e2e1b5ef282be886beb Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Wed, 1 Oct 2025 13:19:56 +0200 Subject: [PATCH 3/4] =?UTF-8?q?Exhaustivit=C3=A9=20et=20qualit=C3=A9=20des?= =?UTF-8?q?=20donn=C3=A9es=20close=20#43?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/about.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/pages/about.py b/src/pages/about.py index f2278e3..a11309a 100644 --- a/src/pages/about.py +++ b/src/pages/about.py @@ -54,7 +54,20 @@ les fonctionnalités actuelles de decp.info. Il est ainsi possible de rajouter - [de decp.info](https://github.com/ColinMaudry/decp.info) - [du traitement des données](https://github.com/ColinMaudry/decp-processing) """), - html.H4("Sources de données", id="sources"), + html.H4("Qualité et exhaustivité des données", id="qualite-exhausitivite"), + 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 [statistiques](/statistiques)). Certains profils d'acheteurs ne publient pas leurs données malgré l'obligation réglementaire : + +- marches-securises.fr +- klekoon.fr (ils y travaillent) + +**marches-publics.gouv.fr** (PLACE, [AIFE](https://aife.economie.gouv.fr)), la plateforme des marchés de l'État, ne publie plus de données depuis le 1er janvier 2024 et l'entrée en vigueur de l'arrêté. Nous n'avons donc plus de données sur les marchés publics passés par les ministères, ainsi que sur ceux passés par les acheteurs clients d'[achatpublic.com](https://www.achatpublic.com), qui s'appuie sur les moyens de publication de l'AIFE. + +**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."""), + html.H4("Sources de données ", id="qualite-exhausitivite"), get_sources_tables(os.getenv("SOURCE_STATS_CSV_PATH")), html.H4("Mentions légales", id="mentions-legales"), dcc.Markdown(""" From d7cdf38cda7208e4129c68e77401bc9363d44010 Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Wed, 1 Oct 2025 13:22:02 +0200 Subject: [PATCH 4/4] Changelog 2.1.1 --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index df42c41..6f7d28b 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,11 @@ Ne pas oublier de mettre à jour les fichier .env. ## Notes de version +##### 2.1.1 + +- ajout d'une section dans À propos sur la qualité et l'exhaustivité des données ([#43](https://github.com/ColinMaudry/decp.info/issues/43)) +- ajout du nombre de marchés en plus du nombre de lignes dans la vue Tableau + #### 2.1.0 - Ajout des vues [acheteur](https://decp.info/acheteurs/24350013900189) ([#28](https://github.com/ColinMaudry/decp.info/issues/28)), [titulaire](https://decp.info/titulaires/51903758414786) ([#35](https://github.com/ColinMaudry/decp.info/issues/35)) et [marché](https://decp.info/marches/532239472000482025S00004) ([#40](https://github.com/ColinMaudry/decp.info/issues/40)) 🔎