Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tech(pdf): replace wkhtmltopdf (no longer maintained) with grover #2619

Open
wants to merge 65 commits into
base: staging
Choose a base branch
from

Conversation

Holist
Copy link
Collaborator

@Holist Holist commented Feb 4, 2025

#2439

wkhtmltopdf est déprécié depuis quelques années maintenant et doit être remplacé.
Les environnements virtuels Ubuntu ne le prennent plus en charge (On a du setup la CI de GH récemment pour que celle ci continue à fonctionner ici)
Il est temps de changer.

Plusieurs choix s'offrent à nous pour générer des PDFs :

Approche Description Exemples Avantages Inconvénients
Via Navigateur Headless Utilise Chrome/Firefox en mode headless. Converti le HTML/CSS en PDF Grover, Puppeteer Rendu moderne et fidèle, simple d'utilisation - Dépendance à DevTools et Chromium - Temps de démarrage du navigateur headless à chaque génération
Moteurs de rendu dédiés Bibliothèques spécialisées PDF (Gratuit ou payant). Pas de dépendance navigateur WeasyPrint, PrinceXML Plus léger, meilleur support CSS print - Installation plus complexe avec nombreuses dépendances système
- Différences possibles de rendu avec les navigateurs modernes
- Coût significatif pour solutions payantes
Génération programmatique Construction du PDF via code. Pas de HTML/CSS Prawn Contrôle total du rendu - Pas de réutilisation directe du HTML/CSS existant
- Courbe d'apprentissage importante
- Maintenance plus complexe (rendu en code)
- Difficulté avec layouts complexes
- Temps de développement initial plus long

Pour notre usage je pense que la gem Grover basée sur Puppeteer et Chromium répond à nos besoins qui sont assez simples (lettre standard) tout en étant facile à utiliser et à faire évoluer au besoin.

Quelques détails techniques

