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