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
This commit is contained in:
lionsdev
2025-12-05 16:23:57 +00:00
parent b3ef7192ad
commit 4cd23c03ad
13 changed files with 1502 additions and 0 deletions

146
DIAGNOSTIC_DEMARRAGE.md Normal file
View File

@@ -0,0 +1,146 @@
# 🔍 Guide de Diagnostic - Démarrage du Backend
## ⚠️ Problème : Le serveur semble démarrer mais le client ne peut pas se connecter
### 📋 Vérifications à effectuer
#### 1. Vérifier que le serveur a TERMINÉ son démarrage
Le serveur n'est **pas prêt** tant que vous ne voyez **PAS** ces messages dans les logs :
```
✅ Connexion à Keycloak réussie!
Listening on: http://localhost:8081
```
**Les logs que vous voyez actuellement** (scanning OpenAPI, certificats SSL, etc.) sont **normaux** mais indiquent que le serveur est **encore en train de démarrer**.
#### 2. Attendre la fin du démarrage
**Le démarrage peut prendre 30 secondes à 2 minutes** selon votre machine. Attendez de voir :
```
__ ____ __ _____ ___ __ ____ ______
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2025-01-XX XX:XX:XX,XXX INFO [io.quarkus] (main) lions-user-manager-server-impl-quarkus 1.0.0 on JVM (powered by Quarkus 3.15.1) started in X.XXXs. Listening on: http://localhost:8081
2025-01-XX XX:XX:XX,XXX INFO [io.quarkus] (main) Profile dev activated.
2025-01-XX XX:XX:XX,XXX INFO [io.quarkus] (main) Installed features: [cdi, resteasy-reactive, resteasy-reactive-jackson, smallrye-context-propagation, smallrye-fault-tolerance, smallrye-health, smallrye-openapi, swagger-ui, vertx]
```
#### 3. Vérifier la connexion Keycloak
Après le démarrage, vous devriez voir :
```
========================================
Initialisation du client Keycloak Admin
========================================
Server URL: http://localhost:8180
Admin Realm: master
Admin Client ID: admin-cli
Admin Username: admin
Connection Pool Size: 5
Timeout: 30 secondes
✅ Connexion à Keycloak réussie!
```
**Si vous voyez une erreur ici**, c'est que Keycloak n'est pas accessible.
#### 4. Tester manuellement que le serveur répond
Une fois le serveur démarré, ouvrez un **nouveau terminal** et testez :
```bash
# Test 1: Health Check
curl http://localhost:8081/health
# Test 2: Swagger UI (ouvrir dans le navigateur)
# http://localhost:8081/q/swagger-ui
# Test 3: API Roles
curl "http://localhost:8081/api/roles/realm?realm=master"
```
#### 5. Vérifier que Keycloak est accessible
```bash
# Test Keycloak
curl http://localhost:8180/realms/master/.well-known/openid-configuration
```
**Si cette commande échoue**, Keycloak n'est pas démarré ou n'est pas accessible.
### 🐛 Problèmes courants
#### Problème 1 : Le serveur est bloqué sur "OIDC Dev Console: discovering..."
**Cause** : Quarkus essaie de découvrir le provider OIDC même si OIDC est désactivé.
**Solution** : J'ai ajouté dans `application-dev.properties` :
```properties
quarkus.oidc.enabled=false
quarkus.oidc.dev-ui.enabled=false
quarkus.oidc.discovery-enabled=false
```
**Action** : Redémarrer le serveur après cette modification.
#### Problème 2 : "Connection refused: localhost:8180"
**Cause** : Keycloak n'est pas démarré.
**Solution** : Démarrer Keycloak sur `http://localhost:8180` avec les identifiants `admin`/`admin`.
#### Problème 3 : Le serveur démarre mais ne répond pas sur le port 8081
**Cause** : Le port 8081 est peut-être déjà utilisé par un autre processus.
**Vérification** :
```bash
# Windows
netstat -ano | findstr :8081
# Si un processus utilise le port, notez le PID et arrêtez-le
taskkill /PID <PID> /F
```
#### Problème 4 : "Impossible de se connecter à Keycloak"
**Cause** : Les identifiants Keycloak sont incorrects ou Keycloak n'est pas accessible.
**Vérification** :
1. Vérifier que Keycloak est démarré : `curl http://localhost:8180/health`
2. Vérifier les identifiants dans `application-dev.properties` :
```
lions.keycloak.server-url=http://localhost:8180
lions.keycloak.admin-username=admin
lions.keycloak.admin-password=admin
```
### ✅ Checklist de démarrage réussi
- [ ] Le serveur affiche "Listening on: http://localhost:8081"
- [ ] Le message "✅ Connexion à Keycloak réussie!" apparaît
- [ ] `curl http://localhost:8081/health` retourne une réponse
- [ ] `curl http://localhost:8180/realms/master/.well-known/openid-configuration` fonctionne
- [ ] Le client peut se connecter au backend
### 📝 Prochaines étapes
Une fois que le serveur a **complètement démarré** (avec le message "Listening on: http://localhost:8081"), vous pouvez :
1. Démarrer le client dans un autre terminal
2. Accéder à `http://localhost:8080/pages/user-manager/roles/list.xhtml`
3. Les rôles devraient se charger depuis Keycloak
### 🔄 Si le problème persiste
1. **Arrêter** le serveur (Ctrl+C)
2. **Vérifier** que Keycloak est démarré : `curl http://localhost:8180/health`
3. **Redémarrer** le serveur : `mvn quarkus:dev`
4. **Attendre** le message "Listening on: http://localhost:8081"
5. **Tester** : `curl http://localhost:8081/health`