diff --git a/README.md b/README.md index d89333b..c3411aa 100644 --- a/README.md +++ b/README.md @@ -21,14 +21,20 @@ | Page | Bean | Description | |------|------|-------------| -| `/dashboard.xhtml` | `DashboardBean` | Vue d'ensemble et statistiques | -| `/users/list.xhtml` | `UserListBean` | Liste paginée avec filtres et export CSV | -| `/users/creation.xhtml` | `UserCreationBean` | Formulaire de création | -| `/users/profil.xhtml` | `UserProfilBean` | Édition profil utilisateur | -| `/roles/gestion.xhtml` | `RoleGestionBean` | Gestion des rôles par realm | -| `/audit/consultation.xhtml` | `AuditConsultationBean` | Consultation des logs d'audit | -| `/sync/dashboard.xhtml` | `SyncDashboardBean` | État et pilotage des synchronisations | -| `/realms/assignment.xhtml` | `RealmAssignmentBean` | Assignation utilisateurs/realms | +| `/pages/user-manager/dashboard.xhtml` | `DashboardBean` | Vue d'ensemble et KPIs (composant `lions-stat-card`) | +| `/pages/user-manager/users/list.xhtml` | `UserListBean` | Liste paginée avec filtres et export CSV | +| `/pages/user-manager/users/create.xhtml` | `UserCreationBean` | Formulaire de création | +| `/pages/user-manager/users/edit.xhtml` | `UserEditBean` | Édition d'un utilisateur | +| `/pages/user-manager/users/view.xhtml` | `UserViewBean` | Détail utilisateur | +| `/pages/user-manager/users/profile.xhtml` | `UserProfilBean` | Profil connecté | +| `/pages/user-manager/roles/list.xhtml` | `RoleListBean` | Gestion des rôles par realm | +| `/pages/user-manager/audit/logs.xhtml` | `AuditLogsBean` | Consultation des logs d'audit | +| `/pages/user-manager/sync/dashboard.xhtml` | `SyncDashboardBean` | État et pilotage des synchronisations | +| `/pages/user-manager/settings.xhtml` | `SettingsBean` | Paramètres utilisateur | +| `/pages/user-manager/help.xhtml` | — | Base de connaissance opérationnelle LUM | +| `/pages/admin/realm-assignments.xhtml` | `RealmAssignmentBean` | Assignation utilisateurs/realms | + +Toutes les pages utilisent les composants partagés `lions-faces-layout:1.0.4` (refonte UI 2026-04) : `lions-page-header`, `lions-card`, `lions-stat-card`, `lions-empty-state`. --- @@ -36,9 +42,10 @@ | Composant | Technologie | |-----------|-------------| -| Framework | Quarkus 3.17.8 + Undertow (Servlet) | +| Framework | Quarkus 3.27.3 LTS + MyFaces (Servlet) | | UI | PrimeFaces 14.0.5 (Jakarta) | | Thème | Freya Enterprise | +| Composants partagés | `lions-faces-layout:1.0.4` (layout Freya + OIDC beans + composants `lions-page-header`, `lions-card`, `lions-stat-card`, `lions-empty-state`) | | Auth | `quarkus-oidc` (Keycloak) + PKCE | | REST Client | MicroProfile REST Client (`quarkus-rest-client-jackson`) | | Token Propagation | `quarkus-rest-client-oidc-token-propagation` | @@ -49,7 +56,7 @@ ### Prérequis -- Java 17+, Maven 3.9+ +- Java 21, Maven 3.9+ - Keycloak sur `localhost:8180` (realm `lions-user-manager` configuré) - Backend `server-impl` démarré sur `localhost:8081` @@ -103,13 +110,18 @@ mvn clean package -P prod -DskipTests ```bash lionsctl pipeline \ -u https://git.lions.dev/lionsdev/lions-user-manager-client-quarkus-primefaces-freya \ - -b main -j 17 -e production -c k1 -p prod + -b main -j 21 -e production -c k1 -p prod ``` -**Pipeline** : clone → `mvn package -P prod` → `docker build -f Dockerfile.prod` → push `registry.lions.dev` → `kubectl apply` → health check +**Pipeline** : clone → `mvn package -P prod` → `docker build -f Dockerfile` (racine, fast-jar, `ubi8/openjdk-21:1.21`, UID 1001) → push `registry.lions.dev` → `kubectl apply` → health check **URL prod** : `https://users.lions.dev` +**Pré-requis infrastructure** avant pipeline : +- Deployment Helm existant supprimé au préalable (selector immutable) +- Après pipeline : patcher le deployment avec `envFrom: [lions-user-manager-keycloak-eso, lions-user-manager-client-oidc-eso]` pour injecter `KEYCLOAK_CLIENT_SECRET` depuis ESO/Vault (lionsctl n'injecte pas les secrets OIDC par défaut) +- Service selector à repatcher (retirer les labels Helm `app.kubernetes.io/*`) + --- ## Structure @@ -138,4 +150,4 @@ src/main/ ## Licence -Propriétaire — Lions Dev © 2025 +Propriétaire — Lions Dev © 2026