Skip to content

Intégration Puppeteer (Export PDF)

Puppeteer est utilisé pour générer les exports PDF des rapports d'audit depuis GovernIA. Il pilote un navigateur Chrome headless pour convertir le HTML en PDF A4.

Ce que fait l'intégration

FonctionnalitéDescription
Export rapport PDFGénération PDF d'un rapport d'audit complet (constats, actions, scores, métadonnées)
Export PDFKitGénération PDF alternative via PDFKit (sans navigateur), pour les exports structurés

Prérequis

Puppeteer nécessite Chrome ou Chromium installé sur le serveur. En développement local, Puppeteer télécharge automatiquement Chromium. En production (Docker), Chrome est installé lors du build du conteneur.

Aucune variable d'environnement n'est requise — Puppeteer utilise le navigateur disponible sur le système.


Configuration Docker (production)

Le Dockerfile de l'API installe Chrome au démarrage du conteneur. Assurez-vous que votre image dispose de cette étape :

dockerfile
RUN apt-get update && apt-get install -y \
    chromium \
    fonts-liberation \
    libappindicator3-1 \
    libasound2 \
    libatk-bridge2.0-0 \
    libatk1.0-0 \
    libcups2 \
    libdbus-1-3 \
    libgdk-pixbuf2.0-0 \
    libnspr4 \
    libnss3 \
    libx11-xcb1 \
    libxcomposite1 \
    libxdamage1 \
    libxrandr2 \
    xdg-utils \
    --no-install-recommends \
    && rm -rf /var/lib/apt/lists/*

En environnement conteneurisé sans root, les arguments --no-sandbox et --disable-setuid-sandbox sont passés automatiquement par GovernIA.


Options d'export PDF

Les rapports sont exportés au format A4, fond inclus (couleurs et styles CSS préservés).

OptionValeur
FormatA4
Fond d'écranActivé (printBackground: true)
Taille CSSRespectée (preferCSSPageSize: true)
Attente réseaunetworkidle0 (attente que toutes les ressources soient chargées)

Contenu d'un rapport PDF exporté

Un rapport GovernIA en PDF contient :

  • En-tête / pied de page avec numérotation des pages
  • Métriques clés : scores, taux de progression
  • Constats : findings avec badges de risque et priorité
  • Plan de remédiation : actions, assignations, statuts
  • Sections de rapport rédigées : périmètre, méthodologie, axes d'amélioration
  • Métadonnées : nom du client, contexte, date d'export

Dépannage

ProblèmeCause probableSolution
Error: Could not find ChromeChrome non installéVérifier que le Dockerfile installe bien Chromium (voir ci-dessus)
PDF généré vide ou blancContenu HTML non chargé avant captureVérifier les logs — le timeout peut être trop court
Crash Puppeteer en conteneurSandbox Linux manquanteVérifier que --no-sandbox est bien passé (géré automatiquement par GovernIA)
PDF tronquéPage très longue, mémoire insuffisanteAugmenter la RAM disponible pour le conteneur (recommandé : 2 Go minimum)
Erreur Navigation timeoutPage lente à chargerNormal si le rapport est volumineux — l'export peut prendre 10-20 secondes

Ressources mémoire recommandées

L'export PDF lance un processus Chrome complet. En production :

ChargeRAM recommandée pour le conteneur API
Peu d'exports simultanés1 Go
Usage normal2 Go
Exports fréquents / rapports longs4 Go

GovernIA — Plateforme de gouvernance IA et conformité réglementaire