10 Commits

Author SHA1 Message Date
8dac04b9b1 docs: Marquer tâche #116 comme terminée (Remarque sous adresse)
La fonctionnalité d'affichage de la remarque dans la première card
du passage_form_dialog.dart était déjà implémentée (lignes 703-719).

Affichage inclut:
- Icône Icons.note
- Texte en italique
- Style grisé (opacité 0.7)
- Condition d'affichage si remarque non vide

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-26 17:55:34 +01:00
495ba046ec docs: Marquer les tâches #76 et le bug de purge Hive comme terminés
Tâche #76: Accès admin limité web uniquement -  Terminé 26/01
Bug: Boxes Hive non purgées à la connexion -  Corrigé 26/01

Corrections aujourd'hui:
- #15: Nouveau membre non synchronisé (sécurité + sync + API)
- #76: Accès admin limité web uniquement
- Bug: Nettoyage automatique des boxes Hive à la connexion
- Optimisation: operation_id en session (évite requêtes SQL)
2026-01-26 17:42:33 +01:00
957386f78c docs: Marquer la tâche #15 comme terminée
Tâche #15: Nouveau membre non synchronisé -  Terminé 26/01

Solutions implémentées:
- Sécurité: Password supprimé de la réponse API
- Synchronisation: Auto-création ope_users lors création membre
- API retourne id, ope_user_id et username
- Flutter récupère et sauvegarde correctement les données dans Hive
- Optimisation: operation_id stocké en session (évite requête SQL)
- Fallback SQL si operation_id absent de la session
2026-01-26 17:29:56 +01:00
9a185b15f3 fix: Récupérer username et ope_user_id depuis la réponse API
- Utiliser le username retourné par l'API au lieu du username local
- Récupérer ope_user_id depuis la réponse API
- Ajouter des logs de debug pour tracer les valeurs
- Fix: Le username s'affiche maintenant dans le tableau des membres après création
2026-01-26 17:18:51 +01:00
6fd02079c1 feat: Ajouter fallback SQL si operation_id absent de la session
- Si Session::getOperationId() retourne null, requête SQL de fallback
- Log de warning pour identifier les cas où la session n'est pas à jour
- Utile si l'utilisateur n'a pas fait de login récent
- Garantit que l'opération active est toujours récupérée
2026-01-26 17:06:00 +01:00
d0697b1e01 feat: Ajouter operation_id dans la session pour optimisation
- Ajout de operation_id dans Session::login()
- Ajout de Session::getOperationId() et Session::setOperationId()
- LoginController met à jour operation_id dans la session après récupération
- UserController utilise Session::getOperationId() au lieu d'une requête SQL
- Optimisation: évite une jointure SQL users+operations à chaque création de membre
2026-01-26 17:01:46 +01:00
0687900564 fix: Récupérer l'opération active depuis la table operations
- Corrige l'erreur SQL 'Unknown column fk_operation in users'
- L'opération active est récupérée depuis operations.chk_active = 1
- Jointure avec users pour filtrer par entité de l'admin créateur
- Query: SELECT o.id FROM operations o INNER JOIN users u ON u.fk_entite = o.fk_entite WHERE u.id = ? AND o.chk_active = 1
2026-01-26 16:57:08 +01:00
c24a3afe6a feat: Créer automatiquement ope_users lors de la création d'un membre
PROBLÈME TÂCHE #15 :
Quand un admin crée un nouveau membre, seul users.id était créé.
Aucune entrée ope_users n'était créée automatiquement.
Résultat : Le nouveau membre n'apparaissait pas dans Flutter car
il n'était pas synchronisé avec l'opération active.

SOLUTION IMPLÉMENTÉE :
1. Récupération de l'opération active de l'admin créateur (users.fk_operation)
2. Création automatique d'une entrée dans ope_users si opération active
3. Retour de ope_user_id dans la réponse API (en plus de users.id)

