From 2a30746a32162e21b40bdc2280d8e08eace7b929 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Tue, 22 Sep 2026 03:28:52 +0100 Subject: [PATCH] README: document lualatex runtime deps for PDF generation texlive-binaries (lualatex) + texlive-luatex (luaotfload) are required on the API host for estimate/bill PDF generation. Note that luaotfload moved from texlive-latex-extra into texlive-luatex on recent Debian. Co-Authored-By: Claude Code --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md index 67713fc64..8392a4be6 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,32 @@ make test ### les services et l'API +#### Dépendances système au runtime + +La génération des devis et factures en PDF (`/api/v1/front/query/{id}/estimate.pdf`, +`BillingController` → `BillViewComponent`) compile un source LaTeX via la commande +système `lualatex` : le TeX est fourni sur l'entrée standard et le PDF est écrit +directement dans le répertoire des factures (`Site.Bills`). `lualatex` doit donc +être installé et opérationnel sur l'hôte qui exécute l'API — typiquement le service +systemd `yavscApi`. + +Sous Debian/Ubuntu : + +```bash +sudo apt install texlive-binaries texlive-luatex +``` + +- `texlive-binaries` fournit l'exécutable `lualatex` (collection basic). +- `texlive-luatex` fournit les paquets de support chargés au démarrage de lualatex, + notamment `luaotfload`. Sans lui, lualatex démarre mais s'arrête sur + `module 'luaotfload-main' not found … Emergency stop` et ne produit aucun PDF. + (Sur les Debian récents, `luaotfload` a migré de `texlive-latex-extra` vers + `texlive-luatex` — avoir `texlive-latex-extra` seul ne suffit plus.) + +Sur un hôte sans `lualatex`, les endpoints PDF renvoient une erreur 500 « PDF +generation failed » ; l'endpoint TeX (`estimate.tex`) reste utilisable et permet +de compiler le document hors-ligne. + ### La Prod `cd srv/Yavsc/contrib` : `make reinstall CONFIGURATION=Release APP_INSTALL_ENV=production`.