Optimiser ses images pour réduire leur poids (jpeg, png, svg)

fond SHZ

Photo HD optimisée

On vous demandera souvent d’optimiser vos images, que ce soit pour votre site internet ou pour vos projets de développement.

Le fait d’optimiser ses images en réduisant leur taille n’altère pas forcément la qualité (ou parfois peu), mais a de réels avantages :

  • meilleur référencement (le poids des images est un critère dans l’algorithme de Google)
  • chargement plus rapide des vos pages

Je vous conseille réellement d’avoir des images compressés sur vos serveurs en production ; bien que ce soit un peu chiant à mettre à place, voici comment vous pouvez rendre ça facile et efficace.

Installation des logiciels nécessaires pour optimiser ses images sur internet

Je vais partir du principe que vous êtes sous Linux (ou du moins que votre serveur de production l’est).

Sous Debian / Ubuntu

apt-get install --no-install-recommends jpegoptim optipng

Sous Centos 7

yum -y install jpegoptim optipng

Concernant l’optimisation des SVGs (si vous en avez) :

npm install -g svgo

Cliquez ici si vous n’avez pas NodeJS / npm d’installé

Optimiser toutes les images d’un répertoire

Le script suivant vous permettra d’optimiser les images au format : jpeg, jpg, png et svg du répertoire /var/www.

#!/bin/bash

HTTP_PATH='/var/www'

find "${HTTP_PATH}" -iname "*.jpg" -exec jpegoptim -m90 --strip-all {} \;
find "${HTTP_PATH}" -iname "*.jpeg" -exec jpegoptim -m90 --strip-all {} \;
find "${HTTP_PATH}" -iname "*.png" -exec optipng -o7 -strip all {} \; 
find "${HTTP_PATH}" -iname "*.svg" -exec svgo {} \;

chown -R httpd:httpd /var/www
chmod -R 755 /var/www

Attention ! La commande « optipng » est plus longue que les autres. En effet le logiciel calcule les différents ratio de RGB dans l’image et choisi le modèle le plus adapté à l’image.

Je vous recommande donc de lancer ce script dans un émulateur virtuel tmux ou screen, ce qui vous permettra de quitter votre session SSH sans pour autant tuer le processus qui exécute le script (car toute commande lancé dans une session SSH se ferme avec ladite connexion).

Optimiser automatiquement les images de son serveur web

Là où est l’astuce, c’est que vous pouvez automatiser la compression de vos images automatiquement !

Le script donné plus haut, il vous suffira de l’exécuter une fois par semaine, ainsi vous n’aurez pas à relancer l’optimisation à chaque upload d’images.

nano /etc/crontab

Ajoutez–y cette ligne avec le chemin de votre script

0 0 * * 7 root bash /opt/img-optimizer.sh

On ne laisse que « root » lancer, lire et modifier le script.

chmod 700 /opt/img-optimizer.sh

Et voilà ! Toutes vos images seront automatiquement optimisées.

Un plugin pour WordPress ?

J’utilise également sur le site ‘WP-Smush‘, qui me permet d’optimiser encore un peu plus mes images même après compression avec les logiciels utilisés plus haut.

wp-smush wordpress

Optimiser une image avec WP-SmushIT

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *