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,6231847Signed-off-by: lions dev Team
This commit is contained in:
@@ -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
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user