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
modifierL'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 sans déplacer les fichiers de l'archive.
La compression intervient ensuite de deux manières possibles.
Compression indépendante
modifierLa 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
modifierUne 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
.
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...