### Outils, bonnes pratiques et cas d’usage concrets Sous Linux, la manipulation d’images ne passe pas nécessairement par une interface graphique. L’écosystème propose depuis longtemps des outils puissants, stables et scriptables permettant de convertir, redimensionner, compresser ou transformer des images en masse, avec un contrôle fin sur la qualité et les métadonnées. Cet article présente les principaux outils disponibles, leurs forces, leurs limites, et des exemples concrets d’utilisation. --- ## Pourquoi utiliser la ligne de commande pour les images ? Utiliser la ligne de commande présente plusieurs avantages majeurs : * **Automatisation** : intégration dans des scripts, cron, pipelines CI/CD. * **Traitement par lot** : milliers d’images en une seule commande. * **Reproductibilité** : mêmes paramètres, mêmes résultats. * **Performance** : consommation mémoire réduite, rapidité accrue. * **Indépendance graphique** : fonctionne sur serveurs sans interface X. --- ## 1. ImageMagick – le couteau suisse ### Présentation ImageMagick est probablement l’outil le plus connu et le plus complet. Il prend en charge quasiment tous les formats d’image existants et offre une infinité d’options. ### Installation ```bash sudo apt install imagemagick ``` ### Commandes de base Convertir un format : ```bash magick image.jpg image.png ``` Redimensionner : ```bash magick image.jpg -resize 1024x768 image_redim.jpg ``` Conserver le ratio et limiter la taille maximale : ```bash magick image.jpg -resize 1920x1920\> image.jpg ``` Compression pour le web : ```bash magick image.jpg -strip -quality 82 image_web.jpg ``` Traitement par lot : ```bash mogrify -resize 1600x1600\> -quality 85 *.jpg ``` ⚠️ `mogrify` modifie les fichiers **en place**. À utiliser avec prudence. --- ## 2. GraphicsMagick – plus léger, plus rapide GraphicsMagick est un fork d’ImageMagick, souvent plus stable et plus rapide pour des traitements intensifs. ### Installation ```bash sudo apt install graphicsmagick ``` ### Exemple ```bash gm convert photo.png photo.jpg ``` Avantages : * Moins gourmand en mémoire * Idéal pour serveurs et scripts automatisés Inconvénient : * Moins de fonctionnalités avancées qu’ImageMagick --- ## 3. FFmpeg – pas que pour la vidéo FFmpeg gère très bien les images, notamment pour les conversions simples ou les pipelines vidéo → image. ### Installation ```bash sudo apt install ffmpeg ``` ### Exemples ```bash ffmpeg -i image.png image.jpg ``` Redimensionnement : ```bash ffmpeg -i input.jpg -vf scale=1280:-1 output.jpg ``` Extraction d’images depuis une vidéo : ```bash ffmpeg -i video.mp4 frame_%04d.jpg ``` --- ## 4. libvips – rapide et économe `vips` est conçu pour être extrêmement performant, notamment sur de grandes images (photos RAW, scans, archives). ### Installation ```bash sudo apt install libvips-tools ``` ### Exemples ```bash vips copy input.png output.jpg vips resize input.jpg output.jpg 0.5 ``` Avantages : * Très faible consommation mémoire * Idéal pour serveurs ou traitements massifs --- ## 5. Traitement des métadonnées (EXIF, IPTC) ### exiftool Outil de référence pour lire, modifier ou supprimer les métadonnées. ```bash sudo apt install libimage-exiftool-perl ``` Afficher les métadonnées : ```bash exiftool image.jpg ``` Supprimer toutes les métadonnées : ```bash exiftool -all= image.jpg ``` Copier les métadonnées : ```bash exiftool -TagsFromFile source.jpg destination.jpg ``` --- ## 6. Formats RAW (appareils photo) Pour les fichiers CR2, NEF, ARW, DNG… ### dcraw ```bash sudo apt install dcraw dcraw -c photo.CR2 > photo.ppm ``` ### darktable-cli (plus moderne) ```bash darktable-cli input.CR2 output.jpg ``` --- ## 7. Cas pratiques utiles ### Conversion en masse avec renommage ```bash for f in *.png; do magick "$f" "${f%.png}.webp" done ``` ### Optimisation web complète ```bash magick input.jpg -resize 1600x1600\> -strip -quality 80 output.jpg ``` ### Conversion récursive ```bash find . -name "*.jpg" -exec magick {} -resize 1200x1200\> {} \; ``` --- ## 8. Quel outil choisir ? | Besoin | Outil recommandé | | --------------------- | ---------------- | | Usage général | ImageMagick | | Serveur / performance | libvips | | Conversion simple | ffmpeg | | RAW photo | darktable-cli | | Métadonnées | exiftool | --- ## Conclusion Linux offre un écosystème extrêmement riche pour la manipulation d’images en ligne de commande. Que ce soit pour un usage ponctuel, un traitement de masse, un pipeline automatisé ou une intégration serveur, il existe toujours un outil adapté. Pour un usage général : **ImageMagick** Pour la performance : **libvips** Pour la photo : **darktable-cli**