Modes de paiement Abuse

Optimisation des images sous Linux

16.06.2021, 19:33

Si vous avez suffisamment d'images sur votre ordinateur et qu'elles occupent trop d'espace, il est tout à fait possible de réduire leur taille sans perdre en qualité. Cela peut également s'avérer très utile lorsque vous téléchargez des images vers un système de stockage en nuage.

Dans cet article, nous allons voir comment se fait l'optimisation des images sous Linux. Il existe une variété d'outils graphiques pour résoudre cette tâche, mais en réalité tout est plus simple. Nous verrons ensuite comment compresser les images à l'aide de deux utilitaires de ligne de commande simples mais très efficaces : jpegoptim est un utilitaire qui optimise et compresse les images JPEG sans perte de qualité ; optipng est un petit programme qui vous permet de réduire la taille des images PNG sans perte de qualité.

JPEG et PNG sont les formats d'image les plus courants sur Internet, vous pourrez donc optimiser presque toutes les images.

Optimisation des images JPEG

Il existe un utilitaire appelé jpegoptim, un outil en ligne de commande qui peut être utilisé pour compresser les images JPEG, JPG et JFIF sans perte de qualité. L'utilitaire optimise les images en se basant sur les tables de Huffman. L'algorithme JPEG utilise la compression telle quelle, mais cette compression est réalisée avec une perte de qualité, et ici nous pouvons optimiser la taille sans changer l'image.

INSTALLATION DE JPEGOPTIM

Pour installer l'utilitaire dans Ubuntu, Debian et les distributions basées, exécutez :

$ sudo apt install jpegoptim

Dans Fedora, Red Hat, CentOS et autres distributions basées sur ces dernières, les choses sont un peu plus compliquées, vous devrez d'abord ajouter le dépôt epel-release. Vous pouvez le faire avec une commande comme celle-ci :

$ sudo yum install epel-release

Ou :

$ sudo dnf install epel-release

Ensuite, vous pouvez installer jpegoptim à partir du dépôt que vous venez d'ajouter :

$ sudo yum install jpegoptim

Or :

$ sudo dnf install jpegoptim

COMMENT UTILISER JPEGOPTIM

Voyons maintenant comment utiliser jpegoptim. L'utilisation de l'utilitaire de compression d'image linux est très simple. Tout ce que vous avez à faire est d'exécuter le programme et de lui passer un nom de fichier. Voici la syntaxe :

$ jpegoptim optiona file_name.jpeg

Examinons les options de l'utilitaire :

  • -d - spécifie le dossier dans lequel enregistrer les images finies ;
  • -f - optimisation forcée ;
  • -m - indicateur de qualité, annule la compression sans perte et définit le niveau de qualité de 0 à 100, plus il est élevé, mieux c'est ;
  • -n - n'effectue pas d'optimisation réelle, mais affiche seulement le résultat ;
  • -S - définit la taille de l'image finie, peut être spécifiée en pourcentage ou en kilo-octets ;
  • -o - remplace le fichier source ;
  • -p - sauvegarde des horodatages ;
  • -P - sauvegarde des droits du fichier.

Voyons comment optimiser des images sous Linux avec jpegoptim. Tout d'abord, regardons la taille originale :

$ du image.jpg

Optimisation des images sous Linux

Ensuite, nous effectuons l'optimisation la plus simple :

$ jpegoptim image.jpg

Optimisation des images sous Linux

Puis nous regardons à nouveau la taille :

$ du image.jpg

Optimisation des images sous Linux

Comme vous pouvez le voir, la compression jpg a fonctionné, et en ouvrant l'image dans n'importe quel programme graphique, il n'y aura aucune différence ou dégradation de la qualité, l'image originale et l'image finie seront identiques. À gauche, l'image optimisée, à droite, l'image originale :

Optimisation des images sous Linux

