1. routes/pipeline.js — enrichissement AO
- Phase calculée (Préparation/Ouvert/Dépouillé/Évaluation/Attribué)
- Jours restants avant date-limite
- Régions avec couleurs config
- Estimation totale agrégée
2. routes/modernisation.js (nouveau)
- Croise table 856 (nature Modernisation) avec table 872 (pipeline)
- Jointure par région
- Retourne actuel + suivant(s) par région
3. server.js — route /api/modernisation (admin+)
4. index.html
- Slide 6 Pipeline AO : 8 colonnes, phases badges, région tags, jours alerte
- Slide 4 Par Région : bloc "AO en lancement" sous chaque carte région
- Slide 9 Modernisation (nouveau) : vue chaîne actuel → suivant par région
- Nav : bouton Modernisation (admin+)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Phrase de situation dynamique (actifs, avancement moyen, alertes)
- 3 blocs statut colorés : Critiques / Attention / Dans les délais
- Jauges d'avancement par région (CSS, couleurs config.js)
- Table complète de TOUS les marchés en alerte par ordre de priorité
avec numéro de priorité, délai coloré rouge/orange
- Suppression donut chart, bar charts et alertes-preview limités
- Suppression Chart.js (plus nécessaire)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bugs corrigés :
- Remplace logo-TT.png et photo absents par logo-RLA.svg + avatar initiales
- Thème par défaut synchronisé avec CONFIG.DEFAULT_THEME
- showSlide() ne cible plus que les btn-slide-N (fix index des boutons export)
- Filtre entrepreneur "En Service" se réinitialise au changement de région
- Suppression variable `const now` inutilisée
Améliorations :
- normalizeMarche() : préprocesseur unifié des champs API multi-noms
- ALL_REGIONS centralisé dans config.js, buildRegionOptions() partout
- 2 bar charts région dans Vue Générale (avancement moyen + nb marchés)
- Taille de page configurable 10/25/50/100
- Icônes de tri actives (fa-sort-up/down + classe CSS)
- Filtres période (date) sur liste Marchés + bouton reset
- Filtres région + état dans Pilotage Proactif
- Modal édition utilisateur (rôle, région, mot de passe)
- Toast confirmation suppression utilisateur (remplace confirm natif)
- Gestion session expirée : 401 → toast + déconnexion auto
- Titre onglet dynamique avec badge alertes
- Toast unifié error/success/warning
- Touche Escape ferme le modal
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>