Le Hollandais Volant

Pourquoi il faut arrêter de mettre des MP3 dans des Zip !

Ça n’a échappé à personne, les fichiers de vacances partagés sur le net le sont souvent dans des « archives » Zip, 7z, Rar. Il faut arrêter tout ça : dans 80% des cas, ça ne sert à rien ! Il existe le format Tar, qui peut parfois être plus utile.

J’ai déjà énoncé le cas du format Rar, que j’aimerais voir disparaître. Pour les autres, je pense que le monde se porterait mieux avec moins de formats pour la même chose, mais bon. Pour l’article je garderais donc Zip, 7z et Tar.

Zip est le format de compression qui est à mon avis le plus largement supporté : Windows le supporte nativement, ce qui aide pas mal.
7-zip fait la même chose que Zip, mais il a besoin du logiciel libre, gratuit et multiplateforme 7-zip pour être utilisé. Son avantage : le ratio de compression est plus efficace et produit des fichiers plus petits (en contrepartie, les opérations de compression/décompression sont un peu moins rapides).
Le dernier, Tar, ne sert pas à compresser des fichiers (il ne permet pas un gain de place sur le disque), mais il permet de réunir au sein d’un seul fichier .tar plusieurs fichiers plus petits. Un seul gros fichier est en effet plus pratique à manipuler et à archiver que des millions de petits fichiers : c’est donc un format d’archivage.

Grosso-modo, les formats de compression fonctionnent sur le principe suivant : le fichier présente par exemple les mots « pomme.pomme.pomme.pomme. » et la version compressée est simplement « 4×pomme. » : on passe donc de 24 caractères à 8 caractères et on divise la place occupée par 3. C’est bien.

Par contre, si on a « pomme.abricot.pêche.banane » la version compressée sera « 1×pomme.abricot.pêche.banane ». On perd donc 2 caractères et c’est mal. Compresser le fichier ne sert donc à rien du tout ici.
Malheureusement, les cas où la compression ne sert à rien est utilisé très souvent, par exemple pour les fichiers musicaux, les images et parfois les vidéos.

Voici un exemple qui parle bien, avec l’album Good Luck du groupe Coréen Beast, que j’ai en MP3 320k sur mon ordi.

taille du fichier en fonction du format
Si le but recherché est la diminution du temps de téléchargement, alors au lieu de mettre 1 minute, vous mettrez 58,2 secondes avec du format 7z. La décompression du fichier prends ensuite une dizaine de secondes.
Pour le fichier Tar, le temps de téléchargement est allongé de 6 millisecondes, mais l’extraction des fichiers se fait presque instantanément (disons 1/2 seconde).
Pour le format Zip, le ratio de compression est pratiquement nul, mais vous perdez également prés de 10 secondes lors de l’extraction et de la compression des fichiers.

Au final, il est mieux un format d’archivage plutôt que de compression pour des fichiers multimédias : c’est peut-être 0,01% plus long à télécharger, mais c’est 20 fois plus rapide à décompresser !

La compression des données multimédias dans un fichier Zip, 7z ou Rar est inutile. La raison à cela est que ces fichiers sont en fait déjà des données compressés : ils ont un algorithme de compression interne (algorithme Jpeg pour les images du même format). Recompresser à nouveau par dessus ne sert donc à rien et vous fera juste perdre du temps…

Utilisez plutôt le format Tar pour simplement regrouper les fichiers. Il est natif sous GNU/Linux et OS-X (et Android) et existe sous Windows avec le logiciel 7z ; il ne compresse pas mais (on l’a vu, c’est inutile) mais est beaucoup plus rapide à utiliser.

Les formats de compression Zip et 7-zip sont en revanche utiles pour d’autres applications comme la compression des fichiers textes, de codes sources d’un programme, ou encore des documents archives CSV ou XML, où le ratio de compression atteint facilement 50%, 70% voire 90% dans certains cas. Le gain de place et de temps de téléchargement sont donc réels.

Il est également possible d’utiliser l’archivage suivi de la compression. Le format est alors en .tar.zip ou .tar.7z. L’intérêt de tout ça c’est que le format Tar a des fonctionnalités que Zip ou 7z n’ont pas, comme la conservation des permissions des fichiers (les « chmod/chown »). Le passage de Zip ou 7z par dessus est lui, là pour compresser.