Files
EM2_ERP/em2rp/pubspec.yaml
ElPoyo 8cd4854924 refactor: Amélioration des performances et migration des Cloud Functions
Cette mise à jour majeure vise à améliorer significativement les performances de l'application, en particulier au démarrage, et à standardiser l'infrastructure backend. Les principaux changements incluent la migration de toutes les Cloud Functions vers une région européenne (`europe-west9`), l'optimisation du chargement des données, et l'introduction d'un moniteur de performance pour le débogage.

**Changements Backend (Cloud Functions) :**

-   **Migration de la Région :**
    -   Toutes les Cloud Functions ont été déplacées de `us-central1` à `europe-west9` (Paris) pour réduire la latence pour les utilisateurs européens. Cela concerne les appels depuis le frontend (ex: `api_config.dart`, `email_service.dart`) et les définitions des fonctions elles-mêmes (`index.js`, etc.).
-   **Standardisation des Fonctions :**
    -   La plupart des fonctions `onCall` (v1) ont été migrées vers le format `onRequest` (v2) avec une gestion d'authentification et de CORS unifiée, améliorant la robustesse et la cohérence.
    -   Les triggers Firestore (`onDocumentCreated`, `onDocumentUpdated`) et les tâches planifiées (`onSchedule`) ont été mis à jour pour spécifier explicitement la région `europe-west9`.
-   **Mise à jour des Index Firestore :**
    -   Les index `firestore.indexes.json` ont été mis à jour pour supporter les nouvelles requêtes de l'application et optimiser les performances de filtrage.

**Améliorations des Performances Frontend :**

-   **Chargement Asynchrone et Mis en Cache :**
    -   Le chargement des données utilisateur (`LocalUserProvider`) et des événements (`EventProvider`) a été optimisé pour utiliser un cache local à court terme (5 minutes pour l'utilisateur, 30 secondes pour les événements).
    -   Les données ne sont rechargées que si le cache a expiré ou si un rechargement est forcé, évitant des appels réseau redondants et accélérant la navigation.
-   **Démarrage de l'Application Optimisé :**
    -   Le processus de connexion automatique (`main.dart`) a été revu. L'application navigue désormais immédiatement vers la page demandée sans attendre la fin du chargement des données utilisateur, qui s'effectue en arrière-plan.
    -   Un écran de chargement plus esthétique avec le logo de l'entreprise a été ajouté, remplaçant l'indicateur de chargement simple.
-   **Chargement de la Page Calendrier :**
    -   Le chargement et la sélection de l'événement par défaut sur la page `CalendarPage` sont maintenant entièrement asynchrones, rendant l'affichage de la page quasi instantané.

**Nouveaux Outils et Améliorations UX :**

-   **Moniteur de Performance :**
    -   Ajout d'un nouvel outil `PerformanceMonitor` (`lib/utils/performance_monitor.dart`) pour mesurer précisément le temps d'exécution des opérations critiques (appels API, parsing, etc.) en mode débogage. Il aide à identifier les goulots d'étranglement.
-   **Amélioration du Formulaire de Connexion :**
    -   Les champs "Email" et "Mot de passe" sur la page de connexion (`LoginPage`) supportent désormais l'autocomplétion du navigateur (`AutofillGroup`).
    -   Appuyer sur "Entrée" dans l'un des champs déclenche désormais la connexion, améliorant l'ergonomie.

**Mise à jour de la version :**

-   La version de l'application a été incrémentée à `1.0.9`.
2026-02-09 10:14:52 +01:00

76 lines
1.6 KiB
YAML

name: em2rp
description: "L'app de gestion d'événements et matériel par EM2 Events"
publish_to: 'none'
version: 1.0.0+1
environment:
sdk: ^3.5.4
dependencies:
flutter:
sdk: flutter
firebase_core: ^4.2.0
firebase_auth: ^6.1.1
cloud_firestore: ^6.0.3
cloud_functions: ^6.0.4
google_sign_in: ^7.2.0
provider: ^6.1.2
firebase_storage: ^13.0.3
image_picker: ^1.1.2
universal_io: ^2.2.2
cupertino_icons: ^1.0.2
table_calendar: ^3.0.9
intl: ^0.20.2
google_maps_flutter: ^2.5.0
permission_handler: ^12.0.0+1
geolocator: ^14.0.1
flutter_map: ^8.1.1
latlong2: ^0.9.0
flutter_launcher_icons: ^0.14.3
flutter_native_splash: ^2.3.9
url_launcher: ^6.2.2
share_plus: ^12.0.1
path_provider: ^2.1.2
pdf: ^3.10.7
printing: ^5.11.1
qr_flutter: ^4.1.0
mobile_scanner: ^5.2.3
flutter_local_notifications: ^19.2.1
timezone: ^0.10.1
flutter_secure_storage: ^9.0.0
http: ^1.1.2
flutter_dotenv: ^6.0.0
google_fonts: ^6.1.0
flutter_svg: ^2.2.1
cached_network_image: ^3.3.1
flutter_staggered_grid_view: ^0.7.0
shimmer: ^3.0.0
flutter_slidable: ^4.0.0
flutter_datetime_picker: ^1.5.1
flutter_colorpicker: ^1.0.3
flutter_rating_bar: ^4.0.1
flutter_chat_ui: ^2.3.1
flutter_chat_types: ^3.6.2
uuid: ^4.2.2
file_picker: ^10.1.9
flutter_dropzone: ^4.2.1
flutter_localizations:
sdk: flutter
timeago: ^3.6.1
audioplayers: ^6.1.0
path: any
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^6.0.0
flutter:
uses-material-design: true
assets:
- assets/
- assets/images/
- assets/logos/
- assets/icons/