feat: Version 3.3.4 - Nouvelle architecture pages, optimisations widgets Flutter et API

- Mise à jour VERSION vers 3.3.4
- Optimisations et révisions architecture API (deploy-api.sh, scripts de migration)
- Ajout documentation Stripe Tap to Pay complète
- Migration vers polices Inter Variable pour Flutter
- Optimisations build Android et nettoyage fichiers temporaires
- Amélioration système de déploiement avec gestion backups
- Ajout scripts CRON et migrations base de données

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
pierre
2025-10-05 20:11:15 +02:00
parent 242a90720e
commit b6584c83fa
1625 changed files with 145669 additions and 51249 deletions

366
app/docs/TODO-GEOSECTOR.md Normal file
View File

@@ -0,0 +1,366 @@
# GEOSECTOR v3.2.4
## Points à traiter
---
**Client** : GEOSECTOR
**Date** : 11 septembre 2025
**Deadline** : 08 octobre 2025 (Congrès)
**Version actuelle** : v3.2.4
**Version cible** : v3.4.4
---
<div style="page-break-after: always;"></div>
## SOMMAIRE
1. [Priorité 1 - Corrections critiques](#priorité-1---corrections-critiques)
2. [Priorité 2 - Améliorations fonctionnelles](#priorité-2---améliorations-fonctionnelles)
3. [Priorité 3 - Interface utilisateur](#priorité-3---interface-utilisateur)
4. [Restrictions d'accès](#restrictions-daccès)
5. [Mode Super Admin](#mode-super-admin)
6. [Processus d'inscription](#processus-dinscription)
7. [Module Stripe](#module-stripe)
8. [Planning prévisionnel](#planning-prévisionnel)
9. [Point financier](#point-financier)
---
<div style="page-break-after: always;"></div>
## PRIORITÉ 1 - Corrections critiques
### 🔐 Authentification et sécurité
**1. Problème de déconnexion intempestive**
- [x] **Symptôme** : Le rafraîchissement de la page (F5) déconnecte l'utilisateur (05/10/2025)
- [x] **Impact** : Perte de session et du travail en cours
- [x] **Correction** : Maintenir la session active lors du rafraîchissement via endpoint GET /api/user/session
**2. Gestion des mots de passe**
- [x] **Symptôme** : Le mot de passe généré automatiquement contient des espaces
- [x] **Impact** : Impossibilité de connexion avec le mot de passe fourni
- [x] **Correction** : Générer des mots de passe sans espaces
### 📝 Formulaires et saisie de données
**3. Saisie des passages**
- [x] **Symptôme** : Le champ "nom" est obligatoire lors de la saisie d'un passage
- [x] **Impact** : Blocage si le nom n'est pas connu
- [x] **Correction** : Rendre le champ nom optionnel
**4. Modification des secteurs**
- [x] **Symptôme** : Le changement de membre affecté à un secteur n'est pas sauvegardé
- [x] **Impact** : Incohérence dans l'attribution des secteurs
- [x] **Correction** : Corriger la sauvegarde de l'affectation
**5. Enregistrement des passages**
- [ ] **Symptôme** : L'enregistrement d'un nouveau passage ne fonctionne pas correctement
- [ ] **Impact** : Impossibilité d'enregistrer de nouveaux passages
- [ ] **Correction** : Vérifier et corriger le processus d'enregistrement
---
## PRIORITÉ 2 - Améliorations fonctionnelles
### 👥 Gestion des membres
**Liste des membres avec statistiques**
- [x] Afficher la liste des membres avec leurs statistiques (comme ancienne version)
- [x] Vue d'ensemble rapide des performances de chaque membre
**Filtres et organisation**
- [ ] Ajouter des filtres sur la liste des membres dans "Amicale et membres"
- [ ] Afficher les membres sélectionnés en haut de liste lors de modifications
**Gestion des identifiants**
- [ ] Permettre la modification de l'identifiant utilisateur
- [ ] Email non obligatoire si identifiant et mot de passe sont saisis manuellement
### 📊 Historique et reporting
**Sélection avancée**
- [x] Permettre le choix du membre dans l'historique
- [x] Ajouter des sélecteurs de dates (début/fin) dans l'historique
**Affichage et visibilité**
- [x] Corriger le problème de logo blanc sur blanc pour les passages "à finaliser" (04/10/2025)
- [ ] Historique en bas : 1-2 adresses seulement visibles, impossibilité de cliquer dessus
- [x] Ajouter une ligne avec les totaux dans l'historique
### 🗺️ Carte et géolocalisation
**Configuration de la carte**
- [x] Simplifier le système de zoom : zoom par défaut à 15, conservation du zoom utilisateur uniquement (05/10/2025)
- [x] Conservation du zoom lors de la sélection d'un secteur dans la combobox - Le zoom reste inchangé au lieu de s'ajuster automatiquement (05/10/2025)
- [x] Centrage GPS amicale au premier chargement - La carte se centre sur les coordonnées GPS de l'amicale au lieu des secteurs (05/10/2025)
- [x] Suppression du filtrage côté client - Élimination du double filtrage inutile des secteurs et passages (l'API filtre déjà selon le rôle) (05/10/2025)
- [x] Corriger l'affichage des passages par défaut en mode admin (filtre "Aucun passage" non respecté) (04/10/2025)
- [x] Stabiliser les labels de secteurs (nombre de passages/membres) lors de la sélection d'un secteur (04/10/2025)
- [ ] Définir un zoom maximal pour éviter le sur-zoom
- [ ] Étudier l'utilisation d'un style de carte type Snapchat
**Mode terrain**
- [ ] Optimiser la précision et la fiabilité du GPS
- [ ] Améliorer la géolocalisation en mode terrain
- [ ] Mode Web utilisateur : impossible de se déplacer sur la carte en mode terrain (retour automatique à la position)
**Divers**
**Synchronisation des données**
- [x] Membre rattaché à un secteur avec 15 passages visibles sur la carte mais affiche 0 passage à finaliser en mode utilisateur - Correction du filtrage des passages de type 2 (À finaliser) pour afficher tous les passages de ce type en mode utilisateur (05/10/2025)
**Performance et formulaires**
- [ ] Bloquer l'enregistrement à 1 seul lors de la création de membre (actuellement très long, plusieurs clics créent X membres en double)
- [x] Simplifier le script de déploiement (suppression du choix Fast/Release) (04/10/2025)
- [x] Optimiser le rechargement de la carte : secteurs chargés uniquement lors de création/modification, pas en temps réel (04/10/2025)
- [x] Nettoyage du code : réduction des warnings Flutter de 16 à 6 (-62.5%) via suppression des imports non utilisés (04/10/2025)
**Carte et navigation**
- [ ] Mode terrain smartphone : carte trop petite, le zoom revient automatiquement et empêche de dézoomer pour voir les points d'intérêt
- [ ] Points de carte affichés devant les textes (en admin et en utilisateur)
- [ ] Listing des rues invisible (le clavier se met devant)
- [ ] Recherche de rue : ne trouve pas si pas à proximité même si la rue est dans le secteur
- [x] Revoir la couleur des pointeurs sur la carte (04/10/2025)
- [x] Ajouter un filtre de type de passage sur la carte admin (04/10/2025)
- [x] Mode terrain : rayon d'action réduit à 500m pour affichage des passages (04/10/2025)
- [x] Mode terrain : afficher tous les types de passages (pas seulement "à finaliser") (04/10/2025)
- [x] Mode terrain : marqueurs carte avec couleurs selon type de passage (04/10/2025)
**Fonctionnalités utilisateur**
- [ ] Carte en mode utilisateur : actuellement consultable uniquement, affiche l'adresse au clic - évaluer la possibilité de valider un passage directement depuis la carte
- [ ] Désactiver temporairement l'envoi de reçu (ne doit pas encore être actif)
### 📋 Gestion des passages
**Interface et interaction**
- [x] Clic sur la card d'un passage dans list_widget pour le modifier directement (04/10/2025)
- [x] Mémoriser la dernière adresse saisie dans le formulaire de passage pour l'afficher à la prochaine création (04/10/2025)
**Actions groupées**
- [ ] Permettre la suppression de plusieurs passages en une seule fois
- [ ] Implémenter la possibilité de récupérer des passages supprimés (corbeille/historique)
**Statistiques et graphiques**
- [ ] Corriger l'affichage du règlement par chèque qui n'apparaît pas dans le graphe pie
- [x] Corriger l'affichage du graphique Pie qui affichait 100% effectués (filtre excluait les passages "à finaliser") (04/10/2025)
- [x] Corriger le bug de calcul du total des paiements dans l'historique (comptait les passages non payés au lieu de les ignorer) (04/10/2025)
- [x] Corriger le graphique pie de la home page admin qui affichait les passages utilisateur au lieu de tous les passages (04/10/2025)
---
<div style="page-break-after: always;"></div>
## PRIORITÉ 3 - Interface utilisateur
### 💬 Module de messagerie
**Visibilité des actions**
- [ ] Améliorer la visibilité du bouton "Envoyer un message"
- [ ] Augmenter l'épaisseur de la police pour une meilleure lisibilité
### 🎨 Ergonomie des formulaires
**Textes d'aide**
- [ ] Améliorer les textes d'aide (helpers) dans les fiches membres
- [ ] Rendre les textes plus clairs et explicites
### 🏗️ Architecture et refactoring
**Simplification du layout**
- [x] Corriger le fond dégradé qui affichait rouge en mode user pour les admins (05/10/2025)
- [ ] Simplifier l'architecture DashboardLayout et AppScaffold (actuellement redondants avec fonds dupliqués)
- [ ] Refactoriser pour séparer clairement les responsabilités (fond, navigation, restrictions d'accès)
---
## RESTRICTIONS D'ACCÈS
### Mode Admin
- [ ] L'accès administrateur doit être limité au web uniquement
- [ ] Pas d'accès admin sur mobile pour des raisons de sécurité
### Connexion multi-rôles
- [ ] Permettre à un utilisateur de choisir son rôle (admin/membre) à la connexion
- [ ] Un admin (fkRole==2) doit pouvoir se connecter en tant qu'utilisateur également
---
<div style="page-break-after: always;"></div>
## MODE SUPER ADMIN
### Gestion des amicales
**Performance**
- [ ] Corriger le ralentissement après 3 suppressions d'amicales consécutives
- [ ] Optimiser le processus de purge des données
**Filtres et visualisation**
- [ ] Ajouter des filtres sur la liste des amicales
- [ ] Implémenter un mode démo pour les présentations
- [ ] Distinguer visuellement les amicales actives (ayant réglé) des autres
### Gestion des opérations
- [ ] Si suppression de l'opération active, réactiver automatiquement l'opération précédente
---
## PROCESSUS D'INSCRIPTION
### Double envoi d'emails
Envoyer 2 emails séparés lors de l'inscription :
- [ ] **Email 1** : Identifiant de connexion
- [ ] **Email 2** : Mot de passe avec informations complémentaires
_Bénéfice : Sécurité renforcée et meilleure traçabilité_
---
<div style="page-break-after: always;"></div>
## MODULE STRIPE
### Paiement en ligne dans les passages
**Fonctionnalité principale**
- [ ] Intégrer la gestion du paiement en ligne directement dans le formulaire de passage
- [ ] Disponible uniquement si l'amicale a un compte Stripe actif
**Caractéristiques**
- [ ] Détection automatique du statut Stripe de l'amicale
- [ ] Option "Paiement par carte" dans les modes de règlement
- [ ] Interface de paiement sécurisée intégrée
- [ ] Génération automatique du reçu après paiement
### Mode hors connexion
- [ ] Étudier les possibilités de paiement Stripe en mode hors ligne
- [ ] Permettre les paiements même sans connexion internet stable
### Tests et développement
**Paiement sans contact (Tap to Pay)**
- [ ] Mettre en place un environnement de test pour le paiement sans contact
- [ ] Documenter la procédure de test pour Tap to Pay
- [ ] Vérifier la compatibilité des appareils de test disponibles
---
## PLANNING PRÉVISIONNEL
### 📅 Sprint 1 : 12-19 septembre 2025
**Priorité 1 - Corrections critiques**
| Date | Version | Tâches |
| ------------------------- | ------- | --------------------------------------------------- |
| Vendredi 12/09 | v3.2.5 | Analyse et priorisation des bugs critiques |
| Lundi 15 - Mardi 16/09 | v3.2.6 | Correction problème F5 et déconnexion |
| Mercredi 17/09 | v3.2.7 | Fix génération mots de passe et champs obligatoires |
| Jeudi 18 - Vendredi 19/09 | v3.2.8 | Correction sauvegarde secteurs + tests |
### 📅 Sprint 2 : 22-26 septembre 2025
**Priorité 2 - Fonctionnalités**
| Date | Version | Tâches |
| ---------------------- | ------- | --------------------------------------------------- |
| Lundi 22 - Mardi 23/09 | v3.2.9 | Liste membres avec statistiques + filtres |
| Mercredi 24/09 | v3.3.0 | Historique avec sélection membre et dates |
| Jeudi 25/09 | v3.3.1 | Carte (zoom max, géolocalisation terrain) |
| Vendredi 26/09 | v3.3.2 | Intégration paiement Stripe dans formulaire passage |
### 📅 Sprint 3 : 29 septembre - 03 octobre 2025
**Finalisation**
| Date | Version | Tâches |
| ------------------ | ---------- | ---------------------------------------- |
| Lundi 29/09 | v3.4.0 | Interface (chat, police, ergonomie) |
| Mardi 30/09 | v3.4.1 | Mode Super Admin (filtres, performances) |
| Mercredi 01/10 | v3.4.2 | Tests d'intégration complets |
| Jeudi 02/10 | v3.4.3 | Recette client et corrections finales |
| **Vendredi 03/10** | **v3.4.4** | **LIVRAISON FINALE** |
### 📅 08 octobre 2025 : CONGRÈS
- Version de production déployée et stable
- Formation utilisateurs effectuée
- Documentation finalisée
---
<div style="page-break-after: always;"></div>
## POINT FINANCIER
### COÛT TOTAL HT Hors maintenance : 36.000 euros HT
### Factures Réglées
| Date | Réglée | Montant Applicatif |
| ------------------------------------- | ------ | ------------------ |
| 08/04 | Oui | 4.200 € HT |
| 26/05 | Oui | 3.880 € HT |
| 30/06 | Oui | 3.880 € HT |
| 26/08 | Oui | 3.880 € HT |
| | | Total 15.840 € HT |
| ------------------------------------- |
### Prochaines Factures
| Date | Réglée | Montant Applicatif |
| ------------------------------------- | ------ | ------------------ |
| 12/09 | Non | 3.360 € HT |
| 10/10 | Non | 3.360 € HT |
| 08/11 | Non | 3.360 € HT |
| 06/12 | Non | 3.360 € HT |
| 04/01 | Non | 3.360 € HT |
| 02/02 | Non | 3.360 € HT |
| ------------------------------------- |
---
_Document généré le 11 septembre 2025_
_Dernière mise à jour le 04 octobre 2025_
_Ce document sera mis à jour régulièrement avec l'avancement des développements_
---
**GEOSECTOR** - Solution de gestion des distributions de calendriers Amicales de pompiers
© 2025 - Tous droits réservés