This repository has been archived on 2026-01-03. You can view files and clone it, but cannot push or open issues or pull requests.
Files
lions-user-manager/ORGANISATION_CONFIGURATION.md
lionsdev 4cd23c03ad docs: Ajout documentation et scripts de démarrage
- Documentation configuration OIDC, démarrage, diagnostic
- Scripts batch pour démarrage backend et client
- Script shell pour configuration Keycloak frontend
2025-12-05 16:23:57 +00:00

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