- Réorganisation de la structure des composants dans des sous-dossiers : * buttons/ : tous les composants de boutons * cards/ : card-header, card-simple, filter-bar, stat-card * columns/ : composants de colonnes pour datatables * dialogs/ : confirm-dialog, form-dialog * forms/ : tous les composants de formulaires * layout/ : menu, topbar, footer, config, rightpanel, page-header, organisation-logo * tables/ : data-table - Correction des erreurs EL dans les composants : * Suppression des expressions EL dans les commentaires XML * Protection des paramètres optionnels (styleClass) avec 'not empty' * Simplification de confirm-dialog avec valeurs fixes * Correction de organisation-logo (rendered sur balise HTML) - Ajout de nouvelles pages pour les organisations : * detail.xhtml : consultation exhaustive d'une organisation * nouvelle.xhtml : création complète d'une organisation - Mise à jour de toutes les références vers les nouveaux chemins (37+ fichiers) - Maintien de l'approche DRY/WOU avec composants réutilisables
8.6 KiB
8.6 KiB
Phase 2 - Audit et Plan d'Action : Cotisations & Adhésions
Date : 17 novembre 2025
Objectif : Préparer la livraison Phase 2 selon le plan de production
📋 ÉTAT ACTUEL
✅ Module Cotisations - Backend
Statut : ✅ COMPLET ET FONCTIONNEL
Backend API (unionflow-server-api)
- ✅
CotisationDTO- DTO complet avec validations - ✅ Support Wave Money, Orange Money, Free Money
- ✅ Méthodes utilitaires (calculs, statuts, etc.)
Backend Implémentation (unionflow-server-impl-quarkus)
- ✅
Cotisation(Entity) - Entité JPA complète - ✅
CotisationRepository- Repository Panache - ✅
CotisationService- Service métier complet - ✅
CotisationResource- REST API complète avec endpoints :GET /api/cotisations- Liste paginéeGET /api/cotisations/{id}- Par IDGET /api/cotisations/reference/{numeroReference}- Par référenceGET /api/cotisations/membre/{membreId}- Par membreGET /api/cotisations/statut/{statut}- Par statutGET /api/cotisations/en-retard- En retardGET /api/cotisations/recherche- Recherche avancéeGET /api/cotisations/stats- StatistiquesPOST /api/cotisations- CréerPUT /api/cotisations/{id}- ModifierDELETE /api/cotisations/{id}- Supprimer
⚠️ Module Cotisations - Frontend
Statut : ⚠️ PARTIELLEMENT CONNECTÉ
Service Client
- ✅
CotisationService(RestClient) - Interface définie - ⚠️
CotisationsBean- Utilise le service mais avec données mockées pour certaines fonctionnalités
Pages Frontend
- ⚠️
paiement.xhtml- PLACEHOLDER (non fonctionnel) - ⚠️
historique.xhtml- À vérifier - ⚠️
relances.xhtml- À vérifier - ⚠️
rapports.xhtml- À vérifier - ⚠️
collect.xhtml- À vérifier - ⚠️
reminders.xhtml- À vérifier - ⚠️
report.xhtml- À vérifier
❌ Module Adhésions - Backend
Statut : ❌ MANQUANT COMPLÈTEMENT
À Créer
- ❌
AdhesionDTO- DTO pour les adhésions - ❌
Adhesion(Entity) - Entité JPA - ❌
AdhesionRepository- Repository Panache - ❌
AdhesionService- Service métier - ❌
AdhesionResource- REST API
⚠️ Module Adhésions - Frontend
Statut : ⚠️ PAGES PLACEHOLDER
Pages Frontend
- ⚠️
demande.xhtml- PLACEHOLDER (non fonctionnel) - ⚠️
validation.xhtml- PLACEHOLDER - ⚠️
renouvellement.xhtml- PLACEHOLDER - ⚠️
liste.xhtml- PLACEHOLDER - ⚠️
pending.xhtml- PLACEHOLDER - ⚠️
history.xhtml- PLACEHOLDER - ⚠️
new.xhtml- PLACEHOLDER
🎯 PLAN D'ACTION DÉTAILLÉ
ÉTAPE 1 : Finaliser Module Cotisations Frontend (Priorité 1)
1.1 Vérifier et compléter CotisationService (RestClient)
- Vérifier que tous les endpoints backend sont exposés
- Ajouter méthodes manquantes si nécessaire
- Tester la connexion avec le backend
1.2 Refactoriser CotisationsBean
- Supprimer toutes les données mockées
- Connecter toutes les méthodes au backend via
CotisationService - Gérer les erreurs proprement
- Ajouter logging approprié
1.3 Créer/Refactoriser les pages Cotisations
- paiement.xhtml - Interface complète de paiement
- Formulaire de paiement avec sélection de méthode (Wave, Orange, etc.)
- Validation et enregistrement via backend
- Confirmation de paiement
- historique.xhtml - Liste des cotisations avec filtres
- Connexion au backend (
GET /api/cotisations/membre/{id}) - Filtres par statut, période, type
- Pagination
- Connexion au backend (
- relances.xhtml - Gestion des relances
- Liste des cotisations en retard (
GET /api/cotisations/en-retard) - Envoi de rappels individuels et groupés
- Historique des rappels
- Liste des cotisations en retard (
- rapports.xhtml - Rapports financiers
- Statistiques (
GET /api/cotisations/stats) - Graphiques d'évolution
- Export Excel/PDF
- Statistiques (
- collect.xhtml - Collecte de cotisations
- Vue d'ensemble des cotisations à collecter
- Actions groupées
- reminders.xhtml - Rappels automatiques
- Configuration des rappels
- Planification
1.4 Refactorisation DRY/WOU
- Utiliser composants réutilisables créés
- Standardiser les formulaires
- Uniformiser les tableaux de données
ÉTAPE 2 : Créer Module Adhésions Backend (Priorité 2)
2.1 Créer AdhesionDTO
- Définir la structure du DTO
- Ajouter validations Jakarta
- Inclure champs nécessaires :
- ID membre
- Type d'adhésion
- Date de demande
- Date de validation
- Statut (EN_ATTENTE, VALIDEE, REJETEE, RENOUVELEE)
- Motif de demande
- Documents joints
- Validateur
2.2 Créer Adhesion Entity
- Entité JPA avec UUID
- Relations avec Membre et Association
- Champs de traçabilité (créé le, modifié le, etc.)
2.3 Créer AdhesionRepository
- Repository Panache
- Méthodes de recherche personnalisées
- Requêtes par statut, membre, période
2.4 Créer AdhesionService
- Méthodes CRUD complètes
- Logique métier :
- Validation d'adhésion
- Renouvellement
- Rejet avec motif
- Recherche avancée
- Statistiques
2.5 Créer AdhesionResource
- REST API complète :
GET /api/adhesions- Liste paginéeGET /api/adhesions/{id}- Par IDGET /api/adhesions/membre/{membreId}- Par membreGET /api/adhesions/statut/{statut}- Par statutGET /api/adhesions/en-attente- En attente de validationGET /api/adhesions/recherche- Recherche avancéeGET /api/adhesions/stats- StatistiquesPOST /api/adhesions- Créer demandePUT /api/adhesions/{id}- ModifierPUT /api/adhesions/{id}/valider- ValiderPUT /api/adhesions/{id}/rejeter- RejeterPUT /api/adhesions/{id}/renouveler- RenouvelerDELETE /api/adhesions/{id}- Supprimer
ÉTAPE 3 : Créer Module Adhésions Frontend (Priorité 3)
3.1 Créer AdhesionService (RestClient)
- Interface RestClient complète
- Tous les endpoints backend exposés
3.2 Créer AdhesionsBean
- Bean JSF pour gestion des adhésions
- Connexion complète au backend
- Gestion des listes, filtres, actions
3.3 Créer/Refactoriser les pages Adhésions
- demande.xhtml - Formulaire de demande d'adhésion
- Sélection membre (si existant) ou création
- Type d'adhésion
- Motif de demande
- Upload de documents
- Soumission
- validation.xhtml - Validation des demandes
- Liste des demandes en attente
- Détails de chaque demande
- Actions : Valider / Rejeter
- Commentaires de validation
- renouvellement.xhtml - Renouvellement d'adhésion
- Sélection membre
- Formulaire de renouvellement
- Historique des adhésions précédentes
- liste.xhtml - Liste complète des adhésions
- Filtres (statut, membre, période)
- Recherche
- Actions groupées
- pending.xhtml - Demandes en attente
- Vue dédiée aux adhésions en attente
- Priorisation
- history.xhtml - Historique des adhésions
- Par membre
- Par période
- Export
3.4 Refactorisation DRY/WOU
- Utiliser composants réutilisables
- Standardiser les formulaires
- Uniformiser les tableaux
ÉTAPE 4 : Intégration Wave (Priorité 4)
4.1 Préparation Backend
- Créer service Wave (interface)
- Préparer endpoints pour callbacks Wave
- Gérer les webhooks de paiement
4.2 Préparation Frontend
- Intégrer SDK Wave (si disponible)
- Interface de paiement Wave
- Gestion des retours de paiement
📊 ORDRE D'EXÉCUTION RECOMMANDÉ
- Étape 1 : Finaliser Cotisations Frontend (2-3 semaines)
- Étape 2 : Créer Adhésions Backend (1-2 semaines)
- Étape 3 : Créer Adhésions Frontend (2-3 semaines)
- Étape 4 : Intégration Wave (1 semaine)
Durée totale estimée : 6-9 semaines
✅ CRITÈRES DE VALIDATION
Module Cotisations
- Toutes les pages fonctionnent avec le backend
- Aucune donnée mockée
- Gestion d'erreurs complète
- Tests de connexion backend réussis
- Refactorisation DRY/WOU appliquée
Module Adhésions
- Backend complet et testé
- Frontend complet et connecté
- Workflow complet (demande → validation → renouvellement)
- Gestion d'erreurs complète
- Refactorisation DRY/WOU appliquée
Intégration Wave
- Paiements fonctionnels via Wave
- Callbacks gérés
- Traçabilité complète
Document créé le : 17 novembre 2025
Dernière mise à jour : 17 novembre 2025