réécriture article imagemagick - voix plus directe

This commit is contained in:
Cedric Abonnel
2026-05-12 00:44:12 +02:00
parent be09fad48f
commit 6163ce0780
+142 -241
View File
@@ -1,241 +1,142 @@
### Outils, bonnes pratiques et cas dusage concrets La manipulation d'images depuis le terminal est une de ces choses qu'on apprend une fois et qu'on utilise pour toujours. Pas besoin de GIMP, pas besoin d'ouvrir quoi que ce soit : une commande, et c'est réglé.
Sous Linux, la manipulation dimages 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. Voici les outils que j'utilise concrètement, et dans quels cas.
Cet article présente les principaux outils disponibles, leurs forces, leurs limites, et des exemples concrets dutilisation. ---
--- ## ImageMagick, le plus polyvalent
## Pourquoi utiliser la ligne de commande pour les images ? C'est l'outil de base. Il gère à peu près tous les formats qui existent, et la syntaxe est toujours la même. L'installation est classique :
Utiliser la ligne de commande présente plusieurs avantages majeurs : ```bash
sudo apt install imagemagick
* **Automatisation** : intégration dans des scripts, cron, pipelines CI/CD. ```
* **Traitement par lot** : milliers dimages en une seule commande.
* **Reproductibilité** : mêmes paramètres, mêmes résultats. Convertir un format :
* **Performance** : consommation mémoire réduite, rapidité accrue.
* **Indépendance graphique** : fonctionne sur serveurs sans interface X. ```bash
magick image.jpg image.png
--- ```
## 1. ImageMagick le couteau suisse Redimensionner sans toucher au ratio, en posant une limite maximale :
### Présentation ```bash
magick image.jpg -resize 1920x1920\> sortie.jpg
ImageMagick est probablement loutil le plus connu et le plus complet. Il prend en charge quasiment tous les formats dimage existants et offre une infinité doptions. ```
### Installation Le `\>` est important — sans lui, ImageMagick agrandit aussi les petites images. Avec, il ne fait que réduire.
```bash Préparer une image pour le web, en supprimant les métadonnées EXIF et en compressant :
sudo apt install imagemagick
``` ```bash
magick image.jpg -strip -quality 82 image_web.jpg
### Commandes de base ```
Convertir un format : Pour traiter un répertoire entier, `mogrify` fait le même boulot mais **modifie les fichiers en place** — toujours travailler sur une copie ou rediriger vers un autre dossier :
```bash ```bash
magick image.jpg image.png mogrify -path ./web -resize 1600x1600\> -quality 85 *.jpg
``` ```
Redimensionner : ---
```bash ## libvips, pour les traitements lourds
magick image.jpg -resize 1024x768 image_redim.jpg
``` Quand il y a des centaines de photos ou des images très lourdes (scans, RAW exportés), libvips est nettement plus rapide et utilise beaucoup moins de mémoire qu'ImageMagick. Il charge les images en flux au lieu de tout mettre en RAM.
Conserver le ratio et limiter la taille maximale : ```bash
sudo apt install libvips-tools
```bash ```
magick image.jpg -resize 1920x1920\> image.jpg
``` ```bash
vips resize input.jpg output.jpg 0.5 # diviser la taille par 2
Compression pour le web : vips copy input.png output.webp # conversion de format
```
```bash
magick image.jpg -strip -quality 82 image_web.jpg La syntaxe est moins intuitive qu'ImageMagick mais les gains sur des gros volumes sont sensibles.
```
---
Traitement par lot :
## FFmpeg, pas que pour la vidéo
```bash
mogrify -resize 1600x1600\> -quality 85 *.jpg FFmpeg est surtout connu pour la vidéo, mais il convertit les images aussi — utile quand il est déjà installé et qu'on veut éviter une dépendance supplémentaire, ou pour extraire des frames depuis une vidéo :
```
```bash
⚠️ `mogrify` modifie les fichiers **en place**. À utiliser avec prudence. ffmpeg -i video.mp4 frame_%04d.jpg
```
---
Redimensionner en conservant le ratio :
## 2. GraphicsMagick plus léger, plus rapide
```bash
GraphicsMagick est un fork dImageMagick, souvent plus stable et plus rapide pour des traitements intensifs. ffmpeg -i input.jpg -vf scale=1280:-1 output.jpg
```
### Installation
---
```bash
sudo apt install graphicsmagick ## Les métadonnées EXIF avec exiftool
```
Les appareils photo embarquent beaucoup d'informations dans les fichiers : coordonnées GPS, modèle d'appareil, réglages. Avant de publier une photo, il vaut mieux vérifier ce qu'elle contient :
### Exemple
```bash
```bash sudo apt install libimage-exiftool-perl
gm convert photo.png photo.jpg
``` exiftool photo.jpg # lire toutes les métadonnées
exiftool -all= photo.jpg # tout supprimer
Avantages : exiftool -TagsFromFile src.jpg dst.jpg # copier les métadonnées d'une image à une autre
```
* Moins gourmand en mémoire
* Idéal pour serveurs et scripts automatisés ImageMagick peut aussi supprimer les EXIF avec `-strip`, mais exiftool offre plus de contrôle quand on veut garder certaines balises et supprimer d'autres.
Inconvénient : ---
* Moins de fonctionnalités avancées quImageMagick ## Fichiers RAW
--- Pour les CR2, NEF, ARW et autres formats propriétaires d'appareils photo, `darktable-cli` est la solution la plus propre :
## 3. FFmpeg pas que pour la vidéo ```bash
darktable-cli input.CR2 output.jpg
FFmpeg gère très bien les images, notamment pour les conversions simples ou les pipelines vidéo → image. ```
### Installation Il applique les mêmes algorithmes de développement que l'interface graphique de darktable. `dcraw` est une alternative plus ancienne et plus bas niveau :
```bash ```bash
sudo apt install ffmpeg dcraw -c photo.CR2 > photo.ppm
``` ```
### Exemples ---
```bash ## En pratique
ffmpeg -i image.png image.jpg
``` Conversion d'un dossier de PNG en WebP :
Redimensionnement : ```bash
for f in *.png; do
```bash magick "$f" "${f%.png}.webp"
ffmpeg -i input.jpg -vf scale=1280:-1 output.jpg done
``` ```
Extraction dimages depuis une vidéo : Pipeline complet pour publication web — redimensionnement, suppression EXIF, compression :
```bash ```bash
ffmpeg -i video.mp4 frame_%04d.jpg magick input.jpg -resize 1600x1600\> -strip -quality 80 output.jpg
``` ```
--- Traitement récursif sur un arbre de dossiers :
## 4. libvips rapide et économe ```bash
find . -name "*.jpg" -exec magick {} -resize 1200x1200\> {} \;
`vips` est conçu pour être extrêmement performant, notamment sur de grandes images (photos RAW, scans, archives). ```
### Installation ---
```bash ## Récap rapide
sudo apt install libvips-tools
``` | Cas d'usage | Outil |
|---|---|
### Exemples | Usage général | ImageMagick |
| Gros volumes / performance | libvips |
```bash | Déjà dans le pipeline vidéo | FFmpeg |
vips copy input.png output.jpg | Fichiers RAW | darktable-cli |
vips resize input.jpg output.jpg 0.5 | Lecture / nettoyage EXIF | exiftool |
```
Pour 90 % des besoins courants, ImageMagick suffit. libvips vaut le coup d'être appris si on traite régulièrement des lots importants.
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 dimages 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**