Compare commits

...

4 Commits

Author SHA1 Message Date
Colin Maudry 367e5f64ff Changelog 2.6.1 2026-02-17 14:50:29 +01:00
Colin Maudry adda58bada Suppresion des liens canoniques, pas trouvé comment les insérer assez tôt 2026-02-17 14:24:46 +01:00
Colin Maudry 2b0b048520 Amélioration du nom titulaire/acheteur 2026-02-15 16:54:30 +01:00
Colin Maudry 5c43bfea78 AMélioration de la génération de liens canoniques (pas de doublons) 2026-02-15 16:50:09 +01:00
8 changed files with 17 additions and 45 deletions
+4
View File
@@ -1,3 +1,7 @@
#### 2.6.1 (17 février 2026)
- Corrections la création des liens canoniques (SEO)
#### 2.6.0 (5 février 2026)
- Suite de la refonte graphique
+1 -1
View File
@@ -1,6 +1,6 @@
# decp.info
> v2.6.0
> v2.6.1
> 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.6.0"
version = "2.6.1"
requires-python = ">= 3.10"
authors = [
{ name = "Colin Maudry", email = "colin@colmo.tech" }
+1
View File
@@ -87,6 +87,7 @@ app.index_string = """
<title>{%title%}</title>
{%favicon%}
{%css%}
<!-- canonical link -->
</head>
<body>
{%app_entry%}
+4 -10
View File
@@ -17,7 +17,6 @@ from dash import (
from src.callbacks import get_top_org_table
from src.figures import DataTable, make_column_picker, point_on_map
from src.utils import (
add_canonical_link,
columns,
df,
df_acheteurs,
@@ -34,12 +33,12 @@ from src.utils import (
def get_title(acheteur_id: str = None) -> str:
df_acheteur = df_acheteurs.filter(pl.col("acheteur_id") == acheteur_id).select(
acheteur_nom = df_acheteurs.filter(pl.col("acheteur_id") == acheteur_id).select(
"acheteur_nom"
)
acheteur_nom = df_acheteur.item(0, 0)
return f"Marchés publics attribués par {acheteur_nom} | decp.info"
if acheteur_nom.height > 0:
return f"Marchés publics attribués par {acheteur_nom.item(0, 0)} | decp.info"
return "Marchés publics attribués | decp.info"
register_page(
@@ -476,8 +475,3 @@ def toggle_acheteur_columns(click_open, click_close, is_open):
)
def reset_view(n_clicks):
return "", []
@callback(Input("acheteur_url", "pathname"))
def cb_add_canonical_link(pathname):
add_canonical_link(pathname)
-12
View File
@@ -22,7 +22,6 @@ from dash import (
from figures import make_column_picker
from src.figures import DataTable
from src.utils import (
add_canonical_link,
columns,
df,
filter_table_data,
@@ -534,14 +533,3 @@ def toggle_tableau_columns(click_open, click_close, is_open):
)
def reset_view(n_clicks):
return "", []
@callback(Input("tableau_url", "pathname"))
def cb_add_canonical_link(pathname):
add_canonical_link(pathname)
# @callback(Input("tableau_url", "pathname"), Output("btn-copy-url", "children"))
# def cb_add_canonical_link(pathname):
# add_canonical_link(pathname)
#
+5 -11
View File
@@ -17,7 +17,6 @@ from dash import (
from src.callbacks import get_top_org_table
from src.figures import DataTable, make_column_picker, point_on_map
from src.utils import (
add_canonical_link,
columns,
df,
df_titulaires,
@@ -34,12 +33,12 @@ from src.utils import (
def get_title(titulaire_id: str = None) -> str:
titulaire_nom = (
df_titulaires.filter(pl.col("titulaire_id") == titulaire_id)
.select("titulaire_nom")
.item(0, 0)
titulaire_nom = df_titulaires.filter(pl.col("titulaire_id") == titulaire_id).select(
"titulaire_nom"
)
return f"Marchés publics remportés par {titulaire_nom} | decp.info"
if titulaire_nom.height > 0:
return f"Marchés publics remportés par {titulaire_nom.item(0, 0)} | decp.info"
return "Marchés publics remportés | decp.info"
register_page(
@@ -490,8 +489,3 @@ def toggle_titulaire_columns(click_open, click_close, is_open):
)
def reset_view(n_clicks):
return "", []
@callback(Input("titulaire_url", "pathname"))
def cb_add_canonical_link(pathname):
add_canonical_link(pathname)
+1 -10
View File
@@ -5,7 +5,6 @@ import uuid
from collections import OrderedDict
from time import localtime, sleep
import dash
import polars as pl
import polars.selectors as cs
from dash import no_update
@@ -443,7 +442,7 @@ def get_default_hidden_columns(page):
"codeCPV",
"dureeRestanteMois",
]
elif page == "titulaire":
elif page == "tableau":
displayed_columns = os.getenv("DISPLAYED_COLUMNS")
else:
displayed_columns = os.getenv("DISPLAYED_COLUMNS")
@@ -740,14 +739,6 @@ def make_org_jsonld(org_id, org_type, org_name=None, type_org_id="SIRET") -> dic
return jsonld
def add_canonical_link(pathname):
@dash.hooks.index()
def update_index(html_string):
url = f"https://{domain_name}{pathname}"
canonical_tag = f'<link rel="canonical" href="{url}" />'
return html_string.replace("</head>", f"{canonical_tag}\n </head>")
df: pl.DataFrame = get_decp_data()
schema = df.collect_schema()