====== Gérer les images avec LiipImagine ======
Sources:
* Symfony: [[https://symfony.com/doc/2.0/bundles/LiipImagineBundle/index.html]]
* YouTube: [[https://www.youtube.com/watch?v=dS8QSIQdTRs|Gérer l'affichage des images avec Symfony 4 (avec LiipImagine)]]
===== Installation dans le projet =====
composer require liip/imagine-bundle
Un fichier de configuration est ajouté :
liip_imagine:
# valid drivers options include "gd" or "gmagick" or "imagick"
driver: "gd"
Si on utilise le driver ''"gd"'' comme indiqué ci-dessus, l'extension **php-gd** doit être installée.
sudo apt install php-gd
sudo systemctl restart apache2
===== Filtres =====
Ajouter des filtres :
liip_imagine:
driver: "gd"
filter_sets:
# filtre nommé "miniature200x200"
miniature200x200:
quality: 75
filters:
thumbnail:
size: [200, 200]
mode: outbound
# filtre nommé "image_article"
image_article:
quality: 80
filters:
upscale:
min: [800, 400]
thumbnail:
size: [800, 400]
mode: outbound
===== Utilisation d'un filtre =====
Le fichier image est stocké dans le dossier ''public''
^ Chemin de l'image ^
| /public/img/photo.jpg |
Dans un template twig, on accède à l'image comme ceci :
Pour y ajouter le filtre ''miniature200x200'' défini dans l'exemple ci-dessus :
===== Mise en cache =====
L'image est mise en cache, dans un dossier ''/public/media/cache'' créé automatiquement.
Le chemin complet de l'image est :
/public/media/cache/NOM-DU-FILTRE/CHEMIN-DE-L'IMAGE
Donc pour reprendre l'exemple ci-dessus, cela donne :
/public/media/cache/miniature200x200/img/photo.jpg