- Documentation configuration OIDC, démarrage, diagnostic - Scripts batch pour démarrage backend et client - Script shell pour configuration Keycloak frontend
2.4 KiB
2.4 KiB
📋 Organisation de la Configuration - Best Practices
❌ Problème actuel : Doublons entre les fichiers
Il y a des configurations dupliquées entre :
application.properties(avec préfixes%dev.et%prod.)application-dev.properties(sans préfixe)application-prod.properties(presque vide)
✅ Solution recommandée : Deux approches possibles
Approche 1 : Tout dans application.properties (Recommandée)
Principe : Un seul fichier avec des sections claires
application.properties
├── Configuration de base (tous profils)
├── Section %dev.* (surcharges dev)
└── Section %prod.* (surcharges prod)
application-dev.properties
└── UNIQUEMENT les surcharges spécifiques non couvertes par %dev.*
application-prod.properties
└── UNIQUEMENT les surcharges spécifiques non couvertes par %prod.*
Avantages :
- ✅ Tout est visible au même endroit
- ✅ Facile de comparer dev vs prod
- ✅ Moins de fichiers à maintenir
Approche 2 : Séparation complète (Alternative)
Principe : Chaque profil dans son propre fichier
application.properties
└── Configuration de base uniquement (sans préfixes %dev/%prod)
application-dev.properties
└── TOUTES les configurations dev (sans préfixe %dev.)
application-prod.properties
└── TOUTES les configurations prod (sans préfixe %prod.)
Avantages :
- ✅ Séparation claire des environnements
- ✅ Fichiers plus petits
- ✅ Facile de voir ce qui change entre dev et prod
🎯 Recommandation pour ce projet
Utiliser l'Approche 1 car :
- La configuration OIDC est déjà bien organisée dans
application.properties application-dev.propertiesdevrait contenir UNIQUEMENT :- Logging spécifique dev
- Surcharges non couvertes par
%dev.*dansapplication.properties
application-prod.propertiespeut être supprimé ou gardé pour des surcharges très spécifiques
📝 Règles à suivre
- Pas de doublons : Si une propriété est dans
application.propertiesavec%dev., ne pas la remettre dansapplication-dev.properties - Ordre de priorité (du plus spécifique au moins spécifique) :
- Variables d'environnement
application-{profile}.properties%{profile}.propertydansapplication.propertiespropertydansapplication.properties
- Clarté : Un commentaire indiquant où trouver la configuration principale