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

AlgorithmeVitesseRatio compressionMeilleur pour
gzip / DEFLATERapideModéréHTTP, tar.gz, zip
BrotliMoyenMeilleur que gzip (~20%)Réponses HTTP
Zstandard (Zstd)Très rapideMeilleur que gzipReal-time, log archives
LZ4Plus rapideRatio plus basStreams real-time
xz / LZMALentMeilleur ratioSource archives
bzip2LentMeilleur que gzipArchives legacy
SnappyTrès rapideRatio plus basBigTable, RPC

Lossless vs lossy compression

AspectLosslessLossy
ReconstructionBit-parfaiteApproximative
Cas d'usageTexte, code, donnéesImages, audio, vidéo
Exemplesgzip, Brotli, PNG, FLACJPEG, MP3, H.264
Ratio compression2-10×10-100×
Réversible ?OuiNon

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
EncodingSupport navigateurRatio compression (HTML/JS)
gzipUniversel~70% réduction
Brotli~96% navigateurs~75% réduction
ZstdChrome 122+, croissantSimilaire à 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

FormatCompressionLossless ?
PNGDEFLATEOui
WebPVP8/VP9Les deux modes
FLACCustomOui (audio)
ZIPDEFLATEOui
tar.gzgzipOui
ParquetSnappy/gzip/ZstdOui

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.

Quelle est la vitesse de votre site web?

Augmentez sa vitesse et son référencement naturel de manière transparente avec notre Test de Vitesse gratuit.

Test gratuit de vitesse du site Web

Analyser la vitesse de chargement de votre site Web et améliorer ses performances avec notre outil gratuit de vérification de la vitesse de la page.

×