- Documentation configuration OIDC, démarrage, diagnostic - Scripts batch pour démarrage backend et client - Script shell pour configuration Keycloak frontend
73 lines
2.4 KiB
Markdown
73 lines
2.4 KiB
Markdown
# 📋 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 :
|
|
1. La configuration OIDC est déjà bien organisée dans `application.properties`
|
|
2. `application-dev.properties` devrait contenir UNIQUEMENT :
|
|
- Logging spécifique dev
|
|
- Surcharges non couvertes par `%dev.*` dans `application.properties`
|
|
3. `application-prod.properties` peut être supprimé ou gardé pour des surcharges très spécifiques
|
|
|
|
## 📝 Règles à suivre
|
|
|
|
1. **Pas de doublons** : Si une propriété est dans `application.properties` avec `%dev.`, ne pas la remettre dans `application-dev.properties`
|
|
2. **Ordre de priorité** (du plus spécifique au moins spécifique) :
|
|
- Variables d'environnement
|
|
- `application-{profile}.properties`
|
|
- `%{profile}.property` dans `application.properties`
|
|
- `property` dans `application.properties`
|
|
3. **Clarté** : Un commentaire indiquant où trouver la configuration principale
|
|
|