feat: Release v3.1.6 - Amélioration complète des flux de passages

- Optimisation des listes de passages (user/admin)
- Amélioration du flux de création avec validation temps réel
- Amélioration du flux de consultation avec export multi-formats
- Amélioration du flux de modification avec suivi des changements
- Ajout de la génération PDF pour les reçus
- Migration de la structure des uploads
- Implémentation de la file d'attente d'emails
- Ajout des permissions de suppression de passages
- Corrections de bugs et optimisations performances

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-08-21 17:57:27 +02:00
parent 890da22329
commit 4c2e809a35
24 changed files with 4605 additions and 1082 deletions

90
api/docs/INSTALL_FPDF.md Normal file
View File

@@ -0,0 +1,90 @@
# Installation de FPDF pour la génération des reçus PDF avec logo
## Installation via Composer (RECOMMANDÉ)
Sur chaque serveur (DEV, REC, PROD), exécuter :
```bash
cd /var/www/geosector/api
composer require setasign/fpdf
```
Ou si composer.json est déjà mis à jour :
```bash
cd /var/www/geosector/api
composer update
```
## Fichiers à déployer
1. **Nouveaux fichiers** :
- `/src/Services/ReceiptPDFGenerator.php` - Nouvelle classe de génération PDF avec FPDF
- `/docs/_logo_recu.png` - Logo par défaut (casque de pompier)
2. **Fichiers modifiés** :
- `/src/Services/ReceiptService.php` - Utilise maintenant ReceiptPDFGenerator
- `/composer.json` - Ajout de la dépendance FPDF
## Vérification
Après installation, tester la génération d'un reçu :
```bash
# Vérifier que FPDF est installé
ls -la vendor/setasign/fpdf/
# Tester la génération d'un PDF
php -r "
require 'vendor/autoload.php';
\$pdf = new FPDF();
\$pdf->AddPage();
\$pdf->SetFont('Arial','B',16);
\$pdf->Cell(40,10,'Test FPDF OK');
echo 'FPDF fonctionne' . PHP_EOL;
"
```
## Fonctionnalités du nouveau générateur
**Support des vrais logos PNG/JPG**
**Logo par défaut** si l'entité n'a pas de logo
**Taille du logo** : 40x40mm
**Mise en page professionnelle** avec cadre pour le montant
**Conversion automatique** des caractères UTF-8
**PDF léger** (~20-30KB avec logo)
## Structure du reçu généré
1. **En-tête** :
- Logo (40x40mm) à gauche
- Nom et ville de l'entité à droite du logo
2. **Titre** :
- "REÇU FISCAL DE DON"
- Numéro du reçu
- Article 200 CGI
3. **Corps** :
- Informations du donateur
- Montant en gros dans un cadre grisé
- Date du don
- Mode de règlement et campagne
4. **Pied de page** :
- Mentions légales (réduction 66%)
- Date et signature
## Résolution de problèmes
Si erreur "Class 'FPDF' not found" :
```bash
composer dump-autoload
```
Si problème avec le logo :
- Vérifier que `/docs/_logo_recu.png` existe
- Vérifier les permissions : `chmod 644 docs/_logo_recu.png`
Si caractères accentués mal affichés :
- FPDF utilise ISO-8859-1, la conversion est automatique dans ReceiptPDFGenerator