GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Optimiser les images JPEG/JPG dans Ubuntu avec Jpegoptim

La capacité de résolution d'image des appareils de capture de photos d'aujourd'hui comme les smartphones et les appareils photo numériques augmente de jour en jour. La vraie affaire survient lorsque nous devons partager ces images, les télécharger sur une installation cloud ou même les enregistrer sur un appareil avec un stockage restreint. Les graphistes doivent également faire face au même problème, mais ils sont bien équipés avec des outils capables de compresser les images afin qu'elles puissent être facilement partagées avec les parties prenantes.

Pour Ubuntu, il existe de nombreux utilitaires graphiques qui vous permettraient d'optimiser et de compresser vos jpegs, mais nous discuterons ici d'un outil de ligne de commande appelé Jpegoptim. Ceci est particulièrement utile pour les connaisseurs de terminaux qui aiment effectuer leurs tâches en utilisant un minimum de ressources système. Jpegoptim peut vous aider à compresser vos fichiers jpegs, jpg et jfif avec et sans perte de qualité, selon ce que vous recherchez.

Dans cet article, nous décrirons comment vous pouvez installer l'utilitaire de ligne de commande Jpegoptim sur Ubuntu. Nous expliquerons également différentes manières d'utiliser cette application pour optimiser et compresser vos fichiers image jpeg. L'article vous permettra également d'écrire et d'exécuter un script bash qui automatisera le processus de compression de tous les jpegs situés dans un seul répertoire.

Nous avons exécuté les commandes et procédures mentionnées dans cet article sur un système Ubuntu 18.04 LTS.

Installer Jpegoptim sur Ubuntu

Jpegoptim est facilement disponible via le référentiel officiel Ubuntu et peut être facilement installé via la ligne de commande à l'aide de la commande apt-get.

Ouvrez votre application Terminal soit via le système de recherche du lanceur d'applications, soit via le raccourci Ctrl+Alt+T.

L'étape suivante consiste à mettre à jour l'index du référentiel de votre système via la commande suivante :

$ sudo apt-get update

Cela vous aide à installer la dernière version disponible d'un logiciel à partir d'Internet. Veuillez noter que seul un utilisateur autorisé peut ajouter, supprimer et configurer des logiciels sur Ubuntu.

Vous êtes maintenant prêt à installer Image Jpegoptim; vous pouvez le faire en exécutant la commande suivante en tant que sudo :

$ sudo apt-get install jpegoptim

Le système peut vous demander le mot de passe pour sudo et vous fournir également une option Y/n pour continuer l'installation. Entrez Y puis appuyez sur Entrée ; le logiciel sera installé sur votre système. Le processus peut cependant prendre un certain temps en fonction de votre vitesse Internet.

Vous pouvez vérifier le numéro de version de l'application, et également vérifier qu'elle est bien installée sur votre système, grâce à la commande suivante :

$ jpegoptim --version

Utilisation de Jpegoptim pour la compression d'image

Explorons maintenant la puissance de Jpegoptim à travers les manières suivantes de l'utiliser :

Compressez sans perte une seule image

Si vous souhaitez compresser une seule image sans vouloir faire de compromis sur la qualité, utilisez la commande suivante :

$ jpegoptim nom_image.jpg

Exemple :

$ jpegoptim sample.jpg

Remarque : N'oubliez pas que l'outil écrase l'image existante, c'est donc une bonne idée d'enregistrer l'image d'origine ailleurs.

Si vous souhaitez que l'image soit encore plus compressée, vous pouvez exécuter à nouveau la même commande. Cependant, Jpegoptim commencera à ignorer la compression si elle atteint la limite où vous avez une qualité d'image sans perte avec le plus de compression.

Voici à quoi ressemblerait la sortie dans une telle situation :

Compresser une image dans un autre dossier

Si vous craignez de perdre votre image d'origine car Jpegoptim l'écrasera, vous pouvez demander à l'outil d'enregistrer l'image compressée dans un autre dossier.

Commencez par créer un dossier dans lequel vous souhaitez enregistrer les images compressées. Si vous souhaitez qu'ils soient enregistrés dans un dossier déjà existant, vous n'avez pas besoin d'en créer un nouveau. Vous pouvez ensuite utiliser la syntaxe de commande suivante pour effectuer la compression :