J'ai du mettre à jour eslint-config-airbnb pour installer Puppeteer.
On dois charger la police Marianne en base64 dans le css directement car Puppeteer et le navigateur headless n'a pas accès aux ressources et aux fichiers. (On aurait pu mettre un lien vers un cdn mais je n'ai pas trouvé la police sur un CDN).
J'ai du ajuster (ce qui m'a pris le plus de temps) le css existant, en utilisant flexbox. J'ai aussi ajouté une classe dédiée pour l'adresse de l'usager afin que celle ci (en absolute) soit bien positionnée pour les enveloppes à fenêtres. (Testé et validé par l'agent référent de l'Ardéche)
La génération de pdf fonctionne beaucoup mieux en environnement de développement (2/3 des fois ou je tentais de générer des pdf avec wickedpdf j'avais des symboles incompréhensibles dans le document).
Il y a un fix pour pouvoir utiliser les dernières versions d'Ubuntu dans la CI, il faut désactiver appArmor. Plus de détails ici : puppeteer/puppeteer#13196

Un exemple de pdf :

Invitation_1738670141_Barthelemy_Maurice.pdf

@Holist Holist self-assigned this Feb 4, 2025
@Holist Holist requested review from aminedhobb and Michaelvilleneuve and removed request for aminedhobb February 4, 2025 15:24
.eslintrc.json Outdated
"jsx-a11y/no-autofocus": "off"
"jsx-a11y/no-autofocus": "off",
"react/jsx-no-useless-fragment": "off",
"react/function-component-definition": "off"
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

il s'agit de nouvelles règles introduites par la mise à jour de "eslint-config-airbnb" qui était nécessaire pour l'installation de "puppeteer". Plutôt que de fix les erreurs sur du code react qui va bientôt disparaitre j'ai ajouté ces règles en exception.

src: url('../fonts/Marianne/Marianne-Regular.woff');
font-family: "Marianne";
src: url("data:font/woff;base64,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") format("woff");
font-display: swap;
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bonne idée pour l'hébergement sur Scaleway de la police Michaël mais ça ne passe pas...
Je pense que la police distante n'a pas le temps de se charger avant la génération du pdf.
Pour éviter les problèmes je suggère de laisser tel quel avec la police en base64 dans le css.

@@ -21,11 +28,6 @@ def wait_for_download
end
end

def downloaded_content(format: nil)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cette méthode n'était pas utilisée

Copy link
Collaborator

@aminedhobb aminedhobb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merci @Holist pour ce taff 🙏 🚀 !!
Trop cool d'enlever cette dépendance avec une solution qui marche comme avant 💪 !

J'ai fait quelque tests et il y a un truc que je trouve un peu gênant dans la nouvelle mise en page c'est le fait que l'adresse ne soit pas alignée avec l'en-tête comme dans l'exemple ci-dessous:

  • Avant:
image
  • Après:
image

Sinon à part ça il y a des petits changements au niveau de la taille des textes mais c'est ok pour moi, il faudra peut-être vérifier avec l'équipe produit que c'est bon pour eux aussi avant de déployer en prod.

Comment on lines 125 to 126
- name: Installing Chrome for Puppeteer test
run: npx puppeteer browsers install chrome
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

est-ce que du coup la CI fail si on enlève cette instruction ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tout à fait (uniquement les features tests de Grover), avec cette erreur :

      Grover::JavaScript::Error:
        Could not find Chrome (ver. 133.0.6943.53). This can occur if either
         1. you did not perform an installation before running the script (e.g. `npx puppeteer browsers install chrome`) or
         2. your cache path is incorrectly configured (which is: /home/runner/.cache/puppeteer).
        For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok ça vaut peut-être le coup dans ce cas de rajouter un commentaire pour dire qu'on rajouter pupeteer pour les pdf (via grover)

@Holist Holist force-pushed the replace_wkhtmltopdf branch from b022afa to cc13fe7 Compare February 14, 2025 14:17
@Holist Holist force-pushed the replace_wkhtmltopdf branch 4 times, most recently from 4fa6acd to 0e52a6f Compare February 21, 2025 16:59
buildpack for scalingo

test ci

add apparmor back

try system install

with good path

with good path

with good path

final config
@Holist Holist force-pushed the replace_wkhtmltopdf branch from 0e52a6f to fc245cd Compare February 21, 2025 17:01
@Holist
Copy link
Collaborator Author

Holist commented Feb 25, 2025

La mise en production sur Scalingo pose des soucis :

Gestion des dépendances Node.js :

Le dossier node_modules est dans notre fichier .slugignore pour optimiser la taille du build sur Scalingo.
Puppeteer, contrairement aux autres dépendances qui ne sont plus nécessaire une fois que les assets sont compilés doit être disponible car Grover en a besoin pour contrôler le Chrome installé dans le build et générer le PDF.

Problème d'espace supplémentaire :

Puppeteer installe Chromium dans app/.cache
Cela ajoute un poids significatif au build (environ 500mb)

Solutions tentées sans succès :

Création d'un dossier puppeteer_modules séparé pour garder node_modules dans le .slugignore
Tentatives d'exclusion spécifique de Puppeteer du .slugignore. Malheureusement, .slugignore ne permet que des inclusions, pas d'exceptions

Solution possible et ses implications :

Retrait complet de node_modules du .slugignore
Impact sur la taille : passage de ~900MB à ~1.6GB
Rallongement du temps de build d'environ 1 minute

Perspectives d'évolution :

  • Isoler Puppeteer pourrait économiser ~100MB puisqu'on supprimerai le reste du dossier node_modules en le remettant dans .slugignore
  • Paramétrer Puppeteer pour utiliser une version plus légére de Chrome.
    Dans le meilleur des cas on pourrait tomber à 1.3GB ce qui reste une augmentation non négligeable et ajoute une dépendance importante au projet.
  • Utiliser une app puppeteer externe pour ne pas impacter le build (ex : https://github.com/gip-inclusion/pdf-generator/tree/main)
  • Trouver une autre solution d'export pdf

La PR reste pour l'instant ouverte mais compte tenu des implications cela nécessite plus de recherche et de travail pour trouver une solution de remplacement à wkhtmltopdf qui aurait moins d'impact sur le build et sur nos dépendances.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants