Files
erp/correspondance/README.md
T

80 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Correspondance commerciale — le format maison
Le gabarit des lettres qu'Arcodange adresse à ses clients et prospects. Fixé le
24 août 2026 avec le dossier KissMetrics, et validé par l'opérateur : « on peut
se souvenir de ce format pour les communications avec KM et futurs
prospects/clients ».
## Produire une lettre
```bash
python3 correspondance/lettre.py corps.html sortie.pdf \
--titre "Contracts and invoices — cycles M1 to M4" \
--date "24 August 2026" --prenom Evan \
--destinataire "Evan Sforzo" --fonction "Chief Executive Officer" \
--societe "Kissmetrics Inc." \
--adresse "2850 34th Street North, 307 — St. Petersburg, Florida 33713 — United States" \
--copie "Hendrik Rootering" \
--pied "Arcodange × Kissmetrics Inc. — 24 August 2026"
```
`corps.html` ne porte que le corps — les `<h2>`, `<p>`, `<table>`, encadrés.
L'en-tête, le bloc destinataire, la signature et le pied viennent du gabarit.
Sans `--copie`, la ligne « cc » disparaît entièrement.
Le script vérifie le nombre de pages et proteste au-delà de deux : une lettre
d'affaires qui déborde ne se lit pas. Resserrer le CORPS, jamais la typographie.
## Les choix, et pourquoi
**Charter pour le texte, Optima pour les titres.** Charter a été dessinée par
Matthew Carter pour tenir le petit corps là où d'autres se délitent — elle reste
lisible à l'écran comme sur papier bon marché. Optima lui donne un contrepoint
humaniste sans raideur. Les deux sont incorporées au PDF : le rendu est le même
chez le destinataire, quelle que soit sa machine. Chiffres elzéviriens activés,
pour que les montants dans le texte s'alignent au lieu de faire des bâtons.
**Deux encadrés, deux usages.** Le gris (`.calme`) porte une question ou une
demande — elle ne doit pas se noyer dans un paragraphe. Le rouge sourd
(`.encart`) porte ce qui doit être lu même en diagonale. **Un seul par lettre** ;
deux, et plus rien ne ressort.
**Les tableaux portent un `<thead>`.** Sans lui, un tableau qui se coupe entre
deux pages perd son en-tête et devient illisible. Avec, il se répète.
**Les trois emblèmes 🏹💻🪽** viennent du site — *« Gabriel 🪽 Radureau, pour 🏹
réussir vos projets 💻 »*. L'arc et l'ange sont dans le nom lui-même. Ils
figurent en marque sous le mot-marque, et l'aile seule entre prénom et nom dans
la signature.
## Le piège des emblèmes
> [!IMPORTANT]
> **`weasyprint` ne sait pas rendre Apple Color Emoji.** C'est un format bitmap
> `sbix` qu'il ignore : les trois emblèmes sortent en carrés vides, sans erreur
> ni avertissement. Vérifié le 24/08/2026.
D'où `emblemes/*.png`, rendus une fois pour toutes par `test/emoji2png.ts`, qui
passe par Chromium — lui lit la police système. Pour les régénérer ou en ajouter :
```bash
cd test && deno run -A emoji2png.ts ../correspondance/emblemes 🏹 💻 🪽
```
Les PNG sont incorporés en base64 **à la génération**, pas dans le gabarit : un
gabarit de 400 Ko dont 97 % de charabia ne se relit pas. Le PDF produit, lui,
reste autonome.
## Ce que le format ne fait pas
Il ne remplace pas le message d'accompagnement. La lettre est le document qu'on
joint ; le mot sur Slack ou par courriel reste séparé, plus court, et dit
pourquoi on écrit. Les deux doivent rester d'accord — vérifier que la lettre ne
mentionne aucune pièce absente de l'envoi.
## Exemple de référence
`1_DOCUMENTS/prospects/KissMetrics/relances/2026-08-24_lettre_KM.html` — la
lettre du 24/08/2026, dont ce gabarit est extrait. Elle se régénère à
l'identique, au mot près, ce qui est le test du gabarit.