EPUB : problèmes de compression sous Windows et MacOs (résolu)

Solutions aux problèmes d’EPUB lors de la compression ZIP et fichier MIMETYPE pour Windows 8/10 et MacOs.

Un fichier EPUB est avant tout un fichier ZIP dont l’extension a été modifiée.

Il est constitué un fichier racine MIMETYPE (fichier texte) et de deux dossiers META-INF et OEBPS contenant les fichier XHTML, XML, CSS, etc. Lorsque vous corrigez un EPUB vous devez changer l’extension en .zip puis le dé-zipper, corriger son contenu, le re-zipper, puis remettre l’extension .epub.

Image représantant le contenu du fichier ZIP, future EPUB

Le problème MIMETYPE

Le problème commun à Windows et MacOs est d’intégrer incorrectement le fichier MIMETYPE à l’intérieur du fichier ZIP.
Lorsque l’on passe à l’étape de validation EPUBCheck, un message d’erreur survient indiquant que le fichier MIMETYPE n’est pas trouvé ou n’est pas à la première place dans le fichier. L’analyse du fichier est donc ensuite avortée ou en partie réalisée mais le fichier EPUB est considéré comme non conforme, donc indiffusable !

Deux autres problèmes sous MacOs viennent se rajouter au premier :

  • Problème 1 : les fichiers cachés
    En utilisant les outils de compression intégrés ou d’autres outils tiers, les fichiers cachés systèmes (.DS_Store et autres consorts) sont intégrés dans le fichier ZIP. Or comme ceux-ci ne figurent pas dans le manifeste de l’EPUB (fichier .OPF), l’EPUB est non-conforme et l’EPUBCheck l’invalidera.
  • Problème 2 : MIMETYPE considéré comme exécutable
    MacOs considère MIMETYPE comme un exécutable et interdit la compression par restriction d’autorisation. Bref, le système refuse de l’intégrer lors de la fabrication du ZIP.

Rappel : le fichier MIMETYPE est un fichier texte sans extension ne contenant que l’unique ligne : « application/epub+zip« . Il est commun à tous les fichiers EPUB. Vous pouvez donc le fabriquer vous-même.

Solutions…

Il n’y a pas à tortiller les solutions passent souvent par 2 étapes.

Cependant pour Windows, on ne fera qu’une seule étape grâce au validateur Daisy ACE pour l’accessibilité des EPUB :
https://daisy.github.io/ace/getting-started/ace-app/#where-can-i-download-the-ace-app

Pour MacOs on utilisera le même logiciel mais auparavant on s’occupera de régler le problème des fichiers invisibles grâce au logiciel gratuit KEKA :
https://www.keka.io/en/.

Pour passer l’EPUBCheck, je conseille vivement l’utilisation bien plus pratique du logiciel de mon camarade Tobias Fisher, de Pagina GmbH, qui a participé à la réalisation du validateur EPUB officiel du W3C – EPUB-Checker :
https://www.pagina.gmbh/produkte/epub-checker/

Pour Windows

  • Réalisez le fichier ZIP sans vous préoccuper de l’erreur MIMETYPE. Celle-ci sera traitée avec les soucis Mac car la solution est commune aux deux systèmes.

Pour MacOs

Résolution du problème 1 (MIMETYPE considéré comme exécutable) :

  • Faites un clic-droit sur le fichier MIMETYPE
  • Ouvrez-le avec un éditeur de texte basique ou un éditeur de code (Adobe Dreamweaver, Visual Studio Code, TextEdit, etc.).
  • Refermez le fichier sans rien faire.

MacOs acceptera maintenant la compression du fichier.

Résolution du problème 2 (les fichiers invisibles) : générer le fichier ZIP avec KeKa

  • Installez et lancez Keka.app
    Le fichier s’ouvre directement sur les paramètres, sinon allez dans le menu « Préférence » et dans la fenêtre icône choisissez « Compression ».
  • Veillez à ce que la case à cocher « Exclure les fichiers spéciaux Mac (ex. : .DS_Store) » soit bien cochée.
  • Réalisez votre compression en faisant glisser les 3 éléments (MIMETYPE, META-INF et OEBPS) sur l’icône KeKa.app.

Le fichier réalisé contient bien MIMETYPE, META-INF et OEBPS mais contient l’erreur sur MIMETYPE, aussi passons à l’étape suivante commune à Windows et MacOS.

Etape finale : correction de l’erreur MIMETYPE

  • Procédez à l’analyse du fichier EPUB avec le logiciel Daisy ACE (peut importe ce qu’il trouve). Si le fichier peut réaliser l’analyse c’est qu’il trouve l’ensembles de fichiers.
  • Allez dans le menu « Paramètres » (en bas à gauche) pour localiser le dossier qui doit servir à l’enregistrement du rapport (il faudra y aller par la suite).
  • Rendez-vous dans la rubrique « Métadonnée » et tout en bas vous allez trouver un bouton « Enregistrer ZIP/EPUB« 

Le logiciel Daisy ACE va générer un fichier EPUB dans le dossier du rapport.

Le fichier EPUB sera conforme et exempte de l’erreur MIMETYPE.

Information complémentaire :
Daisy Ace va dézipper l’EPUB (_unzipped_EPUB) pour effectuer l’analyse et générer son rapport. Ceci lui permet de modifier les métadonnées de l’accessibilité directement dans le logiciel.