# 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 ! 🚀