Feature #92
closedFeature #82: Améliorer la génération de PDF pour les contrats avec design professionnel et signatures configurables
Backend — numéro de contrat unique + enregistrement/téléchargement/envoi email
0%
Description
Parent : #82. Dépend du moteur de rendu (#82-rendu).
Numéro de contrat unique auto-incrémenté (CONTRAT-AAAA-NNN) via **séquence Postgres atomique**, affiché en pied de page. Après contre-signature : enregistrer le PDF (`internal_signed_pdf_url`), le rendre téléchargeable et l'envoyer par email via l'EmailPort Resend.
## Acceptance criteria
- [ ] Numéro unique auto-incrémenté persisté ; **deux contrats générés en concurrence ne partagent jamais un numéro**.
- [ ] Numéro affiché en pied de page.
- [ ] Après contre-signature : PDF enregistré (URL persistée), téléchargeable, envoyé par email via Resend.
- [ ] Tests backend (TDD) + lint/typecheck verts.