Ouvrir son logiciel de montage, charger une image, la modifier, et l'enregistrer dans un nouveau fichier, c'est une opération facile à faire, mais qui, lorsqu'on la répète 5 fois, 10 fois, 100 fois devient extrêmement chronophage et aliénante.

Heureusement certains logiciels proposent de créer des macros ou des scripts permettant d'effectuer ces traitements à la chaine, mais encore faut-il ouvrir le logiciel, charger et lancer le script à la main.

Aujourd'hui nous allons apprendre à faire la même chose, mais en utilisant un outil à la fois simple et très puissant, directement en ligne de commandes.

Découvrez ImageMagick

ImageMagick est un logiciel disponible sur tous les systèmes d'exploitation majeurs (Linux, MacOS, Windows) utilisé pour faire de la retouche, modification et création d'image directement depuis un terminal.

Vous pouvez le télécharger directement depuis le site officiel : https://imagemagick.org/script/download.php

ImageMagick
Create, Edit, Compose, or Convert Digital Images

Lorsque vous installez le logiciel, vous obtenez une suite d'outils indépendants et à la fois compatibles les uns avec les autres, tous rassemblés sous le même exécutable :

  • convert, pour convertir, redimensionner, recadrer, flouter,... une image
  • mogrify, similaire à convert mais pour automatiser le processus sur plusieurs images
  • composite, pour empiler plusieurs images les unes sur les autres comme des calques
  • animate, pour créer une animation basée sur plusieurs images
  • et bien d'autres !

Mais ImageMagick est si puissant qu'il est même possible de générer des images à partir de simples ligne de commandes. Imaginez que vous vouliez générer des bannières par défaut en fonction du pseudo d'un utilisateur, en quelques lignes, c'est possible !

Un script d'exemple

Pour vous présenter le fonctionnement, j'ai décidé de partir d'un use-case très courant : normaliser en taille et en format un dossier complet d'image.

Pour ce faire j'utilise l'outil mogrify d'ImageMagick, et en une seule ligne de commande je normalise toutes les images :

$ magick mogrify -resize 256x256 -path ./destination/ -format jpg ./source/*
  • L'option -resize indique la taille maximale de sortie de mes images (en conservant le ratio)
  • L'option -path indique le dossier de sortie (qui doit être créé au préalable)
  • L'option -format indique le format vers lequel les images seront converties
  • Le chemin à la fin de la commande indique les fichiers sources à convertir

Pour découvrir toutes les possibilités d'ImageMagick, je vous invite à lire la documentation officielle disponible ici : https://imagemagick.org

J'espère que cet article vous aura été utile, et à bientôt sur le blog !

Les articles les plus populaires du blog

Envie de continuer à lire des articles autour du développement web (entre autres) ? Voici la sélection des articles de mon blog les plus lus par la communauté !

Voir la sélection 🚀

Recevez les articles de la semaine par e-mail pour ne rien manquer !

S'abonner à la newsletter 📧

À propos de l'auteur

Hello, je suis Nicolas Brondin-Bernard, ingénieur web indépendant depuis 2015 passionné par le partage d'expériences et de connaissances.

Aujourd'hui je suis aussi coach pour développeurs web juniors, tu peux me contacter sur nicolas@brondin.com, sur mon site ou devenir membre de ma newsletter pour ne jamais louper le meilleur article de la semaine et être tenu au courant de mes projets !


Photo par Pascal Brokmeier sur Unsplash