Les images peuvent être des éléments importants du document. Dans le cas d'un roman, la seule image sera peut-être celle de couverture, dans d'autres cas (magazines, guides...) elles seront plus nombreuses et certainement plus variées.
Le livre électronique est technologiquement très différent du livre papier. L'un des éléments le plus frappants pour un débutant en création de documents epub est souvent l'absence partielle de contrôle sur le résultat final. En effet, c'est le lecteur qui en a les clés. De toute la chaîne de vie d'un livre électronique, le lecteur est celui qui a le moins de connaissance sur le sujet et qui a la liberté de choisir son achat.
Les terminaux de lecture, monochrome ou multicouleur, étant très variés en termes de dimensions (de 2 à 30 pouces de diagonale) et les logiciels pouvant varier dans leur interprétation du fichier epub, le lecteur pourra avoir sous les yeux un document bien différent de celui qui a été conçu par l'éditeur.
Tous les types d'images ne sont pas utilisables et leur rendu pourra varier. Donc, oubliez vos fichiers Photoshop au format PSD et exportez dans un des formats suivants :
La balise servant à placer une image est img, suivie de l'attribut src, sous la forme :
<img src="chemin/nomImage" alt="Texte alternatif" title="Titre" />
par exemple :
<img src="#/Images/Fra_Carnevale_-_The_Ideal_City_-_Walters_37677.jpg" width="1160px" />
Les images doivent être placées au préalable dans le dossier Images de votre structure epub de manière à y faire référence par un simple chemin d'accès ../Images. Si vous codez votre epub vous-même, n'oubliez pas de rajouter votre ressource dans le fichier content.opf.
Dans Sigil, un simple clic droit sur le dossier Images > Ajouter fichiers..., pour la rendre disponible puis utilisez le bouton d'insertion d'image pour la placer dans le document.
L'insertion de la couverture est obligatoire. Certaines plateformes ont des spécificités précises en ce qui concerne ses dimensions. Pendant longtemps, la norme a été du 600px par 800px. Désormais Amazon demande du 1000px de large et Apple du 1400px. Il se peut que la couverture ne s'affiche pas du tout à cause de son poids ou de ses dimensions. Il est donc important de la tester sur plusieurs supports.
Vous pouvez par exemple définir ainsi la classe CSS de votre couverture, avec une indentation nulle et un alignement centré :
.cover { text-indent:0; text-align:center; }
ce qui donne dans le code Epub/HTML5:
<div class="cover"><img src="#/Images/Fra_Carnevale_-_The_Ideal_City_-_Walters_37677.jpg" width="1160px" /></div>
Si vous avez une image en mode portrait et que vous voulez qu'elle prenne toute la tout l'écran, modifiez "width=100" en "height=100%". Le <div> peut éventuellement être remplacé par un <p> si nécessaire.
Pensez qu'une couverture d'epub doit être lisible dans une très petite taille, car les plateformes de vente d'epub affichent des tailles miniatures. Le titre, le nom de l'auteur et l'éditeur doivent donc être formatés en assez grands caractères.
Dans le fichier content.opf, pour vous assurer que votre couverture passe partout, et notamment chez Apple, vérifiez votre ligne de code, générée parfois automatiquement, notamment par Sigil, et assurez-vous que votre <meta content> définisse le nom de votre fichier image de couverture et que son nom soit "cover" (name="cover"). Vérifiez toujours l'extension et la casse des noms de vos fichiers image. En cas d'erreur elle ne sera pas affichée.
<meta content="cover.png" name="cover" />
En Epub3, la spécification propose d'ajouter l'attribut properties avec la valeur cover-image. Cette méthode tend à se répandre est se retrouve utilisée par de nombreux logiciels de lecture, y compris gratuits.
<meta name="cover" content="cover.png" properties="cover-image" />
L'epub, en tant que proposition basée sur des standards du web, définit le SVG (scalable vector graphic) comme format de représentation graphique sous forme vectorielle.
Si vos images étaient au format .ai, .eps, .cdr ou autre, oubliez-les, elles ne remplissent pas les objectifs de l'édition web :
SVG remplit tous ces objectifs et fournit en plus d'autres avantages liés aux fontes ou à quelques autres sujets. Le logiciel le plus compétent à l'heure actuelle dans la création de fichier SVG est Inkscape, mais Illustrator peut également enregistrer au format SVG même si les résultats sont moins concluants.
Pour plus d'informations sur Inkscape et le SVG reportez-vous aux manuels spécifiques :
En impression, l'utilisation de fichiers vectoriels permet de laisser le RIP générer le bitmap à sa résolution de sortie sans perte et assure alors la qualité maximale. En édition électronique, de façon identique, le SVG permettra à l'image de s'adapter à la résolution du logiciel ou matériel de lecture de votre livre epub. Il conviendra parfaitement pour les :
En utilisant un logiciel de création, produire des SVG est très simple. Vous pouvez aussi créer ou personnaliser directement dans le code, qui ressemble beaucoup à du code HTML. Si vous souhaitez du contenu interactif ou animé, l'étape de modification de code sera nécessaire.
Attention cependant, si vous souhaitez réaliser des documents complexes, à veiller aux points suivants :
Le type d'insertion le plus simple est d'utiliser le fichier SVG comme une image "classique". Pour cela, il suffit d'utiliser l'élément img et de passer l'adresse et le nom du fichier SVG en valeur de l'attribut src :
<img src="#/Images/plan_appartement.svg" alt="page 6" />
Le rendu ne sera pas purement vectoriel, car un cache bitmap semble être réalisé sur plusieurs logiciels de lecture. Mais cette solution est la plus universelle et simple à mettre en œuvre.
L'insertion d'un fichier SVG directement dans le code de l'epub est l'autre forme pour assurer la préservation vectorielle maximale, mais elle aura l'inconvénient d'alourdir le code de la page HTML de l'epub et d'en complexifier sa mise à jour. Cependant elle permet d'éviter des problèmes de relation et d'insérer le code svg directement dans la page HTML, à l'endroit voulu, par un simple copier-coller. Dans l'exemple qui suit, vous trouverez un panneau "sens interdit" produit dans Inkscape. Il suffira d'afficher le code svg dans un éditeur de texte de la même façon qu'avec une page web, de copier la partie du code qui est entre <svg> et </svg> et de le coller dans la page epub.
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="67" height="67" id="svg3199" version="1.1"> <g id="layer1" transform="translate(-103.57143,-255.93361)"> <g transform="translate(-142.85715,-232.14286)" id="ico_dont"> <path transform="matrix(1.46875,0,0,1.46875,40.803571,213.49128)" d="m 185.71429,209.80876 c 0,12.62365 -10.23349,22.85714 -22.85714,22.85714 C 150.2335,232.6659 140,222.43241 140,209.80876 c 0,-12.62365 10.2335,-22.85714 22.85715,-22.85714 12.62365,0 22.85714,10.23349 22.85714,22.85714 z" ry="22.857143" rx="22.857143" cy="209.80876" cx="162.85715" id="path2992" style="fill:#483737" /> <rect style="fill:#ffffff;fill-opacity:1;stroke:none" id="btn_dont" width="50.357143" height="16.785715" x="254.28571" y="514.14789" /> </g> </g> </svg>
Ce code montre aussi la personnalité du SVG et la façon de le construire. Dans l'exemple ci-dessus, l'utilisation de certaines fonctions d'Inkscape a complexifié légèrement certaines portions, mais on peut voir que le SVG :
Dans bien des cas, quand il s'agit de dessins, plans... un fichier SVG va s'avérer bien plus léger qu'un équivalent en JPG ou PNG avec une qualité de rendu supérieur. Dans le cas du plan ci-dessous, le fichier SVG occupe 47 ko, et peut être agrandi à volonté pour laisser le lecteur analyser des détails. Pour arriver à un taux d'agrandissement à peu près équivalent sur cette page à 1200 pixels, notre image enregistrée en PNG ferait 1000 ko soit 1Mo, 20 fois plus.
Voici le résultat obtenu en agrandissant dans Readium, l'extension au navigateur Chrome validée par l'IDPF :
Et le même rendu avec une image png, mais dont le poids sera 20 fois supérieur !
Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.
Vous devriez rafraîchir la page.