Automatiser la compression d’images avec des outils gratuits en 2026

Compresser manuellement chaque image est fastidieux et source d’oublis. L’automatisation permet de garantir que toutes les images publiées sur votre site ou envoyées à vos clients sont systématiquement optimisées, sans effort supplémentaire.

Voici les différentes méthodes pour mettre en place une compression automatique, du plus simple au plus avancé.

Bloquer les publicités gratuitement — Installer l’extension Chrome

Pourquoi automatiser la compression ?

ApprocheTemps par imageRisque d’oubliQualité constante
Manuelle1-2 minutesÉlevéVariable
Semi-automatique (drag & drop)10-20 secondesMoyenBonne
Automatique (pipeline)0 secondeAucunParfaite

L’automatisation élimine l’erreur humaine et garantit une optimisation systématique. C’est particulièrement important pour les sites web où chaque Ko compte pour les performances.

Pour comprendre l’impact de la compression sur votre site, lisez notre guide optimiser les images de votre site web.

Méthode 1 : Scripts en ligne de commande

Script Bash pour compresser un dossier entier

Ce script utilise des outils gratuits pour compresser automatiquement tous les JPEG et PNG d’un dossier :

#!/bin/bash
# compress-images.sh — Compression automatique JPEG et PNG

INPUT_DIR="$1"
JPEG_QUALITY=80
PNG_QUALITY="65-80"

echo "Compression des images dans : $INPUT_DIR"

# Compresser les JPEG avec jpegoptim
find "$INPUT_DIR" -type f \( -name "*.jpg" -o -name "*.jpeg" \) \
  -exec jpegoptim --max=$JPEG_QUALITY --strip-all --all-progressive {} \;

# Compresser les PNG avec pngquant
find "$INPUT_DIR" -type f -name "*.png" \
  -exec pngquant --quality=$PNG_QUALITY --ext .png --force {} \;

echo "Compression terminée."

Utilisation : ./compress-images.sh ./mon-dossier-images/

Script avec conversion WebP

#!/bin/bash
# convert-to-webp.sh — Conversion et compression en WebP

INPUT_DIR="$1"
WEBP_QUALITY=80

find "$INPUT_DIR" -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.png" \) | while read file; do
  output="${file%.*}.webp"
  cwebp -q $WEBP_QUALITY "$file" -o "$output"
  echo "Converti : $file$output"
done

Méthode 2 : Dossier surveillé (watch folder)

Sur Mac avec Automator + Folder Actions

  1. Ouvrez Automator et créez une Action de dossier
  2. Sélectionnez le dossier à surveiller
  3. Ajoutez l’action Exécuter un script Shell
  4. Collez le script de compression ci-dessus
  5. Chaque image ajoutée au dossier sera automatiquement compressée

Sur Windows avec PowerShell + FileSystemWatcher

$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\Images\A-Compresser"
$watcher.Filter = "*.*"
$watcher.EnableRaisingEvents = $true

$action = {
    $path = $Event.SourceEventArgs.FullPath
    if ($path -match '\.(jpg|jpeg|png)$') {
        # Appeler votre outil de compression ici
        & magick convert $path -quality 80 -strip $path
    }
}

Register-ObjectEvent $watcher "Created" -Action $action

Méthode 3 : Plugins WordPress

Si vous utilisez WordPress, plusieurs plugins automatisent la compression à l’upload :

PluginGratuitCompressionFormatsWebP auto
Imagify20 Mo/moisAvec et sans perteJPEG, PNG, GIF, WebPOui
ShortPixel100 images/moisAvec et sans perteJPEG, PNG, GIF, WebP, AVIFOui
SmushIllimitéAvec perte légèreJPEG, PNG, GIFPro uniquement
EWWW Image OptimizerIllimité (local)Avec et sans perteJPEG, PNG, GIF, WebPOui
reSmush.itIllimitéAvec perteJPEG, PNG, GIFNon

Pour un guide complet sur WordPress, consultez notre article réduire le poids des images WordPress.

Bloquer les publicités gratuitement — Installer l’extension Chrome

Méthode 4 : Pipeline de build (développeurs)

