Style : Classique Ngage Design Messenger Xbox Xtreme Matrix WinHelp Pas de Style
http://hotline.c.la :
LE site de l'aide informatique...  Ajouter ce sites à vos favoris Internet Explorer...
Ctrl+D pour Mozilla ou Firefox http://meta.c.la :
Interroger les meilleurs moteurs de RECHERCHE...  Signer ou consulter le livre d'or...  Dictionnaire anglais/français...

Compression (Zip, ...) : http://z-zip.fr.fm

\+\ \-\ \^\ Définition.

Une archive est un fichier informatique qui regroupe plusieurs fichiers ou répertoires (dossiers) en un seul.
La différence avec un dossier (ou répertoire), c'est qu'il s'agit bien d'un fichier.
Un logiciel pour créer des archives ou extraire les fichiers d'une archive s'appelle un archiveur (archiver en anglais).

La plupart des archives appliquent en plus des techniques de compression de données, qui, dans certains cas, peuvent diminuer la taille des fichiers.
Il existe différents formats d'archive. Certains logiciels permettent de manipuler plusieurs formats d'archives et de compression.
Un fichier n'est compressible (compactable) que s'il est aléatoire ( il contient peu de hasard), on dit aussi de faible entropie (entropie = quantité de hasard). Lorsqu'un fichier est compréssé, son contenu devient aléatoire et on ne peut pas le compresser encore plus.


L'icône qui représente un fichier compressé est le plus souvent un fichier pris dans un étau, ou bien une fermeture à glissière (fermeture éclair ou tirette si vous préférez), car le mot anglais de ces fermetures est "zip", comme le nom du format de compression le plus populaire).

Il existe aussi des archives auto-extractibles (SFX = SelF eXtracting Archives en anglais). Il s'agit de programmes (.exe le plus souvent), qui, lorsqu'on les lance, vont extraire un ou plusieurs fichiers (et/ou dossiers) dans le répertoire courant (ou bien un nom de dossier vous sera demandé).

Certaines archives être protégés par un mot de passe (password en anglais), bien que les techniques de cryptage employées ne soient pas souvent les plus efficaces.

