Kanbante 0.45.9 : barre v0.3.0 — liens Hub du menu compte, Profil devient un lien Hub (branche /profile retirée), URL Hub résolue comme les sœurs

This commit is contained in:
Spark
2026-11-04 21:49:59 +00:00
parent 9bd3472b3c
commit b039657b84
5 changed files with 126 additions and 26 deletions
+11 -2
View File
@@ -181,7 +181,7 @@ from urllib.parse import urlparse
BASE_DIR = Path(__file__).resolve().parent.parent
APP_VERSION = "0.45.7"
APP_VERSION = "0.45.9"
def _env_bool(name: str, default: bool) -> bool:
@@ -236,7 +236,7 @@ def _env_wip_limits(name: str) -> dict[str, int]:
# du service (élargie en 0.32.2) ; 4) défaut officiel.
_MOTIF_HOTE_AGENT = re.compile(r"agent([a-z0-9-]*)\.dracodev\.net")
_MOTIF_HOTE_PUBLIC = re.compile(
r"(?:og|flowdeck|tiktak|kanbante|shaarit|agent)([a-z0-9-]*)\.dracodev\.net"
r"(?:og|flowdeck|tiktak|kanbante|shaarit|agent|hub)([a-z0-9-]*)\.dracodev\.net"
)
@@ -311,6 +311,7 @@ class UrlsDraco:
flowdeck_url: str
tiktak_url: str
shaarit_url: str # ShaarIt (barre v0.2.0 ; explicite = DRACO_SHAARIT_URL)
hub_url: str # Hub (barre v0.3.0 ; explicite = DRACO_HUB_URL)
public_url: str # Kanbante elle-même (KANBANTE_PUBLIC_URL)
agent_url: str # base du service d'agents (panneau + CSP)
@@ -352,6 +353,7 @@ def resoudre_urls_draco(
shaarit_url=resoudre(
"DRACO_SHAARIT_URL", "shaarit", base.shaarit_url
),
hub_url=resoudre("DRACO_HUB_URL", "hub", base.hub_url),
public_url=resoudre(
"KANBANTE_PUBLIC_URL", "kanbante", base.public_url
),
@@ -402,6 +404,7 @@ class Settings:
flowdeck_url: str = "https://flowdeck.dracodev.net"
tiktak_url: str = "https://tiktak.dracodev.net"
shaarit_url: str = "https://shaarit.dracodev.net"
hub_url: str = "https://hub.dracodev.net"
agent_url: str = "https://agent.dracodev.net"
archive_suggest_days: int = 180
agent_evenements_url: str = "https://agent.dracodev.net/api/v1/evenements"
@@ -512,6 +515,12 @@ def _env_settings() -> Settings:
"https://shaarit.dracodev.net",
suffixe_agent,
),
hub_url=_url_soeur_draco(
"DRACO_HUB_URL",
"hub",
"https://hub.dracodev.net",
suffixe_agent,
),
agent_url=agent_url,
archive_suggest_days=_env_int("KANBANTE_ARCHIVE_SUGGEST_DAYS", 180),
agent_evenements_url=agent_evenements_url,
+1
View File
@@ -2251,6 +2251,7 @@ def render(
"tiktak": _urls.tiktak_url,
"kanbante": _urls.public_url,
"shaarit": _urls.shaarit_url,
"hub": _urls.hub_url,
},
)
context.setdefault("agent_url", _urls.agent_url)
+24 -9
View File
@@ -1,13 +1,19 @@
{# Barre d'apps commune dracodev — Fusion ACC-1 (issue kanbante#28).
Snippet vendangé depuis Projets/dracodev-commons v0.2.0
(ui/barre-apps/ @70c837a, PR commons #7) : structure du fragment
Snippet vendangé depuis Projets/dracodev-commons v0.3.0
(ui/barre-apps/, branche hub-menu-compte-v0-3-0 de la PR commons
#9 — HUB-1, fusion #115) : v0.3.0 = menu compte à liens Hub
(Télécharger, À Propos, Aides, Profil-lien ; base
draco_urls.hub en urls.hub ci-dessous) et branche « profil »
de onAction RETIRÉE (voir le commentaire dans la configuration —
la page /profile de Kanbante existe toujours, elle n'est plus
la cible du menu compte). Structure du fragment
commons portée ici ; seule adaptation locale (0.32.0, dev/prod)
= les URL des apps et l'adresse du service d'agents sont
INJECTÉES par l'hôte depuis app.config (draco_urls / agent_url,
défauts = noms officiels) — aucun nom public codé en dur dans
ce gabarit ni dans draco-panneau.js. Le CSS et le JS, eux, sont
vendangés VERBATIM (static/css/draco-barre.css,
static/js/draco-barre.js — voir CHANGELOG 0.45.6).
static/js/draco-barre.js — voir CHANGELOG 0.45.9).
v0.2.0 (phase 3 ShaarIt) : nouvel onglet ShaarIt
(data-app="shaarit", draco_urls.shaarit), APRÈS Kanbante et
AVANT l'onglet agent ; couleur émeraude #059669, logo
@@ -112,6 +118,12 @@
recherche partout : page /recherche (Fusion #68). */
window.DRACO_BAR_CONFIG = {
current: "kanbante",
/* Barre v0.3.0 (HUB-1) : base du Hub résolue par l'hôte
(draco_urls.hub — DRACO_HUB_URL explicite, hôte de la
requête, dérivation par l'agent, défaut officiel) ;
le Hub n'a pas d'onglet, urls.hub alimente les liens
du menu compte. */
urls: { hub: "{{ draco_urls.hub }}/" },
/* v0.1.6 : user = initiale auth_user ou K (draco_avatar). Sans
cfg.user, le nouveau JS dériverait l'initiale du title
("Opérateur Kanbante" → "O"), qui est un libellé de rôle et
@@ -132,12 +144,15 @@
};
if (act === "domaine") { try { localStorage.setItem("draco_domain", el.dataset.dom); } catch (e) { } return; }
if (act === "rail") { var b = document.getElementById("side-collapse"); if (b) b.click(); return; }
/* Menu compte (image 2) : ces deux actions étaient relayées
par draco-barre.js mais jamais prises en charge ici —
le menu se fermait sans rien faire. En mobile, c'est le
seul accès au profil et à la déconnexion (le pied de
sidebar était masqué). */
if (act === "profil") { location.href = "/profile"; return; }
/* Menu compte — barre v0.3.0 (HUB-1) : « Profil » n'est
PLUS relayé par la barre : c'est un vrai lien vers
<hub>/profil (un seul Profil, celui du Hub — décision
du plan Hub). L'ancienne branche onAction("profil")
qui menait à la page /profile propre à Kanbante est
donc RETIRÉE : la page /profile elle-même continue
d'exister (jetons API, réglages du compte Kanbante),
mais elle n'est plus la cible du menu compte de la
barre. « Déconnexion » reste relayée, inchangée. */
if (act === "deconnexion") { location.href = "/logout"; return; }
if (act === "palette") { location.href = "/recherche"; return; }
if (act === "alertes") { if (window.DRACO_ALERTES) { window.DRACO_ALERTES.open(); } else { location.href = "/activity"; } return; }