Avec Astro (framework utilisé pour ce site)

Astro intègre nativement l’optimisation d’images via le composant <Image> :

---
import { Image } from 'astro:assets';
import monImage from '../assets/photo.jpg';
---
<Image src={monImage} alt="Description" width={800} format="webp" />

Astro génère automatiquement des variantes optimisées à la bonne taille et au bon format.

Avec Vite (Vue, React, Svelte)

Le plugin vite-plugin-imagemin compresse automatiquement les images au build :

// vite.config.js
import imagemin from 'vite-plugin-imagemin';

export default {
  plugins: [
    imagemin({
      gifsicle: { optimizationLevel: 3 },
      mozjpeg: { quality: 80 },
      pngquant: { quality: [0.65, 0.8] },
      webp: { quality: 80 }
    })
  ]
};

Avec un pipeline CI/CD (GitHub Actions)

# .github/workflows/optimize-images.yml
name: Optimize Images
on:
  push:
    paths:
      - '**.jpg'
      - '**.jpeg'
      - '**.png'

jobs:
  optimize:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Compress images
        uses: calibreapp/image-actions@main
        with:
          jpegQuality: '80'
          pngQuality: '80'
          webpQuality: '80'

Méthode 5 : API de compression

Pour les workflows personnalisés, les API permettent d’intégrer la compression à n’importe quel processus :

APIRequêtes gratuitesFormatsDocumentation
TinyPNG API500/moisJPEG, PNG, WebPExcellente
Kraken.io100 MoJPEG, PNG, GIF, SVGBonne
ShortPixel100 images/moisJPEG, PNG, GIF, WebP, AVIFBonne

Pour comprendre les niveaux de compression possibles, consultez notre guide sur la compression avec et sans perte.

Quelle méthode choisir ?

ProfilMéthode recommandéeNiveau technique
Blogueur WordPressPlugin (Imagify ou ShortPixel)Débutant
Créateur de contenuDossier surveillé (Mac/Windows)Intermédiaire
Développeur front-endPipeline de build (Vite/Astro)Avancé
DevOps / CIGitHub Actions + APIAvancé
Freelance webScript bash + cron jobIntermédiaire

Conclusion

L’automatisation de la compression d’images est un investissement unique qui rapporte sur le long terme. Que vous choisissiez un simple plugin WordPress, un script en ligne de commande ou un pipeline CI/CD complet, l’objectif est le même : ne plus jamais publier une image non optimisée.

Commencez par la méthode la plus simple pour votre situation, puis évoluez vers des solutions plus avancées à mesure que vos besoins grandissent.

Bloquer les publicités gratuitement — Installer l’extension Chrome

FAQ

L’automatisation dégrade-t-elle la qualité des images ?

Non, à condition de bien configurer les paramètres. Une qualité JPEG de 80 % est imperceptible à l’œil nu dans la grande majorité des cas. L’automatisation applique simplement ces réglages de manière systématique.

Quel est le meilleur plugin WordPress gratuit pour la compression automatique ?

EWWW Image Optimizer est le meilleur choix gratuit car il compresse localement (sans limite de volume) et génère automatiquement des versions WebP. Pour une compression plus agressive, ShortPixel offre 100 images/mois gratuitement.

Les scripts de compression fonctionnent-ils sur un hébergement mutualisé ?

Rarement. Les hébergements mutualisés limitent l’accès aux outils en ligne de commande. Préférez un plugin WordPress ou une API externe dans ce cas. Les VPS et serveurs dédiés offrent un contrôle total.

Comment vérifier que l’automatisation fonctionne correctement ?

Mettez en place un test simple : uploadez une image non compressée et vérifiez que le poids du fichier a diminué après traitement. Pour un suivi continu, loggez les compressions (nom du fichier, poids avant/après, date).

L’automatisation gère-t-elle la conversion en WebP ?

Oui, la plupart des solutions mentionnées dans cet article peuvent convertir automatiquement vos images en WebP. Les plugins WordPress comme Imagify et ShortPixel génèrent des versions WebP servies automatiquement aux navigateurs compatibles.