# Rapport de version — v1.3.7

*STE MOBDIE PRIVÉ — application de gestion — 29 juillet 2026*

**Les signatures ne se retrouvent plus seules.** Le `page-break-inside: avoid` posé sur chaque article en v1.3.5 renvoyait un article un peu long à la page suivante et poussait tout le document d'autant : un article se coupe désormais librement, seuls le titre (`page-break-after: avoid`) et les orphelines sont protégés, la clause financière reste insécable, et la chute du corps descend avec les cases — mesuré sur vingt-cinq longueurs de corps et trente devis, zéro page de signatures seules contre trois auparavant. Le contrat de référence tient sur deux pages ; les cases passent de 118 à 90 points.

**« Établir un devis » ne rend plus un 500.** `Filament\Notifications\Actions\Action` n'existe pas — `Notification::actions()` attend `Filament\Actions\Action`, comme l'importe le trait `HasActions` du vendor. Les quatre références sont corrigées, les quatre actions sont désormais couvertes par des essais qui vont jusqu'à l'envoi de la notification, et un contrôle balaie `app/` pour vérifier que toute classe nommée — en `use` comme en ligne — existe réellement.

**L'archive se lit sans la base.** Les pièces sont rangées dans `client-documents/{code} - RAISON SOCIALE/` sous `{code}_{TYPE}_{AAAA-MM-JJ}_{RAISON-SOCIALE}.{ext}`, nom qu'elles portent aussi au téléchargement, à l'aperçu, dans le ZIP et en pièce jointe ; `original_name` conserve intact ce que le client avait envoyé. `php artisan mobdie:renommer-archive`, avec `--simulation`, reprend l'existant en transaction, est rejouable sans effet, et signale à part ce qu'elle n'a pas su traiter. Enfin, une ligne vide de l'encadré des parties disparaît au lieu d'afficher un tiret.

Suite complète : **297 tests, 1 372 assertions**, au vert. `./vendor/bin/pint` : conforme. Aucune recompilation d'assets : rien n'a bougé côté interface.

## Déploiement

```bash
git pull && composer install --no-dev -o
php artisan optimize:clear && php artisan optimize
php artisan mobdie:renommer-archive --simulation   # lire le compte
php artisan mobdie:renommer-archive                # puis renommer
```

Aucune migration. Le renommage de l'archive est la seule opération à lancer, et elle se relit à blanc avant d'être jouée.
