Files
unionflow-server-api/unionflow/specs/001-mutuelles-anti-blanchiment/PROGRESSION.md
dahoud e41db9578d docs: documentation progression Spec 001 (41% complété)
Ajout fichier PROGRESSION.md détaillant l'état d'avancement :
- Phase 1 (API) : 100% complété - 6/6 tâches 
- Phase 2 (Migrations) : 100% complété - 5/5 tâches 
- Phase 3 (Impl Quarkus) : 0% - 6 tâches restantes
- Phase 4 (Mobile) : 0% - 7 tâches restantes
- Phase 5 (Finition) : 0% - 3 tâches restantes

Total : 11/27 tâches complétées (41%)

Contenu :
- Vue d'ensemble par phase
- Détails réalisations API et Migrations
- Liste tâches restantes avec descriptions
- Références fichiers et commits
- Prochaines étapes recommandées

Spec : specs/001-mutuelles-anti-blanchiment/spec.md
Branche : 001-mutuelles-anti-blanchiment

Signed-off-by: lions dev Team
2026-03-15 02:25:01 +00:00

8.0 KiB
Raw Blame History

Progression Spec 001 : Mutuelles + Anti-blanchiment LCB-FT

Branche : 001-mutuelles-anti-blanchiment Dernière mise à jour : 2026-03-13 Statut global : 41% complété (11/27 tâches)


📊 Vue d'ensemble

Phase Tâches Statut Détails
Phase 1 - API 6/6 100% DTOs et enums LCB-FT
Phase 2 - Migrations 5/5 100% V3.4 déjà existante
Phase 3 - Impl Quarkus 0/6 🔄 0% Services + validation
Phase 4 - Mobile 0/7 0% Écrans + KYC
Phase 5 - Finition 0/3 0% Tests + docs
TOTAL 11/27 🎯 41%

Phase 1 - API (100% complétée)

Commit : 309edc4 Date : 2026-03-13

Réalisations

T001-T002 : DTOs Transaction Épargne

  • TransactionEpargneRequest : champs déjà présents
    • origineFonds (String) - Origine des fonds
    • pieceJustificativeId (String) - ID pièce justificative
  • TransactionEpargneResponse : champs en lecture
    • Traçabilité complète

Fichiers :

  • unionflow-server-api/.../dto/mutuelle/epargne/TransactionEpargneRequest.java
  • unionflow-server-api/.../dto/mutuelle/epargne/TransactionEpargneResponse.java

T003 : Enums et champs KYC membre

  • NiveauVigilanceKyc : SIMPLIFIE, RENFORCE
  • StatutKyc : NON_VERIFIE, EN_COURS, VERIFIE, REFUSE
  • MembreResponse : niveauVigilanceKyc, statutKyc, dateVerificationIdentite

Fichiers :

  • unionflow-server-api/.../enums/membre/NiveauVigilanceKyc.java
  • unionflow-server-api/.../enums/membre/StatutKyc.java
  • unionflow-server-api/.../dto/membre/response/MembreResponse.java

T004 : DTOs Paiement LCB-FT

  • TypeObjetIntentionPaiement étendu :
    • Ajout : RETRAIT_EPARGNE, CREDIT_REMBOURSEMENT
  • 3 DTOs étendus avec origineFonds + justificationLcbFt :
    • InitierDepotEpargneRequest
    • DeclarerPaiementManuelRequest
    • InitierPaiementEnLigneRequest

Fichiers :

  • unionflow-server-api/.../enums/paiement/TypeObjetIntentionPaiement.java
  • unionflow-server-api/.../dto/paiement/request/ (3 fichiers)

T005 : Paramètres LCB-FT (seuils)

  • ParametresLcbFtRequest créé
    • montantSeuilJustification
    • montantSeuilValidationManuelle
    • codeDevise
  • ParametresLcbFtResponse créé
    • Pour organisation ou plateforme

Fichiers :

  • unionflow-server-api/.../dto/config/request/ParametresLcbFtRequest.java
  • unionflow-server-api/.../dto/config/response/ParametresLcbFtResponse.java

T006 : Inventaire mis à jour

  • Ajout DTOs config et paiement
  • Validation champs existants
  • Date consolidation : 2026-03-13

Phase 2 - Migrations Flyway (100% complétée)

Migration : V3.4__LCB_FT_Anti_Blanchiment.sql (déjà existante) Statut : Validation effectuée, aucune modification nécessaire

Contenu vérifié

T007 : Colonnes membres KYC

ALTER TABLE utilisateurs
    ADD COLUMN niveau_vigilance_kyc VARCHAR(20) DEFAULT 'SIMPLIFIE',
    ADD COLUMN statut_kyc VARCHAR(20) DEFAULT 'NON_VERIFIE',
    ADD COLUMN date_verification_identite DATE;
  • Contraintes CHECK (valeurs enum)
  • Index sur statut_kyc
  • Commentaires SQL

T008 : Transactions épargne LCB-FT

ALTER TABLE transactions_epargne
    ADD COLUMN origine_fonds VARCHAR(200),
    ADD COLUMN piece_justificative_id UUID;
  • Conditionnelle (IF table exists)
  • Commentaires SQL

