|
Compresser et décompresser des
fichiers Même
si les capacités de stockage ont augmenté, il est nécessaire de compresser
certains fichiers pour les archiver ou les transmettre par
Internet.
La compression de données est une technique presque
aussi vieille que l'informatique. D'une certaine façon, la compression
s'apparente à la lyophilisation : elle consiste à compacter les données, en les
expurgeant de tout ce qui prend de la place, pour les rendre plus faciles à
entreposer et à transporter (voir encadré Comment
ça marche). L'opération inverse fonctionne
d'ailleurs sur le même principe que la réhydratation d'aliments lyophilisés :
quand on décompresse des données compressées, on les retrouve dans leur état
d'origine... ou presque !
Un « presque » très important car en informatique (et
en numérique d'une façon générale), on distingue deux types de compression : la
compression « avec pertes » , qui comprime les données en éliminant tout ce qui est jugé
inutile, et la compression « sans pertes », qui compacte les données en en
préservant l'intégrité.
La première est employée pour les données qui
tolèrent d'être plus ou moins altérées (images et sons, essentiellement) ; elle
est largement utilisée pour stocker et transmettre les fichiers et les flux
multimédias que nous utilisons tous les jours, à travers des formats populaires
(le Jpeg pour les photos, le MP3 et le WMA pour l'audio, ou encore le Mpeg-2 et
le DivX pour les vidéos). Mais attention, qui dit perte d'information dit aussi
baisse de qualité ; selon la quantité et l'importance des informations éliminées
lors de la compression, on obtient des images moins détaillées, des sons moins
précis, des séquences plus saccadées...
A contrario, la seconde technique est utilisée pour
comprimer les fichiers qui nécessitent d'être conservés dans leur intégralité
(logiciels, paramètres système, textes, base de données, etc.). Elle est
employée pour sauvegarder des données (sur des supports d'archivage) en
réduisant leur encombrement, mais aussi, et surtout, pour transférer des
fichiers par Internet (plus les fichiers sont compacts, plus le transfert est
rapide), qu'il s'agisse de téléchargement (sur des sites ou des forums
spécialisés), de partage (avec des systèmes peer
to peer) ou d'échange (via les pièces jointes
dans les e-mails).
Il existe une multitude de formats concurrents de
compression de fichiers sans perte, chacun reconnaissable par son extension ; le
Zip et le Rar, qui sont de loin les plus répandus, mais également le 7-Zip, le
LZH, le Tar, etc. Les fichiers disponibles en téléchargement sur Internet sont
le plus souvent compressés en Zip. Dans tous les cas, on parle de « fichier
archive », ou plus simplement « d'archive » ; c'est d'ailleurs sous ce nom que
nous désignerons les fichiers compressés sans perte.
Une taille divisée par dix pour les fichiers bureautiques
Si la compression « avec perte » ne concerne que
certains types de données, la compression « sans perte » peut s'appliquer à
toutes sortes de fichiers (images et sons compris) ; on peut ainsi parfaitement
comprimer une image BMP en Zip ou un son Wave en Rar, sans perdre alors aucune
information (il existe toutefois des formats de compression sans perte,
spécialisés dans certains types de données, comme, par exemple, le Flac pour
l'audio).
Rien n'empêche non plus de comprimer sans perte un
fichier déjà compressé avec perte. Cela ne présente aucun intérêt en terme de
gain de place (une photo Jpeg ne sera pas plus « légère » en Zip, par exemple).
L'efficacité d'une compression (le ratio entre l'espace qu'occupe un fichier
avant et après compression) dépend à la fois du type de fichier et de
l'algorithme d'encodage utilisé ; il peut ainsi atteindre 10 avec des documents
bureautiques ou se limiter à 2 avec des programmes.
La compression sans perte dans des formats comme le
Zip ou le Rar offre un avantage supplémentaire ; elle permet de compacter
plusieurs fichiers dans une unique archive. C'est une technique très pratique
pour comprimer et transmettre tout le contenu d'un dossier (combinant par
exemple des images, des textes, etc. ) sans rien oublier, dans un seul
« paquet ».
Autre avantage de ces formats ; ils permettent de
découper une archive en plusieurs archives de taille personnalisable, de façon à
pouvoir l'envoyer plus facilement par Internet, notamment par e-mail. Cette
technique (très utilisée sur les newsgroups) permet, par exemple, de fragmenter
une vidéo de 700 Mo en 35 fichiers de 20 Mo ; à l'arrivée, il suffit de
décompacter les fragments avec un logiciel spécialisé pour retrouver le fichier
d'origine dans son intégralité. Enfin, certains formats comme le Zip ou le Rar
permettent aussi de protéger des archives avec un cryptage et un mot de passe,
afin qu'elles ne puissent pas être ouvertes par n'importe qui...
Dans ce guide, nous ne traiterons que de compression
sans perte. Nous vous expliquerons comment utiliser Windows XP pour compresser
et décompresser des fichiers en Zip, le système d'exploitation prenant
directement ce format en charge. Nous vous montrerons également comment utiliser
un logiciel spécialisé pour gérer d'autres formats et exploiter des fonctions
avancées, telles que la protection par mot de passe ou le découpage. Nous avons
choisi IZArc, un programme gratuit très complet, assez proche de l'excellent
- mais payant - WinRar.
Comment ça marche
Les différentes techniques de compression, avec ou sans
perte, visent à réduire l'encombrement des données en éliminant notamment les
redondances. Ainsi, plutôt que de mémoriser 1 000 fois la même donnée (par
exemple, 1 000 pixels identiques et contigus dans un aplat bleu sur une photo),
on décrit une seule fois la donnée complètement, et on indique qu'elle est
répétée 1 000 fois dans une certaine zone. Une autre méthode consiste à analyser
l'ensemble du fichier pour repérer des séquences identiques et à transcoder en
tenant compte de leur fréquence ; ainsi, dans un texte en français, la lettre
« e », de loin la plus fréquemment utilisée, nécessitera moins de bits que le
« w », beaucoup plus rare, ce qui permettra de réduire sensiblement
l'encombrement du fichier. D'autres techniques consistent à ne coder que ce qui
change entre une partie et une autre (c'est sur ce principe, notamment, que
s'appuie par exemple le Mpeg-2, en vidéo, en tenant compte des différences entre
des images successives). |
|