Files
varlog/_cache/articles/46f2f084-8dd8-497a-aef0-4728367ce753.json
T
2026-05-15 10:37:48 +02:00

1 line
5.7 KiB
JSON

{"uuid":"46f2f084-8dd8-497a-aef0-4728367ce753","slug":"convertir-des-images-en-ligne-de-commande-sous-linux","title":"Convertir des images en ligne de commande sous Linux","author":"cedric@abonnel.fr","published":true,"published_at":"2025-12-28 14:54","created_at":"2025-12-28 14:54:41","updated_at":"2026-05-12 00:51:02","revisions":[{"n":1,"date":"2026-05-12 00:51:02","comment":"","title":"Convertir des images en ligne de commande sous Linux"}],"cover":"cover.svg","files_meta":{"illustration_conversion_images_cli_linux.svg":{"author":"","source_url":""}},"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"linux","content":"# Convertir des images en ligne de commande sous Linux\n\nLa 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é.\n\nVoici les outils que j'utilise concrètement, et dans quels cas.\n\n---\n\n## ImageMagick, le plus polyvalent\n\nC'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 :\n\n```bash\nsudo apt install imagemagick\n```\n\nConvertir un format :\n\n```bash\nmagick image.jpg image.png\n```\n\nRedimensionner sans toucher au ratio, en posant une limite maximale :\n\n```bash\nmagick image.jpg -resize 1920x1920\\> sortie.jpg\n```\n\nLe `\\>` est important — sans lui, ImageMagick agrandit aussi les petites images. Avec, il ne fait que réduire.\n\nPréparer une image pour le web, en supprimant les métadonnées EXIF et en compressant :\n\n```bash\nmagick image.jpg -strip -quality 82 image_web.jpg\n```\n\nPour 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 :\n\n```bash\nmogrify -path ./web -resize 1600x1600\\> -quality 85 *.jpg\n```\n\n---\n\n## libvips, pour les traitements lourds\n\nQuand 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.\n\n```bash\nsudo apt install libvips-tools\n```\n\n```bash\nvips resize input.jpg output.jpg 0.5 # diviser la taille par 2\nvips copy input.png output.webp # conversion de format\n```\n\nLa syntaxe est moins intuitive qu'ImageMagick mais les gains sur des gros volumes sont sensibles.\n\n---\n\n## FFmpeg, pas que pour la vidéo\n\nFFmpeg 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 :\n\n```bash\nffmpeg -i video.mp4 frame_%04d.jpg\n```\n\nRedimensionner en conservant le ratio :\n\n```bash\nffmpeg -i input.jpg -vf scale=1280:-1 output.jpg\n```\n\n---\n\n## Les métadonnées EXIF avec exiftool\n\nLes 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 :\n\n```bash\nsudo apt install libimage-exiftool-perl\n\nexiftool photo.jpg # lire toutes les métadonnées\nexiftool -all= photo.jpg # tout supprimer\nexiftool -TagsFromFile src.jpg dst.jpg # copier les métadonnées d'une image à une autre\n```\n\nImageMagick peut aussi supprimer les EXIF avec `-strip`, mais exiftool offre plus de contrôle quand on veut garder certaines balises et supprimer d'autres.\n\n---\n\n## Fichiers RAW\n\nPour les CR2, NEF, ARW et autres formats propriétaires d'appareils photo, `darktable-cli` est la solution la plus propre :\n\n```bash\ndarktable-cli input.CR2 output.jpg\n```\n\nIl applique les mêmes algorithmes de développement que l'interface graphique de darktable. `dcraw` est une alternative plus ancienne et plus bas niveau :\n\n```bash\ndcraw -c photo.CR2 > photo.ppm\n```\n\n---\n\n## HEIC, le format Apple\n\nLes iPhone exportent leurs photos en HEIC depuis iOS 11. Le format est compact, mais Linux ne le gère pas nativement — il faut convertir avant de pouvoir travailler dessus.\n\nLe paquet `libheif-examples` fournit `heif-convert`, l'outil le plus direct :\n\n```bash\nsudo apt install libheif-examples\n\nheif-convert photo.heic photo.jpg\n```\n\nImageMagick peut aussi s'en charger si `libheif` est installé sur le système :\n\n```bash\nmagick photo.heic photo.jpg\n```\n\nPour vérifier que le support HEIC est bien disponible :\n\n```bash\nmagick identify -list format | grep -i heic\n```\n\nConversion d'un dossier entier :\n\n```bash\nfor f in *.heic *.HEIC; do\n heif-convert \"$f\" \"${f%.*}.jpg\"\ndone\n```\n\n---\n\n## En pratique\n\nConversion d'un dossier de PNG en WebP :\n\n```bash\nfor f in *.png; do\n magick \"$f\" \"${f%.png}.webp\"\ndone\n```\n\nPipeline complet pour publication web — redimensionnement, suppression EXIF, compression :\n\n```bash\nmagick input.jpg -resize 1600x1600\\> -strip -quality 80 output.jpg\n```\n\nTraitement récursif sur un arbre de dossiers :\n\n```bash\nfind . -name \"*.jpg\" -exec magick {} -resize 1200x1200\\> {} \\;\n```\n\n---\n\n## Récap rapide\n\n| Cas d'usage | Outil |\n|---|---|\n| Usage général | ImageMagick |\n| Gros volumes / performance | libvips |\n| Déjà dans le pipeline vidéo | FFmpeg |\n| Fichiers RAW | darktable-cli |\n| HEIC (iPhone) | heif-convert ou ImageMagick |\n| Lecture / nettoyage EXIF | exiftool |\n\nPour 90 % des besoins courants, ImageMagick suffit. libvips vaut le coup d'être appris si on traite régulièrement des lots importants.\n","featured":false,"tags":[]}