NOUVELLE RÉPONSE API :
{
  "status": "success",
  "message": "Utilisateur créé avec succès",
  "id": "10023668",           // users.id (table centrale)
  "ope_user_id": "12345",     // ope_users.id (table opérationnelle)
  "username": "pr.350-renn731"
}

COMPORTEMENT :
- Si admin a une opération active → ope_users créé automatiquement
- Si pas d'opération active → ope_user_id sera null (membre non affecté)

LOGS :
- Log INFO si affectation réussie
- Log WARNING si pas d'opération active

Travail sur tâche #15 (Nouveau membre non synchronisé)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-26 16:42:55 +01:00
6eefa218d8 security: Supprimer le mot de passe de la réponse POST /api/users
PROBLÈME DE SÉCURITÉ :
Le mot de passe était retourné dans la réponse JSON lors de la création
d'un utilisateur (quand généré automatiquement).

RISQUES :
- Exposition dans les logs de proxies/load balancers
- Visible dans DevTools navigateur
- Peut être loggé côté client en cas d'erreur
- Reste en mémoire/historique des requêtes

SOLUTION :
- Suppression complète du champ 'password' de la réponse
- Le mot de passe est DÉJÀ envoyé par email (ligne 525)
- L'admin reçoit seulement : id + username

RÉPONSE AVANT :
{
  "status": "success",
  "message": "Utilisateur créé avec succès",
  "id": "10023668",
  "username": "pr.350-renn731",
  "password": "MPar<2a8^2&VnLE"  //  FAILLE
}

RÉPONSE APRÈS :
{
  "status": "success",
  "message": "Utilisateur créé avec succès",
  "id": "10023668",
  "username": "pr.350-renn731"  //  SÉCURISÉ
}

Travail sur tâche #15 (Nouveau membre non synchronisé)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-26 16:30:03 +01:00
e3d9433442 docs: Marquer tâche #30 comme complétée (26/01)
Membres sélectionnés haut liste - terminé

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-26 16:20:30 +01:00
3045 changed files with 77322 additions and 1593 deletions

0
.gitignore vendored Normal file → Executable file
View File

0
CHANGELOG-v3.1.6.md Normal file → Executable file
View File

0
Capture.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 255 KiB

After

Width:  |  Height:  |  Size: 255 KiB

0
HOWTO-PROKOV.md Normal file → Executable file
View File

0
MONITORING.md Normal file → Executable file
View File

0
PLANNING-STRIPE-ADMIN.md Normal file → Executable file
View File

2
VERSION Normal file → Executable file
View File

@@ -1 +1 @@
3.6.3
26.01.2607

Binary file not shown.

0
api/TODO-API.md Normal file → Executable file
View File

0
api/alter_table_geometry.sql Normal file → Executable file
View File

0
api/config/nginx/pra-geo-http-only.conf Normal file → Executable file
View File

0
api/config/nginx/pra-geo-production.conf Normal file → Executable file
View File

0
api/config/whitelist_ip_cache.txt Normal file → Executable file
View File

0
api/create_table_x_departements_contours.sql Normal file → Executable file
View File

0
api/data/README.md Normal file → Executable file
View File

0
api/docs/API-SECURITY.md Normal file → Executable file
View File

0
api/docs/CHAT_MODULE.md Normal file → Executable file
View File

0
api/docs/CHK_USER_DELETE_PASS_INFO.md Normal file → Executable file
View File

0
api/docs/DELETE_PASSAGE_PERMISSIONS.md Normal file → Executable file
View File

0
api/docs/EVENTS-LOG.md Normal file → Executable file
View File

0
api/docs/FIX_USER_CREATION_400_ERRORS.md Normal file → Executable file
View File

0
api/docs/GESTION-SECTORS.md Normal file → Executable file
View File

0
api/docs/INSTALL_FPDF.md Normal file → Executable file
View File

0
api/docs/PLANNING-STRIPE-API.md Normal file → Executable file
View File

0
api/docs/PREPA_PROD.md Normal file → Executable file
View File

0
api/docs/SETUP_EMAIL_QUEUE_CRON.md Normal file → Executable file
View File

