Files
gbcm-server-impl-quarkus/CONFIGURATION.md
dahoud d82269c713 Task 1.6 - Configuration application.properties
- Configuration complète de la sécurité GBCM (JWT, mots de passe, verrouillage)
- Profils dev, test, et production configurés
- Génération des clés RSA pour JWT
- Création de application-local.properties pour développement local
- Ajout de la dépendance H2 pour les profils dev et test
- Correction de User.getRoleString() pour Quarkus Security JPA
- Correction des endpoints @FormParam avec @Consumes dans AuthResource et UserResource
- Correction des données de test import.sql (ajout colonne deleted)
- Documentation complète dans CONFIGURATION.md
- Application démarre avec succès en mode dev
2025-10-06 21:34:59 +00:00

2.7 KiB

Configuration GBCM Server

Vue d'ensemble

Le serveur GBCM utilise Quarkus avec des profils de configuration pour différents environnements.

Profils disponibles

Profil par défaut (Production)

  • Base de données PostgreSQL
  • JWT avec clés RSA
  • Logs au niveau WARN
  • Sécurité renforcée

Profil dev (Développement)

  • Base de données H2 en mémoire
  • Logs au niveau DEBUG
  • Sécurité allégée (BCrypt cost=4)
  • Rechargement automatique

Profil test (Tests)

  • Base de données H2 en mémoire
  • Configuration optimisée pour les tests
  • Sécurité minimale pour rapidité

Profil local (Développement local)

  • Configuration personnalisable
  • Utilise application-local.properties

Variables d'environnement importantes

Base de données (Production)

DATABASE_URL=jdbc:postgresql://localhost:5432/gbcm_prod
DB_USERNAME=gbcm_prod_user
DB_PASSWORD=secure_password

JWT (Production)

JWT_SECRET=your-super-secure-jwt-secret-key-256-bits-minimum

Email (Production)

SMTP_USERNAME=your-smtp-username
SMTP_PASSWORD=your-smtp-password

Configuration de sécurité

Paramètres JWT

  • gbcm.security.jwt.access-token.duration: Durée de vie des tokens d'accès (défaut: 1h)
  • gbcm.security.jwt.refresh-token.duration: Durée de vie des refresh tokens (défaut: 7j)
  • gbcm.security.jwt.reset-token.duration: Durée de vie des tokens de reset (défaut: 2h)

Paramètres de mot de passe

  • gbcm.security.password.bcrypt-cost: Coût BCrypt (défaut: 12)
  • gbcm.security.password.min-length: Longueur minimale (défaut: 8)
  • gbcm.security.password.max-age: Âge maximum (défaut: 90j)

Paramètres de compte

  • gbcm.security.account.max-failed-attempts: Tentatives max (défaut: 5)
  • gbcm.security.account.lockout-duration: Durée de verrouillage (défaut: 30min)

Démarrage rapide

Développement avec H2

mvn quarkus:dev

Développement avec configuration locale

mvn quarkus:dev -Dquarkus.profile=local

Tests

mvn test

Production

java -jar target/quarkus-app/quarkus-run.jar -Dquarkus.profile=prod

URLs importantes

Sécurité

⚠️ Important:

  • Changez toujours JWT_SECRET en production
  • Utilisez des mots de passe forts pour la base de données
  • Configurez HTTPS en production
  • Limitez les origines CORS en production

Logs

Les logs sont configurés par niveau :

  • com.gbcm: DEBUG en développement, INFO en production
  • org.hibernate.SQL: DEBUG en développement seulement
  • Root level: DEBUG en dev, WARN en production