Restructuration majeure du projet: migration de flutt vers app, ajout de l'API et mise à jour du site web

This commit is contained in:
d6soft
2025-05-16 09:19:03 +02:00
parent b5aafc424b
commit 5c2620de30
391 changed files with 19780 additions and 7233 deletions

View File

@@ -94,12 +94,13 @@ La couche de données est responsable de la gestion des données et comprend :
La couche de services fournit des fonctionnalités d'infrastructure et d'intégration :
- `api_service.dart` : Communication avec l'API backend
- `auth_service.dart` : Gestion de l'authentification
- `connectivity_service.dart` : Surveillance de la connectivité réseau
- `location_service.dart` : Services de géolocalisation
- `passage_data_service.dart` : Traitement des données de passage
- `sync_service.dart` : Synchronisation des données locales/serveur
> **Note importante** : La classe `auth_service.dart` a été supprimée et ses fonctionnalités ont été intégrées directement dans `UserRepository` pour simplifier l'architecture et éviter les problèmes de synchronisation entre les deux classes.
## Gestion d'état et injection de dépendances
L'application utilise des instances globales pour la gestion d'état et l'accès aux services. Ces instances sont définies dans le fichier `app.dart` :
@@ -195,9 +196,12 @@ Le flux d'authentification suit ce processus :
1. Vérification initiale de session persistante (Hive)
2. Redirection vers Login/Register si nécessaire
3. Authentification via API Service
4. Stockage sécurisé des informations de session
3. Authentification via `UserRepository` qui communique avec l'API
4. Stockage sécurisé des informations de session dans Hive
5. Redirection vers l'interface appropriée (admin vs utilisateur)
6. Lors de la déconnexion, nettoyage complet des boîtes Hive et redirection vers la page de démarrage
> **Amélioration récente** : Le processus d'authentification a été simplifié en centralisant toute la logique dans `UserRepository`, qui gère maintenant à la fois la connexion, la déconnexion, l'affichage des overlays de chargement et les redirections.
## Widgets communs