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 ?
| Approche | Temps par image | Risque d’oubli | Qualité constante |
|---|---|---|---|
| Manuelle | 1-2 minutes | Élevé | Variable |
| Semi-automatique (drag & drop) | 10-20 secondes | Moyen | Bonne |
| Automatique (pipeline) | 0 seconde | Aucun | Parfaite |
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
- Ouvrez Automator et créez une Action de dossier
- Sélectionnez le dossier à surveiller
- Ajoutez l’action Exécuter un script Shell
- Collez le script de compression ci-dessus
- 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 :
| Plugin | Gratuit | Compression | Formats | WebP auto |
|---|---|---|---|---|
| Imagify | 20 Mo/mois | Avec et sans perte | JPEG, PNG, GIF, WebP | Oui |
| ShortPixel | 100 images/mois | Avec et sans perte | JPEG, PNG, GIF, WebP, AVIF | Oui |
| Smush | Illimité | Avec perte légère | JPEG, PNG, GIF | Pro uniquement |
| EWWW Image Optimizer | Illimité (local) | Avec et sans perte | JPEG, PNG, GIF, WebP | Oui |
| reSmush.it | Illimité | Avec perte | JPEG, PNG, GIF | Non |
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 :
| API | Requêtes gratuites | Formats | Documentation |
|---|---|---|---|
| TinyPNG API | 500/mois | JPEG, PNG, WebP | Excellente |
| Kraken.io | 100 Mo | JPEG, PNG, GIF, SVG | Bonne |
| ShortPixel | 100 images/mois | JPEG, PNG, GIF, WebP, AVIF | Bonne |
Pour comprendre les niveaux de compression possibles, consultez notre guide sur la compression avec et sans perte.
Quelle méthode choisir ?
| Profil | Méthode recommandée | Niveau technique |
|---|---|---|
| Blogueur WordPress | Plugin (Imagify ou ShortPixel) | Débutant |
| Créateur de contenu | Dossier surveillé (Mac/Windows) | Intermédiaire |
| Développeur front-end | Pipeline de build (Vite/Astro) | Avancé |
| DevOps / CI | GitHub Actions + API | Avancé |
| Freelance web | Script bash + cron job | Intermé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.