Comment optimiser et compresser des images JPEG ou PNG dans la ligne de commande Linux
Vous avez beaucoup d’images et vous souhaitez optimiser et compresser les images sans perdre leur qualité d’origine avant de les télécharger sur un cloud ou un stockage local ? Il existe de nombreuses applications GUI disponibles qui vous aideront à optimiser les images. Cependant, voici deux utilitaires simples en ligne de commande pour optimiser les images :
- jpegoptim - est un utilitaire pour optimiser/compresser les fichiers JPEG sans perdre en qualité.
- OptiPNG - est un petit programme qui optimise les images PNG à une taille plus petite sans perdre d’informations.
À l’aide de ces deux outils, vous pouvez optimiser une ou plusieurs images à la fois.
Compresser ou optimiser des images JPEG à partir de la ligne de commande
jpegoptim est un outil en ligne de commande qui peut être utilisé pour optimiser et compresser les fichiers JPEG, JPG et JFIF sans perdre leur qualité réelle. Cet outil prend en charge l’optimisation sans perte, qui est basée sur l’optimisation des tables de Huffman.
Installer jpegoptim sous Linux
Pour installer jpegoptim sur vos systèmes Linux, exécutez la commande suivante depuis votre terminal.
Sur Debian et ses dérivés
# apt-get install jpegoptim
or
sudo apt-get install jpegoptim
Sur les systèmes basés sur RedHat
Sur les systèmes basés sur RPM tels que RHEL, CentOS, Fedora, etc., vous devez installer et activer le référentiel EPEL ou alternativement, vous pouvez installer le référentiel epel directement à partir de la ligne de commande comme indiqué :
# yum install epel-release
dnf install epel-release [On Fedora 22+ versions]
Ensuite, installez le programme jpegoptim à partir du référentiel comme indiqué :
# yum install jpegoptim
dnf install jpegoptim [On Fedora 22+ versions]
Comment utiliser l’optimiseur d’images Jpegoptim
La syntaxe de jpegoptm est la suivante :
$ jpegoptim filename.jpeg
jpegoptim [options] filename.jpeg
Compressons maintenant l’image tecmint.jpeg suivante, mais avant d’optimiser l’image, déterminez d’abord la taille réelle de l’image à l’aide de la commande du comme indiqué.
$ du -sh tecmint.jpeg
6.2M tecmint.jpeg
Ici, la taille réelle du fichier est de 6,2 Mo, compressez maintenant ce fichier en exécutant :
$ jpegoptim tecmint.jpeg
Ouvrez l’image compressée dans n’importe quelle application de visualisation d’images, vous ne trouverez pas de différences majeures. Les images source et compressées auront la même qualité.
La commande ci-dessus optimise les images à la taille maximale possible. Cependant, vous pouvez compresser l’image donnée à une taille spécifique, mais cela désactive l’optimisation sans perte.
Par exemple, compressons l’image ci-dessus de 5,6 Mo à environ 250 Ko.
$ jpegoptim --size=250k tecmint.jpeg
Compression et optimisation d’images JPEG par lots
Vous pourriez demander comment compresser les images dans tout le répertoire, ce n’est pas difficile non plus. Allez dans le répertoire où vous avez les images.
tecmint@tecmint ~ $ cd img/
tecmint@tecmint ~/img $ ls -l
total 65184
-rwxr----- 1 tecmint tecmint 6680532 Jan 19 12:21 DSC_0310.JPG
-rwxr----- 1 tecmint tecmint 6846248 Jan 19 12:21 DSC_0311.JPG
-rwxr----- 1 tecmint tecmint 7174430 Jan 19 12:21 DSC_0312.JPG
-rwxr----- 1 tecmint tecmint 6514309 Jan 19 12:21 DSC_0313.JPG
-rwxr----- 1 tecmint tecmint 6755589 Jan 19 12:21 DSC_0314.JPG
-rwxr----- 1 tecmint tecmint 6789763 Jan 19 12:21 DSC_0315.JPG
-rwxr----- 1 tecmint tecmint 6958387 Jan 19 12:21 DSC_0316.JPG
-rwxr----- 1 tecmint tecmint 6463855 Jan 19 12:21 DSC_0317.JPG
-rwxr----- 1 tecmint tecmint 6614855 Jan 19 12:21 DSC_0318.JPG
-rwxr----- 1 tecmint tecmint 5931738 Jan 19 12:21 DSC_0319.JPG
Ensuite, exécutez la commande suivante pour compresser toutes les images à la fois.
tecmint@tecmint ~/img $ jpegoptim *.JPG
DSC_0310.JPG 6000x4000 24bit N Exif [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif [OK] 7174430 --> 6536500 bytes (8.89%), optimized.
DSC_0313.JPG 6000x4000 24bit N Exif [OK] 6514309 --> 5909840 bytes (9.28%), optimized.
DSC_0314.JPG 6000x4000 24bit N Exif [OK] 6755589 --> 6144165 bytes (9.05%), optimized.
DSC_0315.JPG 6000x4000 24bit N Exif [OK] 6789763 --> 6090645 bytes (10.30%), optimized.
DSC_0316.JPG 6000x4000 24bit N Exif [OK] 6958387 --> 6354320 bytes (8.68%), optimized.
DSC_0317.JPG 6000x4000 24bit N Exif [OK] 6463855 --> 5909298 bytes (8.58%), optimized.
DSC_0318.JPG 6000x4000 24bit N Exif [OK] 6614855 --> 6016006 bytes (9.05%), optimized.
DSC_0319.JPG 6000x4000 24bit N Exif [OK] 5931738 --> 5337023 bytes (10.03%), optimized.
Vous pouvez également compresser plusieurs images sélectionnées à la fois :
$ jpegoptim DSC_0310.JPG DSC_0311.JPG DSC_0312.JPG
DSC_0310.JPG 6000x4000 24bit N Exif [OK] 6680532 --> 5987094 bytes (10.38%), optimized.
DSC_0311.JPG 6000x4000 24bit N Exif [OK] 6846248 --> 6167842 bytes (9.91%), optimized.
DSC_0312.JPG 6000x4000 24bit N Exif [OK] 7174430 --> 6536500 bytes (8.89%), optimized.
Pour plus de détails sur l’outil jpegoptim, consultez les pages de manuel.
$ man jpegoptim
Compresser ou optimiser des images PNG à partir de la ligne de commande
OptiPNG est un outil en ligne de commande utilisé pour optimiser et compresser les fichiers PNG (graphiques réseau portables) sans perdre leur qualité d’origine.
L’installation et l’utilisation d’OptiPNG sont très similaires à celles de jpegoptim.
Installer OptiPNG sous Linux
Pour installer OptiPNG sur vos systèmes Linux, exécutez la commande suivante à partir de votre terminal.
Sur Debian et ses dérivés
# apt-get install optipng
or
sudo apt-get install optipng
Sur les systèmes basés sur RedHat
# yum install optipng
dnf install optipng [On Fedora 22+ versions]
Remarque : Vous devez avoir activé le référentiel epel sur vos systèmes basés sur RHEL/CentOS pour installer le programme optipng.
Comment utiliser l’optimiseur d’images OptiPNG
La syntaxe générale d’optipng est la suivante :
$ optipng filename.png
optipng [options] filename.png
Compressons l’image tecmint.png, mais avant d’optimiser, vérifiez d’abord la taille réelle de l’image comme indiqué :
tecmint@tecmint ~/img $ ls -lh tecmint.png
-rw------- 1 tecmint tecmint 350K Jan 19 12:54 tecmint.png
Ici, la taille réelle du fichier ci-dessus est de 350K, compressez maintenant ce fichier en exécutant :
tecmint@tecmint ~/img $ optipng tecmint.png
OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.
** Processing: tecmint.png
1493x914 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 357525 bytes
Input file size = 358098 bytes
Trying:
zc = 9 zm = 8 zs = 0 f = 0 IDAT size = 249211
Selecting parameters:
zc = 9 zm = 8 zs = 0 f = 0 IDAT size = 249211
Output IDAT size = 249211 bytes (108314 bytes decrease)
Output file size = 249268 bytes (108830 bytes = 30.39% decrease)
Comme vous le voyez dans la sortie ci-dessus, la taille du fichier tecmint.png a été réduite jusqu’à 30,39 %. Vérifiez à nouveau la taille du fichier à l’aide de :
tecmint@tecmint ~/img $ ls -lh tecmint.png
-rw-r--r-- 1 tecmint tecmint 244K Jan 19 12:56 tecmint.png
Ouvrez l’image compressée dans n’importe quelle application de visualisation d’images, vous ne trouverez pas de différences majeures entre les fichiers originaux et compressés. Les images source et compressées auront la même qualité.
Compression et optimisation d’images PNG par lots
Pour compresser des images PNG par lots ou plusieurs à la fois, il suffit d’aller dans le répertoire où se trouvent toutes les images et d’exécuter la commande suivante pour compresser.
tecmint@tecmint ~ $ cd img/
tecmint@tecmint ~/img $ optipng *.png
OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.
** Processing: Debian-8.png
720x345 pixels, 3x8 bits/pixel, RGB
Input IDAT size = 95151 bytes
Input file size = 95429 bytes
Trying:
zc = 9 zm = 8 zs = 0 f = 0 IDAT size = 81388
Selecting parameters:
zc = 9 zm = 8 zs = 0 f = 0 IDAT size = 81388
Output IDAT size = 81388 bytes (13763 bytes decrease)
Output file size = 81642 bytes (13787 bytes = 14.45% decrease)
** Processing: Fedora-22.png
720x345 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 259678 bytes
Input file size = 260053 bytes
Trying:
zc = 9 zm = 8 zs = 0 f = 5 IDAT size = 222479
zc = 9 zm = 8 zs = 1 f = 5 IDAT size = 220311
zc = 1 zm = 8 zs = 2 f = 5 IDAT size = 216744
Selecting parameters:
zc = 1 zm = 8 zs = 2 f = 5 IDAT size = 216744
Output IDAT size = 216744 bytes (42934 bytes decrease)
Output file size = 217035 bytes (43018 bytes = 16.54% decrease)
....
Pour plus de détails sur l’optimisation des pages de manuel.
$ man optipng
Conclusion
Si vous êtes un webmaster et que vous souhaitez diffuser des images optimisées sur votre site Web ou un blog, ces outils peuvent être très pratiques. Ces outils permettent non seulement d’économiser de l’espace disque, mais aussi de réduire la bande passante lors du téléchargement des images.
Si vous connaissez une autre meilleure façon d’obtenir la même chose, faites-le nous savoir via les commentaires et n’oubliez pas de partager cet article sur vos réseaux sociaux et de nous soutenir.


