Compression Sans Perte : Définition, Algorithmes, Web
La compression sans perte réduit les fichiers sans perdre de données — l'original est reconstruit exactement. Algorithmes : gzip, Brotli, Zstd, LZ4.
Qu'est-ce que la compression sans perte ?
La compression sans perte (lossless) est la pratique de réduire la taille de fichier en préservant chaque bit des données originales — la décompression reconstruit le fichier exactement. L'opposé est la compression avec perte (lossy, utilisée pour images, audio, vidéo), qui discard les données de façon permanente.
Lossless est le standard pour les données où l'accuracy bit-parfaite importe : texte, code source, exécutables, bases de données, archives et réponses HTTP.
Comment fonctionne la compression lossless
- Dictionary coding (LZ77/LZ78) : remplacer les strings répétés par des références.
- Entropy coding (Huffman, arithmetic) : assigner des codes bit plus courts aux symboles plus fréquents.
Algorithmes compression lossless courants
| Algorithme | Vitesse | Ratio compression | Meilleur pour |
|---|---|---|---|
| gzip / DEFLATE | Rapide | Modéré | HTTP, tar.gz, zip |
| Brotli | Moyen | Meilleur que gzip (~20%) | Réponses HTTP |
| Zstandard (Zstd) | Très rapide | Meilleur que gzip | Real-time, log archives |
| LZ4 | Plus rapide | Ratio plus bas | Streams real-time |
| xz / LZMA | Lent | Meilleur ratio | Source archives |
| bzip2 | Lent | Meilleur que gzip | Archives legacy |
| Snappy | Très rapide | Ratio plus bas | BigTable, RPC |
Lossless vs lossy compression
| Aspect | Lossless | Lossy |
|---|---|---|
| Reconstruction | Bit-parfaite | Approximative |
| Cas d'usage | Texte, code, données | Images, audio, vidéo |
| Exemples | gzip, Brotli, PNG, FLAC | JPEG, MP3, H.264 |
| Ratio compression | 2-10× | 10-100× |
| Réversible ? | Oui | Non |
Compression lossless sur le web
GET / HTTP/1.1
Accept-Encoding: br, gzip, deflate
HTTP/1.1 200 OK
Content-Encoding: br
Content-Type: text/html| Encoding | Support navigateur | Ratio compression (HTML/JS) |
|---|---|---|
| gzip | Universel | ~70% réduction |
| Brotli | ~96% navigateurs | ~75% réduction |
| Zstd | Chrome 122+, croissant | Similaire à Brotli, plus rapide |
Quand utiliser quel compresseur
Réponses HTTP
Brotli pour static. Niveau 11 pour static ; niveau 4-6 pour dynamique.
Streaming real-time
LZ4 ou Snappy.
Archives long-terme
xz/LZMA ou Zstd à haut niveau.
Logs in motion
Zstd avec dictionary partagé.
Best practices compression lossless
- Compresser at build-time si possible.
- Brotli sur gzip.
- Ne pas double-compresser.
- Choisir niveau pour cas d'usage.
- Dictionaries partagés pour payloads similaires.
- Mesurer ratio et CPU.
- Compresser avant chiffrement.
- Cacher réponses compressées.
Compression dans formats populaires
| Format | Compression | Lossless ? |
|---|---|---|
| PNG | DEFLATE | Oui |
| WebP | VP8/VP9 | Les deux modes |
| FLAC | Custom | Oui (audio) |
| ZIP | DEFLATE | Oui |
| tar.gz | gzip | Oui |
| Parquet | Snappy/gzip/Zstd | Oui |
FAQ : compression lossless
Quel est le meilleur compresseur lossless ?
Dépend du tradeoff. Meilleur ratio : xz/LZMA. Meilleur balance : Zstd.
Pourquoi mon fichier ne devient-il pas plus petit après compression ?
Les données déjà compressées n'ont pas de redondance exploitable.
Devrais-je compresser JSON ?
Oui — JSON a une haute redondance.
Qu'en est-il des images : PNG vs JPEG ?
PNG est lossless. JPEG est lossy.
Brotli est-il meilleur que gzip ?
Oui — typiquement payloads 15-25% plus petits.
La compression peut-elle aider les performances du site ?
Oui — HTML/CSS/JS compressé réduit le temps de transfert.
Relation entre compression et chiffrement ?
Compresser d'abord, puis chiffrer.
Testez les performances de payloads compressés avec LoadFocus
LoadFocus exécute des scripts JMeter et k6 qui mesurent les tailles de response et TTFB depuis 25+ régions. Inscrivez-vous sur loadfocus.com/signup.
Outils LoadFocus connexes
Mettez ce concept en pratique avec LoadFocus — la plateforme même qui propulse tout ce que vous venez de lire.