- 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>
90 lines
2.2 KiB
Markdown
90 lines
2.2 KiB
Markdown
# 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 |