On parle aussi de "codec" pour codage / décodage (plutôt dans le domaine de l'Audio / Vidéo), et en anglais des synonymes de compress / decompress sont pack / unpack, shrink / unshrink, deflate / inflate (dégonfler / gonfler), squash.

\+\ \-\ \^\ Principaux formats d'archive et de compression

[ZIP] [Java Archive : JAR] [TAR] [BZ2] [GZip] [Compress] [Microsoft Cabinet : CAB, MSZIP / LZX] [RAR]

ZIP : Le format LE PLUS RÉPANDU.
Défini en 1989 par Phil (Phillip W.) Katz (3 Novembre 1962 - 14 Avril 2000) pour succéder au format "arc".
Il utilise l'algorithme 'deflate'. Liens :

JAR (Java ARchive) : Identique au format ZIP. On peut renommer les fichiers .jar en .zip.
Un fichier jar peut contenir un fichier spécial, "MANIFEST.MF".
Un fichier jar sert à distribuer un logiciel écrit en JAVA. Pour l'exécuter, il faut entrer la ligne de commande : java -jar <nom_du_fichier_jar>
Pour les programmeurs en JAVA, sachez que la classe JAVA JarFile du package java.util.jar hérite de ZipFile.


\+\ \-\ \^\ Code de Contrôle d'Erreurs (Checksum), Contrôle de Redondance Cyclique (CRC)

Le CRC (Cyclic Redundancy Check en anglais) contrôle que les données contenues dans une archive ne sont pas endommagées (en anglais, on parle aussi de checksum).
C'est un calcul effectué à partir de toutes les données du fichier pour garantir la justesse de la transmission.
Lorsque vous ajoutez un fichier à une archive, le logiciel d'archivage calcule une valeur CRC pour le fichier et la sauve dans l’archive.
Plus tard, lors de l'extraction, le logiciel d'archivage recalcule la valeur CRC des fichiers extraits et la compare avec celle sauvée dans l’archive.
Si ces deux valeurs ne correspondent pas, le fichier extrait n'est pas considéré comme conforme à l’original, et le logiciel d'archivage affiche un message de type : "Erreur CRC".
Cela signifie qu'il y a peut être eu une erreur de transmission si le fichier a été transmis sur un réseau (dans ce cas retéléchargez le fichier), ou une défaillance du support (disquette, disque dur...) ou du lecteur (lecteur de disquettes ou de cd-rom, ...)

\+\ \-\ \^\ Commandes Windows pour manipuler les fichiers .cab : expand et makecab

C:\>expand -r test.tx_ .

Utilitaire de décompression de fichiers Microsoft (R) Version 2.50
Copyright (C) Microsoft Corp 1990-1995. Tous droits réservés.

Décompression de test.tx_ en .\test.txt.
test.tx_ : 83 octets décompressés en 2 octets, taux -98%.

C:\>type test.txt
OK
  • http://msdn.microsoft.com/library/en-us/dncabsdk/html/cabdl.asp
  • http://www.bellamyjc.net/download/cabarc.exe
  • http://www.microsoft.com/windows95/downloads/contents/wutoys/w95pwrtoysset
  • CabExtract http://www.kyz.uklinux.net/cabextract.php http://www.kyz.uklinux.net/downloads/cabextract-0.6.tar.gz

    \+\ \-\ \^\ Aide Windows XP sur les dossiers compressés

    Cliquez sur le lien ici : file:C:\WINDOWS\Help\compfldr.chm, ou bien :
    Ouvrez le "Centre d'aide et de support" (Taper touche Windows+F1 ou utilisez démarrer / Aide et support Aide et support
    ou démarrer / Exécuter... Exécuter... (touche Windows+R), puis tapez helpctr (C:\WINDOWS\PCHEALTH\HELPCTR\Binaries\helpctr.exe),
    ou depuis l'Explorateur Explorateur Windows+E), tapez sur la touche "F1" ou cliquez sur ? et Centre d'aide et de support).
    Consultez la rubrique :
    Nouveautés de Windows XP / Nouveautés / Nouveautés au niveau des fichiers et des dossiers / Dossiers compressés (zippés).
    Internet Explorer peut afficher cette aide, mais pas tout à fait correctement :
    ms-its:C:\WINDOWS\Help\compfldr.chm::/vz_ovrvw.htm

    \+\ \-\ \^\ Codage RLE (Run Length Encoding).

    C'est le plus simple. Surtout utilisé pour compresser des images noir et blanc, utilisé pour le fax donc...
    Si on prend le texte suivant, on s'aperçoit que certaines lettres sont répétées plusieurs fois : yahooooo!!!!!!!!
    Au lieu de les répéter, on indique combien de fois elles se répètent, cela donne le code : yah6o8!
    Pour décoder, si on voit un chiffre devant une lettre, on répète celle ci autant de fois que l'indique le chiffre, simple !
    http://fr.wikipedia.org/wiki/RLE

    \+\ \-\ \^\ Codage LZW.

    Son nom vient des initiales de ses inventeurs : Abraham Lempel et Jakob Ziv (1977) et du nom Terry Welch qui a perfectionné la méthode en 1984.
    C'est une méthode très ingénieuse et astucieuse qui emploie des algorithmes très simples.
    Ici des groupes de lettres sont remplacés par des codes.
    Au départ on a un groupe de lettres (g) vide, qui a pour code 0.
    On analyse le texte caractère par caractère.
    Pour chaque caractère C lu,
    on ajoute le caractère C à la fin de notre groupe de lettres g (gC).
      Si le nouveau groupe de lettres (gc) n'existe pas dans le dictionnaire,
        on écrit le code du groupe de caractères g,
        on ajoute le nouveau groupe de caractères (gC) au dictionnaire avec le code suivant et
        le groupe en cours devient le caractère C
      sinon,
        le groupe en cours devient le nouveau groupe de caractères gC.
    

    Exemple : que de querelles de queues

    dic c g		gc	code
    
    00: q []        [q]     q
    01: u [q]       [qu]    u
    02: e [u]       [ue]    e
    03:   [e]       [e ]     
    04: d [ ]       [ d]    d
    05: e [d]       [de]    e
    06>   [e]       [e ]
    06: q [e ]      [e q]   3 
    07> u [q]       [qu]
    07: e [qu]      [que]   1
    08: r [e]       [er]    r
    09: e [r]       [re]    e
    10: l [e]       [el]    l
    11: l [l]       [ll]    l
    12: e [l]       [le]    e
    13: s [e]       [es]    s
    14:   [s]       [s ]     
    15> d [ ]       [ d]
    15: e [ d]      [ de]   4
    16>   [e]       [e ]
    16> q [e ]      [e q]
    16: u [e q]     [e qu]  6
    [...]
    
    12345678901234567890123456
    --------------------------
    que de querelles de queues	: (26 caractères)
    
    1234567890123456789
    -------------------
    que d31erelles4622s		: (19 caractères)
    
    
    Le principe pour la décompression est symétrique et permet de retrouver le texte initial.

    \+\ \-\ \^\ Codage de Huffman.

    Cette méthode cherche le codage de longueur variable optimal.
    En informatique on appelle "bit" (contraction de BInary digiT, chiffre binaire, bi=deux) quelquechose qui peut prendre deux valeurs (0 ou 1 par exemple, mais aussi vrai ou faux, noir ou blanc, homme ou femme, etc...).
    Voir aussi : http://cermics.enpc.fr/polys/oap/node49.html

    Dans la phrase "bal baba cool" qui comporte 13 caractères (en comptant les espaces), il y a 7 caractères différents (en comptant l'espace).
    Tandis que le code ASCII utilise 8 bits par caractère, on peut utiliser 3 bits seulement, comme ceci :
    .... : 000, a : 001, b : 010, c : 011, o : 100, l : 101
    La fréquence des lettres est : b:3, a:3, l:2, :2, c:1, o:2
    On prend les deux lettres de plus petites fréquences.
    La plus forte à gauche, la plus faible à droite. On obtient un "noeud" (père) dont la fréquence est leur somme.
    On recommence en enlevant les deux lettres et en les remplaçant par le noeud, jusqu'à ce qu'il ne reste plus qu'un noeud.
     _3_
    |  |
    o   c
    
     _4_
    |  |
    ....   l
    
     _6_
    |  |
    b   a
    
       __7__   
      |    | 
     _4_   _3_ 
    |  | |  |
    l   . o   c
    
          ____13____
         |         |
       __7__       _6_
      |    |    |  |
     _4_   _3_    b   a
    |  | |  |
    l   . o   c
    
    Le code à utiliser pour chaque caractère s'obtient en suivant le chemin du noeud du sommet vers le caractère :
    on ajoute un 0 si on va à gauche et un 1 si on va à droite.
    b:10
    a:11
    l:000
    ....:001
    o:010
    c:011
    
    règle (x10)              1         2         3
    règle		    123456789012345678901234567890123
    codage huffman  101100000110111011001011010010000
    lettres         b a l  .  b a b a .  c  o  o  l
    
    33 bits au lieu de 39 !

    \+\ \-\ \^\ Transformation de Burrows-Wheeler

    Burrows-Wheeler Transforma (BWT), "Block Sorting Lossless Compression Algorithm".
    Michael Burrows, professeur à l'université de Cambridge (Angleterre) David J. Wheeler. publié en Mai 1994.
    L'idée est de trouver une transformation favorable à la compression (ce n'est pas difficile: il suffit par exemple de trier les octets) ET qui soit réversible (ce qui n'est pas évident).