80 lines
3.5 KiB
Markdown
80 lines
3.5 KiB
Markdown
# 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.
|