Cookies de statistiques et de publicité
Nous utilisons des cookies de statistiques et de publicité, tous deux destinés à Google. Si vous refusez, rien ne change visiblement pour vous.Aller à la page de confidentialité
ZIP
Le format d’archive intégré à tous les systèmes d’exploitation.
ZIP
ZIP est un conteneur : une enveloppe pour des flux encodés par autre chose. Il est utilisé pour l’échange entre programmes et la remise d’un fichier fini.
L’extension est .zip et le nom complet ZIP Archive. L’un et l’autre comptent moins que ce que le fichier peut contenir, et c’est le sujet du reste de cette page.
PKWARE l’a publié en 1989. La spécification est APPNOTE.TXT.
À un format resté lisible aussi longtemps, on peut confier quelque chose qu’on veut retrouver dans dix ans.
Elle est publiée intégralement : n’importe qui peut l’implémenter à partir du document plutôt qu’en l’observant, et c’est pourquoi ce format apparaît dans tant de programmes et pourquoi des fichiers écrits il y a vingt ans s’ouvrent encore. Une spécification publiée n’est pas pour autant libre de redevances : quand un format enveloppe un codec, les brevets sont une question à part, que la norme ne tranche pas.
ZIP enregistre son contenu à l’identique. Le réenregistrer ne change rien : vous pouvez l’ouvrir, le modifier et le réenregistrer autant de fois que vous voulez sans accumuler de dégâts, et c’est ce qui en fait un format de travail plutôt qu’un format de livraison.
ZIP enregistre un répertoire : les noms, les dossiers et la structure entre eux. C’est ce qui lui permet de remplacer un dossier dans une pièce jointe.
Il travaille par tranches de 32 Ko : pour être compressée, une répétition doit tenir tout entière dans cette étendue.
Ce seul nombre explique l’essentiel de l’écart entre un format d’archive et un autre. Une étendue plus grande trouve plus de répétitions et met plus de temps et plus de mémoire à le faire : voilà tout le compromis.
ZIP porte une somme de contrôle, pour qu’un fichier abîmé soit détecté au lieu d’être mal lu en silence et un chiffrement facultatif.
Un fichier chiffré doit être déverrouillé avant que quoi que ce soit puisse le convertir, ici comme ailleurs. Un mot de passe n’est pas quelque chose qu’un convertisseur peut contourner, et à celui qui prétendrait le faire il ne faudrait surtout pas confier le fichier.
Windows Explorer, Finder et 7-Zip le lisent, comme la plupart des programmes du même genre.
Quand un fichier ne s’ouvre pas, le format est rarement en cause : le plus souvent, c’est le programme qui est plus ancien que lui. Convertir vers quelque chose de plus ancien est le contournement fiable, et c’est à cela que sert le reste de ce site.
Aucun navigateur ne le lit.
C’est de loin la raison la plus fréquente de le convertir : non pas que le format soit mauvais, mais que l’endroit où vous voulez montrer le fichier ne sache pas le lire.
ZIP est fait pour être ouvert et modifié. Gardez le fichier dans ce format tant que le travail dure, et exportez depuis lui chaque fois qu’une version finie est nécessaire.
ZIP est le seul format d’archive que chaque système d’exploitation ouvre sans rien installer. Windows le gère depuis 1998, macOS depuis sa première version, et tout téléphone, client de messagerie et navigateur web en vient à bout. C’est là toute la raison de le choisir, et c’est une très bonne raison.
Tout le reste dans le monde des archives troque cela contre autre chose. RAR compresse mieux et la plupart des destinataires ne peuvent pas l’ouvrir. 7z compresse encore mieux et exige un logiciel. TAR préserve les permissions Unix et ne signifie rien sur Windows. ZIP gagne le cas qui compte le plus souvent : un fichier remis à une personne dont vous ne savez rien de l’ordinateur.
C’est la décision de conception qui explique les forces de ZIP et sa faiblesse. Chaque fichier à l’intérieur est compressé séparément et indexé dans un répertoire à la fin de l’archive, de sorte que n’importe quel élément peut être extrait immédiatement sans toucher au reste. L’opération « afficher le contenu sans extraire » est aussi un sous-produit direct de cette structure, et c’est ce qui rend les archives ZIP pratiques à parcourir dans un gestionnaire de fichiers avant même d’en sortir quoi que ce soit.
Cela rend ZIP excellent pour les archives dans lesquelles on pioche et médiocre en taux de compression. Mille fichiers texte presque identiques sont compressés un par un, sans avoir la chance de remarquer qu’ils sont presque les mêmes — ce qui est précisément le cas où 7z et .tar.gz prennent de l’avance, parfois d’un facteur plusieurs, parce qu’eux traitent l’ensemble comme un flux unique et repèrent les répétitions à travers les frontières de fichiers. Pour un envoi occasionnel la différence est négligeable ; pour un corpus homogène elle devient considérable.
Le chiffrement d’origine de ZIP, ajouté avec la spécification 2.0 en 1993, est cassé. Il a des attaques connues qui récupèrent le contenu sans le mot de passe, et des outils pour le faire sont librement disponibles. Un fichier protégé de cette manière est protégé contre un collègue curieux et contre rien d’autre : un attaquant motivé avec une copie du fichier le lira en quelques minutes avec un utilitaire dédié.
Le ZIP moderne prend aussi en charge AES-256, qui est réellement solide — mais ce n’est pas le réglage par défaut de tous les outils, et une archive chiffrée avec ne peut pas être ouverte par l’Explorateur Windows, qui ne comprend encore que l’ancien schéma. Le choix est donc une sécurité réelle que le destinataire ne peut peut-être pas ouvrir, ou une commodité qui n’est pas de la sécurité. Pour tout ce qui compte réellement, chiffrez le fichier avant de l’archiver — GPG ou 7-Zip en AES protègent à la fois le contenu et les noms de fichiers, ce que le chiffrement intégré de ZIP ne fait pas, et c’est souvent la donnée que l’on voulait protéger.
DOCX, XLSX, PPTX, ODT, EPUB, APK, JAR et les paquets d’applications Android sont tous des archives ZIP avec une extension différente et une disposition interne exigée. Renommez n’importe lequel d’eux en .zip et il s’ouvre, montrant le XML et les images à l’intérieur. Le format est devenu à ce point le contenant par défaut de tout ce qui est un assemblage nommé qu’il a cessé d’être perçu comme une archive par ses utilisateurs, alors qu’il l’est techniquement encore.
C’est pourquoi zipper un dossier de fichiers DOCX ne sauve presque rien — le contenu est déjà compressé, et la compression ne peut pas s’exécuter utilement deux fois. Il en va de même pour les JPEG, MP3, MP4 et PDF. Si une archive sort à peu près à la taille de son contenu, ce n’est pas un échec ; cela signifie que les fichiers faisaient déjà le travail. Le réflexe qui vaut la peine d’être acquis consiste à vérifier d’abord le type réel des fichiers qu’on s’apprête à compresser, plutôt que de présumer qu’une compression substantielle est toujours possible.
Les permissions de fichier Unix, la propriété et les liens symboliques n’ont pas de foyer fiable dans un ZIP. Certains outils les stockent dans un champ d’extension et la plupart l’ignorent, de sorte qu’un dossier de scripts archivé sur Mac et extrait sur un serveur arrive fréquemment sans le bit exécutable positionné, et le destinataire doit alors passer en revue le contenu pour le rétablir.
C’est pourquoi le logiciel pour systèmes Unix est distribué en .tar.gz plutôt qu’en ZIP, et cela mérite d’être su avant d’utiliser ZIP pour déplacer un projet entre machines. Pour les documents, les photographies et tout ce qu’une personne ouvrira à la main, rien de tout cela n’importe. Le test simple avant d’envoyer un projet à un serveur est de se demander si la commande qui le lance dépend d’un bit d’exécution, et si la réponse est oui, ZIP n’est pas le bon format.
La spécification d’origine utilisait des champs 32 bits, plafonnant une archive et chaque fichier à l’intérieur à quatre gigaoctets et le nombre d’entrées à 65 535. ZIP64 a supprimé les trois limites en 2001 et c’est ce qu’écrit tout outil actuel quand il en a besoin.
Les anciens logiciels ne le comprennent pas. Le symptôme est reconnaissable : une archive qui s’extrait correctement dans un programme et qui signale corruption ou troncature dans un autre, en général un utilitaire plus ancien ou quelque chose d’embarqué dans un appareil. L’archive va bien ; le lecteur est antérieur à l’extension.
Compresser sous macOS ajoute un dossier __MACOSX et des fichiers commençant par ._ — des forks de ressources et des attributs étendus que macOS stocke séparément et emballe à côté. Sur Mac ils sont invisibles. Extraits sur Windows, ils apparaissent comme du désordre à côté de chaque vrai fichier.
Ils peuvent être supprimés sans risque et ne portent rien dont quiconque ait besoin. Cela mérite d’être mentionné parce que cela transforme de façon fiable une archive soignée en quelque chose qui semble négligé, et parce que le destinataire présume souvent que quelque chose a mal tourné.
Choisissez 7z quand l’archive est grosse, pleine de fichiers similaires, et va quelque part où vous savez que le logiciel est disponible — la différence de taux est réelle et peut être substantielle. Choisissez .tar.gz quand la destination est un système Unix et que les permissions doivent survivre.
Choisissez ZIP pour tout le reste, ce qui représente la plupart des cas. Le meilleur format d’archive est celui que le destinataire peut ouvrir, et envoyer autre chose que du ZIP à quelqu’un dont vous ne connaissez pas la configuration est demander en silence de résoudre un problème que vous auriez pu éviter.
| Extension | .zip |
|---|---|
| Type de média | application/zip |
| Publié par | PKWARE |
| Première publication | 1989 |
| Spécification | APPNOTE.TXT |
Ce que dit cette page se vérifie : voici les documents qui le fixent.