- Police Aptos Narrow par défaut sur tout le classeur
- Titre A1 en RichText (Arial Black 18 noir + 20 rouge pour l'année)
- Date R1 en Aptos Narrow 14 gras
- Sous-titre A3 fusionné A3:R3, dynamique selon les filtres, bordures top + right
- Bordure thick en bas du bloc titre (A1:R1)
- En-têtes A/B/C avec rotation 60° et wrap désactivé
- Couleur d'âge appliquée uniquement sur la colonne P (Age mois Aujourd'hui)
- Couleurs pastel red-300 / orange-300 / yellow-200
- Tri âge desc puis race (Limousine → Charolaise → autres)
- Configuration impression : A4 paysage, fit width 1 page, lignes 3-4 répétées, centré horizontalement
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Passe par /tmp (le user SSH n'a pas les droits sur /var/www/ferme)
- 6 étapes numérotées (scp, ssh, cd, dry-run, run, rm)
- Note sur chmod 644 si www-data ne peut pas lire
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Dépendance phpoffice/phpspreadsheet
- Endpoint GET /bovines/inventory-export : XLSX coloré, header figé, auto-filter, tri birthDate ASC
- Endpoint GET /bovines/inventory-stats : comptes par tranche d'âge (>=24, 22-24, 20-22)
- Bouton Excel à gauche du titre (style icône-only, même design que le bouton impression)
- Légende visuelle avec cartes bordées coloriées
- Ajustement seuils couleurs des lignes en -300 (base) / -400 (hover)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
birthDate ASC sur l'ApiResource Bovine, impacte automatiquement les pages
inventaire et case. Choix ASC plutôt que ageMonths DESC pour bénéficier du
NULLS LAST natif de Postgres.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Ajout (X bovins) à côté du titre sur les pages inventaire et case
- Seuils par âge : 20-22 mois orange, 22-24 mois rouge, 24+ violet
- Couleurs renforcées en -200 / hover -300
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Alignement sur le pattern case.vue : titre et bouton Ajouter sur la même ligne,
wrapper px-[86px] commun, suppression du bouton bottom-centered
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Page case : mêmes colonnes, filtres et alertes âge que la page inventaire
- Page building : header aligné sur le pattern case.vue (wrapper px-86, arrow en absolute)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- 3 nouveaux endpoints API Platform pass-through sur /api/bovins/{inventory|returned-dossiers|presumed-exits} consommant BovinApiInterface v0.0.6
- AnimalSummaryMapper (src/Service/) factorisant le mapping DTO EDNOTIF -> ressource
- src/State/ réorganisé par domaine (Bovin/, Reception/, Shipment/, Building/, User/, System/)
- tag OpenAPI "Bovins" pour regrouper les endpoints ednotif dans Swagger
- malio/ednotif-bundle passé à v0.0.6
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
| | |
## Description de la PR
## Modification du .env
## Check list
- [ ] Pas de régression
- [ ] TU/TI/TF rédigée
- [ ] TU/TI/TF OK
- [ ] CHANGELOG modifié
Reviewed-on: #47
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
- Ajout page infrastructure/bovine avec CRUD
- Refacto BuildingCase (suppression Statut, simplification)
- Commande EnrichBovinesCommand pour enrichir les données bovins
- 4 migrations Doctrine
- Mise à jour composables shipment/weighing
- Mise à jour README et CHANGELOG
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
| | |
## Description de la PR
## Modification du .env
## Check list
- [x] Pas de régression
- [x] TU/TI/TF rédigée
- [x] TU/TI/TF OK
- [x] CHANGELOG modifié
Reviewed-on: #42
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>