# Configuration de production pour BTP Xpress Client # Variables d'environnement requises : # - BTPXPRESS_API_BASE_URL : URL de l'API backend # Application quarkus.application.name=BTP Xpress Client quarkus.application.version=1.0.0 # Configuration PrimeFaces primefaces.THEME=freya-purple-light primefaces.FONT_AWESOME=true primefaces.UPLOADER=auto primefaces.MOVE_SCRIPTS_TO_BOTTOM=true primefaces.CLIENT_SIDE_VALIDATION=true # Configuration JSF - Production jakarta.faces.PROJECT_STAGE=Production jakarta.faces.STATE_SAVING_METHOD=server jakarta.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE=true jakarta.faces.PARTIAL_STATE_SAVING=true jakarta.faces.VALIDATE_EMPTY_FIELDS=auto # Configuration Arc quarkus.arc.remove-unused-beans=true # Serveur HTTP quarkus.http.port=8081 quarkus.http.host=0.0.0.0 # CORS Configuration pour production # Frontend accessible depuis btpxpress.lions.dev quarkus.http.cors=true quarkus.http.cors.origins=https://btpxpress.lions.dev,https://www.btpxpress.lions.dev quarkus.http.cors.methods=GET,POST,PUT,DELETE,OPTIONS,PATCH quarkus.http.cors.headers=Content-Type,Authorization,X-Requested-With,X-CSRF-Token quarkus.http.cors.exposed-headers=Content-Disposition quarkus.http.cors.access-control-max-age=3600 quarkus.http.cors.access-control-allow-credentials=true # Configuration OIDC / Keycloak pour production quarkus.oidc.enabled=true quarkus.oidc.auth-server-url=https://security.lions.dev/realms/btpxpress quarkus.oidc.client-id=btpxpress-frontend quarkus.oidc.application-type=web-app quarkus.oidc.tls.verification=required # Authentification quarkus.oidc.authentication.redirect-path=/ quarkus.oidc.authentication.restore-path-after-redirect=true quarkus.oidc.authentication.cookie-path=/ quarkus.oidc.authentication.session-age-extension=PT30M quarkus.oidc.authentication.cookie-same-site=strict # Token configuration quarkus.oidc.token.issuer=https://security.lions.dev/realms/btpxpress quarkus.oidc.discovery-enabled=true # Token state manager quarkus.oidc.token-state-manager.split-tokens=true quarkus.oidc.token-state-manager.strategy=id-refresh-tokens quarkus.oidc.token-state-manager.encryption-required=true quarkus.oidc.token-state-manager.cookie-max-size=8192 quarkus.oidc.token-state-manager.cookie-secure=true quarkus.oidc.token-state-manager.cookie-http-only=true # Limites HTTP pour sécurité quarkus.http.max-headers-size=128K quarkus.http.max-request-body-size=10M quarkus.http.max-parameters=1000 quarkus.http.max-parameter-size=2048 quarkus.vertx.max-headers-size=128K vertx.http.maxHeaderSize=131072 # Configuration sécurité quarkus.security.users.embedded.enabled=false quarkus.http.auth.proactive=true quarkus.security.deny-unannotated-endpoints=false # Permissions pour accès public aux ressources statiques et pages publiques # Format Quarkus : ** pour plusieurs segments de path quarkus.http.auth.permission.public.paths=/resources/**,/jakarta.faces.resource/**,/static/**,/webjars/** quarkus.http.auth.permission.public.policy=permit # Authentification requise pour toutes les autres pages quarkus.http.auth.permission.authenticated.paths=/* quarkus.http.auth.permission.authenticated.policy=authenticated # Configuration API Backend btpxpress.api.base-url=${BTPXPRESS_API_BASE_URL:https://api.btpxpress.lions.dev} btpxpress.api.timeout=30000 quarkus.rest-client."dev.lions.btpxpress.service.BtpXpressApiClient".url=${btpxpress.api.base-url} quarkus.rest-client."dev.lions.btpxpress.service.BtpXpressApiClient".scope=jakarta.inject.Singleton # Locale quarkus.locale=fr_FR # Logging - Production quarkus.log.level=INFO quarkus.log.category."dev.lions.btpxpress".level=INFO quarkus.log.category."org.hibernate".level=WARN quarkus.log.category."io.quarkus".level=INFO quarkus.log.category."io.quarkus.oidc".level=WARN quarkus.log.console.enable=true quarkus.log.console.format=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{2.}] (%t) %s%e%n # Cache optimisé pour production quarkus.cache.caffeine.default.initial-capacity=200 quarkus.cache.caffeine.default.maximum-size=2000 quarkus.cache.caffeine.default.expire-after-write=PT1H # Compression quarkus.http.enable-compression=true