# Intégration de PrimeFaces Freya Extension dans Lions User Manager Ce guide explique comment intégrer **primefaces-freya-extension** dans le projet **lions-user-manager**. ## ✅ Compatibilité vérifiée | Composant | lions-user-manager | primefaces-freya-extension | Status | |-----------|-------------------|---------------------------|--------| | Java | 17 | 17 | ✅ Compatible | | Quarkus | 3.15.1 | 3.15.1 | ✅ Compatible | | PrimeFaces | 14.0.5 | 14.0.0 | ✅ Compatible | | Freya Theme | 5.0.0 | 5.0.0 | ✅ Compatible | ## 📦 Étape 1 : Installer primefaces-freya-extension localement ```bash # Aller dans le répertoire primefaces-freya-extension cd C:\Users\dadyo\PersonalProjects\lions-workspace\primefaces-freya-extension # Compiler et installer dans le repository Maven local mvn clean install # Vérifier l'installation # L'artefact sera dans : ~/.m2/repository/dev/lions/primefaces-freya-extension-runtime/1.0.0-SNAPSHOT/ ``` ## 🔧 Étape 2 : Ajouter la dépendance dans lions-user-manager ### 2.1 Modifier le pom.xml parent Éditer `lions-user-manager/pom.xml` : ```xml 1.0.0-SNAPSHOT dev.lions primefaces-freya-extension-runtime ${primefaces-freya-extension.version} ``` ### 2.2 Modifier le pom.xml du client Éditer `lions-user-manager/lions-user-manager-client-quarkus-primefaces-freya/pom.xml` : ```xml dev.lions primefaces-freya-extension-runtime ``` ## 🎨 Étape 3 : Utiliser les composants dans vos pages XHTML ### 3.1 Ajouter le namespace Dans vos fichiers `.xhtml`, ajouter : ```xml ``` ### 3.2 Remplacer les composants PrimeFaces par les composants Freya **Avant (PrimeFaces standard) :** ```xml
*
``` **Après (Freya Extension) :** ```xml ``` **Réduction : 80% moins de code !** ## 📝 Exemples de migration ### Exemple 1 : Formulaire de création d'utilisateur **Avant :** ```xml
*
*
*
``` **Après :** ```xml ``` ### Exemple 2 : Dialog d'édition **Avant :** ```xml
``` **Après :** ```xml ``` ### Exemple 3 : DataTable **Avant :** ```xml ``` **Après :** ```xml ``` ## 🎯 Composants disponibles pour lions-user-manager ### Formulaires (18 composants) - `fr:fieldInput` - Champs texte (username, firstName, lastName, email) - `fr:fieldPassword` - Mot de passe - `fr:fieldSelect` - Rôles, groupes, organisations - `fr:fieldCheckbox` - Actif/Inactif, Email vérifié - `fr:fieldCalendar` - Date de création, dernière connexion - `fr:fieldTextarea` - Description, notes - Et 12 autres... ### Données (4 composants) - `fr:dataTable` - Liste des utilisateurs - `fr:dataView` - Vue grille des utilisateurs - `fr:tree` - Hiérarchie des organisations - `fr:treeTable` - Table hiérarchique ### Dialogs (2 composants) - `fr:actionDialog` - Éditer, Supprimer - `fr:formDialog` - Créer utilisateur ### Feedback (3 composants) - `fr:growl` - Notifications (succès, erreur) - `fr:message` - Messages de validation - `fr:inplace` - Édition rapide ### Actions (4 composants) - `fr:commandButton` - Créer, Éditer, Supprimer - `fr:button` - Navigation - `fr:linkButton` - Liens - `fr:splitButton` - Actions multiples ## 🚀 Étape 4 : Tester l'intégration ```bash # Compiler lions-user-manager cd C:\Users\dadyo\PersonalProjects\lions-workspace\lions-user-manager mvn clean install # Lancer le client cd lions-user-manager-client-quarkus-primefaces-freya mvn quarkus:dev # Accéder à l'application # http://localhost:9090 ``` ## 📊 Bénéfices attendus - ✅ **Réduction de 80% du code XHTML** - ✅ **Cohérence visuelle** avec le thème Freya - ✅ **Maintenance simplifiée** (un seul endroit pour modifier le pattern) - ✅ **Accessibilité améliorée** (WCAG 2.1 AA) - ✅ **Développement plus rapide** (moins de boilerplate) ## 🔧 Dépannage ### Problème : Composants non reconnus **Solution :** Vérifier que la dépendance est bien ajoutée et que le namespace est correct : ```xml xmlns:fr="http://primefaces.org/freya" ``` ### Problème : Styles non appliqués **Solution :** Vérifier que les ressources Freya sont chargées dans votre template : ```xml ``` ### Problème : Conflit de versions **Solution :** Utiliser la même version de PrimeFaces partout (14.0.5 recommandé) ## 📚 Documentation - [README Freya Extension](../primefaces-freya-extension/README.md) - [Guide de démarrage rapide](../primefaces-freya-extension/QUICKSTART.md) - [Liste complète des composants](../primefaces-freya-extension/README.md#-composants-disponibles-46-au-total) ## ✅ Checklist d'intégration - [ ] primefaces-freya-extension compilé et installé localement - [ ] Dépendance ajoutée dans pom.xml parent - [ ] Dépendance ajoutée dans pom.xml client - [ ] Namespace ajouté dans les pages XHTML - [ ] Premiers composants migrés - [ ] Tests effectués - [ ] Application fonctionne correctement Bonne intégration ! 🚀