⚠️ POINT SENSIBLE — arbitrage demandé à la fusion : la garde data-theme du CSS v0.2.0 corrige le piège de thème de Flowdeck (changement de comportement visible)
Le CSS v0.2.0 de la barre contient la garde data-theme : ses blocs prefers-color-scheme sont préfixés html:not([data-theme]). La copie v0.1.11 vendangée jusqu'ici n'avait pas cette garde — c'est précisément le piège connu chez Flowdeck : système en mode sombre + thème clair choisi dans l'app (fd_theme → data-theme="light" sur <html>) ⇒ la barre s'affichait quand même en sombre, car la règle prefers-color-scheme du CSS vendangé s'appliquait sans tenir compte du data-theme posé. Avec cette re-vendange, la barre suit le thème choisi dans l'app : changement de comportement visible, à arbitrer par Bruno à la fusion (le CSS de la barre, et lui seul, change sur ce point).
Quoi
Re-vendange de la barre d'apps dracodev-commons v0.2.0 (source : branche shaarit-phase3-barre-contrats, commit 70c837a1734939b76d35a9679708e88456726f52, PR commons #7) — vague 3a de la phase 3 ShaarIt. Version Flowdeck : 7.84.9 → 7.84.10 (correctif, comme les re-vendanges précédentes 7.84.7 → 7.84.8 → 7.84.9). Dépôt canonique vérifié via l'API Gitea : bruno/flowdeck (200) — Projets/flowdeck n'existe pas (404).
Onglet ShaarIt (5e app, bookmarks) ajouté après Kanbante et avant l'onglet Console Spark dans app/templates/_draco_bar.html ; le menu de la marque, construit depuis les onglets par le JS vendangé, l'inclut automatiquement.
Le fragment HTML reste adapté par l'hôte via Jinja ({{ draco_urls().<app> }}, nonce CSP, asset_version) — mécanisme d'adaptation existant de Flowdeck, conservé tel quel.
URL ShaarIt dérivée, jamais codée en dur : app/services/draco_urls.py gagne la clé shaarit par le même mécanisme que les autres sœurs — défaut officiel https://shaarit.dracodev.net (OFFICIELLES), explicite SHAARIT_URL / settings.shaarit_url (ajouté à app/config.py et documenté dans .env.example), dérivation par l'hôte de la requête (motif fermé) et par l'hôte de l'agent (shaarit-dev en dev). draco_urls().shaarit alimente le href de l'onglet ; le JS vendangé apporte en plus ses propres défaut/dérivation -dev. Les listes fermées des consommateurs CORS/CSP/recherche (clés énumérées explicitement) ne changent pas.
pytest tests/test_external_refs.py tests/test_recherche_cors_doublons.py tests/test_recherche.py tests/test_recherche_onglets.py : 35/35 ; ruff check sur les fichiers Python touchés : propre.
Rendu Jinja réel vérifié : le fragment rendu donne data-app="shaarit" href="https://shaarit.dracodev.net/" sans hôte de requête, et https://shaarit-dev.dracodev.net/ avec l'hôte de requête flowdeck-dev.dracodev.net (dérivation prouvée, ordre Kanbante < ShaarIt < agent respecté).
Diff limité au périmètre barre + résolution d'URL ShaarIt + version : aucun autre fichier touché. Aucune fusion, aucune release — la fusion reste l'acte de Bruno.
## ⚠️ POINT SENSIBLE — arbitrage demandé à la fusion : la garde `data-theme` du CSS v0.2.0 corrige le piège de thème de Flowdeck (changement de comportement visible)
Le CSS v0.2.0 de la barre contient la **garde `data-theme`** : ses blocs `prefers-color-scheme` sont préfixés `html:not([data-theme])`. La copie v0.1.11 vendangée jusqu'ici **n'avait pas cette garde** — c'est précisément le **piège connu chez Flowdeck** : système en mode sombre + thème clair choisi dans l'app (`fd_theme` → `data-theme="light"` sur `<html>`) ⇒ la barre s'affichait quand même en sombre, car la règle `prefers-color-scheme` du CSS vendangé s'appliquait sans tenir compte du `data-theme` posé. Avec cette re-vendange, la barre suit le thème choisi dans l'app : **changement de comportement visible, à arbitrer par Bruno à la fusion** (le CSS de la barre, et lui seul, change sur ce point).
## Quoi
Re-vendange de la barre d'apps **dracodev-commons v0.2.0** (source : branche `shaarit-phase3-barre-contrats`, commit `70c837a1734939b76d35a9679708e88456726f52`, PR commons #7) — vague 3a de la phase 3 ShaarIt. Version Flowdeck : **7.84.9 → 7.84.10** (correctif, comme les re-vendanges précédentes 7.84.7 → 7.84.8 → 7.84.9). Dépôt canonique vérifié via l'API Gitea : `bruno/flowdeck` (200) — `Projets/flowdeck` n'existe pas (404).
- **Onglet ShaarIt** (5e app, bookmarks) ajouté après Kanbante et avant l'onglet Console Spark dans `app/templates/_draco_bar.html` ; le menu de la marque, construit depuis les onglets par le JS vendangé, l'inclut automatiquement.
- **Verbatim prouvé (SHA-256, source @70c837a → copie)** :
- `barre-apps.css` `abc0c3b2…fab` → `static/css/draco-barre.css` `abc0c3b2…fab` ✅
- `barre-apps.js` `24efe399…e1` → `static/js/vendor/draco-barre.js` `24efe399…e1` ✅
- `logos/shaarit.svg` `faf0c8a1…34` → `static/img/logos/shaarit.svg` `faf0c8a1…34` ✅ (nouveau)
- Le fragment HTML reste **adapté par l'hôte** via Jinja (`{{ draco_urls().<app> }}`, nonce CSP, `asset_version`) — mécanisme d'adaptation existant de Flowdeck, conservé tel quel.
- **URL ShaarIt dérivée, jamais codée en dur** : `app/services/draco_urls.py` gagne la clé `shaarit` par le même mécanisme que les autres sœurs — défaut officiel `https://shaarit.dracodev.net` (`OFFICIELLES`), explicite `SHAARIT_URL` / `settings.shaarit_url` (ajouté à `app/config.py` et documenté dans `.env.example`), dérivation par l'hôte de la requête (motif fermé) et par l'hôte de l'agent (`shaarit-dev` en dev). `draco_urls().shaarit` alimente le href de l'onglet ; le JS vendangé apporte en plus ses propres défaut/dérivation `-dev`. Les listes fermées des consommateurs CORS/CSP/recherche (clés énumérées explicitement) ne changent pas.
## Vérifications
- `pytest tests/test_draco_bar_texte.py tests/test_draco_urls_devprod.py tests/test_draco_alertes.py tests/test_fusion_draco.py` : **40/40** (dont 2 tests ajoutés : onglet ShaarIt + garde dans `test_draco_bar_texte.py`, défaut/dérivations/explicite ShaarIt dans `test_draco_urls_devprod.py`).
- `pytest tests/test_external_refs.py tests/test_recherche_cors_doublons.py tests/test_recherche.py tests/test_recherche_onglets.py` : **35/35** ; `ruff check` sur les fichiers Python touchés : propre.
- **Rendu Jinja réel vérifié** : le fragment rendu donne `data-app="shaarit" href="https://shaarit.dracodev.net/"` sans hôte de requête, et `https://shaarit-dev.dracodev.net/` avec l'hôte de requête `flowdeck-dev.dracodev.net` (dérivation prouvée, ordre Kanbante < ShaarIt < agent respecté).
- Diff limité au périmètre barre + résolution d'URL ShaarIt + version : aucun autre fichier touché. **Aucune fusion, aucune release** — la fusion reste l'acte de Bruno.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
⚠️ POINT SENSIBLE — arbitrage demandé à la fusion : la garde
data-themedu CSS v0.2.0 corrige le piège de thème de Flowdeck (changement de comportement visible)Le CSS v0.2.0 de la barre contient la garde
data-theme: ses blocsprefers-color-schemesont préfixéshtml:not([data-theme]). La copie v0.1.11 vendangée jusqu'ici n'avait pas cette garde — c'est précisément le piège connu chez Flowdeck : système en mode sombre + thème clair choisi dans l'app (fd_theme→data-theme="light"sur<html>) ⇒ la barre s'affichait quand même en sombre, car la règleprefers-color-schemedu CSS vendangé s'appliquait sans tenir compte dudata-themeposé. Avec cette re-vendange, la barre suit le thème choisi dans l'app : changement de comportement visible, à arbitrer par Bruno à la fusion (le CSS de la barre, et lui seul, change sur ce point).Quoi
Re-vendange de la barre d'apps dracodev-commons v0.2.0 (source : branche
shaarit-phase3-barre-contrats, commit70c837a1734939b76d35a9679708e88456726f52, PR commons #7) — vague 3a de la phase 3 ShaarIt. Version Flowdeck : 7.84.9 → 7.84.10 (correctif, comme les re-vendanges précédentes 7.84.7 → 7.84.8 → 7.84.9). Dépôt canonique vérifié via l'API Gitea :bruno/flowdeck(200) —Projets/flowdeckn'existe pas (404).app/templates/_draco_bar.html; le menu de la marque, construit depuis les onglets par le JS vendangé, l'inclut automatiquement.barre-apps.cssabc0c3b2…fab→static/css/draco-barre.cssabc0c3b2…fab✅barre-apps.js24efe399…e1→static/js/vendor/draco-barre.js24efe399…e1✅logos/shaarit.svgfaf0c8a1…34→static/img/logos/shaarit.svgfaf0c8a1…34✅ (nouveau){{ draco_urls().<app> }}, nonce CSP,asset_version) — mécanisme d'adaptation existant de Flowdeck, conservé tel quel.app/services/draco_urls.pygagne la cléshaaritpar le même mécanisme que les autres sœurs — défaut officielhttps://shaarit.dracodev.net(OFFICIELLES), expliciteSHAARIT_URL/settings.shaarit_url(ajouté àapp/config.pyet documenté dans.env.example), dérivation par l'hôte de la requête (motif fermé) et par l'hôte de l'agent (shaarit-deven dev).draco_urls().shaaritalimente le href de l'onglet ; le JS vendangé apporte en plus ses propres défaut/dérivation-dev. Les listes fermées des consommateurs CORS/CSP/recherche (clés énumérées explicitement) ne changent pas.Vérifications
pytest tests/test_draco_bar_texte.py tests/test_draco_urls_devprod.py tests/test_draco_alertes.py tests/test_fusion_draco.py: 40/40 (dont 2 tests ajoutés : onglet ShaarIt + garde danstest_draco_bar_texte.py, défaut/dérivations/explicite ShaarIt danstest_draco_urls_devprod.py).pytest tests/test_external_refs.py tests/test_recherche_cors_doublons.py tests/test_recherche.py tests/test_recherche_onglets.py: 35/35 ;ruff checksur les fichiers Python touchés : propre.data-app="shaarit" href="https://shaarit.dracodev.net/"sans hôte de requête, ethttps://shaarit-dev.dracodev.net/avec l'hôte de requêteflowdeck-dev.dracodev.net(dérivation prouvée, ordre Kanbante < ShaarIt < agent respecté).