Compression de données/Archive de fichiers
Les logiciels de compression sans perte permettent la création d'archive contenant plusieurs fichiers compressés en un seul fichier. L'archive peut contenir toute une arborescence de répertoires et fichiers.
Technique d'archivage
[modifier | modifier le wikicode]L'archive contient une liste de fichiers et répertoires contenant pour chaque entrée les informations suivantes (en général) :
- le nom du fichier ou répertoire,
- le type (fichier, répertoire, autre...),
- la date de modification,
- la taille en octets avant compression (permet de réserver la place à la décompression, ou de connaître l'espace de stockage requis),
- la taille compressée en octets,
- un commentaire pour le fichier (optionnel).
![Détails du format ZIP : le répertoire central est en fin de fichier pour faciliter l'ajout et le retrait de fichiers dans déplacer les fichiers de l'archive.](http://upload.wikimedia.org/wikipedia/commons/thumb/0/0f/Format_ZIP.svg/600px-Format_ZIP.svg.png)
Détails du format ZIP : le répertoire central est en fin de fichier pour faciliter l'ajout et le retrait de fichiers sans déplacer les fichiers de l'archive.
La compression intervient ensuite de deux manières possibles.
Compression indépendante
[modifier | modifier le wikicode]La compression peut avoir lieu de manière indépendante pour chaque fichier. L'avantage est de pouvoir ajouter et retirer facilement un fichier à une archive de manière dynamique, et de pouvoir extraire un seul fichier rapidement.
La compression indépendante est utilisée par les formats ZIP, RAR...
Afin qu'il soit possible d'accéder à un fichier sans lire les autres, chaque entrée contient la position en octets dans l'archive du début du flux compressé d'octets du fichier.
Compression compacte
[modifier | modifier le wikicode]Une autre manière de faire et de rassembler tous les fichiers en une archive, puis de compresser l'archive entière. Le retrait, l'ajout et l'extraction d'un fichier est alors plus difficile car il faut passer sur tous les fichiers de l'archive. L'avantage est une meilleure compression, car l'algorithme peut compresser un fichier en réutilisant le contenu d'un autre fichier similaire de la même archive.
Cette manière d'archivage est celle utilisée avec l'archivage targz sous Linux qui se déroule en deux étapes :
- la commande
tar
rassemble plusieurs fichiers en un seul fichier, mais ne gère pas la compression, - la commande
gz
ne gère que la compression d'un seul fichier, celui généré par la commandetar
.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/42/Targzip.svg/500px-Targzip.svg.png)
.tar
puis compression en un fichier .gz
. Décompression de droite à gauche, les étapes se font dans l'ordre inverse de la compression.Une extension de nom de fichier est ajoutée à chaque étape : .tar
puis .gz
.
Certains outils gère l'ensemble des deux commandes et utilisent l'extension .tgz
.
La compression compacte est utilisée par les formats 7Z, targz...