docs(keycloak) : documenter le thème Alliance + la compatibilité MAJ
README du rôle : section Thème (vars login/account/theme_cache, fonctionnement, piège cache 'immuable', mise en garde MAJ Keycloak — calque PatternFly/parents, pas de réapparition de l'ancien thème mais retouche possible après MAJ majeure, check-list). + README court dans le dossier du thème. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
c785e41520
commit
ecc7b2767b
2 changed files with 54 additions and 0 deletions
|
|
@ -30,6 +30,36 @@ vault_bd_keycloak: "..." # mot de passe
|
|||
| `serveur_keycloak_hostname` | `keycloak.exemple.internal` | Hostname public (via nginx) |
|
||||
| `serveur_keycloak_db_host` | `10.0.13.11` | IP de data-01 (serveur_postgresql) |
|
||||
| `serveur_keycloak_admin_user` | `admin` | Admin bootstrap |
|
||||
| `serveur_keycloak_login_theme` | `""` | Thème de login du realm (vide = défaut Keycloak) |
|
||||
| `serveur_keycloak_account_theme` | `""` | Thème de la console de compte |
|
||||
| `serveur_keycloak_theme_cache` | `true` | Cache des ressources de thème (`true`=prod/perf, `false`=lab/itération) |
|
||||
|
||||
## Thème (identité Alliance Boréale)
|
||||
Un thème `alliance-boreale` (dans `files/themes/`) applique l'identité visuelle du site de
|
||||
l'Alliance : **ciel nocturne aurore + constellation animée**, cartes en verre, accents aurore,
|
||||
logo étoile, police système. Il couvre le **login** (`login/`) et la **console de compte**
|
||||
(`account/`).
|
||||
|
||||
**Comment ça marche :**
|
||||
- `theme.properties` : `parent=keycloak` (login) / `parent=keycloak.v3` (account) + `styles=` (CSS)
|
||||
+ `scripts=` (la constellation JS). C'est un **calque CSS/JS** posé sur la structure PatternFly de Keycloak.
|
||||
- Déployé dans `{{ serveur_keycloak_home }}/themes/` (copie **inconditionnelle, à chaque déploiement**,
|
||||
*après* l'extraction de Keycloak) et appliqué au realm via `kcadm -s loginTheme/accountTheme`.
|
||||
- `serveur_keycloak_theme_cache: false` (lab) sert les ressources en `no-cache` — sinon Keycloak les
|
||||
marque « immuables » et le navigateur garde l'ancien CSS **même en `Ctrl+Shift+R`** (piège classique ;
|
||||
utiliser une fenêtre privée pour vérifier un changement).
|
||||
- Le JS de constellation s'initialise sur `DOMContentLoaded` (Keycloak injecte le `<script>` dans
|
||||
`<head>`, avant que `<body>` existe).
|
||||
|
||||
**⚠️ Mise à jour de Keycloak — à savoir :**
|
||||
- **Pas de réapparition de l'ancien thème** : le thème est codifié + réappliqué à chaque `make deployer`
|
||||
(la copie survit à l'extraction et n'a pas de garde `creates`). Une MAJ *via Set-OPS* réinstalle le thème.
|
||||
- **Le vrai risque = compatibilité** : le calque dépend des classes PatternFly (`.pf-c-*` / `.pf-v5-*`) et
|
||||
des **thèmes parents** (`keycloak`, `keycloak.v3`). Une MAJ *majeure* de Keycloak peut changer PatternFly
|
||||
ou renommer un parent → le rendu se dégrade ou tombe sur le défaut ; il faut alors **retoucher le CSS /
|
||||
le `parent`** (le thème ne « redevient » pas l'ancien, il demande un ajustement).
|
||||
- **Check-list MAJ** : après un bump de `serveur_keycloak_version`, ouvrir le **login** + la **console de
|
||||
compte** et vérifier le rendu (~2 min). La version étant épinglée, les MAJ sont délibérées.
|
||||
|
||||
## Notes / limites
|
||||
- **Version** : à confirmer/bumper ; l'URL suit le motif officiel des releases GitHub.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
# Thème Keycloak — Alliance Boréale
|
||||
|
||||
Identité visuelle de l'Alliance (aurore boréale + constellation) pour les pages **login**
|
||||
et la **console de compte** de Keycloak.
|
||||
|
||||
```
|
||||
login/ theme.properties (parent=keycloak) + css/alliance.css + js/constellation.js + img/logo.svg
|
||||
account/ theme.properties (parent=keycloak.v3) + css/account.css + js/constellation.js
|
||||
```
|
||||
|
||||
C'est un **calque CSS/JS** posé sur la structure PatternFly de Keycloak — pas une refonte.
|
||||
|
||||
## À savoir avant d'éditer
|
||||
- **Cache** : en lab, `serveur_keycloak_theme_cache: false` sert le CSS en `no-cache`. Sinon Keycloak
|
||||
le marque « immuable » → le navigateur garde l'ancien même en `Ctrl+Shift+R` (utiliser une fenêtre privée).
|
||||
- **Login** : structure serveur-rendue, sélecteurs `.login-pf-page` / `.pf-c-*` — thémable finement.
|
||||
- **Compte** : SPA React (PatternFly). Résiste au CSS ; on cible variables + sélecteurs `.pf-c-*`/`.pf-v5-*`.
|
||||
Pour cibler juste : F12 → inspecter l'élément → utiliser sa vraie classe.
|
||||
- **Constellation** : `js/constellation.js` s'initialise sur `DOMContentLoaded` (script injecté dans `<head>`).
|
||||
|
||||
## Compatibilité MAJ Keycloak
|
||||
Ce calque dépend des classes PatternFly et des thèmes parents (`keycloak`, `keycloak.v3`). Une MAJ
|
||||
majeure de Keycloak peut les changer → **vérifier le rendu login + compte après un bump de version**
|
||||
et retoucher au besoin. Détails : `roles/serveur_keycloak/README.md`.
|
||||
Loading…
Reference in a new issue