Merge tag 'v2.6.0' into dev

- Suite de la refonte graphique
- Persistence des filtres, des tris et des choix de colonnes sur toutes les pages
- Joli tableau pour choisir les colonnes à afficher
- Meilleure gestion des acheteurs et titulaires absents de la base SIRENE
- Amélioration du SEO (liens canoniques)
This commit is contained in:
Colin Maudry
2026-02-05 18:23:44 +01:00
6 changed files with 19 additions and 6 deletions
+8
View File
@@ -1,3 +1,11 @@
#### 2.6.0 (5 février 2026)
- Suite de la refonte graphique
- Persistence des filtres, des tris et des choix de colonnes sur toutes les pages
- Joli tableau pour choisir les colonnes à afficher
- Meilleure gestion des acheteurs et titulaires absents de la base SIRENE
- Amélioration du SEO (liens canoniques)
##### 2.5.1 (29 janvier 2026)
- Mise en production un peu hâtive ([#67](https://github.com/ColinMaudry/decp.info/issues/67), [#68](https://github.com/ColinMaudry/decp.info/issues/68))
+1 -1
View File
@@ -1,6 +1,6 @@
# decp.info
> v2.5.1
> v2.6.0
> Outil d'exploration et de téléchargement des données essentielles de la commande publique.
=> [decp.info](https://decp.info)
+1 -1
View File
@@ -1,7 +1,7 @@
[project]
name = "decp.info"
description = "Interface d'exploration et d'analyse des marchés publics français."
version = "2.5.1"
version = "2.6.0"
requires-python = ">= 3.10"
authors = [
{ name = "Colin Maudry", email = "colin@colmo.tech" }
+7
View File
@@ -392,6 +392,13 @@ button.show-hide {
color: #333 !important;
}
/* Checkboxes */
input[type="checkbox"] {
height: 17px;
width: 17px;
}
/* Tooltips */
.dash-tooltip,
.dash-table-tooltip {
+1 -2
View File
@@ -318,7 +318,7 @@ def get_acheteur_marches_data(url, acheteur_year: str) -> tuple:
Output("btn-download-filtered-data-acheteur", "disabled"),
Output("btn-download-filtered-data-acheteur", "children"),
Output("btn-download-filtered-data-acheteur", "title"),
Output("filter-cleanup-trigger-acheteur", "data", allow_duplicate=True),
Output("filter-cleanup-trigger-acheteur", "data"),
Input("acheteur_url", "href"),
Input("acheteur_data", "data"),
Input("acheteur_datatable", "page_current"),
@@ -326,7 +326,6 @@ def get_acheteur_marches_data(url, acheteur_year: str) -> tuple:
Input("acheteur_datatable", "filter_query"),
Input("acheteur_datatable", "sort_by"),
State("acheteur_datatable", "data_timestamp"),
prevent_initial_call=True,
)
def get_last_marches_data(
href, data, page_current, page_size, filter_query, sort_by, data_timestamp
+1 -2
View File
@@ -326,7 +326,7 @@ def get_titulaire_marches_data(url, titulaire_year: str) -> tuple:
Output("btn-download-filtered-data-titulaire", "disabled"),
Output("btn-download-filtered-data-titulaire", "children"),
Output("btn-download-filtered-data-titulaire", "title"),
Output("filter-cleanup-trigger-titulaire", "data", allow_duplicate=True),
Output("filter-cleanup-trigger-titulaire", "data"),
Input(component_id="titulaire_url", component_property="href"),
Input("titulaire_data", "data"),
Input("titulaire_datatable", "page_current"),
@@ -334,7 +334,6 @@ def get_titulaire_marches_data(url, titulaire_year: str) -> tuple:
Input("titulaire_datatable", "filter_query"),
Input("titulaire_datatable", "sort_by"),
State("titulaire_datatable", "data_timestamp"),
config_prevent_initial_callbacks=True,
)
def get_last_marches_data(
href, data, page_current, page_size, filter_query, sort_by, data_timestamp