$ jpegoptim -d ./[dossier-destination] -p [nom_image].jpg

Par exemple :

$ jpegoptim -d ./compressed -p sample.jpg

La commande ci-dessus va compresser et enregistrer mon fichier sample.jpg dans un dossier déjà existant nommé "compressed".

Vérifier la compression potentielle

Si vous voulez voir, à l'avance, combien une image est capable d'être compressée, vous pouvez simuler la compression d'image via Jpegoptim. La commande suivante ne compressera pas réellement l'image, elle vous indiquera simplement combien l'image sera compressée si jamais vous essayez de la compresser avec Jpegoptim.

L'exemple suivant expliquera plus en détail le processus :

J'ai une image jpg nommée sample.jpg. J'imprimerai d'abord sa taille via la commande du comme suit :

$ du sample.jpg

Ensuite, j'utiliserai le drapeau -n avec la commande jpegoptim pour connaître sa compression potentielle.

$ jpegoptim -n sample.jpg

Lorsque j'ai revérifié sa taille après avoir utilisé la commande jpegoptim comme ci-dessus, je n'ai vu aucun changement dans sa taille. Cela garantit que la commande jpeg avec l'indicateur -n affiche uniquement le pourcentage et la taille de compression futurs sans réellement compresser l'image.

Compresser les images "avec" une perte de qualité

Parfois, nous voulons compresser nos images en sachant que le processus ne sera pas sans perte. La bonne chose est qu'avec Jpegoptim, vous pouvez spécifier la perte de qualité qui vous convient. Il existe deux manières de compresser vos images "avec perte" ;

1. Utilisation de l'indicateur -m pour spécifier le facteur/pourcentage de qualité : Définit le facteur de qualité d'image maximum (désactive le mode d'optimisation sans perte, qui est activé par défaut). Cette option réduira la qualité des fichiers source qui ont été enregistrés avec un paramètre de qualité supérieur. Alors que les fichiers qui ont déjà un paramètre de qualité inférieur seront compressés à l'aide de la méthode d'optimisation sans perte.

Voici comment spécifier le pourcentage de compression :

$ jpegoptim -m[percentage_in_numbers] image.jpg

Voici mon image d'origine :

Et voici à quoi cela ressemble avec un facteur de qualité de 10 % :

2. Utilisation de l'option –size pour spécifier la taille de l'image compressée : Essayez d'optimiser le fichier à une taille donnée (désactive le mode d'optimisation sans perte). La taille cible est spécifiée soit en kilo-octets (1 – n)

ou sous forme de pourcentage (1 % - 99 %) de la taille du fichier d'origine.

Voici comment vous pouvez spécifier la taille en Ko pour l'image résultante :

$ jpegoptim --size=[size-in-kb] image_name.jpg

Optimiser les fichiers image par lots

Il existe plusieurs façons d'utiliser Jpegoptim pour compresser plusieurs fichiers à la fois.

La première consiste à spécifier tous les fichiers que vous souhaitez compresser dans une seule commande jpegoptim comme suit :

$ jpegoptim file1.jpeg file2.jpg file3.jpg

La commande écrasera tous les fichiers spécifiés et avec les nouveaux compressés.

La deuxième méthode consiste à indiquer à Jpegoptim de compresser tous les fichiers d'un certain type, par exemple jpg, résidant tous dans le même dossier :

$ jpegoptim *.jpg

Afin de voir comment cette commande fonctionne, j'ai répertorié tous les fichiers de mon dossier Images avec l'indicateur -l. Cette commande imprimerait la taille totale de toutes les images résidant dans le dossier actuel :

$ ls -l

Ensuite, j'ai utilisé la même commande ls -l pour voir la différence entre la commande Jpegoptim et la taille totale de tous les fichiers. Vous pouvez voir la différence remarquable du nombre total d'octets dans le résultat suivant :

Ce n'étaient que deux fichiers; vous pouvez économiser beaucoup d'espace comme celui-ci. La beauté de l'ensemble du processus est que vous ne faites aucun compromis sur la qualité de vos précieuses images. Vous pouvez, bien sûr, faire de même avec d'autres formats de fichiers pris en charge par Jpegoptim.

