Comment modifier plusieurs images en ligne de commandes ?
Redimensionner, convertir et modifier autant d'images que vous souhaitez en une seule commande !

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

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