1. Résumé rapide
- 100% local : Canvas + encodage intégré, aucun transfert.
- Curseur qualité : 30–95 pour l’équilibre.
- Format auto : choisit JPEG/WebP selon le poids final.
- Lot : N images en séquence.
- Téléchargement multiple / ZIP : >5 fichiers zippés.
- Comparaison : Aperçu côte à côte.
2. Flux conseillé
- Charger les images.
- Définir la qualité (80 photos, 75 illustrations).
- Laisser Auto sauf besoin précis.
- Optimize all → examiner % d’économie.
- Artefacts ? +5 de qualité.
3. Mécanique interne
<img>
→ <canvas>
→ canvas.toBlob()
en image/webp
ou image/jpeg
. Aucun octet sortant; ObjectURL révoqués.
4. Décision de format
PNG (transparence) → WebP. Photos JPEG restent si l’avantage WebP est faible. WebP économise souvent 20–35%.
5. Performance & limites
- O(n) en pixels.
- ≤3000px côté en ms.
- >6000px plus lent.
- Limiter en cas de mémoire.
6. Confidentialité
Adapté aux visuels sensibles; modèle économique : publicités légères.
7. Checklist
- <250KB hero / <100KB inline.
- Dimensions redimensionnées avant.
- WebP si gain notable.
- Pas d’artefacts visibles.
8. Feuille de route
AVIF, presets intelligents, métriques SSIM/PSNR locales.