Files
btpxpress-backend/src/main/resources/application.properties
dahoud f35ff115e9 feat: Amélioration du dashboard avec données réelles de l'API
- 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
2025-11-01 19:55:23 +00:00

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