momh

Optimisation des images sous SPIP

Travaillant sur divers sites présentant de nombreux visuels bien souvent extrêmement lourds, je cherchais un moyen d’optimiser ces images afin d’améliorer les « performances » de ces sites.

Après une recherche rapide sur contrib.spip.net et sur plugins.spip.net, je n’ai pas trouvé mon bonheur [1] et ai donc développé un petit plugin, Images optimisées (optimages), en me basant sur le package image-optimizer proposé par Spatie.

Le plugin Images optimisées est installable via SVP puisque disponible sur plugins.spip.net ou via Git.

Le fonctionnement de ce plugin se veut très simple : si leur format est compatible (en l’état JPEG, PNG et GIF bien que la librairie prenne également en charge les SVG ou WEBP), les images sont compressées dès leur téléversement grâce aux utilitaires jpegoptim, pngquant et optipng, ou enfin gifsicle.

Le plugin fournit une interface de configuration permettant de modifier, s’il détecte les binaires de ces utilitaires, les arguments passés à ceux-ci (par défaut, ce sont les valeurs utilisées par la librairie image-optimizer).

En l’état, sur un échantillon loin d’être représentatif, nous obtenons des résultats de l’ordre de 60% de réduction du poids des PNG et de 40 à 50% pour les JPEG.

[1Il s’avère qu’il existe le plugin SmushIt au fonctionnement quelque peu différent, puisqu’il n’agit pas sur les images lors de leur téléverserment mais seulement lors de leur affichage.