refactoring

This commit is contained in:
lionsdev
2026-02-15 14:41:13 +00:00
parent 95a21dcde8
commit 91cbede16f
69 changed files with 5196 additions and 6673 deletions

View File

@@ -1,117 +1,65 @@
# ============================================================================
# Lions User Manager Client - Configuration Commune
# Lions User Manager Client - Configuration COMMUNE (tous environnements)
# ============================================================================
# Ce fichier contient UNIQUEMENT la configuration commune à tous les environnements
# Les configurations spécifiques sont dans:
# - application-dev.properties (développement)
# - application-prod.properties (production)
# Ce fichier contient UNIQUEMENT les propriétés communes à dev et prod.
# Les configs OIDC, HTTP port, etc. vont dans application-dev/prod.properties
# ============================================================================
# ============================================
# Application Info
# Application Info (COMMUNE)
# ============================================
quarkus.application.name=lions-user-manager-client
quarkus.application.version=1.0.0
# ============================================
# Configuration HTTP (commune)
# ============================================
quarkus.http.host=0.0.0.0
quarkus.http.root-path=/
quarkus.http.so-reuse-port=true
# Configuration Session HTTP
quarkus.http.session-timeout=60m
quarkus.http.session-cookie-same-site=lax
quarkus.http.session-cookie-http-only=true
# ============================================
# Logging (configuration de base)
# ============================================
quarkus.log.console.enable=true
quarkus.log.console.level=INFO
quarkus.log.console.format=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{2.}] (%t) %s%e%n
quarkus.log.category."dev.lions.user.manager".level=DEBUG
# ============================================
# MyFaces Configuration (commune)
# ============================================
quarkus.myfaces.state-saving-method=server
quarkus.myfaces.number-of-views-in-session=100
quarkus.myfaces.number-of-sequential-views-in-session=20
quarkus.myfaces.serialize-state-in-session=false
quarkus.myfaces.client-view-state-timeout=7200000
# Redirection vers la page d'accueil publique (HTML statique) en cas de vue expirée
quarkus.myfaces.view-expired-exception-handler-redirect-page=/index.html?expired=true
quarkus.myfaces.strict-xhtml-links=false
quarkus.myfaces.refresh-transient-build-on-pss=true
quarkus.myfaces.resource-max-time-expires=604800000
quarkus.myfaces.resource-buffer-size=2048
quarkus.myfaces.automatic-extensionless-mapping=true
# ============================================
# PrimeFaces Configuration
# ============================================
primefaces.THEME=freya
primefaces.FONT_AWESOME=true
primefaces.CLIENT_SIDE_VALIDATION=true
primefaces.MOVE_SCRIPTS_TO_BOTTOM=true
primefaces.CSP=false
primefaces.UPLOADER=commons
primefaces.AUTO_UPDATE=false
primefaces.CACHE_PROVIDER=org.primefaces.cache.DefaultCacheProvider
# ============================================
# Configuration REST Client (commune)
# REST Client Configuration (COMMUNE)
# ============================================
# Config pour les clients service/ (UserServiceClient, RoleServiceClient, AuditServiceClient, etc.)
quarkus.rest-client."lions-user-manager-api".scope=jakarta.inject.Singleton
quarkus.rest-client."lions-user-manager-api".connect-timeout=5000
quarkus.rest-client."lions-user-manager-api".read-timeout=30000
quarkus.rest-client."lions-user-manager-api".bearer-token-propagation=true
# Config pour les clients api/ (AuditRestClient, HealthRestClient, RoleRestClient, etc.)
quarkus.rest-client."user-api".scope=jakarta.inject.Singleton
quarkus.rest-client."user-api".connect-timeout=5000
quarkus.rest-client."user-api".read-timeout=30000
# ============================================
# Configuration OIDC - Base (commune)
# OIDC Configuration (COMMUNE)
# ============================================
quarkus.oidc.enabled=true
quarkus.oidc.application-type=web-app
quarkus.oidc.authentication.redirect-path=/auth/callback
quarkus.oidc.authentication.restore-path-after-redirect=true
quarkus.oidc.authentication.scopes=openid,profile,email,roles
quarkus.oidc.authentication.java-script-auto-redirect=false
quarkus.oidc.discovery-enabled=true
quarkus.oidc.verify-access-token=true
quarkus.security.auth.enabled=true
# Extraction des rôles depuis le token
quarkus.oidc.roles.role-claim-path=realm_access/roles
quarkus.oidc.roles.source=accesstoken
quarkus.oidc.application-type=web-app
quarkus.oidc.authentication.redirect-path=/
quarkus.oidc.authentication.restore-path-after-redirect=true
quarkus.oidc.authentication.pkce-required=true
quarkus.oidc.logout.path=/auth/logout
quarkus.oidc.logout.post-logout-path=/
# ============================================
# Chemins publics (non protégés par OIDC)
# HTTP Security Policies (COMMUNE)
# ============================================
quarkus.http.auth.permission.public.paths=/,/index.html,/index.xhtml,/index,/pages/public/*,/auth/*,/q/*,/q/oidc/*,/favicon.ico,/resources/*,/META-INF/resources/*,/images/*,/jakarta.faces.resource/*,/javax.faces.resource/*
quarkus.http.auth.permission.public.policy=permit
# Protéger toutes les pages JSF - force la redirection vers Keycloak login
quarkus.http.auth.permission.authenticated-pages.paths=/pages/*
quarkus.http.auth.permission.authenticated-pages.policy=authenticated
# Chemins protégés (requièrent authentification)
quarkus.http.auth.permission.authenticated.paths=/pages/user-manager/*
quarkus.http.auth.permission.authenticated.policy=authenticated
# Protéger la racine (index.xhtml / dashboard)
quarkus.http.auth.permission.authenticated-root.paths=/,/index.xhtml,/index.jsf
quarkus.http.auth.permission.authenticated-root.policy=authenticated
# Ressources publiques (CSS, JS, images, fonts, PrimeFaces resources)
quarkus.http.auth.permission.public-resources.paths=/jakarta.faces.resource/*,/resources/*,/css/*,/js/*,/images/*,/fonts/*,/favicon.ico
quarkus.http.auth.permission.public-resources.policy=permit
# Endpoint de logout (doit être accessible)
quarkus.http.auth.permission.logout.paths=/auth/logout
quarkus.http.auth.permission.logout.policy=authenticated
# Dev UI Quarkus (accessible en dev uniquement)
quarkus.http.auth.permission.dev-ui.paths=/q/*
quarkus.http.auth.permission.dev-ui.policy=permit
# ============================================
# CORS (configuration de base)
# Keycloak Dev Services désactivé (COMMUNE)
# ============================================
quarkus.http.cors=true
quarkus.http.cors.methods=GET,POST,PUT,DELETE,OPTIONS
quarkus.http.cors.headers=Accept,Authorization,Content-Type,X-Requested-With
# ============================================
# Health Checks
# ============================================
quarkus.smallrye-health.root-path=/health
quarkus.smallrye-health.liveness-path=/health/live
quarkus.smallrye-health.readiness-path=/health/ready
# ============================================
# Metrics
# ============================================
quarkus.micrometer.export.prometheus.enabled=true
quarkus.micrometer.export.prometheus.path=/metrics
quarkus.keycloak.devservices.enabled=false