## 1. Présentation générale ImageMagick est une suite d’outils en ligne de commande permettant de **créer, convertir, modifier et analyser des images**. Il supporte plus de 200 formats (JPEG, PNG, WebP, TIFF, PDF, SVG, HEIC, etc.) et fonctionne sans interface graphique, ce qui le rend idéal pour : * les serveurs, * les scripts automatisés, * les pipelines CI/CD, * les traitements en masse, * les environnements sans interface graphique (SSH, Docker, etc.). Depuis la version 7, la commande principale est `magick`, qui remplace progressivement les anciennes commandes (`convert`, `identify`, `mogrify`, etc.). --- ## 2. Installation Sous Debian / Ubuntu : ```bash sudo apt install imagemagick ``` Vérification : ```bash magick -version ``` --- ## 3. Principe fondamental de fonctionnement ImageMagick fonctionne selon une logique simple : ``` magick [entrée] [options] [sortie] ``` Chaque option modifie l’image en mémoire, dans l’ordre où elle est écrite. Exemple : ```bash magick input.jpg -resize 800x600 -quality 85 output.jpg ``` ➡️ L’image est chargée → redimensionnée → compressée → enregistrée. --- ## 4. Conversion de format ### Conversion simple ```bash magick image.png image.jpg ``` Cela convertit automatiquement le format selon l’extension du fichier de sortie. ### Conversion avec changement de profondeur de couleur ```bash magick image.png -depth 8 image.jpg ``` Utile pour réduire la taille ou assurer une compatibilité. --- ## 5. Redimensionnement des images ### Redimensionnement simple ```bash magick image.jpg -resize 800x600 image_resized.jpg ``` ⚠️ Cela force exactement ces dimensions, quitte à déformer l’image. --- ### Conserver les proportions (recommandé) ```bash magick image.jpg -resize 800x600\> image_resized.jpg ``` Le `>` signifie : > Ne redimensionner que si l’image dépasse ces dimensions. --- ### Redimensionnement par pourcentage ```bash magick image.jpg -resize 50% image_small.jpg ``` --- ## 6. Qualité et compression ### Réduire la taille du fichier JPEG ```bash magick image.jpg -quality 85 image.jpg ``` * 100 : qualité maximale * 80–85 : bon compromis web * <70 : perte visible --- ### Suppression des métadonnées (EXIF, GPS, etc.) ```bash magick image.jpg -strip image.jpg ``` Très utile pour : * anonymisation * gain de place * conformité RGPD --- ## 7. Redimensionnement intelligent (crop & resize) ### Recadrer une image ```bash magick image.jpg -crop 800x600+100+50 output.jpg ``` Format : ``` largeur x hauteur + décalage_x + décalage_y ``` --- ### Remplir un cadre sans déformation ```bash magick image.jpg -resize 800x600^ -gravity center -extent 800x600 output.jpg ``` Cela : * redimensionne en conservant les proportions * coupe l’excédent centré Très utilisé pour les miniatures. --- ## 8. Traitement par lot ### Conversion de tous les fichiers d’un dossier ```bash for f in *.jpg; do magick "$f" "${f%.jpg}.png" done ``` ### Redimensionnement massif (avec écrasement) ```bash mogrify -resize 1600x1600\> *.jpg ``` ⚠️ `mogrify` modifie les fichiers originaux. --- ## 9. Ajout de texte et filigranes ### Ajouter un texte ```bash magick image.jpg \ -gravity southeast \ -pointsize 24 \ -fill white \ -annotate +10+10 "© MonSite" \ image_marked.jpg ``` ### Ajouter un watermark (image) ```bash magick image.jpg watermark.png -gravity center -composite output.jpg ``` --- ## 10. Gestion des couleurs ### Convertir en niveaux de gris ```bash magick image.jpg -colorspace Gray output.jpg ``` ### Ajuster luminosité / contraste ```bash magick image.jpg -brightness-contrast 10x5 output.jpg ``` --- ## 11. Informations sur une image ### Détails complets ```bash magick identify image.jpg ``` ### Informations étendues ```bash magick identify -verbose image.jpg ``` --- ## 12. Formats modernes ### Conversion vers WebP ```bash magick image.jpg -quality 80 image.webp ``` ### Conversion vers AVIF ```bash magick image.jpg image.avif ``` --- ## 13. Bonnes pratiques * Toujours tester sur une copie * Éviter `mogrify` sans sauvegarde * Utiliser `-strip` pour le web * Privilégier `libvips` pour très gros volumes * Automatiser via scripts Bash --- ## 14. Cas d’usage typiques * Préparation d’images pour un site web * Génération de miniatures * Normalisation d’un catalogue photo * Conversion massive pour archivage * Nettoyage de métadonnées avant publication --- ImageMagick est un outil extrêmement puissant, capable de remplacer de nombreux logiciels graphiques lorsqu’on maîtrise sa syntaxe. Il s’intègre parfaitement dans des scripts, des serveurs et des chaînes de traitement automatisées. Pour un usage professionnel ou intensif, c’est un outil incontournable sous Linux.