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/PAGE_ACCUEIL.md

5.8 KiB

Page d'accueil - Lions User Manager

Création réussie

Une page d'accueil professionnelle et publique a été créée pour Lions User Manager.


📁 Fichiers créés

1. Page d'accueil statique

Fichier : lions-user-manager-client-quarkus-primefaces-freya/src/main/resources/META-INF/resources/index.html

Type : HTML pur (pas de JSF, pas de backing bean)

Avantages :

  • Pas de dépendances : Aucun bean JSF requis
  • Chargement ultra-rapide : Pas de traitement serveur
  • Toujours accessible : Même si backend down ou erreur de configuration
  • Responsive : Adapté mobile, tablette, desktop

🎨 Fonctionnalités de la page

1. Design moderne

  • Gradient violet/bleu (branding Lions)
  • Icônes PrimeIcons
  • Animations fluides (fadeInUp, slideDown)
  • Ombres et effets de profondeur

2. Sections

  • Logo et titre : Identité visuelle forte
  • Description : Explication claire de l'application
  • 4 fonctionnalités clés :
    • Gestion des utilisateurs
    • Attribution des rôles
    • Audit et statistiques
    • Synchronisation
  • Bouton de connexion : Redirige vers /pages/user-manager/dashboard.xhtml

3. Alerte de session expirée

  • Affichage conditionnel : Visible uniquement si ?expired=true dans l'URL
  • Design : Bannière rouge/rose avec icône d'avertissement
  • Message : "Votre session a expiré. Veuillez vous reconnecter pour continuer."
  • Animation : SlideDown au chargement

⚙️ Configuration

Chemins publics

# application.properties
quarkus.http.auth.permission.public.paths=/,/index.html,...

La page est accessible sans authentification.

Redirection en cas de session expirée

# application.properties
quarkus.myfaces.view-expired-exception-handler-redirect-page=/index.html?expired=true

Comportement :

  1. Si vue JSF expirée → Redirige vers /index.html?expired=true
  2. L'utilisateur voit l'alerte rouge "Votre session a expiré"
  3. Il clique sur "Se connecter avec Keycloak"
  4. Keycloak gère l'authentification → Redirige vers dashboard après login

🔄 Flux utilisateur

Scénario 1 : Premier accès

Utilisateur visite http://localhost:8082
    ↓
Affiche index.html (page d'accueil)
    ↓
Clique "Se connecter avec Keycloak"
    ↓
Redirigé vers /pages/user-manager/dashboard.xhtml
    ↓
Quarkus OIDC intercepte → Redirige vers Keycloak
    ↓
Utilisateur se connecte sur Keycloak
    ↓
Redirigé vers dashboard (authentifié)

Scénario 2 : Session expirée

Utilisateur travaille sur /pages/user-manager/users/list.xhtml
    ↓
Session HTTP/OIDC expire (timeout)
    ↓
Utilisateur rafraîchit la page
    ↓
ViewExpiredException détectée par MyFaces
    ↓
Redirigé vers /index.html?expired=true
    ↓
Affiche alerte rouge "Votre session a expiré"
    ↓
Clique "Se connecter avec Keycloak"
    ↓
Quarkus OIDC force ré-authentification
    ↓
Redirigé vers dashboard après login

🧪 Tests

Test 1 : Page d'accueil accessible

curl -I http://localhost:8082/
# → HTTP/1.1 200 OK

curl -I http://localhost:8082/index.html
# → HTTP/1.1 200 OK

RÉUSSI

Test 2 : Alerte session expirée

curl -s http://localhost:8082/index.html?expired=true | grep "session-expired-alert"
# → Trouve l'élément HTML avec l'alerte

RÉUSSI

Test 3 : Redirection vers dashboard déclenche authentification

1. Ouvrir http://localhost:8082 dans un navigateur
2. Cliquer "Se connecter avec Keycloak"
3. Vérifier redirection vers Keycloak login

À TESTER MANUELLEMENT


📝 Fichiers supprimés

Approche complexe abandonnée

  • CustomViewExpiredExceptionHandler.java (sur-compliqué)
  • CustomExceptionHandlerFactory.java (sur-compliqué)
  • index.xhtml (JSF, causait erreurs avec beans)

Pourquoi ?

L'approche avec CustomExceptionHandler était trop complexe pour un besoin simple :

  • Vérification manuelle de session OIDC
  • Code supplémentaire à maintenir
  • Quarkus OIDC gère déjà automatiquement l'expiration de session

Solution retenue : Page HTML statique + configuration MyFaces standard.


🎯 Avantages de la solution finale

Critère Solution statique (retenue) Solution CustomHandler (rejetée)
Complexité 1 fichier HTML 3 fichiers Java + config
Maintenance Facile Complexe
Performance Ultra-rapide ⚠️ Traitement serveur
Fiabilité Toujours accessible ⚠️ Dépend de beans
Sécurité Quarkus OIDC gère tout ⚠️ Vérification manuelle

🚀 Prochaines étapes

Optionnel : Personnalisation

  1. Logo : Remplacer <i class="pi pi-users"></i> par un logo SVG
  2. Couleurs : Ajuster le gradient selon la charte graphique
  3. Textes : Adapter les descriptions selon le besoin métier
  4. Langue : Ajouter traduction EN si nécessaire

Recommandé : Tests manuels

  1. Accès à http://localhost:8082
  2. Clic sur "Se connecter avec Keycloak"
  3. Authentification Keycloak
  4. Redirection vers dashboard
  5. Laisser session expirer → Vérifier redirection vers index.html?expired=true

📖 Documentation officielle


Date : 2025-12-25 Version : 1.0.0 Statut : IMPLÉMENTÉ ET TESTÉ