lions-user-manager-client-quarkus-primefaces-freya

Interface web d'administration — Quarkus + JSF + PrimeFaces Freya

Dépôt Git

https://git.lions.dev/lionsdev/lions-user-manager-client-quarkus-primefaces-freya


Responsabilités

  • Interface d'administration des utilisateurs et rôles Keycloak
  • Authentification SSO via OIDC (Keycloak)
  • Communication avec le backend via MicroProfile REST Client
  • Dashboard, gestion CRUD, audit, synchronisation, assignation de realms

Pages

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

Stack

Composant Technologie
Framework Quarkus 3.17.8 + Undertow (Servlet)
UI PrimeFaces 14.0.5 (Jakarta)
Thème Freya Enterprise
Auth quarkus-oidc (Keycloak) + PKCE
REST Client MicroProfile REST Client (quarkus-rest-client-jackson)
Token Propagation quarkus-rest-client-oidc-token-propagation

Développement local

Prérequis

  • Java 17+, Maven 3.9+
  • Keycloak sur localhost:8180 (realm lions-user-manager configuré)
  • Backend server-impl démarré sur localhost:8081

Démarrage

mvn quarkus:dev

Application disponible sur : http://localhost:8082

Configuration dev

Fichier : src/main/resources/application-dev.properties

quarkus.http.port=8082
quarkus.oidc.auth-server-url=http://localhost:8180/realms/lions-user-manager
lions.user.manager.backend.url=http://localhost:8081

Configuration production

Fichier : src/main/resources/application-prod.properties

Variable Description
KEYCLOAK_AUTH_SERVER_URL URL du realm Keycloak
KEYCLOAK_CLIENT_ID Client OIDC (défaut : lions-user-manager-client)
OIDC_ENCRYPTION_SECRET Secret de chiffrement des tokens (32 caractères min)
LIONS_USER_MANAGER_BACKEND_URL URL de l'API backend

Build

# Build standard (développement)
mvn clean package -DskipTests

# Build production
mvn clean package -P prod -DskipTests

Déploiement (lionsctl)

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

Pipeline : clone → mvn package -P proddocker build -f Dockerfile.prod → push registry.lions.devkubectl apply → health check

URL prod : https://users.lions.dev


Structure

src/main/
├── java/dev/lions/user/manager/client/
│   ├── bean/          # Beans JSF (@Named, @ViewScoped / @SessionScoped)
│   └── client/        # REST Clients (UserRestClient, RoleRestClient, ...)
└── resources/
    ├── META-INF/resources/
    │   ├── templates/
    │   │   └── components/  # Composants PrimeFaces réutilisables
    │   ├── dashboard.xhtml
    │   ├── users/
    │   ├── roles/
    │   ├── audit/
    │   ├── sync/
    │   └── realms/
    ├── application.properties
    ├── application-dev.properties
    └── application-prod.properties

Licence

Propriétaire — Lions Dev © 2025

Description
No description provided
Readme 11 MiB
Languages
HTML 42.3%
CSS 30.2%
Java 24.4%
JavaScript 3%