La compression

 

 

La compression de fichier consiste à créer un nouveau fichier plus petit à partir de un ou plusieurs fichiers, on parle souvent de "fichier archive", car ils sont souvent destinés à servir de sauvegarde. L'opération de compression s'effectue grâce à des algorithmes (méthodes mathématiques) de compression. Il en existe plusieurs dont celui permettant de créer des "fichiers zippés" dont l'extension est ".zip" et qui est le format le plus courant sur Internet aujourd'hui.
L'algorithme utilisé n'est pas des plus performant mais WinZip a permis d'avoir une interface conviviale, ce qui a fait de lui un standard de fait.

 

Pourquoi compresser un fichier ?

Compresser un fichier signifie donc rendre sa taille (en terme de place occupée sur le disque dur ou sur tout autre support) moins importante. 
Cette opération peut être utile pour :

  • Réduire le temps nécessaire au transfert d'un fichier sur un réseau (envoi d'un fichier dans un courrier électronique, transfert de fichiers entre ordinateurs, téléchargement sur internet...).
  • Réduire les coûts de  communications puisque le réseau est utilisé moins longtemps (cas du transfert de fichiers via un modem et une ligne  téléphonique par exemple).
  • Placer sur un support de petite taille tel qu'une disquette un fichier qui était auparavant trop volumineux pour contenir sur un tel support.
  • Gain de place sur le disque dur en archivant les données peu utilisées.

Quel fichier compresser ?

    La compression n'a pas la même efficacité avec tous les types de fichiers. En effet, certains fichiers tels que les fichiers contenant des images, du son ou de la vidéo sont en général (mais pas systématiquement) déjà compressés par le logiciel qui les crée. Ainsi, essayer de compresser des fichiers tels que les fichiers .mp3 (audio) , .avi (vidéo) ou .jpeg (image) n'est pas du tout rentable car la différence de taille entre le fichier original et le fichier compressé est négligeable. 

   Les fichiers qui se compressent très bien sont principalement ceux qui contiennent des caractères standards (lettres, chiffres, etc...), tels que les fichiers texte ou issus de traitement de texte ou certains autres fichiers tels que les fichiers bitmap qui sont des fichiers d'images non compressées. On peut avec de tels fichiers obtenir un rapport de 1 à 10 entre la taille du fichier original et celle du fichier compressé. Il n'est malheureusement pas possible de prévoir à l'avance quels sont les types de fichiers qui se compressent bien. La meilleure solution reste de faire un test et d'observer le résultat obtenu.

 

Quel logiciel utiliser ?

    L'un des logiciels le plus connu et le plus utilisé pour compresser un fichier est Winzip, mais il en existe beaucoup d'autres (arj, Winrar, Winace etc...). Le logiciel Winzip prend un fichier standard (document word, feuille excel, image bitmap, etc...), et le transforme en un fichier compressé qui aura comme extension .zip.

   Pour pouvoir décompresser un fichier .zip, il faut aussi disposer du logiciel Winzip, celui-ci permettant non seulement de compresser mais aussi de décompresser un fichier. L'inconvénient est donc que si vous envoyez à une personne un fichier "zippé" (compressé par Winzip), il faut que vous soyez sûr que votre correspondant possède aussi Winzip sans quoi il ne pourra pas décompresser le fichier et obtenir le document original. Une solution a été trouvée à ce problème : Winzip Self-extractor. Ce logiciel prend un fichier zippé et le transforme en un fichier exécutable autonome, c'est à dire en un programme (tout comme word ou excel) qui une fois lancé sera capable de décompresser le fichier original contenu dans le fichier zippé sans pour autant faire appel à Winzip. C'est un peu comme si vous envoyiez à votre correspondant à la fois le fichier zippé et le programme Winzip qui permet de le décompresser.
Télécharger Winzip, WinRar et Winace dans la section Prendre.


   
Comment peut-on compresser un fichier ?

    Il existe des centaines d'algorithmes (méthodes) de compression. Chacune d'elle a ses particularités et agit mieux sur tel ou tel fichier avec un taux de compression différent. D'une manière très simplifiée, voici comment fonctionne un logiciel de compression comme Winzip :

    Tous les fichiers (document word, image bitmap, etc...) sont composés d'une suite de caractères. Chaque caractère occupe un peu de place sur le disque dur (1 octet exactement). Ainsi, si vous enregistrez un document texte comportant 1 caractère, il aura pour taille 1 octet, s'il comporte 2 caractères il aura pour taille 2 octets, et ainsi de suite. Le but est donc de diminuer le nombre de caractères contenu dans un fichier pour le compresser. Pour effectuer cette opération, il est par exemple possible de repérer les suites de caractères (appelées chaînes) qui se répètent un grand nombre de fois, d'attribuer un code à ces suites et d'utiliser ensuite ces mêmes codes à la place des chaînes originales à l'intérieur du document. Il est aussi possible lorsqu'un grand nombre de caractères identiques sont consécutifs dans un document de ne faire figurer qu'un seul de ces caractères et de le faire précéder d'un nombre qui en indiquera la quantité.

Exemple : compression d'un fichier texte avec un algorithme personnel



    Cet exemple montre très sommairement les principes de la compression. De 142 caractères nous sommes passés avec notre algorithme personnel à 85 caractères, soit un taux de compression de 40,14 %. Les logiciels tels que WinZip bien que fonctionnant sur un principe identique utilisent des algorithmes beaucoup plus puissants. De plus, quel que soit l'algorithme utilisé, le taux de compression dépend du type de fichier : une image sera généralement peu compressée alors qu'un fichier texte sera souvent très compressé car les informations redondantes sont beaucoup plus nombreuses dans un fichier texte que dans une image.

    A titre d'exemple, voici ci-dessous une partie d'un fichier image (.bmp) ouvert non pas avec un logiciel de dessin mais avec un traitement de texte (WordPad). A la simple lecture de ce fichier, on comprend parfaitement pourquoi les fichiers bitmap se compressent si bien.


 

Parmi les outils permettant de gérer la compression au format "zip", le plus diffusé est sans nul doute le shareware WinZip qui gère les archives "zip" sous Windows. Il est le plus répandu mais certains outils gratuit gèrent également ce format de fichier.

Il est important de noter également que les fichiers zippés sont gérés nativement (c'est à dire sans extension ou programme supplémentaire) dans la nouvelle version Windows Me. Certains outils (dont WinZip) permettent de créer à la place d'un simple fichier au format "zip", un fichier dit "auto-extractible", c'est à dire en réalité un petit programme autonome exécutable dont l'exécution provoquera l'extraction des fichiers qu'il contient en lui même : on se libère ainsi de la nécessité d'avoir un utilitaire gérant le type de fichier en question (en contre-partie, le fichier généré est bien sûr un peu plus gros et peut d'autre part être infecté par un virus).

A noter que suivant la version de l'algorithme utilisé, il est possible que vous ne puissiez pas décompresser un fichier si l'utilitaire que vous utilisez est trop ancien. Il faut donc veiller à mettre sa "boite à outils" à jour...

 

Retour
d'après Vincent ZEMB
et Jean-François Pillou