Se simplifier la compression d’images !

4520986339 99857d1c35 o 300x199 Se simplifier la compression dimages !J’utilise une autre version de ce script, qui peut être discutable mais qui répond à mes besoins et peut donc répondre aux besoins d’autres.

Optimiser les images pour le web :

Le haut débit apporte un réel confort tant pour les webmestres que pour les visiteurs de sites que nous sommes  mais nous fait parfois oublier que nos sites se doivent d’être légers. Déjà pour les visiteurs qui ne disposent pas du haut débit, pour économiser nos espaces d’hébergement, améliorer le confort de tous et aussi parce que ça améliore le référencement.

Outre la surcharge engendrée par les excès de javascript que l’on peut facilement analyser avec des sites comme Pingdom Tools par exemple, la grande surcharge de nos sites provient des images. On ne les optimisent plus autant qu’au temps du 56k.

Linuxien depuis quelques années, je cherchait donc une astuce pour optimiser facilement et efficacement mes images à publier par lot tant qu’à faire. Et je doit avouer qu’au début je n’ai rien trouvé qui me convienne afin de compresser et optimiser mes images au maximum, quelles soient en PNG ou en JPG. Je me suis donc construit mon propre script en m’appuyant sur le script de Zigazou pour obtenir une compression en taille fixe pour le JPG, et sur ce tutoriel de sebsauvage pour l’optimisation des PNG.

Note :

Comme me le fait remarquer zigazou, le tutoriel de sebsauvage se base sur pngpq qui fait une quantisation de l’image, il diminue le nombres de couleurs de l’images pour gagner en place.

Cette compression est donc relativement discrète sur des images avec peu de couleurs (logos, bannières, etc.). Mais pas mal destructive pour les PNGs avec beaucoup de couleurs.

Le présent article sera donc normalement complété par des corrections ou un nouvel article quand j’aurais testé les scripts proposés par zigazou en commentaire. icon wink Se simplifier la compression dimages !

Logiciels nécessaires :

Pour utiliser ce script, il faut donc installer d’abord :  libjpeg-progs, pngnq  et optipng.

apt-get install libjpeg-progs pngnq optipng

Puis télécharger le script de Zizagou ici et le copier en root dans /bin .

Mon script personnel :

Ensuite, créer un fichier texte, « optimisation » par exemple, et coller y ceci :

#!/bin/bash

# On crée le dossier optimiz
mkdir optimiz

# On y copie les images
cp -f *.jpg optimiz/
cp -f *.JPG optimiz/
cp -f *.jpeg optimiz/
cp -f *.png optimiz/

# On s’y rend
cd optimiz

# On redimensionne les images en 1024×800 par exemple
mogrify -auto-orient -quality 80 -resize 1024×800 *.jpg
mogrify -auto-orient -quality 80 -resize 1024×800 *.jpeg
mogrify -auto-orient -quality 80 -resize 1024×800 *.JPG
mogrify -auto-orient -quality 80 -resize 1024×800 *.png

# Compression des jpeg à 75 Ko environ
jpegoptim 75 *.jpg
jpegoptim 75 *.JPG

# Optimisation des PNGs
pngnq -vf -s1 *.png
rename -f ‘s/-nq8.png$/.png/’ *.png
optipng -o7 *.png

# Et on ressort
cd ..

# Et on informe
echo message:Optimisation terminée | zenity –notification –listen –window-icon= »info » | zenity –notification –window-icon= »info » –text= »Optimisation terminée »

On enregistre et on rend ce fichier éxécutable.

Utilisation :

Pour utiliser ce script, on le glisse dans un dossier avec les images que l’ont veut optimiser, on clique sur notre script et il nous optimise les images dans le dossier « optimiz » créé pour l’occasion puis nous informe une fois fini.

Les réglages sont personnalisables et le script peut être amélioré, mais il répond complétement à mes besoins.

Je vous laisse donc juger de son utilité, de son efficacité et de ces perfectionnements (que vous pouvez me partager ici icon smile Se simplifier la compression dimages ! ).

Crédit Photo : marcovdz


  1. zigazou dit :

    Bonjour,

    Merci d’utiliser mon script !

    Concernant les PNG, j’ai également un script qui met à contribution plusieurs utilitaires (dont optipng) :

    http://zigazou.wordpress.com/2009/07/30/reduire-encore-plus-les-png/

    Pourquoi plusieurs ? Tout simplement parce que chacun agit sur des aspects différents (optimisation de l’algorithme de compression, optimisation des zones répétées, optimisation des en-têtes etc.)

    Concernant l’utilisation de pngnq, n’est-ce pas un peu dangereux ? La quantisation donne généralement de très mauvais résultats sur les images 24 bits contenant des dégradés ou des floutés.

    @+

  2. dnartreb89 dit :

    Hello zigazou !

    Très intéressant ton script, je ne l’avais pas vu lors de mes recherches.

    Je vais tester ça aujourd’hui. En fait, ma première problématique est d’obtenir une procédure très simple pour que ma miss gère facilement les photos de son blog et que par la même occasion ça me simplifie la vie ;-) (pour mes photos, par pour simplifier ma miss :-) ).

    Le top du top du top serait un petit utilitaire sous X qui pose le moins possible de question, peut être juste quel degrés de dégradation on tolère. Mais bon, la je rêve un peu. ;-)

    Surtout que personnellement, je suis déjà content de parvenir à taper quelques scripts simples comme celui présenté ici.

    Je teste et je réadapte mon post ou en re-publie un si nécessaire.

Laisser un commentaire