dahoud
|
8c1a254e80
|
feat(sprint-9 mobile 2026-04-25): feature compliance dashboard + Devise enum + selector + tests
Apporte aux compliance officers et controleurs internes l'accès mobile au tableau de bord
de conformité backend (P1-NEW-7). Et prépare la diaspora avec Devise enum + sélecteur
préférence persisté.
Feature Compliance (Clean Architecture)
- Domain : ComplianceSnapshot + ConformiteIndicateur (Equatable), helpers scoreSeverite + hasAlertesCritiques
- Data : ComplianceSnapshotModel.fromJson (parsing tolerant aux nullables), ComplianceRemoteDataSourceImpl Dio (GET /api/compliance/dashboard), ComplianceRepositoryImpl @Injectable
- Presentation : ComplianceBloc (Load/Refresh events, Initial/Loading/Loaded/Error states), ConformiteDashboardPage (Material 3, ScoreCard 0-100 colorée, 9 IndicateurTile, AlertesCard rouge si critiques)
Feature Devise
- Devise enum (10 valeurs miroirs backend, code/libelle/zone)
- fromCode tolérant casse + null/vide → XOF
- estInternationale pour AML
- DeviseSelector widget DropdownButtonFormField + readPreferred/writePreferred via FlutterSecureStorage (clé unionflow.devise.preferee)
Tests (17/17 verts)
- ComplianceSnapshot : 7 tests (scoreSeverite × 3, hasAlertesCritiques × 4)
- ComplianceSnapshotModel.fromJson : 4 tests (complet, fallbacks, string→double, indicateur invalide)
- Devise enum : 6 tests (reference, fromCode parse, fromCode null/inconnu, estInternationale × 2, intégrité valeurs)
Note : feature reporting trimestriel mobile (PDF viewer + bloc liste) reportée à un sprint
dédié — nécessite intégration pdf viewer + cache local non triviale.
|
2026-04-25 11:11:03 +00:00 |
|
dahoud
|
37db88672b
|
feat: BLoC tests complets + sécurité production + freerasp 7.5.1 migration
## Tests BLoC (Task P2.4 Mobile)
- 25 nouveaux fichiers *_bloc_test.dart + mocks générés (build_runner)
- Features couvertes : authentication, admin_users, adhesions, backup,
communication/messaging, contributions, dashboard, finance (approval/budget),
events, explore/network, feed, logs_monitoring, notifications, onboarding,
organizations (switcher/types/CRUD), profile, reports, settings, solidarity
- ~380 tests, > 80% coverage BLoCs
## Sécurité Production (Task P2.2)
- lib/core/security/app_integrity_service.dart (freerasp 7.5.1)
- Migration API breaking changes freerasp 7.5.1 :
- onRootDetected → onPrivilegedAccess
- onDebuggerDetected → onDebug
- onSignatureDetected → onAppIntegrity
- onHookDetected → onHooks
- onEmulatorDetected → onSimulator
- onUntrustedInstallationSourceDetected → onUnofficialStore
- onDeviceBindingDetected → onDeviceBinding
- onObfuscationIssuesDetected → onObfuscationIssues
- Talsec.start() split → start() + attachListener()
- const AndroidConfig/IOSConfig → final (constructors call ConfigVerifier)
- supportedAlternativeStores → supportedStores
## Pubspec
- bloc_test: ^9.1.7 → ^10.0.0 (compat flutter_bloc ^9.0.0)
- freerasp 7.5.1
## Config
- android/app/build.gradle : ajustements release
- lib/core/config/environment.dart : URLs API actualisées
- lib/main.dart + app_router : intégrations sécurité/BLoC
## Cleanup
- Suppression docs intermédiaires (TACHES_*.md, TASK_*_COMPLETION_REPORT.md,
TESTS_UNITAIRES_PROGRESS.md)
- .g.dart régénérés (json_serializable)
- .mocks.dart régénérés (mockito)
## Résultat
- 142 fichiers, +27 596 insertions
- Toutes les tâches P2 mobile complétées
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-04-21 12:42:35 +00:00 |
|
dahoud
|
22dece52ef
|
test: couverture tests modules (communication, contributions, dashboard, events, members, organizations, profile, reports, settings, finance_workflow, core/network)
|
2026-04-15 20:27:38 +00:00 |
|
dahoud
|
70cbd1c873
|
fix(mobile): URL changement mdp corrigée + v3.0 — multi-org, AppAuth, sécurité prod
Auth:
- profile_repository.dart: /api/auth/change-password → /api/membres/auth/change-password
Multi-org (Phase 3):
- OrgSelectorPage, OrgSwitcherBloc, OrgSwitcherEntry
- org_context_service.dart: headers X-Active-Organisation-Id + X-Active-Role
Navigation:
- MorePage: navigation conditionnelle par typeOrganisation
- Suppression adaptive_navigation (remplacé par main_navigation_layout)
Auth AppAuth:
- keycloak_webview_auth_service: fixes AppAuth Android
- AuthBloc: gestion REAUTH_REQUIS + premierLoginComplet
Onboarding:
- Nouveaux états: payment_method_page, onboarding_shared_widgets
- SouscriptionStatusModel mis à jour StatutValidationSouscription
Android:
- build.gradle: ProGuard/R8, network_security_config
- Gradle wrapper mis à jour
|
2026-04-07 20:56:03 +00:00 |
|
dahoud
|
5383df6dcb
|
refactoring
|
2026-03-31 09:14:47 +00:00 |
|
dahoud
|
11f9135f90
|
Refactoring - Version stable
|
2026-03-28 14:22:16 +00:00 |
|
dahoud
|
d094d6db9c
|
Initial commit: unionflow-mobile-apps
Application Flutter complète (sans build artifacts).
Signed-off-by: lions dev Team
|
2026-03-15 16:30:08 +00:00 |
|