- Documentation configuration OIDC, démarrage, diagnostic - Scripts batch pour démarrage backend et client - Script shell pour configuration Keycloak frontend
68 lines
3.0 KiB
Markdown
68 lines
3.0 KiB
Markdown
# 📋 Résumé de la Réorganisation de la Configuration
|
|
|
|
## ✅ Problème résolu : Suppression des doublons
|
|
|
|
### Avant (Problème)
|
|
- ❌ Configuration OIDC dupliquée dans `application.properties` (avec `%dev.`) ET `application-dev.properties` (sans préfixe)
|
|
- ❌ Confusion sur quelle valeur est utilisée
|
|
- ❌ Maintenance difficile
|
|
|
|
### Après (Solution)
|
|
- ✅ Configuration OIDC principale dans `application.properties` avec préfixes `%dev.` et `%prod.`
|
|
- ✅ `application-dev.properties` contient UNIQUEMENT les surcharges spécifiques (logging, CORS, etc.)
|
|
- ✅ `application-prod.properties` documenté et prêt pour des surcharges spécifiques
|
|
- ✅ Pas de doublons
|
|
|
|
## 📁 Organisation finale
|
|
|
|
### `application.properties`
|
|
**Rôle** : Configuration de base + sections DEV et PROD
|
|
- Configuration HTTP, MyFaces, PrimeFaces (tous profils)
|
|
- Configuration OIDC de base (tous profils)
|
|
- Section `%dev.*` : Configuration OIDC pour développement (lignes 73-81)
|
|
- Section `%prod.*` : Configuration OIDC pour production (lignes 86-94)
|
|
|
|
### `application-dev.properties`
|
|
**Rôle** : Surcharges spécifiques au développement
|
|
- Logging détaillé (DEBUG, TRACE)
|
|
- MyFaces en mode Development
|
|
- Backend URL locale
|
|
- CORS permissif
|
|
- **Surcharge de `encryption-secret`** (ligne 45) pour garantir qu'elle soit chargée
|
|
|
|
### `application-prod.properties`
|
|
**Rôle** : Surcharges spécifiques à la production (actuellement vide, prêt pour usage futur)
|
|
|
|
## 🔑 Propriété `encryption-secret`
|
|
|
|
### Définie à deux endroits (pour garantir le chargement) :
|
|
1. **`application.properties` ligne 81** : `%dev.quarkus.oidc.token-state-manager.encryption-secret=...` (64 caractères)
|
|
2. **`application-dev.properties` ligne 45** : `quarkus.oidc.token-state-manager.encryption-secret=...` (64 caractères)
|
|
|
|
**Pourquoi les deux ?**
|
|
- `application.properties` avec `%dev.` : Configuration principale, visible pour tous
|
|
- `application-dev.properties` : Surcharge pour garantir que Quarkus charge bien la valeur
|
|
|
|
**Valeur** : `NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKONTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO` (64 caractères)
|
|
|
|
## 📝 Règles de priorité Quarkus
|
|
|
|
1. Variables d'environnement (priorité la plus haute)
|
|
2. `application-{profile}.properties` (ex: `application-dev.properties`)
|
|
3. `%{profile}.property` dans `application.properties` (ex: `%dev.quarkus.oidc.enabled`)
|
|
4. `property` dans `application.properties` (priorité la plus basse)
|
|
|
|
## ✅ Avantages de cette organisation
|
|
|
|
1. **Clarté** : On sait où chercher chaque configuration
|
|
2. **Pas de doublons** : Chaque propriété est définie une seule fois (sauf `encryption-secret` pour garantir le chargement)
|
|
3. **Maintenabilité** : Facile d'ajouter/modifier des configurations
|
|
4. **Comparaison** : Facile de comparer dev vs prod dans `application.properties`
|
|
|
|
## 🎯 Prochaines étapes
|
|
|
|
1. Redémarrer le client avec `mvn clean quarkus:dev`
|
|
2. Vérifier que l'erreur `encryption-secret` est résolue
|
|
3. Si l'erreur persiste, vérifier les logs de debug OIDC pour voir quelle valeur est chargée
|
|
|