## 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>
146 lines
3.6 KiB
YAML
146 lines
3.6 KiB
YAML
name: unionflow_mobile_apps
|
|
description: "Projet Union Flow pour la gestion d'associations, mutuelles d'épargne et de financement, et assimilés."
|
|
publish_to: 'none'
|
|
|
|
version: 1.0.0+1
|
|
|
|
environment:
|
|
sdk: ^3.9.0
|
|
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
flutter_localizations:
|
|
sdk: flutter
|
|
|
|
# Dependencies de base testées
|
|
cupertino_icons: ^1.0.8
|
|
flutter_bloc: ^9.0.0
|
|
equatable: ^2.0.7
|
|
dio: ^5.8.0
|
|
fl_chart: ^0.70.2
|
|
intl: ^0.20.2
|
|
|
|
# Authentication (versions compatibles)
|
|
flutter_secure_storage: ^10.0.0
|
|
jwt_decoder: ^2.0.1
|
|
crypto: ^3.0.6
|
|
shared_preferences: ^2.3.5
|
|
flutter_appauth: ^8.0.0
|
|
webview_flutter: ^4.4.2
|
|
|
|
# HTTP
|
|
http: ^1.1.0
|
|
pretty_dio_logger: ^1.4.0
|
|
connectivity_plus: ^6.1.0
|
|
web_socket_channel: ^3.0.1
|
|
|
|
# DI (versions stables)
|
|
get_it: ^7.7.0
|
|
injectable: ^2.4.4
|
|
|
|
# JSON serialization
|
|
json_annotation: ^4.9.0
|
|
dartz: ^0.10.1
|
|
|
|
# UI Components
|
|
cached_network_image: ^3.4.1
|
|
flutter_svg: ^2.0.10+1
|
|
shimmer: ^3.0.0
|
|
pull_to_refresh: ^2.0.0
|
|
google_fonts: ^8.0.0
|
|
local_auth: ^2.3.0
|
|
|
|
# Utils
|
|
uuid: ^4.5.1
|
|
url_launcher: ^6.3.1
|
|
permission_handler: ^11.3.1
|
|
package_info_plus: ^8.0.2
|
|
flutter_staggered_animations: ^1.1.1
|
|
|
|
# Notifications
|
|
flutter_local_notifications: ^18.0.1
|
|
|
|
# Sécurité mobile MASVS v2 — détection reverse engineering/tampering
|
|
freerasp: ^7.0.0
|
|
|
|
# Crash reporting & performance monitoring
|
|
sentry_flutter: ^8.14.0
|
|
|
|
# Export/Import
|
|
excel: ^4.0.6
|
|
csv: ^6.0.0
|
|
pdf: ^3.11.1
|
|
path_provider: ^2.1.4
|
|
file_picker: ^8.1.2
|
|
image_picker: ^1.1.2
|
|
share_plus: ^10.0.2
|
|
go_router: ^15.1.2
|
|
provider: ^6.1.5+1
|
|
|
|
dev_dependencies:
|
|
flutter_test:
|
|
sdk: flutter
|
|
flutter_lints: ^4.0.0
|
|
injectable_generator: ^2.6.2
|
|
build_runner: ^2.4.13
|
|
json_serializable: ^6.8.0
|
|
mockito: ^5.4.4
|
|
bloc_test: ^10.0.0
|
|
integration_test:
|
|
sdk: flutter
|
|
flutter_launcher_icons: ^0.13.1
|
|
flutter_native_splash: ^2.4.1
|
|
|
|
# ─── Génération des icônes d'application (launcher) ──────────────────────────
|
|
# Source unique : assets/images/unionflow-logo.png
|
|
# Régénérer : dart run flutter_launcher_icons
|
|
flutter_launcher_icons:
|
|
android: "ic_launcher"
|
|
ios: true
|
|
remove_alpha_ios: true
|
|
image_path: "assets/images/unionflow-logo.png"
|
|
background_color_ios: "#FFFFFF"
|
|
min_sdk_android: 21
|
|
adaptive_icon_background: "#FFFFFF"
|
|
adaptive_icon_foreground: "assets/images/unionflow-logo.png"
|
|
web:
|
|
generate: false
|
|
windows:
|
|
generate: false
|
|
macos:
|
|
generate: false
|
|
|
|
# ─── Génération du splash screen natif (Android + iOS) ───────────────────────
|
|
# Régénérer : dart run flutter_native_splash:create
|
|
flutter_native_splash:
|
|
color: "#FFFFFF"
|
|
color_dark: "#0A0D1A"
|
|
image: "assets/images/unionflow-logo.png"
|
|
android_12:
|
|
image: "assets/images/unionflow-logo.png"
|
|
color: "#FFFFFF"
|
|
color_dark: "#0A0D1A"
|
|
android: true
|
|
ios: true
|
|
web: false
|
|
fullscreen: false
|
|
|
|
flutter:
|
|
uses-material-design: true
|
|
generate: true
|
|
assets:
|
|
- google_fonts/
|
|
- assets/images/
|
|
- assets/images/branding/
|
|
- assets/images/payment_methods/wave/
|
|
- assets/images/payment_methods/orange_money/
|
|
- assets/images/payment_methods/free_money/
|
|
- assets/images/payment_methods/mtn_money/
|
|
- assets/images/payment_methods/moov_money/
|
|
- assets/images/payment_methods/mobile_money/
|
|
- assets/images/payment_methods/especes/
|
|
- assets/images/payment_methods/virement/
|
|
- assets/images/payment_methods/cheque/
|
|
- assets/images/payment_methods/carte_bancaire/
|
|
- assets/images/payment_methods/autre/ |