Table des matières

La compression de fichiers

On manipule de plus en plus de fichiers, et la compression permet de gagner énormément de temps et de place, que ce soit pour le stockage ou le transfert de données. Il existe de nombreux algorithmes de compression, et de nombreux formats d'archive. Il peut être intéressant de choisir judicieusement son algorithme et son format d'archive en fonction des besoins.

TL;DR : Pas le temps ou l'envie de lire toute cette page ? Vous ne savez pas quel format prendre ?
➡️ Utilisez 7z (7-Zip) ⬅️

La compression est généralement un compromis : Vous dépensez:

en échange:


Algorithme de compression et format archive

Il y a deux choses à distinguer :

Certains archiveurs sont liés à certains algorithmes. À titre d'exemple:

Cas particulier de certains logiciels de compression sous Linux: Certains logiciels de compression (gzip, zstd, bzip2, etc.) ne savent compresser qu'un seul fichier à la fois. Ils ne savent pas faire d'archive. Pour ces logiciels, il faut passer par tar pour créer une archive unique à partir des différents fichiers. Ce fichier tar sera ensuite compressé (d'où les .tar.gz, .tar.zst, .tar.bz2…)

⚖️ Le compromis

Certains algorithmes de compression compressent mieux que d'autres, mais pour vous le choix va généralement se faire sur ce critère:

compression-curseur.png

Vous allez devoir choisir si vous voulez compresser plus ou moins vite ou plus ou moins fort. Car généralement compresser plus fort prend plus de temps. C'est à vous de voir où vous voulez mettre le curseur.

Le choix sera aussi impacté par:


Alors on choisit quoi ?

Je vais faire un conseil général simple:

Utilisez 7-Zip (format d'archive .7z)

Vraiment, utilisez le format .7z.

Pourquoi ?

C'est vraiment à l'heure actuelle le meilleur choix.


🚗💨 Vous voulez (dé)compresser plus vite ?

Alors prenez lz4. Il est extrêmement rapide et garde malgré tout un bon taux de compression. C'est le meilleur moyen de gagner de la place rapidement. C'est également utile sur les CPU très modestes.

Inconvénients:

Mais la vitesse de compression est hallucinante (On parle là de 500 Méga-octets par seconde par coeur à la compression, et plusieurs Giga-octets par seconde en décompression).


💪 Vous voulez compresser plus fort ?

Et bien croyez-le ou non, 7-Zip est probablement déjà le meilleur choix. Vous pouvez demander à 7-Zip d'essayer de compresser plus fort les données avec l'option "Ultra" (-mx=9 en ligne de commande). Pensez toujours à bien activer l'option "Archive solide" (active par défaut en ligne de commande).

Pour aller plus loin, vous pouvez utiliser les options un peu particulières choisies par PeaZip pour 7-Zip (à la place du -mx=9). Cela permet généralement de gagner encore quelques méga-octets :

-m0=LZMA2 -mmt=on -mx9 -md=64m -mfb=64 -ms=16g -mqs=on -sccUTF-8

Et si vos données dépassent 2 Giga-octets, il est possible que zpaq ou lrzip vous donnent de meilleurs résultats que 7-Zip.

(Conseil: zpaq en mode -m4 compresse remarquablement bien dans un temps raisonnable. Je déconseille l'option -m5: Elle est encore plus puissante mais les temps de (dé)compression explosent.)


Mais on m'a dit qu'il fallait utiliser zstd !

Il existe bien d'autres algos et formats d'archive.


Notes


À faire: