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/README_PORTS.md
lionsdev c754a47680 docs: Documentation complète de la configuration des ports
- Explication du problème de conflit de ports
- Configuration correcte : Frontend 8080, Backend 8081, Keycloak 8180
- Architecture et flux d'authentification
- Guide de démarrage des applications
- URLs correctes et erreurs courantes
- Diagnostic et résolution de problèmes
2025-12-04 23:23:25 +00:00

6.7 KiB

Configuration des Ports - Lions User Manager

Problème résolu : Conflit de ports

Problème initial : Les deux applications (frontend et backend) étaient configurées sur le même port 8081, ce qui empêchait le backend de démarrer.

Solution : Ports correctement séparés.

🌐 Configuration des Ports

Frontend (Interface Web JSF/PrimeFaces)

  • Port : 8080
  • URL : http://localhost:8080
  • Type : Application web avec OIDC activé
  • Fichier : lions-user-manager-client-quarkus-primefaces-freya/src/main/resources/application.properties
quarkus.http.port=8080

Backend (API REST)

  • Port : 8081
  • URL : http://localhost:8081
  • Type : API REST (pas de pages web)
  • Fichier : lions-user-manager-server-impl-quarkus/src/main/resources/application.properties
quarkus.http.port=8081

Keycloak (Serveur d'authentification)

🚀 Démarrage des applications

1. Démarrer Keycloak (si nécessaire)

# Vérifier si Keycloak tourne
curl http://localhost:8180/health

# Si Keycloak ne tourne pas, le démarrer (exemple avec Docker)
docker run -p 8180:8080 \
  -e KEYCLOAK_ADMIN=admin \
  -e KEYCLOAK_ADMIN_PASSWORD=admin \
  quay.io/keycloak/keycloak:latest start-dev

2. Démarrer le Backend (port 8081)

cd lions-user-manager-server-impl-quarkus
mvn clean quarkus:dev

Vérification :

# Swagger UI
curl http://localhost:8081/q/swagger-ui

# Dev UI
curl http://localhost:8081/q/dev

# Health Check
curl http://localhost:8081/q/health

3. Démarrer le Frontend (port 8080)

cd lions-user-manager-client-quarkus-primefaces-freya
mvn clean quarkus:dev

Vérification :

# Page d'accueil
curl http://localhost:8080

# Ou ouvrir dans le navigateur
http://localhost:8080

📋 Architecture

┌─────────────────────────────────────────────┐
│          Navigateur Web                     │
└────────────┬────────────────────────────────┘
             │
             │ 1. Accès à http://localhost:8080
             │
             ▼
┌─────────────────────────────────────────────┐
│  FRONTEND (Port 8080)                       │
│  - Pages web JSF/PrimeFaces                 │
│  - OIDC activé                              │
│  - Redirige vers Keycloak pour login        │
└────────────┬────────────────────────────────┘
             │
             │ 2. Appelle l'API backend
             │    http://localhost:8081/api/*
             │
             ▼
┌─────────────────────────────────────────────┐
│  BACKEND (Port 8081)                        │
│  - API REST                                 │
│  - OIDC désactivé (utilise Admin API)       │
│  - Endpoints: /api/users, /api/roles, etc.  │
└────────────┬────────────────────────────────┘
             │
             │ 3. Gère les utilisateurs via Admin API
             │
             ▼
┌─────────────────────────────────────────────┐
│  KEYCLOAK (Port 8180)                       │
│  - Realm: lions-user-manager                │
│  - Client: lions-user-manager-client        │
│  - Admin API                                │
└─────────────────────────────────────────────┘

🔧 Flux d'authentification

  1. Utilisateur accède au frontend : http://localhost:8080
  2. Frontend redirige vers Keycloak : http://localhost:8180/realms/lions-user-manager
  3. Utilisateur se connecte : testuser / test123
  4. Keycloak retourne un token
  5. Frontend est authentifié et peut appeler le backend
  6. Backend utilise Admin API pour gérer Keycloak (admin/admin)

Ce qui NE fonctionnera PAS

http://localhost:8081 (racine du backend)

Erreur : Forbidden ou 404

Raison : Le backend est une API REST, il n'a pas de page d'accueil HTML.

Solution : Utilisez plutôt :

http://localhost:8080/api/users

Erreur : 404

Raison : Les API sont sur le backend (port 8081), pas le frontend (8080).

Solution : http://localhost:8081/api/users?realm=lions-user-manager

URLs correctes

Frontend (8080)

Backend (8081)

Keycloak (8180)

🔍 Diagnostic

Le frontend ne démarre pas

# Vérifier qu'aucun processus n'utilise le port 8080
netstat -ano | findstr :8080

# Logs du frontend
cd lions-user-manager-client-quarkus-primefaces-freya
mvn quarkus:dev

Le backend ne démarre pas

# Vérifier qu'aucun processus n'utilise le port 8081
netstat -ano | findstr :8081

# Logs du backend
cd lions-user-manager-server-impl-quarkus
mvn quarkus:dev

Keycloak n'est pas accessible

# Vérifier le statut
curl http://localhost:8180/health

# Redémarrer si nécessaire

📝 Credentials

  • Keycloak Admin : admin / admin
  • Utilisateur de test : testuser / test123
  • Realm : lions-user-manager
  • Client ID : lions-user-manager-client
  • Client Secret : client-secret-lions-2025

Important : Toujours démarrer dans cet ordre :

  1. Keycloak (8180)
  2. Backend (8081)
  3. Frontend (8080)