Archives du mot-clé epubcheck

Sigil et ses greffons

Sigil, l’éditeur gratuit et multiplateforme d’ebooks, a évolué depuis sa version 0.7 pour incorporer des greffons, écrits en python, que chacun peut développer et modifier à sa guise. Le site des développeurs qui ont repris la maintenance de Sigil en 2015 en retrace l’historique et détaille les améliorations apportées.
Les versions du code sont hébergées sur Github tandis que la liste des greffons disponibles est hébergées sur le forum MobileRead, un site fourmillant d’astuces et de conseils sur tout ce qui tourne autour de l’ebook.

Sigil 0.9.5

Sigil 0.9.5

Parmi les améliorations majeures de Sigil 0.9.5, il convient de signaler la prise en charge du standard EPUB 3.0 et la possibilité d’ouvrir et de travailler avec des ebooks utilisant cette norme. FlightCrew, la fonctionalité intégrée de vérification de l’epub se présente maintenant sous forme d’un plugin externe qu’il faut installer. En revanche, la vérification ne fonctionne pas avec le standard EPUB 3.0.

Une douzaine de greffons ont été développés, parmi lesquels des outils indispensables à la production d’ebooks, comme epubcheck,AddiBooksXML et les outils d’import et d’export de/vers un fichier mobi pour Kindle. L’un deux, ePub3-itizer convertit les fichiers epub 2.0 au format 3.0, ce qui est détaillé dans le billet suivant, un atelier pratique mettant en oeuvre l’installation, la modification et l’utilisation des greffons sous Sigil. Après une conversion, et lorsque des modifications ont été apportées dans le nouvel epub 3.0, il est nécessaire d’utiliser une nouveauté du menu Outils, Epub3 tools. Ce dernier comporte deux sous-entrées pour mettre à jour le manifeste du fichier epub et pour générer un table des matières NCX, compatible avec la version 2.0 car les modifications apportées à la TOC se reflètent seulement dans le fichier de navigation html.

Attribute « lang » is invalid; must be an RFC 3066 language identifier

Ce message d’erreur lors de la validation d’un epub par epubchek se présente sous une autre forme dans le validateur de Sigil et se traduit par : attribute ‘lang’ is not declared for element ‘html’.

Le problème est en général provoqué par la conversion d’un fichier PDF vers un format epub par le biais du logiciel Calibre. Cet outil plein de qualités n’est absolument pas adapté pour produire des ebooks comme le précise son auteur.

Si l’on ouvre le fichier avec Sigil, on observe que la conversion a généré une en-tête XML de ce type :
Calibre-XML

On observe dans l’en-tête XML une déclaration se rapportant à la langue,

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<html xmlns="http://www.w3.org/1999/xhtml" lang="">
Header XML

Le champs langage vide lang=’ ‘ provoque l’erreur de validation.

Pour y remédier, il suffit donc de réécrire les en-têtes XML du fichier pour qu’il réponde aux normes d’un epub, du type :

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
Header Sigil