Ajout de la géolocalisation automatique des casernes de pompiers et amélioration du formulaire EntiteForm
This commit is contained in:
@@ -53,6 +53,12 @@
|
||||
|
||||
- **LoginPage** : Page de connexion avec détection du type d'utilisateur
|
||||
- **SplashPage** : Page de démarrage et initialisation
|
||||
- **EntiteForm** : Formulaire de gestion des amicales avec géolocalisation automatique
|
||||
|
||||
#### Géolocalisation et Cartographie
|
||||
|
||||
- **MapboxMap** : Widget de carte pour afficher la position des amicales
|
||||
- **findFireStationCoordinates** : Service API pour localiser les casernes de pompiers via adresse.gouv.fr
|
||||
|
||||
## Technologies et Frameworks
|
||||
|
||||
@@ -69,6 +75,12 @@
|
||||
- **Dio** : Client HTTP pour les requêtes API
|
||||
- **GoRouter** : Navigation et routage dans Flutter
|
||||
- **Svelte 5** : Framework UI pour le site web
|
||||
- **Flutter Map** : Bibliothèque de cartographie pour Flutter
|
||||
|
||||
### APIs Externes
|
||||
|
||||
- **API Adresse.gouv.fr** : Utilisée pour la géolocalisation des adresses et des casernes de pompiers
|
||||
- **Stripe API** : Intégration pour les paiements par carte bancaire (commission de 1.4%)
|
||||
|
||||
### Base de Données
|
||||
|
||||
@@ -100,7 +112,9 @@
|
||||
|
||||
### Pratiques Spécifiques au Projet
|
||||
|
||||
[Toute convention ou pratique spécifique à ce projet]
|
||||
- Chiffrement des données sensibles (noms, emails, téléphones) dans la base de données
|
||||
- Mise à jour automatique des coordonnées GPS lors des changements d'adresse
|
||||
- Confirmation utilisateur pour les actions ayant un impact financier (activation Stripe)
|
||||
|
||||
## Flux de Travail et Processus de Développement
|
||||
|
||||
@@ -181,44 +195,7 @@
|
||||
|
||||
## Historique des Versions
|
||||
|
||||
| Version | Date | Description |
|
||||
| ------- | ------ | ------------- |
|
||||
| 1.0.0 | [Date] | [Description] |
|
||||
|
||||
## Processus d'Authentification et Gestion des Sessions
|
||||
|
||||
### Flux de Connexion
|
||||
|
||||
1. L'utilisateur entre ses identifiants dans la page de login (username/password)
|
||||
2. L'application envoie une requête POST à `/api/login` avec les identifiants et le type de connexion (user/admin)
|
||||
3. Le serveur vérifie les identifiants, crée une session PHP et renvoie:
|
||||
- Un `session_id` (utilisé comme token Bearer)
|
||||
- Une date d'expiration de session
|
||||
- Les données de l'utilisateur et les données associées (opérations, secteurs, passages)
|
||||
4. L'application stocke ces données dans des boîtes Hive locales
|
||||
5. Le `session_id` est utilisé pour toutes les requêtes API suivantes
|
||||
|
||||
### Flux de Déconnexion
|
||||
|
||||
1. L'utilisateur demande une déconnexion
|
||||
2. L'application envoie une requête POST à `/api/logout` avec le `session_id` dans l'en-tête
|
||||
3. Le serveur détruit la session PHP avec `session_unset()` et `session_destroy()`
|
||||
4. L'application:
|
||||
- Vide toutes les boîtes Hive sauf la boîte utilisateur
|
||||
- Conserve uniquement le username et le rôle de l'utilisateur pour faciliter la reconnexion
|
||||
- Réinitialise le `session_id` à null
|
||||
|
||||
### Particularités
|
||||
|
||||
- La page de login vérifie le rôle de l'utilisateur avant de pré-remplir le champ username
|
||||
- Le type de connexion (user/admin) détermine les données chargées et les droits d'accès
|
||||
- Les utilisateurs avec rôle=1 sont des utilisateurs standards, ceux avec rôle>1 sont des administrateurs
|
||||
- Les sessions expirent après 24 heures par défaut
|
||||
|
||||
## Notes Spécifiques pour les Assistants IA
|
||||
|
||||
- Toujours vérifier les issues GitLab avant de proposer des solutions
|
||||
- Respecter strictement les conventions de code mentionnées ci-dessus
|
||||
- Lors de modifications des modèles Hive, s'assurer que les typeId sont uniques pour éviter les conflits
|
||||
- Vérifier la compatibilité des modifications avec les trois plateformes (web, iOS, Android)
|
||||
- Pour les modifications de l'API, s'assurer que la réponse reste compatible avec le format attendu par l'application
|
||||
| Version | Date | Description |
|
||||
| ------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 1.0.0 | 01/03/2025 | Version initiale du projet |
|
||||
| 1.1.0 | 16/05/2025 | Ajout de la géolocalisation automatique des casernes de pompiers via API adresse.gouv.fr, amélioration du formulaire EntiteForm avec confirmation pour l'activation des paiements Stripe, mise à jour automatique des coordonnées GPS lors des changements d'adresse |
|
||||
|
||||
Reference in New Issue
Block a user