Smush est un plugin pour SPIP dont l’utilisation est comparable à smushit.com, il réduit le poids des images autant qu’il le peut.
Conditions préalables au fonctionnement du plugin
Pour fonctionner, ce plugin a besoin d’utiliser plusieurs binaires (logiciels) sur le serveur.
Il utilise pour cela la fonction exec()
de PHP.
Il nécessite que les logiciels suivants soient disponibles :
Dans quel cas une image est optimisée
Par défaut, le plugin agit sur toute image qui passe par un filtre de modification d’image de SPIP (image_reduire
, image_recadre
...) juste avant le "gravage" de l’image finale.
Il se place dans le pipeline post_image_filtrer
et applique automatiquement le filtre image_smush
à ces images.
Cette utilisation est désactivable dans la configuration du plugin.
Il peut également être appelé manuellement avec le filtre |image_smush
sur une image en particulier dans les squelettes du site, par exemple :
- [(#CHEMIN{vers/mon/image.png}|image_smush)]
Vérification des binaires et outil de test
Vérification des binaires
Le plugin nécessitant l’utilisation de logiciels sur le serveur, il vérifie régulièrement leur présence :
- Lors de l’installation ;
- Lors de la visite de la page
ecrire/?exec=smush_infos
; - Avec une tâche cron régulière ;
Si un ou plusieurs logiciels ne sont pas présents, il crée une meta $logiciel_casse
dont la valeur est à oui
dans la table spip_metas
et une meta smush_casse
dont la valeur est oui
également.
Si la meta smush_casse
est présente, les images ne seront pas réduites.
Outil de test
Sur la page ecrire/?exec=smush_infos
, en dessous des informations sur la présence des logiciels nécessaires, s’il n’y a pas de problème de ce coté là, un formulaire permet de tester l’optimisation d’une image en fournissant une URL de l’image originale.
Débrayer le plugin ponctuellement
-
|image_smush_debrayer
pour ne pas appliquer smush -
|image_smush_embrayer
pour appliquer smush sur la suite des traitements
Pour pouvoir les utiliser même quand le plugin n’est pas installé, préférer la syntaxe avec appliquer filtre :
-
|appliquer_filtre{image_smush_debrayer,force=true}
-
|appliquer_filtre{image_smush_embrayer,force=true}
Notes de développement
Toute question au sujet de ce plugin est à poser dans le forum en bas de cet article.
Tout rapport de bug, si prouvé, peut se faire dans le gestionnaire de tickets de ce site.
Le code source du plugin est sur la zone de SPIP.
Liens externes
- http://www.smushit.com - un outil en ligne d’optimisation d’images ;
- http://kraken.io - un outil en ligne d’optimisation d’images ;