Vous le savez sans doute si vous êtes sur Mac, l’Utilitaire d’Archive (Archive Utility ou encore BOMArchiveHelper) est un petit programme qui s’ouvre lorsque vous voulez extraire un fichier .zip. Ce petit programme m’a fait ***** ces dernières heures à ne pas vouloir extraire mes fichiers zip créer en PHP.. assez ralant sachant que la plupart des Mac users l’utilisent par défaut (je vous conseille personnellement “The Unarchiver.app”).
Le problème quand on se rend dans la console est.. très imprécis.
Archive Utility[1356]: failed to write to /usr/bin/ditto
[0x0-0xde0de].com.apple.archiveutility[1356]: ditto: Couldn't read pkzip signature.
L’extraction fonctionne incroyablement bien via la commande unzip sur le terminal.. étrange.
Bon je suis courageux ce soir, donc je m’en vais lire les spécifications de ZIP, je refais la classe entièrement (j’utilisais une classe téléchargée sur le net). Quelques problèmes plus tard, me revoilà au même point.. ça fonctionne superbement avec unzip et The Unarchiver.. mais pas par l’utilitaire d’archive de Mac OS X… (l’avantage c’est que ça m’a permis de rentrer dans les spécs de ZIP :p)
Quelques coups de Google plus tard (encore et encore), je trouve enfin la solution. Apparement le problème vient de ditto, et c’est l’un des derniers commentaires qui me fait comprendre. L’Archive Utility n’aime pas le Data Descriptor qui est pourtant bien dans la spécification. En effet, il suffit de supprimer le Data Descriptor et la magie s’opère. Encore merci à ce topic.. personne n’en parle, j’ai eu de la chance de tomber dessus.
Tout ça pour dire qu’Apple devrait faire des efforts à ce niveau la :-).. surtout que la commande unzip est parfaite.. au moins créer quelque-chose qui renvoie des erreurs plus précises, parce-que la c’est la misère.
Bon reste à voir si cela fonctionne sur Windows/linux maintenant..
Hum, as-tu regardé si ça faisait parti des bugs référencés pour la 10.5.1 ?
b o n c o u r a g e :-)
hmmm et on peut demander qui se trouve Dans le zip ? hehe :)