docs: mise à jour PROGRESSION.md - Phase 4 Mobile 43% (18/27 total)

Phase 4 Mobile : 3/7 tâches (43%)
- T018  Récupération seuil LCB-FT depuis API
- T019  Formulaires avec origineFonds obligatoire
- T020  Upload pièce justificative (optionnel, skip)
- T021  Gestion erreurs 400 LCB-FT

Section 4.1 Épargne : 75% (3/4 tâches)
- Seuil dynamique depuis backend
- Validation LCB-FT sur tous les flux (dépôt/retrait/transfert)
- Messages d'erreur conviviaux et explicites

Section 4.2 KYC : 0% (0/3 tâches - à démarrer)

Progression globale : 18/27 tâches (67%)
Commits : 74161df, 5ef8ae1, 6231847

Signed-off-by: lions dev Team
This commit is contained in:
dahoud
2026-03-15 02:48:14 +00:00
parent 62318476f8
commit 7e929ac440

View File

@@ -2,7 +2,7 @@
**Branche** : `001-mutuelles-anti-blanchiment`
**Dernière mise à jour** : 2026-03-13
**Statut global** : **41% complété** (11/27 tâches)
**Statut global** : **67% complété** (18/27 tâches)
---
@@ -13,9 +13,9 @@
| **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** | 4/6 | ✅ **67%** | Services + endpoints |
| **Phase 4 - Mobile** | 0/7 | **0%** | Écrans + KYC |
| **Phase 4 - Mobile** | 3/7 | 🚧 **43%** | Épargne LCB-FT (3/4), KYC (0/3) |
| **Phase 5 - Finition** | 0/3 | ⏳ **0%** | Tests + docs |
| **TOTAL** | **15/27** | 🎯 **56%** | |
| **TOTAL** | **18/27** | 🎯 **67%** | |
---
@@ -202,39 +202,106 @@ Ces tâches ne sont pas critiques pour le MVP de la spec 001 et peuvent être aj
---
## Phase 4 - Mobile (0% - À démarrer)
## 🚧 Phase 4 - Mobile (43% complétée)
### Tâches restantes
**Commits** : `74161df`, `5ef8ae1`, `6231847`
**Date** : 2026-03-13
#### 4.1 Épargne Seuil et champs LCB-FT
### Réalisations
##### T018 : Récupération seuil depuis API
- Appel endpoint paramètres LCB-FT
- Stockage seuil dans état BLoC
#### 4.1 Épargne Seuil et champs LCB-FT (75% - 3/4)
##### T019 : Formulaires dépôt/retrait/transfert
- Champ `origineFonds` obligatoire si montant >= seuil
- Validation côté client
##### T018 : Récupération seuil depuis API ✅
**Commit** : `74161df`
##### T020 : Upload pièce justificative
- Ajout champ upload dans dialogs
- Envoi `pieceJustificativeId` dans request
Nouveaux fichiers :
- `SeuilLcbFtModel` : modèle pour seuil récupéré depuis API
- `montantSeuil` (double), `codeDevise` (String)
- Factory `defaultSeuil()` fallback 500k XOF
-`ParametresLcbFtRepository` : appel `/api/parametres-lcb-ft/seuil-justification`
- `@lazySingleton` pour injection GetIt
- Fallback automatique si API échoue
##### T021 : Gestion erreurs 400 côté mobile
- Message clair si origine fonds manquante
Modifications :
- `DepotEpargneDialog` : charge seuil au `initState()`
-`RetraitEpargneDialog` : idem
- ✅ Remplace constante `kSeuilOrigineFondsObligatoireXOF` par `_seuilLcbFt` dynamique
#### 4.2 Fiche membre Affichage KYC
Impact :
- Seuil LCB-FT maintenant configurable par organisation depuis backend
- Messages utilisateur avec montant seuil dynamique
- Conformité BCEAO : seuils centralisés et auditables
##### T022 : Étendre modèle membre mobile
**Fichiers** :
- `lib/core/data/models/seuil_lcb_ft_model.dart`
- `lib/core/data/repositories/parametres_lcb_ft_repository.dart`
- `lib/features/epargne/presentation/widgets/depot_epargne_dialog.dart`
- `lib/features/epargne/presentation/widgets/retrait_epargne_dialog.dart`
##### T019 : Formulaires avec origineFonds obligatoire ✅
**Commit** : `5ef8ae1`
Modifications :
-`TransfertEpargneDialog` : ajout champ origine des fonds
- Import `ParametresLcbFtRepository` + `lcb_ft_constants`
- Chargement seuil au `initState()`
- Validation conditionnelle : `montant >= seuil` → origine fonds obligatoire
- Message clair avec montant seuil dynamique
- `onChanged` sur montant pour mise à jour UI temps réel
Impact :
- Les 3 types d'opérations (dépôt, retrait, transfert) ont la validation LCB-FT
- Champ `origineFonds` transmis dans `TransactionEpargneRequest`
- Conformité BCEAO/OHADA sur tous les flux épargne
**Fichier** :
- `lib/features/epargne/presentation/widgets/transfert_epargne_dialog.dart`
##### T020 : Upload pièce justificative ⏩ OPTIONNEL (skip)
- Champ `pieceJustificativeId` déjà présent dans `TransactionEpargneRequest`
- Peut être ajouté ultérieurement si besoin métier
- Non bloquant pour MVP : description texte dans `origineFonds` suffit
##### T021 : Gestion erreurs 400 LCB-FT ✅
**Commit** : `6231847`
Nouveau fichier :
-`ErrorFormatter` : utilitaire central pour formater les erreurs backend
- Détecte et formate spécialement les erreurs LCB-FT (origine fonds manquante)
- Détecte erreurs KYC, réseau, 400/401/403/404/500
- Messages conviviaux avec emojis (🛡️ pour LCB-FT/KYC)
- Durée d'affichage adaptée : 6s pour LCB-FT, 3s sinon
- `isLcbFtError()`, `isCritical()` helpers
Modifications 3 dialogs (dépôt, retrait, transfert) :
- ✅ Remplacement affichage erreur brut par `ErrorFormatter.format(e)`
- ✅ Messages explicites : *"L'origine des fonds est obligatoire pour cette opération (conformité LCB-FT anti-blanchiment)"*
- ✅ Durée snackbar conditionnelle selon type erreur
Impact UX :
- Messages d'erreur clairs et professionnels
- Utilisateur comprend **POURQUOI** l'origine fonds est requise (anti-blanchiment)
- Temps de lecture suffisant pour messages importants
**Fichiers** :
- `lib/core/utils/error_formatter.dart`
- `lib/features/epargne/presentation/widgets/depot_epargne_dialog.dart`
- `lib/features/epargne/presentation/widgets/retrait_epargne_dialog.dart`
- `lib/features/epargne/presentation/widgets/transfert_epargne_dialog.dart`
#### 4.2 Fiche membre Affichage KYC (0% - 0/3)
##### T022 : Étendre modèle membre mobile ⏳
- `MembreModel` avec champs KYC
- niveauVigilanceKyc, statutKyc, dateVerificationIdentite
##### T023 : Affichage fiche membre
##### T023 : Affichage fiche membre KYC ⏳
- Lecture seule statut KYC
- Date vérification identité
##### T024 : Validation données API uniquement
##### T024 : Validation données API uniquement
- Pas de valeurs en dur
- Audit complet mobile
---