Files
lions-user-manager-client-q…/src/main/resources/META-INF/faces-config.xml
lionsdev c5cbe61002 feat: Optimisations UX/UI et amélioration import/export CSV
Optimisations majeures de l'interface utilisateur et amélioration du système d'import/export CSV avec rapport d'erreurs détaillé.

## Optimisations UX/UI
- Suppression des blocs Actions Rapides redondants dans les pages list/view
- Consolidation des actions dans les en-têtes de page
- Conversion des filtres en panneau collapsible avec badge Filtres actifs
- Suppression du sous-menu Attribution Rôles (redondant avec /users/edit)
- Amélioration de la navigation et de l'ergonomie générale
- Correction des attributs iconLeft non supportés par fr:fieldInput

## Import/Export CSV
- Ajout de ImportResultDTO avec rapport détaillé des erreurs
- Création de CsvValidationHelper pour validation robuste des données
- Amélioration des messages d'erreur avec numéros de ligne
- Support de colonnes flexibles (username,prenom,nom,email)
- Validation stricte des formats email

## Corrections techniques
- Fix DashboardBeanTest: getRecentActions() → getActionsLast24h()
- Fix UserServiceImplTest: retour ImportResultDTO au lieu de int
- Amélioration de la gestion d'erreurs dans AuditServiceImpl
- Migration Flyway V1.0.0 pour la table audit_logs

## Infrastructure
- Mise à jour .gitignore professionnel (exclusion docs de session)
- Configuration production sécurisée (variables d'environnement)
- Pas de secrets hardcodés dans les fichiers de configuration

Testé et validé en environnement de développement.
2026-01-03 13:53:35 +00:00

213 lines
8.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
https://jakarta.ee/xml/ns/jakartaee/web-facesconfig_4_0.xsd"
version="4.0">
<name>Lions User Manager</name>
<application>
<locale-config>
<default-locale>fr</default-locale>
<supported-locale>fr</supported-locale>
<supported-locale>en</supported-locale>
</locale-config>
</application>
<navigation-rule>
<from-view-id>*</from-view-id>
<!-- ================================================================
DASHBOARD & ACCUEIL
================================================================ -->
<navigation-case>
<description>Page d'accueil / Dashboard</description>
<from-outcome>userManagerDashboardPage</from-outcome>
<to-view-id>/pages/user-manager/dashboard.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Navigation directe vers dashboard</description>
<from-outcome>/pages/user-manager/dashboard</from-outcome>
<to-view-id>/pages/user-manager/dashboard.xhtml</to-view-id>
<redirect />
</navigation-case>
<!-- ================================================================
GESTION DES UTILISATEURS
================================================================ -->
<navigation-case>
<description>Page de liste des utilisateurs</description>
<from-outcome>userListPage</from-outcome>
<to-view-id>/pages/user-manager/users/list.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Navigation directe vers liste utilisateurs</description>
<from-outcome>/pages/user-manager/users/list</from-outcome>
<to-view-id>/pages/user-manager/users/list.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Page de création d'utilisateur</description>
<from-outcome>userCreatePage</from-outcome>
<to-view-id>/pages/user-manager/users/create.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Navigation directe vers création utilisateur</description>
<from-outcome>/pages/user-manager/users/create</from-outcome>
<to-view-id>/pages/user-manager/users/create.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Page de profil utilisateur</description>
<from-outcome>userProfilePage</from-outcome>
<to-view-id>/pages/user-manager/users/profile.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Navigation directe vers profil utilisateur</description>
<from-outcome>/pages/user-manager/users/profile</from-outcome>
<to-view-id>/pages/user-manager/users/profile.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Page de visualisation d'un utilisateur spécifique</description>
<from-outcome>userViewPage</from-outcome>
<to-view-id>/pages/user-manager/users/view.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Navigation directe vers visualisation utilisateur</description>
<from-outcome>/pages/user-manager/users/view</from-outcome>
<to-view-id>/pages/user-manager/users/view.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Page d'édition utilisateur</description>
<from-outcome>userEditPage</from-outcome>
<to-view-id>/pages/user-manager/users/edit.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Navigation directe vers édition utilisateur</description>
<from-outcome>/pages/user-manager/users/edit</from-outcome>
<to-view-id>/pages/user-manager/users/edit.xhtml</to-view-id>
<redirect />
</navigation-case>
<!-- ================================================================
GESTION DES RÔLES
================================================================ -->
<navigation-case>
<description>Page de liste des rôles</description>
<from-outcome>roleListPage</from-outcome>
<to-view-id>/pages/user-manager/roles/list.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Navigation directe vers liste rôles</description>
<from-outcome>/pages/user-manager/roles/list</from-outcome>
<to-view-id>/pages/user-manager/roles/list.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Page d'attribution de rôles</description>
<from-outcome>roleAssignPage</from-outcome>
<to-view-id>/pages/user-manager/roles/assign.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Navigation directe vers attribution rôles</description>
<from-outcome>/pages/user-manager/roles/assign</from-outcome>
<to-view-id>/pages/user-manager/roles/assign.xhtml</to-view-id>
<redirect />
</navigation-case>
<!-- ================================================================
AUDIT
================================================================ -->
<navigation-case>
<description>Page de journal d'audit</description>
<from-outcome>auditLogsPage</from-outcome>
<to-view-id>/pages/user-manager/audit/logs.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Navigation directe vers journal d'audit</description>
<from-outcome>/pages/user-manager/audit/logs</from-outcome>
<to-view-id>/pages/user-manager/audit/logs.xhtml</to-view-id>
<redirect />
</navigation-case>
<!-- ================================================================
SYNCHRONISATION
================================================================ -->
<navigation-case>
<description>Page de dashboard synchronisation</description>
<from-outcome>syncDashboardPage</from-outcome>
<to-view-id>/pages/user-manager/sync/dashboard.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Navigation directe vers dashboard synchronisation</description>
<from-outcome>/pages/user-manager/sync/dashboard</from-outcome>
<to-view-id>/pages/user-manager/sync/dashboard.xhtml</to-view-id>
<redirect />
</navigation-case>
<!-- ================================================================
PARAMÈTRES & PROFIL
================================================================ -->
<navigation-case>
<description>Page de paramètres utilisateur</description>
<from-outcome>settingsPage</from-outcome>
<to-view-id>/pages/user-manager/settings.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Navigation directe vers paramètres</description>
<from-outcome>/pages/user-manager/settings</from-outcome>
<to-view-id>/pages/user-manager/settings.xhtml</to-view-id>
<redirect />
</navigation-case>
<!-- ================================================================
FREYA EXTENSION SHOWCASE
================================================================ -->
<navigation-case>
<description>Page de démonstration complète Freya Extension</description>
<from-outcome>freyaShowcasePage</from-outcome>
<to-view-id>/pages/user-manager/freya-showcase.xhtml</to-view-id>
<redirect />
</navigation-case>
<navigation-case>
<description>Navigation directe vers Freya Showcase</description>
<from-outcome>/pages/user-manager/freya-showcase</from-outcome>
<to-view-id>/pages/user-manager/freya-showcase.xhtml</to-view-id>
<redirect />
</navigation-case>
</navigation-rule>
</faces-config>