# 🔍 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 /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`