Files
unionflow-mobile-apps/PHASE2_AUDIT_ET_PLAN_ACTION.md
dahoud c877065500 feat(client): Réorganisation des composants réutilisables par type et correction des erreurs EL
- 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
2025-11-29 19:10:01 +00:00

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ée
    • GET /api/cotisations/{id} - Par ID
    • GET /api/cotisations/reference/{numeroReference} - Par référence
    • GET /api/cotisations/membre/{membreId} - Par membre
    • GET /api/cotisations/statut/{statut} - Par statut
    • GET /api/cotisations/en-retard - En retard
    • GET /api/cotisations/recherche - Recherche avancée
    • GET /api/cotisations/stats - Statistiques
    • POST /api/cotisations - Créer
    • PUT /api/cotisations/{id} - Modifier
    • DELETE /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
  • 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
  • rapports.xhtml - Rapports financiers
    • Statistiques (GET /api/cotisations/stats)
    • Graphiques d'évolution
    • Export Excel/PDF
  • 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ée
    • GET /api/adhesions/{id} - Par ID
    • GET /api/adhesions/membre/{membreId} - Par membre
    • GET /api/adhesions/statut/{statut} - Par statut
    • GET /api/adhesions/en-attente - En attente de validation
    • GET /api/adhesions/recherche - Recherche avancée
    • GET /api/adhesions/stats - Statistiques
    • POST /api/adhesions - Créer demande
    • PUT /api/adhesions/{id} - Modifier
    • PUT /api/adhesions/{id}/valider - Valider
    • PUT /api/adhesions/{id}/rejeter - Rejeter
    • PUT /api/adhesions/{id}/renouveler - Renouveler
    • DELETE /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É

  1. Étape 1 : Finaliser Cotisations Frontend (2-3 semaines)
  2. Étape 2 : Créer Adhésions Backend (1-2 semaines)
  3. Étape 3 : Créer Adhésions Frontend (2-3 semaines)
  4. É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