0
api/docs/STRIPE-BACKEND-MIGRATION.md Normal file → Executable file
View File

0
api/docs/STRIPE-TAP-TO-PAY-FLOW.md Normal file → Executable file
View File

0
api/docs/STRIPE-TAP-TO-PAY-REQUIREMENTS.md Normal file → Executable file
View File

0
api/docs/STRIPE_VERIF.md Normal file → Executable file
View File

0
api/docs/UPLOAD-MIGRATION-RECAP.md Normal file → Executable file
View File

0
api/docs/UPLOAD-REORGANIZATION.md Normal file → Executable file
View File

0
api/docs/USERNAME_VALIDATION_CHANGES.md Normal file → Executable file
View File

0
api/docs/_logo_recu.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

0
api/docs/_recu_template.pdf Normal file → Executable file
View File

0
api/docs/contour-des-departements.geojson Normal file → Executable file
View File

0
api/docs/create_table_user_devices.sql Normal file → Executable file
View File

0
api/docs/departements_limitrophes.md Normal file → Executable file
View File

0
api/docs/logrotate_email_queue.conf Normal file → Executable file
View File

0
api/docs/nouvelles-routes-session-refresh.txt Normal file → Executable file
View File

0
api/docs/recu_13718.pdf Normal file → Executable file
View File

0
api/docs/recu_19500582.pdf Normal file → Executable file
View File

0
api/docs/recu_19500586.pdf Normal file → Executable file
View File

0
api/docs/recu_537254062.pdf Normal file → Executable file
View File

0
api/docs/recu_972506460.pdf Normal file → Executable file
View File

0
api/docs/traite_batiments.sql Normal file → Executable file
View File

0
api/docs/x_departements_contours.sql Normal file → Executable file
View File

0
api/docs/x_departements_contours_corrected.sql Normal file → Executable file
View File

0
api/docs/x_departements_contours_fixed.sql Normal file → Executable file
View File

0
api/migration_add_departements_contours.sql Normal file → Executable file
View File

0
api/migration_add_sectors_adresses.sql Normal file → Executable file
View File

0
api/migrations/add_dept_limitrophes.sql Normal file → Executable file
View File

0
api/migrations/integrate_contours_to_departements.sql Normal file → Executable file
View File

0
api/migrations/update_all_dept_limitrophes.sql Normal file → Executable file
View File

1
api/ralph Submodule

Submodule api/ralph added at 098579b5a1

0
api/scripts/CORRECTIONS_MIGRATE.md Normal file → Executable file
View File

0
api/scripts/MIGRATION_PATCH_INSTRUCTIONS.md Normal file → Executable file
View File

0
api/scripts/README-migration.md Normal file → Executable file
View File

0
api/scripts/check_geometry_validity.sql Normal file → Executable file
View File

0
api/scripts/config/update_php_fpm_settings.sh Normal file → Executable file
View File

0
api/scripts/create_addresses_users.sql Normal file → Executable file
View File

0
api/scripts/create_addresses_users_by_env.sql Normal file → Executable file
View File

0
api/scripts/cron/CRON.md Normal file → Executable file
View File

0
api/scripts/cron/cleanup_security_data.php Normal file → Executable file
View File

0
api/scripts/cron/process_email_queue_with_daily_log.sh Normal file → Executable file
View File

0
api/scripts/cron/rotate_event_logs.php Normal file → Executable file
View File

0
api/scripts/fix_geometry_for_spatial_index.sql Normal file → Executable file
View File

0
api/scripts/import_departements_from_file.php Normal file → Executable file
View File

0
api/scripts/import_department_boundaries.php Normal file → Executable file
View File

0
api/scripts/init_departements_contours.php Normal file → Executable file
View File

0
api/scripts/migrate_uploads_structure.php Normal file → Executable file
View File

0
api/scripts/migration2/README.md Normal file → Executable file
View File

0
api/scripts/migration2/geo_app_structure.sql Normal file → Executable file
View File

Some files were not shown because too many files have changed in this diff Show More