- Extension de BtpXpressApiClient avec endpoints dashboard (chantiers, finances, maintenance, ressources, alertes, KPIs) - Création de DashboardService pour récupérer et transformer les données API - Refactorisation complète de DashboardView : suppression de toutes les données fictives - Dashboard utilise maintenant uniquement les données réelles provenant de l'API backend - Correction des imports ViewScoped (jakarta.faces.view.ViewScoped) - Ajout du qualifier @RestClient pour l'injection CDI
159 lines
5.9 KiB
Properties
159 lines
5.9 KiB
Properties
# Configuration de développement pour BTP Xpress avec Keycloak
|
|
# Pour le développement local avec Keycloak sur security.lions.dev
|
|
|
|
# Base de données PostgreSQL pour développement et production
|
|
quarkus.datasource.db-kind=postgresql
|
|
quarkus.datasource.jdbc.url=${DB_URL:jdbc:postgresql://localhost:5433/btpxpress}
|
|
quarkus.datasource.username=${DB_USERNAME:btpxpress_user}
|
|
quarkus.datasource.password=${DB_PASSWORD:?DB_PASSWORD must be set}
|
|
|
|
# Configuration de performance et optimisation
|
|
quarkus.hibernate-orm.sql-load-script=no-file
|
|
quarkus.hibernate-orm.database.generation=drop-and-create
|
|
quarkus.hibernate-orm.log.sql=true
|
|
quarkus.hibernate-orm.log.bind-parameters=false
|
|
|
|
# Optimisation des connexions de base de données
|
|
quarkus.datasource.jdbc.max-size=20
|
|
quarkus.datasource.jdbc.min-size=5
|
|
quarkus.datasource.jdbc.initial-size=5
|
|
quarkus.datasource.jdbc.validation-query-sql=SELECT 1
|
|
quarkus.datasource.jdbc.background-validation=true
|
|
quarkus.datasource.jdbc.background-validation-millis=60000
|
|
quarkus.datasource.jdbc.idle-removal-interval=5M
|
|
quarkus.datasource.jdbc.max-lifetime=30M
|
|
quarkus.datasource.jdbc.leak-detection-interval=10M
|
|
|
|
# Optimisation du cache Hibernate
|
|
quarkus.hibernate-orm.second-level-caching-enabled=true
|
|
quarkus.hibernate-orm.cache.use-second-level-cache=true
|
|
quarkus.hibernate-orm.cache.use-query-cache=true
|
|
|
|
# Optimisation des requêtes
|
|
quarkus.hibernate-orm.query.plan-cache-max-size=2048
|
|
quarkus.hibernate-orm.query.plan-cache-max-soft-references=1024
|
|
quarkus.hibernate-orm.query.plan-cache-max-hard-references=64
|
|
|
|
# Optimisation du serveur HTTP
|
|
quarkus.http.io-threads=8
|
|
quarkus.http.worker-threads=200
|
|
quarkus.http.max-request-body-size=10M
|
|
quarkus.http.max-headers-size=8K
|
|
quarkus.http.max-parameters=1000
|
|
quarkus.http.max-parameter-size=2048
|
|
|
|
# Compression
|
|
quarkus.http.enable-compression=true
|
|
quarkus.http.compression-level=6
|
|
|
|
# Optimisation des threads
|
|
quarkus.thread-pool.core-threads=8
|
|
quarkus.thread-pool.max-threads=200
|
|
quarkus.thread-pool.queue-size=1000
|
|
quarkus.thread-pool.growth-resistance=0
|
|
quarkus.thread-pool.shutdown-interrupt=PT30S
|
|
|
|
# Flyway DéSACTIVé - Hibernate gére le schéma
|
|
quarkus.flyway.migrate-at-start=false
|
|
|
|
# Production PostgreSQL - utilise les mémes paramétres par défaut
|
|
%prod.quarkus.hibernate-orm.database.generation=${DB_GENERATION:update}
|
|
%prod.quarkus.hibernate-orm.log.sql=${LOG_SQL:false}
|
|
%prod.quarkus.hibernate-orm.log.bind-parameters=${LOG_BIND_PARAMS:false}
|
|
|
|
# Test PostgreSQL - utilise la méme base de données
|
|
%test.quarkus.hibernate-orm.database.generation=drop-and-create
|
|
%test.quarkus.hibernate-orm.log.sql=false
|
|
|
|
# Désactiver tous les dev services
|
|
quarkus.devservices.enabled=false
|
|
quarkus.redis.devservices.enabled=false
|
|
|
|
# Serveur HTTP
|
|
quarkus.http.port=${SERVER_PORT:8080}
|
|
quarkus.http.host=0.0.0.0
|
|
quarkus.http.non-application-root-path=/q
|
|
|
|
# CORS pour développement
|
|
quarkus.http.cors=true
|
|
quarkus.http.cors.origins=${CORS_ORIGINS:http://localhost:3000,http://localhost:5173,http://localhost:8081}
|
|
quarkus.http.cors.methods=GET,POST,PUT,DELETE,OPTIONS
|
|
quarkus.http.cors.headers=Content-Type,Authorization,X-Requested-With
|
|
quarkus.http.cors.exposed-headers=Content-Disposition
|
|
quarkus.http.cors.access-control-max-age=24H
|
|
quarkus.http.cors.access-control-allow-credentials=true
|
|
|
|
# JWT validation - Le frontend envoie les tokens Keycloak
|
|
mp.jwt.verify.publickey.location=https://security.lions.dev/realms/btpxpress/protocol/openid-connect/certs
|
|
mp.jwt.verify.issuer=https://security.lions.dev/realms/btpxpress
|
|
quarkus.smallrye-jwt.enabled=true
|
|
quarkus.smallrye-jwt.auth-mechanism=MP-JWT
|
|
quarkus.smallrye-jwt.require-named-principal=false
|
|
|
|
# Base de données - Mode développement avec création automatique du schéma
|
|
%dev.quarkus.hibernate-orm.database.generation=drop-and-create
|
|
%dev.quarkus.hibernate-orm.log.sql=true
|
|
|
|
# Sécurité - Désactivée en mode développement pour faciliter les tests
|
|
%dev.quarkus.security.auth.enabled=false
|
|
%prod.quarkus.security.auth.enabled=true
|
|
quarkus.security.auth.proactive=false
|
|
|
|
# Application
|
|
quarkus.application.name=btpxpress
|
|
quarkus.application.version=1.0.0
|
|
|
|
# Banner
|
|
quarkus.banner.enabled=false
|
|
|
|
# Package
|
|
quarkus.package.type=uber-jar
|
|
|
|
# Dev UI
|
|
quarkus.dev.ui.enabled=true
|
|
|
|
# OpenAPI/Swagger
|
|
quarkus.swagger-ui.always-include=true
|
|
quarkus.smallrye-openapi.path=/q/openapi
|
|
quarkus.smallrye-openapi.info-title=BTP Xpress API
|
|
quarkus.smallrye-openapi.info-version=1.0.0
|
|
quarkus.smallrye-openapi.info-description=Backend REST API for BTP Xpress application
|
|
|
|
# Optimisations pour le développement
|
|
quarkus.live-reload.instrumentation=false
|
|
quarkus.live-reload.watched-paths=src/main/java,src/main/resources
|
|
|
|
# Configuration des threads pour éviter les blocages
|
|
quarkus.vertx.max-worker-execute-time=120s
|
|
quarkus.vertx.warning-exception-time=10s
|
|
quarkus.vertx.blocked-thread-check-interval=5s
|
|
|
|
# Désactiver certaines vérifications en dev
|
|
quarkus.arc.detect-unused-false-positives=false
|
|
|
|
# Logging
|
|
quarkus.log.level=INFO
|
|
quarkus.log.category."dev.lions.btpxpress".level=DEBUG
|
|
quarkus.log.category."io.agroal".level=DEBUG
|
|
quarkus.log.category."io.vertx.core.impl.BlockedThreadChecker".level=WARN
|
|
quarkus.log.category."org.hibernate".level=DEBUG
|
|
quarkus.log.category."io.quarkus.smallrye.jwt".level=DEBUG
|
|
quarkus.log.console.format=%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%n
|
|
quarkus.log.console.color=true
|
|
quarkus.log.async=true
|
|
quarkus.log.async.queue-length=16384
|
|
|
|
# Métriques et monitoring
|
|
quarkus.micrometer.export.prometheus.enabled=true
|
|
quarkus.smallrye-health.ui.enable=true
|
|
|
|
# Configuration de la sécurité CORS pour production avec nouvelle URL API
|
|
%prod.quarkus.http.cors.origins=https://btpxpress.lions.dev,https://security.lions.dev,https://api.lions.dev
|
|
|
|
# JWT validation en production - Mêmes paramètres que dev
|
|
%prod.mp.jwt.verify.publickey.location=https://security.lions.dev/realms/btpxpress/protocol/openid-connect/certs
|
|
%prod.mp.jwt.verify.issuer=https://security.lions.dev/realms/btpxpress
|
|
|
|
# Configuration pour les tests
|
|
%test.quarkus.security.auth.enabled=false
|