Planches de badges centrées, verso aligné sur le recto
ci-cd / build-backend (push) Successful in 57s
ci-cd / build-frontend (push) Successful in 9s
ci-cd / deploy (push) Successful in 16s

Espace libre réparti à parts égales (mêmes écarts à gauche, entre les
badges et à droite ; en haut, entre les rangées et en bas) : grille
symétrique, le verso imprimé en miroir tombe exactement derrière le recto
au lieu d'être décalé de l'espace restant.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
AdamThomas
2026-10-29 16:50:59 +01:00
co-authored by Claude Opus 5.5
parent 05cdb0276b
commit 3754cfc69a
3 changed files with 72 additions and 3 deletions
+9 -1
View File
@@ -273,7 +273,14 @@ les tables sauf les tables d'association.
champs `BACK` de chaque bénévole) — impression recto-verso classique
(retournement bord long) : sur la page de verso, chaque badge est placé
**en miroir horizontal** (colonne `cols-1-col`, `_cell_origin(mirrored=
True)`) pour tomber derrière son recto. Indispensable depuis que le verso
True)`) pour tomber derrière son recto. La grille est **centrée et symétrique** sur la
page (`app/badges/pdf.py:_spacing`) : l'espace libre est réparti à parts
égales — même écart à gauche, entre les badges et à droite, et de même en
haut, entre les rangées et en bas (CR80 sur A4 : 12,9 mm et 16,2 mm),
marge d'impression de 10 mm au moins ; une fois la feuille retournée,
chaque verso tombe exactement derrière son recto. Avant l'étape 71, la
grille partait du coin haut-gauche et l'espace restant tombait à droite
et en bas, d'où un verso décalé (bug corrigé une fois). Indispensable depuis que le verso
est personnalisé ; avant, un verso identique pour tous masquait le
décalage.
- **Feuilles de poste** (PDF, `app/sheets/pdf.py` + `app/api/position_sheets.py`) :
@@ -1119,6 +1126,7 @@ Aucune dépendance locale requise hors Docker.
| 68 | L'email de test est le récapitulatif de planning compilé tel qu'envoyé aux bénévoles (modèle en cours d'édition, variables remplies avec le planning d'un bénévole au choix, option lien de connexion — sans vrai jeton —, sujet « [Test] … ») | à valider |
| 69 | Récapitulatif de planning : `{creneaux}` devient un tableau par jour de festival (horaire, poste, référent avec son téléphone), en HTML dans l'email et en lignes lisibles dans la version texte — envoi réel et email de test | à valider |
| 70 | `{lien_connexion}` devient un lien de connexion directe permanent (réutilisable, sans expiration, signé HMAC, rien de stocké — avant : lien magique de 30 min à usage unique, ou simple lien vers le site sans compte) ; compte bénévole créé à l'envoi s'il manque ; révocation par « Renouveler le lien de connexion » sur la fiche (`Account.login_link_version`, migration `0031`) ; jamais pour la coordination | à valider |
| 71 | Planches de badges centrées : espace libre réparti à parts égales (mêmes écarts à gauche, entre les badges, à droite ; en haut, entre les rangées, en bas), grille symétrique — le verso, imprimé en miroir, tombe exactement derrière le recto au lieu d'être décalé de l'espace restant | à valider |
**Reste hors périmètre** (modèle prêt à les accueillir) : SMS, constructeur
de formulaire, IA. Frontend : squelette + 6 écrans +