Suite à mes récentes et dernières lectures de "Performance Web" d'Eric
Daspet, où j'y découvrais l'intérêt de compresser puis d'optimiser les images
JPEG, et
PNG, j'eus
l'idée de me créer un script Bash, donc sous GNU/Linux, afin de me faciliter la
vie dans cette optique.
Ce script, bien sûr, je vous le partage, et partez du principe qu'il est
licencié sous GNU/GPL v3, même si aucune mention de copyright n'apparaît !
Présentation du script "Convert Image"
Tel que vous vous en doutez ce script permet de compresser des images JPEG,
et PNG puis de les optimiser ; il est aussi possible de transformer des images
JPEG en images PNG, néanmoins de par la prise de poids conséquente, il est
fortement recommandé de ne pas utiliser cette option dans un contexte de
production web. Cette option a été rajoutée plus pour le propos de
l'exercice de style !
De fait, les deux options principales sont :
- - jpg2jpg pour la compression d'image JPEG et leur
optimisation,
- - png2png pour les images PNG,
Le script s'utilise très simplement, c'est le but d'ailleurs :
./convert_image /nom_de_repertoire_ou_se_situe_les_images/
option
Concernant les outils logiciels nécessaires, le script utilise l'outil
'gvfs-info', dont le propos est d'assurer la détection du type mime de l'image,
et de fait d'utiliser les bonnes fonctions nécessaires, selon l'option choisie,
pour le bon fonctionnement du script.
Le script utilise un petit test de vérification concernant qu'il y a bien deux
arguments retournés, et une fonction vérifiant que le premier est bien un
répertoire, et le second une des options attendues.
Codes Sources
De plus amples informations sont restituées sur mon site "Mémoire Grise Libérée" afin de présenter principalement le
code source du script, mais aussi de donner des explications certes quant aux
options utilisables mais aussi aux outils logiciels nécessaires.
Vous avez accès au téléchargement du script ; donnez lui ensuite les
droits d'exécution nécessaire.
Il est certainement possible d'améliorer le script, si c'est le cas,
n'hésitez pas à me le signaler 