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
8.0 KiB
8.0 KiB
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ésentsorigineFonds(String) - Origine des fondspieceJustificativeId(String) - ID pièce justificative
- ✅
TransactionEpargneResponse: champs en lecture- Traçabilité complète
Fichiers :
unionflow-server-api/.../dto/mutuelle/epargne/TransactionEpargneRequest.javaunionflow-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.javaunionflow-server-api/.../enums/membre/StatutKyc.javaunionflow-server-api/.../dto/membre/response/MembreResponse.java
T004 : DTOs Paiement LCB-FT ✅
- ✅
TypeObjetIntentionPaiementétendu :- Ajout :
RETRAIT_EPARGNE,CREDIT_REMBOURSEMENT
- Ajout :
- ✅ 3 DTOs étendus avec
origineFonds+justificationLcbFt:InitierDepotEpargneRequestDeclarerPaiementManuelRequestInitierPaiementEnLigneRequest
Fichiers :
unionflow-server-api/.../enums/paiement/TypeObjetIntentionPaiement.javaunionflow-server-api/.../dto/paiement/request/(3 fichiers)
T005 : Paramètres LCB-FT (seuils) ✅
- ✅
ParametresLcbFtRequestcréé- montantSeuilJustification
- montantSeuilValidationManuelle
- codeDevise
- ✅
ParametresLcbFtResponsecréé- Pour organisation ou plateforme
Fichiers :
unionflow-server-api/.../dto/config/request/ParametresLcbFtRequest.javaunionflow-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
origineFondsobligatoire si montant >= seuil - Validation côté client
T020 : Upload pièce justificative
- Ajout champ upload dans dialogs
- Envoi
pieceJustificativeIddans 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
MembreModelavec 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)
- T012 - Implémenter
ParametresLcbFtService - T013 - Ajouter validation seuils dans
TransactionEpargneService - T017 - Créer endpoint REST paramètres LCB-FT
Moyen terme
- T014 - Audit opérations mutuelles
- Phase 4 - Écrans mobile (7 tâches)
Long terme
- T015-T016 - Fonctionnalités optionnelles
- 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