- Configuration complète Stripe pour les 3 environnements (DEV/REC/PROD) * DEV: Clés TEST Pierre (mode test) * REC: Clés TEST Client (mode test) * PROD: Clés LIVE Client (mode live) - Ajout de la gestion des bases de données immeubles/bâtiments * Configuration buildings_database pour DEV/REC/PROD * Service BuildingService pour enrichissement des adresses - Optimisations pages et améliorations ergonomie - Mises à jour des dépendances Composer - Nettoyage des fichiers obsolètes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
11 KiB
11 KiB
TODO GEOSECTOR - Application Flutter
📋 Tâches à effectuer
🔥 RÉUNION CLIENT - 27/10/2025
🔴 Bugs critiques iOS
- iOS - Enregistrement passage bloqué - Le clavier numérique du montant bloque l'enregistrement d'un passage
🔴 Bugs critiques Web
- Bug F5 - Corriger la déconnexion lors du rafraîchissement de la page (F5) ⚠️
- Nouveau membre non synchronisé - Un nouveau membre ne se retrouve pas dans l'opération active
- Création membre impossible - Ne peut pas créer un membre
- Création opération impossible - Ne peut pas créer une nouvelle opération : erreur !
- Mot de passe non enregistré - N'enregistre pas le mot de passe
- Export opération cassé - Export de l'opération ne fonctionne plus
- Reçus PDF non fonctionnels - Reçus PDF ne fonctionnent pas
🔴 Bugs critiques généraux
- Enregistrement des passages - L'enregistrement d'un nouveau passage ne fonctionne pas correctement
- Création membre en double - Bloquer l'enregistrement à 1 seul (plusieurs clics créent X membres en double)
- Requêtes en attente dupliquées - Finaliser modifs sur les requêtes en attente : traitements effectués plusieurs fois !!
- Synchronisation bases de données - Synchroniser les 2 bases rca_geo et pra_geo !
📝 Formulaires - UX critique
- Bloquer boutons submit - Dans toutes les forms bloquer le clic du bouton enregistrer dès qu'il est cliqué
- Ajouter spinner - Mettre un spin pendant le traitement
- Messages clairs 3s - Revoir les messages pour afficher clairement le message sur 3s
👥 Gestion des membres
- Trier liste membres - Page amicale admin pouvoir trier la liste des membres
- Membres affectés en 1er - Modif secteur : mettre les membres affectés en 1er
- Figer membres dans combobox - Figer Tous les membres dans la liste de la combobox ?
- Autocomplete combobox membres - Faire un autocomplete pour la combobox de membres
- 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
- Permettre la modification de l'identifiant utilisateur
- Email non obligatoire si identifiant et mot de passe sont saisis manuellement
- Améliorer les textes d'aide (helpers) dans les fiches membres
📊 Historique
- Onglets types de passage - Ecran historique pour utilisateur : remettre des onglets pour les types de passage (comme ancienne version)
- Suppression lot de passages - Sur Historique : liste des passages pouvoir supprimer tout un lot de passages
- Historique en bas : 1-2 adresses seulement visibles, impossibilité de cliquer dessus
🏠 Page Home
- Home - Filtres et graphes - Ecran home : mettre les filtres et les graphes
- Home - Figer headers tableau - Sur Home : figer l'écran aux headers du tableau
- Home - Bouton export données - Home_page : mettre le bouton exporter les données
- Home - Export par membre - Ajouter un export par membre
🗺️ Carte et géolocalisation
- Secteur sans membre - Map : secteur peut être créé sans membre
- Modifier secteur au clic - Clic sur un secteur pour modifier sa couleur et les affectations
- Déplacer markers - Carte pouvoir déplacer un marker en double-cliquant sur le marker pour le déplacer
- Immeubles groupés - Un seul point sur la carte carré avec le nombre d'appartements et cliquer dessus pour avoir la liste des appartements/passages avec la même adresse par niveau
- Couleur markers à finaliser - Sur la version actuelle : changer la couleur des markers de type passage à finaliser comme nouvelle version
- Définir un zoom maximal pour éviter le sur-zoom
- Étudier l'utilisation d'un style de carte type Snapchat
- Optimiser la précision et la fiabilité du GPS en mode terrain
- Mode Web utilisateur : impossible de se déplacer sur la carte en mode terrain (retour automatique à la position)
- Mode terrain smartphone : carte trop petite, le zoom revient automatiquement
- Points de carte affichés devant les textes (z-index)
- 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
- Carte en mode utilisateur : évaluer la possibilité de valider un passage directement depuis la carte
⚡ Performance map_page.dart
- Analyse surcharge CPU - Ventilation importante du PC lorsque la page carte reste affichée sans interaction
- Sources identifiées et corrigées :
- ✅ ActivityChart : Suppression des debugPrint massifs (passages type 2 sans date)
- ✅ ValueListenableBuilder boucle infinie : addPostFrameCallback + setState en boucle
- Solution : Ajout méthode
_arePassagesEqual()pour comparer avant setState - Ne déclenche setState QUE si les IDs de passages ont changé
- Solution : Ajout méthode
- ✅ Logs de debug : Ajout de traces 🔄 pour identifier les appels en boucle
- Résultat :
- Plus de boucle infinie de rebuilds
- Mise à jour unitaire des markers conservée (réactivité OK)
- Performance Web desktop restaurée
- Fichiers modifiés :
lib/presentation/widgets/charts/activity_chart.dart(ligne 272-276)lib/presentation/pages/map_page.dart(lignes 405, 416-425)
- Statut : ✅ Résolu
- Date : 08/11/2025
- Sources identifiées et corrigées :
📋 Gestion des passages
- Corbeille passages - Pouvoir sauvegarder les passages supprimés pour pouvoir les représenter à l'admin, et si modif passages pouvoir chercher toutes les adresses et ensuite supprimer ces passages supprimés sauvegardés
- Désactiver temporairement l'envoi de reçu (ne doit pas encore être actif)
- Permettre la suppression de plusieurs passages en une seule fois
- Implémenter la possibilité de récupérer des passages supprimés (corbeille/historique)
- Corriger l'affichage du règlement par chèque qui n'apparaît pas dans le graphe pie
📈 Graphiques et statistiques
- Graphique règlements par secteur - Graphique de répartition des règlements par secteur
- Comparatif année précédente - Connexions : créer un comparatif année précédente
🔧 Opérations
- Bloquer création opération - Sur operations+ bloquer la création d'une opération une seule fois
- Renommer operations+ - Renommer operations+ par "opérations"
💬 Module de messagerie / Chat
- Revoir chat complet - Le chat à revoir côté admin et utilisateur
- Améliorer la visibilité du bouton "Envoyer un message"
- Augmenter l'épaisseur de la police pour une meilleure lisibilité
🔐 Authentification et sécurité
- Reconnaissance biométrique - Authentification par Face ID / Touch ID / Empreinte digitale
- Ajouter packages
local_authetflutter_secure_storage - Créer service
BiometricAuthServicepour gérer l'authentification - Stocker credentials de manière sécurisée (Keychain iOS / Keystore Android)
- Ajouter option "Activer connexion biométrique" dans les paramètres utilisateur
- Vérifier disponibilité biométrique au démarrage (canCheckBiometrics)
- Implémenter fallback mot de passe si échec biométrique
- Ajouter toggle dans écran de connexion pour activer/désactiver
- Tester sur iOS (Face ID + Touch ID) et Android (Empreinte)
- Temps estimé : 1-2 jours
- Priorité : Moyenne (confort utilisateur mobile)
- Ajouter packages
🏗️ Architecture et refactoring
- Simplifier l'architecture DashboardLayout et AppScaffold (actuellement redondants)
- Refactoriser pour séparer clairement les responsabilités (fond, navigation, restrictions d'accès)
🔐 Restrictions d'accès
- L'accès administrateur doit être limité au web uniquement (pas sur mobile)
- 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
👑 Mode Super Admin
- FAQ gérée depuis Super-Admin - FAQ dans le site Web gérée depuis l'application web Super-Admin
- Corriger le ralentissement après 3 suppressions d'amicales consécutives
- Optimiser le processus de purge des données
- 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
- Si suppression de l'opération active, réactiver automatiquement l'opération précédente
🏢 Gestion Clients
- Ecran Clients - Ecran Clients à créer/améliorer
- Page clients paiements en ligne - Page clients avec paiements en ligne
📧 Processus d'inscription
- Envoyer 2 emails séparés lors de l'inscription (Email 1: identifiant, Email 2: mot de passe)
💳 Stripe
- Double configuration Stripe - Configuration Stripe : 2x configuration Stripe
- Intégrer la gestion du paiement en ligne directement dans le formulaire de passage
- 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
- Étudier les possibilités de paiement Stripe en mode hors ligne
- Mettre en place un environnement de test pour Tap to Pay
- Documenter la procédure de test pour Tap to Pay
- Vérifier la compatibilité des appareils de test disponibles
- Paiement par QRcode (Option 1 - Payment Links) ⭐⭐
- Ajouter package
qr_flutteraupubspec.yaml - Créer endpoint backend
/api/stripe/payment-links - Créer widget Flutter
QRCodePaymentDialogavec génération QR - Créer widget
PaymentMethodSelectionDialogpour choisir QRcode ou Tap to Pay - Ajouter champs
stripe_payment_link_idetstripe_payment_link_urldans passages (Flutter) - Icône QR code cliquable dans la liste des passages pour ré-afficher le QR
- Sauvegarde automatique de l'URL du Payment Link après création
- Backend SQL : Ajouter
stripe_payment_link_urlVARCHAR(255) dans tableope_pass - Implémenter webhook backend pour confirmation paiement et update passage
- Tests complets sur Web et Mobile (Android/iOS)
- Temps total : 1 jour (frontend complet, backend SQL + webhook reste à faire)
- Ajouter package
🚀 Déploiement et migration
- Migrer Poissy en Prod - Migrer Poissy sur la Prod
🧪 Tests
- Tests multi-départements - Tests sur secteurs sur 2 départements
🌍 Internationalization
- Devises multiples - Devises doubles à gérer pour le Franc Suisse
📡 Fonctionnalités futures prioritaires
- MQTT temps réel - MQTT pour le chat et les updates d'infos vers l'admin et les utilisateurs ⭐⭐⭐
- SMS impératif - SMS à mettre en place impérativement ! ⭐⭐⭐
Dernière mise à jour : 27 octobre 2025 - Réunion client intégrée