Si vous le souhaitez, vous pouvez compresser l'image jusqu'à une certaine taille, mais cela ne se fera pas sans perte :

$ jpegoptim --size=250k image.jpeg

L'image sera compressée, mais la qualité se détériorera sensiblement. S'il y a beaucoup d'images, vous pouvez très facilement utiliser la compression par lot, il suffit d'aller dans le dossier contenant les images et de lancer la commande de compression en spécifiant un masque au lieu d'un fichier, par exemple :

$ cd images/

jpegoptim *.jpg

Optimisation des images sous Linux

Vous pouvez également lister plusieurs images à la fois :

$ jpegoptim image1.jpg image2.jpg

Pour optimiser toutes les images d'un dossier particulier, vous pouvez utiliser la commande xargs avec find. Par exemple, compresser toutes les images du dossier actuel avec move dans le dossier ~/compressed :

$ find . -name "*.jpg" | xargs jpegoptim -d ~/compressed -p

Voilà, vous savez maintenant comment compresser des images jpg sous Linux. Ensuite, nous allons parler de la compression des images png. C'est également très simple.

OPTIMISER LES IMAGES PNG SOUS LINUX

Le PNG (Portable Network Graphics) est un format d'image bitmap conçu pour remplacer le format GIF imparfait en termes de compression et de reproduction des couleurs. La taille des images PNG peut varier considérablement en fonction de plusieurs facteurs tels que la profondeur des couleurs, l'entrelacement, le filtre avant compression, l'algorithme de compression utilisé, etc.

OptiPNG est un utilitaire de console qui permet d'optimiser les images PNG. A savoir compresser la taille, récupérer les métadonnées, vérifier l'intégrité, etc. Avec OptiPNG, vous pouvez compresser des fichiers sans perte de qualité, comme nous l'avons fait avec le format Jpeg.

INSTALLER OPTIPNG

Si vous utilisez Ubuntu, le programme se trouve dans les dépôts officiels et vous pouvez l'installer très facilement. Pour installer optipng dans Debian, Ubuntu et dérivés, tapez :

$ sudo apt install optipng

Pour Red Hat, CentOS ou Fedora, c'est exactement la même chose, juste un gestionnaire de paquets différent :

$ sudo yum install optipng

Or :

$ sudo dnf install optipng

COMPRESSION D'IMAGES AVEC OPTIPNG

La syntaxe de l'utilitaire est très simple. Vous pouvez l'utiliser exactement de la même manière que jpegoptim :

$ optipng ioptions file_name.png

Examinons les options de l'utilitaire :

  • -backup - sauvegarde des copies des fichiers modifiés ;
  • -dir - dossier dans lequel écrire les fichiers ;
  • -force - force l'écriture du fichier sortant ;
  • -out - écrire le fichier sortant dans le fichier spécifié ;
  • -simuler - n'effectue aucune action, mais montre seulement le résultat ;
  • -o - définit le niveau de compression de 0 à 7.

Essayons maintenant d'optimiser png sous linux. Voyons d'abord la taille du fichier :

$ df -h image.png

Optimisation des images sous Linux

Pour effectuer une compression d'image, utilisez la commande suivante :

$ optipng image.png

Dans cet exemple, les différences ne sont pas visibles car l'image est très petite, mais à plus grande échelle, elles seront significatives :

Ici aussi, la compression png linux est sans perte, ce qui signifie que vous obtiendrez exactement la même image, mais plus petite. Vous pouvez également spécifier le niveau de compression, qui n'affecte pas la qualité de l'image, mais qui a une incidence directe sur la durée du programme. La valeur peut être comprise entre 0 et 7 et plus elle est élevée, plus la compression est forte et plus le traitement est long :

$ optipng -o 7 impge.png

Pour le traitement par lots des images, vous pouvez utiliser le même principe que pour le travail avec jpeg :

$ cd images/

$ optipng *.png

Vous savez maintenant comment se fait l'optimisation des images sous linux.