feat: exports conformes fichiers-cibles (PPTX/XLSX/DOCX/PDF)

- PPTX : 9 slides ciblées — couverture blanche #0B2A55, alertes rouge
  #DC2626 (8 cols + barres █/░), CAPEX/OPEX paginés (7 cols), en cours (4 cols)
- XLSX : Sheet 2 renommée "Estimation Évolution" avec colonnes Marché DT,
  Min DT, Consommé DT, DT/Mois, Projeté DT, Résultat (Normal/Sous Min/Avenant)
- DOCX : rapport complet 10 sections — TOC, Synthèse, Alertes, Modernisation,
  par-région avec couleurs régionales, Estimation, Matrice risque, Recommandations
- PDF : palette mise à jour (#0B2A55, #0680C3, régions) conforme au cible
- export-pptx.js et export-docx.js extraits en services dédiés
- routes/export.js allégé (inline PPTX/DOCX ~400 lignes → 20 lignes)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Nabil Derouiche
2026-04-19 11:35:37 +01:00
co-authored by Claude Sonnet 4.6
parent 0a0ffc31cf
commit 18ec359cf2
11 changed files with 971 additions and 534 deletions
+13 -11
View File
@@ -4,18 +4,20 @@
*/
const PDFDocument = require('pdfkit');
// Palette RLA / McKinsey
// Palette RLA — conforme fichier PDF cible
const C = {
primary: '#002D62',
accent: '#E31837',
success: '#10b981',
warning: '#f59e0b',
danger: '#ef4444',
muted: '#6b7280',
light: '#f8fafc',
border: '#e2e8f0',
text: '#1e293b',
white: '#ffffff',
primary: '#0B2A55',
accent: '#0680C3',
success: '#059669',
warning: '#D97706',
danger: '#DC2626',
muted: '#475569',
light: '#F8FAFC',
border: '#E2E8F0',
text: '#1E293B',
white: '#FFFFFF',
navy2: '#1E40AF',
indigo: '#6366F1',
};
function hex(h) {