# 📊 Composants KPI Réutilisables - Écosystème LionsDev **Version**: 2.0.0 **Date**: 2025-01-29 **Pattern**: WOU/DRY (Write Once Use / Don't Repeat Yourself) --- ## 🎯 Vue d'Ensemble Ces composants KPI (Indicateurs de Performance) sont conçus pour être **100% réutilisables** dans tous les projets de l'écosystème **lionsdev**. Ils suivent les meilleures pratiques de PrimeFaces Freya et offrent une expérience utilisateur cohérente. --- ## 📦 Composants Disponibles ### 1. **kpi-card.xhtml** - Carte KPI Individuelle Composant principal pour afficher un indicateur de performance unique. **Localisation**: `/templates/components/shared/cards/kpi-card.xhtml` **Paramètres principaux**: - `title` (requis) - Titre du KPI - `value` (requis) - Valeur à afficher - `icon` (requis) - Icône PrimeIcons - `iconColor` (requis) - Couleur de l'icône - `growthValue` (optionnel) - Valeur de croissance - `growthLabel` (optionnel) - Libellé de croissance - `progressValue` (optionnel) - Barre de progression 0-100 - `statusIcon`, `statusLabel`, `statusValue` (optionnel) - Mode statut - `clickable` (défaut: false) - Rendre cliquable - `clickOutcome` (optionnel) - Redirection au clic **Exemple simple**: ```xhtml ``` **Exemple avec croissance**: ```xhtml ``` **Exemple avec statut**: ```xhtml ``` --- ### 2. **kpi-group.xhtml** - Groupe de KPI Composant composite pour organiser plusieurs KPI dans une grille. **Localisation**: `/templates/components/shared/dashboard/kpi-group.xhtml` **Paramètres**: - `title` (optionnel) - Titre de la section - `columns` (défaut: 4) - Nombre de colonnes (1-6) - `colSize` (optionnel) - Taille personnalisée **Exemple**: ```xhtml ``` --- ### 3. **dashboard-section.xhtml** - Section Dashboard Composant composite pour créer des sections de dashboard réutilisables. **Localisation**: `/templates/components/shared/dashboard/dashboard-section.xhtml` **Paramètres**: - `title` (requis) - Titre de la section - `description` (optionnel) - Description - `icon` (optionnel) - Icône - `colSize` (défaut: "col-12") - Taille de colonne - `showCard` (défaut: true) - Envelopper dans une carte **Exemple**: ```xhtml
``` --- ### 4. **user-stat-card.xhtml** - Wrapper de Compatibilité Wrapper de compatibilité ascendante qui délègue à `kpi-card.xhtml`. **Note**: Pour de nouvelles implémentations, utilisez directement `kpi-card.xhtml`. --- ## 🎨 Couleurs Disponibles Utilisez les couleurs PrimeFlex pour `iconColor`: - `blue-600`, `blue-500`, `blue-400` - `green-600`, `green-500`, `green-400` - `purple-600`, `purple-500`, `purple-400` - `orange-600`, `orange-500`, `orange-400` - `red-600`, `red-500`, `red-400` - `cyan-600`, `cyan-500`, `cyan-400` - `pink-600`, `pink-500`, `pink-400` --- ## 📐 Tailles de Colonnes Utilisez les classes PrimeFlex pour `colSize`: - `col-12` - Pleine largeur - `col-12 md:col-6` - 2 colonnes sur tablette+ - `col-12 md:col-6 lg:col-3` - 4 colonnes sur desktop (défaut) - `col-12 md:col-4` - 3 colonnes - `col-12 md:col-6 lg:col-2` - 6 colonnes --- ## 🔄 Réutilisabilité dans l'Écosystème LionsDev Ces composants peuvent être utilisés dans: - ✅ **lions-user-manager** (module actuel) - ✅ **unionflow** (via dépendance Maven) - ✅ **btpxpress** (via dépendance Maven) - ✅ **Tout autre projet lionsdev** (via dépendance Maven) **Avantages**: - Code DRY (Don't Repeat Yourself) - Interface utilisateur cohérente - Maintenance centralisée - Évolutivité garantie --- ## 📝 Bonnes Pratiques 1. **Toujours utiliser `kpi-card.xhtml`** pour de nouveaux KPI 2. **Utiliser `kpi-group.xhtml`** pour organiser plusieurs KPI 3. **Utiliser `dashboard-section.xhtml`** pour structurer les dashboards 4. **Respecter les conventions de couleurs** PrimeFlex 5. **Documenter les paramètres personnalisés** dans votre code --- ## 🚀 Exemple Complet de Dashboard ```xhtml
``` --- ## 📚 Documentation Complète Pour plus de détails, consultez: - `/templates/components/README.md` - Documentation générale - Code source des composants avec commentaires JSDoc --- **Auteur**: Lions User Manager Team **Licence**: Écosystème LionsDev