La troisième et une option très utile est que vous pouvez même utiliser un script shell pour automatiser la compression de tous les fichiers d'un même type situés dans le répertoire courant. Voici comment procéder :

Bash Script pour compresser tous les fichiers jpg dans le répertoire courant

Cette section explique comment vous pouvez écrire un script shell qui compressera tous les jpg situés dans le répertoire courant dans un dossier nommé "compressed". Le script ne créera pas le dossier; il enregistrera simplement la sortie dans un dossier déjà créé portant ce nom.

Tout d'abord, déplacez-vous dans le dossier Documents où nous allons créer le script :

$ cd Documents

Remarque :Vous pouvez enregistrer le script où vous le souhaitez. Il est conseillé de créer tous les scripts dans le même dossier afin de ne pas perdre de vue l'endroit où vous les avez enregistrés. Personnellement, je préfère enregistrer tous mes scripts dans le dossier Documents.

Créer le scénario

Ouvrez un nouveau fichier de script dans l'un de vos éditeurs de texte préférés. Nous allons utiliser l'éditeur nano afin d'ouvrir un fichier de script vide du nom de compressAll.sh

$ nano compressAll.sh

Dans ce fichier vide, ajoutez le script suivant.

#!/bin/sh
# compress all *.jpg files in the current directory
# and place them in ./compressed directory
# with the same modification date as original files.

for i in *.jpg; do jpegoptim -d ./compressed -p "$i"; done

Astuce : Au lieu de taper tout le script dans votre fichier bash, vous pouvez le copier à partir d'ici et le coller dans le terminal en utilisant Ctrl+Maj+V, ou en utilisant l'option Coller du menu contextuel.

Voici à quoi ressemblerait votre fichier :

Maintenant, quittez le fichier via le raccourci Ctrl + X. Il vous sera alors demandé de sauvegarder le fichier sur le "Save modified buffer?" rapide. Tapez Y puis appuyez sur Entrée ; votre fichier de script est maintenant enregistré dans le dossier en cours.

Afin de rendre ce fichier exécutable par l'utilisateur courant, lancez la commande suivante dans votre Terminal :

$ chmod +x compressAll.sh

Afin d'exécuter le script, changez votre répertoire actuel pour celui dont vous souhaitez compresser les jpgs (dans mon cas, le répertoire Pictures). Assurez-vous que le répertoire contient un dossier nommé « compressé ». S'il n'y est pas, veuillez en créer un avant d'exécuter le script.

Exécuter le script

Enfin, exécutez le script comme suit :

$ /home/[username]/Documents/compressAll.sh

Cette commande exécutera le script bash à partir du dossier dans lequel vous l'avez créé. C'est la raison pour laquelle vous avez dû spécifier le chemin complet vers ce fichier .sh.

Vous verrez que tous les fichiers compressés seront écrits dans le dossier « compressé ». Vous pouvez le vérifier via la commande suivante :

$ ls compressed

Il s'agissait d'optimiser l'image via l'utilitaire Jpegoptim. Pour plus de détails, vous pouvez consulter la page de manuel via la commande suivante :

$ man jpegoptim

Désormais, partager vos images sur Internet et les télécharger vers un emplacement à bande passante et stockage restreints ne devrait plus poser de problème


Ubuntu
  1. Ubuntu Xenial Xerus 16.04 Téléchargement d'image ISO Linux avec zsync

  2. Installer Ubuntu 20.04 sur Raspberry Pi

  3. Comment optimiser et compresser des images JPEG ou PNG dans la ligne de commande Linux

  4. Astuce :convertissez des images en ligne de commande avec ImageMagick

  5. Comment partager des images Docker avec d'autres

Comment convertir PNG, JPEG en WebP dans Ubuntu ? ( Aussi WebP vers PNG et JPEG )

Comment flasher/graver une image de système d'exploitation avec Etcher sur Ubuntu

Optimisation/compression d'image sans perte avec Trimage sur Ubuntu

Redimensionner les images avec un clic droit sur Ubuntu et d'autres distributions Linux [Astuce rapide]

Commande d'optimisation d'image Jpeg Linux

Amélioration automatique de l'image pour Ubuntu