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
This commit is contained in:
276
unionflow/specs/001-mutuelles-anti-blanchiment/PROGRESSION.md
Normal file
276
unionflow/specs/001-mutuelles-anti-blanchiment/PROGRESSION.md
Normal file
@@ -0,0 +1,276 @@
|
|||||||
|
# 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 ✅
|
||||||
|
```sql
|
||||||
|
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 ✅
|
||||||
|
```sql
|
||||||
|
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 ✅
|
||||||
|
```sql
|
||||||
|
ALTER TABLE intentions_paiement
|
||||||
|
ADD COLUMN origine_fonds VARCHAR(200),
|
||||||
|
ADD COLUMN justification_lcb_ft TEXT;
|
||||||
|
```
|
||||||
|
|
||||||
|
#### T010 : Table parametres_lcb_ft ✅
|
||||||
|
```sql
|
||||||
|
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
|
||||||
|
4. **T014** - Audit opérations mutuelles
|
||||||
|
5. **Phase 4** - Écrans mobile (7 tâches)
|
||||||
|
|
||||||
|
### Long terme
|
||||||
|
6. **T015-T016** - Fonctionnalités optionnelles
|
||||||
|
7. **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
|
||||||
Reference in New Issue
Block a user