T009 : Intentions paiement LCB-FT

ALTER TABLE intentions_paiement
    ADD COLUMN origine_fonds VARCHAR(200),
    ADD COLUMN justification_lcb_ft TEXT;

T010 : Table parametres_lcb_ft

CREATE TABLE parametres_lcb_ft (
    id UUID PRIMARY KEY,
    organisation_id UUID,
    montant_seuil_justification DECIMAL(18,4),
    montant_seuil_validation_manuelle DECIMAL(18,4),
    code_devise VARCHAR(3),
    ...
);
  • FK organisation (cascade)
  • Index unique org+devise
  • Valeur par défaut plateforme : 500k/1M XOF
  • Colonnes audit complètes

T011 : Inventaire migrations

  • V3.4 documentée dans inventaire-code.md

Fichier :

  • unionflow-server-impl-quarkus/src/main/resources/db/legacy-migrations/V3.4__LCB_FT_Anti_Blanchiment.sql

Phase 3 - Impl Quarkus (0% - À démarrer)

Tâches restantes

T012 : Lecture paramètres LCB-FT depuis BDD

  • Créer ParametresLcbFtService / ParametresLcbFtRepository
  • Récupération seuils par organisation ou plateforme
  • Cache pour performance

T013 : Validation seuils transactions épargne

  • Dans TransactionEpargneService
  • Si montant >= seuil : exiger origineFonds (non vide)
  • Rejet 400 avec message clair si manquant

T014 : Audit opérations mutuelles

  • Enregistrement audit_logs
  • Portée ORGANISATION
  • Détails : montant, type, membre, seuil franchi

T015 : Vérification KYC crédit (optionnel)

  • Avant déblocage crédit
  • Vérifier dateVerificationIdentite à jour

T016 : Ressource alertes LCB-FT (optionnel)

  • Dépassement seuil
  • Motif vide au-dessus seuil

T017 : Endpoint paramètres LCB-FT pour mobile

  • GET /api/parametres-lcb-ft
  • Mobile récupère seuils pour validation client

Phase 4 - Mobile (0% - À démarrer)

Tâches restantes

4.1 Épargne Seuil et champs LCB-FT

T018 : Récupération seuil depuis API
  • Appel endpoint paramètres LCB-FT
  • Stockage seuil dans état BLoC
T019 : Formulaires dépôt/retrait/transfert
  • Champ origineFonds obligatoire si montant >= seuil
  • Validation côté client
T020 : Upload pièce justificative
  • Ajout champ upload dans dialogs
  • Envoi pieceJustificativeId dans request
T021 : Gestion erreurs 400 côté mobile
  • Message clair si origine fonds manquante

4.2 Fiche membre Affichage KYC

T022 : Étendre modèle membre mobile
  • MembreModel avec champs KYC
  • niveauVigilanceKyc, statutKyc, dateVerificationIdentite
T023 : Affichage fiche membre
  • Lecture seule statut KYC
  • Date vérification identité
T024 : Validation données API uniquement
  • Pas de valeurs en dur

Phase 5 - Finition (0% - À démarrer)

Tâches restantes

T025 : Mise à jour inventaire mobile

  • Nouveaux modèles et écrans
  • Constantes LCB-FT

T026 : Vérification absence données fictives

  • Audit complet
  • Listes en dur supprimées

T027 : Tests backend et mobile

  • Tests unitaires services
  • Tests intégration
  • Correction régressions

🎯 Prochaines étapes recommandées

Court terme (session suivante)

  1. T012 - Implémenter ParametresLcbFtService
  2. T013 - Ajouter validation seuils dans TransactionEpargneService
  3. T017 - Créer endpoint REST paramètres LCB-FT

Moyen terme

  1. T014 - Audit opérations mutuelles
  2. Phase 4 - Écrans mobile (7 tâches)

Long terme

  1. T015-T016 - Fonctionnalités optionnelles
  2. Phase 5 - Tests et finition

📚 Références

  • Spec : specs/001-mutuelles-anti-blanchiment/spec.md
  • Plan : specs/001-mutuelles-anti-blanchiment/plan.md
  • Tasks : specs/001-mutuelles-anti-blanchiment/tasks.md
  • Migration : unionflow-server-impl-quarkus/.../V3.4__LCB_FT_Anti_Blanchiment.sql

🔖 Notes importantes

Conformité BCEAO/OHADA/LCB-FT

  • Traçabilité complète (origine fonds, pièce justificative)
  • Seuils configurables (par org ou plateforme)
  • KYC membre (vigilance, statut, date vérification)
  • Conservation 10 ans (audit_logs V2.9)
  • Alertes dépassement seuil (Phase 3)

Zéro données fictives

  • API : Pas de mock, données réelles uniquement
  • Migrations : Valeur par défaut plateforme 500k/1M XOF
  • Mobile : À vérifier en Phase 4

Architecture

  • API/Impl séparés (unionflow-server-api / impl-quarkus)
  • Clean Architecture mobile (domain/data/presentation)
  • DI avec GetIt/Injectable
  • BLoC pattern

Dernière révision : 2026-03-13 Auteur : lions dev Team