Accueil du site > Scripts > smushit, pour réduire le poids des images

smushit, pour réduire le poids des images

jeudi 9 avril 2009, par Fil

Le site http://smush.it/ propose de réduire le poids de vos images, afin notamment d’accélerer le chargement des pages web. Mais passer par un site externe, ça peut être ennuyeux, notamment si on a des centaines de milliers d’images à convertir... Alors on retrousse ses manches et on refait le script.

Il faut d’abord installer pas mal de programmes :

apt-get install imagemagick
apt-get install libjpeg-progs
apt-get install pngcrush
apt-get install gifsicle

Notre script suit l’algo établi par kent1 à partir d’une discussion avec les auteurs du site smush.it :

identify -format %m source.png
if GIF
 convert source.gif dest.png
if PNG
 pngcrush -rem alla -reduce -brute source.png dest.png
if JPEG and less than 10K
 jpegtran -copy none -optimize source.jpg > dest.jpg
if JPEG and more than 10K
 jpegtran -copy none -progressive source.jpg > dest.jpg
if strstr(0,6,'GIFGIF')
 gifsicle -o2 source.gif > dest.gif

Ecrit en php (mais on pourrait tout aussi bien l’écrire en shell ou en lisp), ça donne ça : http://zone.spip.org/trac/spip-zone.... Comme on le voit, c’est un travail en cours.

2 Messages de forum

  • smushit, pour réduire le poids des images Le 6 janvier 2010 à 14:49 , par Nicolas Hoizey

    Est-il prévu de pouvoir faire cela à la demande, avec un filtre indépendant, et non systématiquement, comme le semble l’indiquer le code du plugin avec l’appel du pipeline post_image_filtrer ?