Créer un fichier CBZ sur sa tablette Android

Depuis quelques semaines maintenant, j’essaie de déterminer si une tablette Android peut remplacer complétement un ordinateur pour les usages bureautiques du quotidien. Le sujet est vaste, mais j’arrive à peu près à me débrouiller avec un clavier intégré dans la housse de protection (le « BookCover Keyboard Slim » chez Samsung, ça en jette un max comme appellation ! Mais un clavier bluetooth chinois à 20€ ferait le boulot je pense…) et une souris bluetooth. En réalité, l’expérience est assez concluante : en cherchant les bonnes applications – et accepter d’en payer certaines – et avec un peu de bidouille, une bonne tablette Android permet aujourd’hui d’être complètement nomade, avec un appareil qui pèse moins qu’un Macbook Air et propose une autonomie énorme. Seule contrainte : avoir accès à une connexion Internet décente. Mais pour le reste, c’est du tout bon; la preuve ? Le présent billet est rédigé entièrement sur tablette !

La tablette est également un outil multimédia très pratique, et j’ai fini par délaisser ma fidèle liseuse Kobo pour ne plus lire que sur tablette : en faisant attention aux paramètres de luminosité et de confort visuel, l’expérience reste agréable même en lisant deux heures sans s’arrêter. Et la tablette a un avantage et non des moindres : son format rend la lecture de magazines, bandes dessinées et autres mangas envisageable et même agréable. Si la plupart des lectures sont possible au moyen d’applications à abonnement (je pense notamment à Cafeyn1 qui propose un vaste catalogue de magazines pour un tarif raisonnable, et dont l’application pour tablette est très bien faite) ou par achat d’eBooks (les BD et mangas se trouvent facilement sur les boutiques en ligne), il faut encore que l’ouvrage soit présenté dans un format prévu pour la lecture sur tablette.

Faux problème me dites-vous ? Pour un être normal, c’est vrai ! Pour un vieux ludophile à tendance misanthrope, le sujet est plus complexe : comment (re)lire tous ces vieux magazines parlant de jeux vidéos et d’informatique dont on trouve des scans sur le Net, ou que l’on a scanné soi-même tant par manque de place que par vocation d’archiviste ? Comment ça, il s’agit de cas exceptionnels, inhabituels et même… bizarres ? Pour mémoire, vous vous trouvez sur le site d’un geek qui s’assume. Et de plus, si vous êtes ici, c’est que vous cherchez une solution à cette épineux problème. Mais pas de panique : dans sa grande mansuétude, Bob va vous expliquer comment créer et lire des fichiers .cbz et .cbr sur tablette Android !

Sommaire (parce que ça peut être un peu long sinon…)

Qu’est-ce qu’un fichier .cbz (ou .cbr) et comment le lire sur tablette Android ?

Pour faire simple, les fichiers .cbz et .cbr sont des dossiers compressés (au format ZIP pour les .cbz et au format RAR pour les .cbr) qui contiennent des images : l’application de lecture se contente d’afficher les images, dans l’ordre défini par leurs noms (ordre alphanumérique classique), et le nombre de pages affichées correspond au nombre d’images dans le dossier, tandis que la première image est normalement utilisée comme couverture pour afficher le livre dans la bibliothèque numérique. Pour la petite info, les acronymes signifient simplement Comic Book Zip et Comic Book Rar.

Et pour lire ces fichiers sur tablette ? Il faut une application de lecture dédiée. Il y en a plusieurs, personnellement j’utilise Moon+ Reader2, une référence sur Android qui lit aussi bien les mangas, magazines et BD que les livres « classiques  » (sans les petites images !), et ce dans quasiment tous les formats du marché et toutes les langues; la version gratuite fait le job – et permet de déterminer si l’application est à son goût – mais la version pro n’est pas très chère et apporte un gain de confort important (mode sombre et absence de publicité notamment). Mais il existe également des applications spécialisées dans les BD et mangas : à vous de faire votre choix !

Concrètement, quelque soit l’application, il suffit d’enregistrer le fichier .cbz ou .cbr quelque part sur la tablette et de l’importer dans la bibliothèque de l’application : le fichier est alors lisible, avec des options qui dépendent de l’application !

Comment créer un fichier .cbz (ou .cbr) sur tablette Android ?

Déjà, il s’agit bien de créer le fichier .cbz ou .cbr; vous n’en trouverez plus à l’achat aujourd’hui pour une raison simple : il est globalement impossible de protéger un .cbz ou un .cbr et n’importe qui peut le copier, l’ouvrir, en extraire les images, etc… Ce qui est très bien d’un point de vue du technophile biberonné aux discours en faveur du logiciel libre, mais qui plaît moins aux ayants droits ! Ainsi, ce format précurseur dans l’histoire des livres numériques – dont on attribue habituellement la paternité à un certain David Ayton et à son applicatif CDisplay3 – ne se trouve plus sur les boutiques en ligne qui lui préfèrent le format ePub ou tout autre à fourrer de DRM à la con qui sauteront en quelques secondes avec le logiciel adéquat… Rien de neuf sous le soleil ! Donc aujourd’hui les .cbr et .cbz téléchargeables, ce sont soit des fichiers libres, soit des fichiers avec une jambe de bois et un cache-oeil…

Loin de moi l’idée de vous pousser à la flibuste : aujourd’hui nous parlons préservation de patrimoine, pas augmentation de patrimoine; nous allons sauvegarder un vieux magazine de jeu vidéo pour pouvoir le lire au bord de la piscine du camping ou du palace (selon l’humeur de mon banquier) ! Pour faire cela, vous n’avez en fait besoin que d’une chose : un bon explorateur de fichiers qui permet de compresser un dossier et de le renommer ! Sur Android, je ne peux que vous recommander « Gestionnaire de fichiers plus »4 qui fait parfaitement le job, gratuitement en plus (la version payante, à prix raisonnable, rajoute là encore du confort mais les fonctionnalités sont là !). Ça, et un magazine numérisé. J’en ai scanné un certain nombre moi-même, mais aujourd’hui je suis fainéant et je vais une fois de plus utiliser les archive du site Abandonware Magazines5 .

Commençons par rechercher et télécharger un vieux magazine qui fleure bon l’enfance… le Super Power de Septembre 1994 avec le test de Legend sur Super Nintendo fera parfaitement l’affaire ! Cliquez sur l’icône encerclée de rouge sur la photo (j’allais écrire sur la disquette, ce qui est logique pour une icône qui permet l’enregistrement, mais je me suis rendu compte récemment qu’aucune de mes jeunes collaboratrices ne me comprend quand j’utilise ce mot TT) : une page vous proposera de télécharger le magazine sous forme… d’archive ZIP ! Ça tombe bien, non ?

Si vous êtes un peu curieux, vous pouvez ouvrir l’archive pour constater qu’elle contient un dossier avec une suite d’images ordonnées : il s’agit des pages du magazine numérisées. Si vous numérisez vous-même un magazine, ce qui est plus simple qu’il n’y paraît, je vous conseille d’utiliser sur tablette Android l’application « Photo Editor » de Iudesk6 qui fait parfaitement le boulot dans sa version gratuite, même si l’outil commence à dater !

Bref, dès que vous disposez d’un dossier contenant les pages de votre magazine numérisées et ordonnées (001.jpg, 002.jpg, etc…), il vous suffit de le compresser au format ZIP ou RAR. Une note sur le format d’image à privilégier : je vous conseille de rester simple et d’utiliser du JPEG. Ce sera toujours lu et le format propose un bon rapport poids/qualité pour des pages en couleur mélangeant illustrations et texte. Conservez les réglages de base concernant l’indexation des couleurs et restez sur une définition de 300 dpi. Sauf si vous savez ce que vous faites et que vous connaissez bien les possibilités et limitations de votre application de lecture, suivez la charte d’Abandonware-Magazine ci-après (cliquez pour développer, et double-cliquez dans le cadre pour faire apparaître la barre de défilement) :

Afficher la charte d’Abandonware Magazines

Et une fois le ZIP (ou RAR) compressé, il suffit de changer l’extension en CBZ (pour le ZIP) ou CBR (pour le RAR) : dans mon cas, Moon Reader + étant l’application par défaut pour la lecture des .cbz, le fichier est immédiatement reconnu ! Vous n’avez plus qu’à importer votre fichier dans l’application de lecture, et le tour est joué ! C’est au final d’une simplicité enfantine, il suffit juste de disposer d’un explorateur de fichiers correct, comme celui conseillé juste avant !

Et le fichier ComicInfo.xml alors ?

Si vous vous êtes un peu renseigné sur la lecture numérique des BD, mangas et magazines, vous avez probablement lu qu’il est possible d’adjoindre des métadonnées pour disposer des informations utiles : série, numéro, date de publication, scénariste ,dessinateur, etc. Pour les fichiers CBR et CBZ, on utilise normalement un simple fichier XML (ComicInfo.xml) placé à la racine de l’archive. La petite contrariété, c’est que ce format n’est pas un standard officiel : il était utilisé par l’application ComicRack, pionnière du secteur aujourd’hui disparue. Sans standardisation, pas de documentation ni de certitude quant à la prise en charge de ce fichier. J’ai bien essayé d’adjoindre un ComicInfo.xml à mes CBZ, mais aucune des applications de lecture essayées ne semble les lire, et même Calibre – la références des bibliothèques numériques sur ordinateur – l’ignore… La seule façon que j’ai trouvé pour passer les métadonnées d’une application à l’autre, c’est de transformer les fichiers en ePub, ce qui est un peu plus compliqué et implique de conserver deux fichiers pour conserver un accès immédiat aux JPEG (un ZIP et un ePub dans mon cas). Pas très satisfaisant. Je pense tout simplement que le format ComicInfo.xml est plus ou moins mort et que le transport de métadonnées dans un .cbz ou un .cbr n’est pas une priorité. Bon, comme j’ai quand même creusé le sujet, vous trouverez en pied de cet article une fiche de synthèse sur le fonctionnement théorique de ComicInfo.xml. Avis aux bricoleurs !

Quel est le sens de tout cela ?

42 !

Bob Dupneu

  1. https://www.cafeyn.co/
  2. https://www.moondownload.com/
  3. https://web.archive.org/web/20071011003226/http://www.geocities.com/davidayton/CDisplay.html
  4. https://play.google.com/store/apps/details?id=com.niki.filemanagerplus
  5. https://www.abandonware-magazines.org/index.php
  6. https://www.iudesk.com/

Bonus : manuel des tags ComicInfo.xml

ComicInfo.xml — Manuel des tags
Remarque importante : ComicInfo.xml n’est pas un standard officiel unique et figé. Il provient historiquement de ComicRack et a été repris par de nombreux logiciels comme ComicTagger, Kavita, Komga, YACReader, Panels, etc. Certains lecteurs acceptent des champs additionnels ou ignorent certains tags.

1. Structure générale du fichier

Le fichier ComicInfo.xml est généralement placé à la racine de l’archive .cbz. La structure de base est la suivante :

<ComicInfo>
  ...
</ComicInfo>

Tous les champs sont en principe optionnels, mais certains sont beaucoup plus largement utilisés que d’autres, notamment Series, Number, Title, Writer, Publisher, Year et PageCount.

2. Informations principales sur le comic

Information Tag XML Type / format Remarques
Titre de l’épisode ou du volume <Title> Texte Titre spécifique du numéro ou de l’album.
Série <Series> Texte Nom principal de la série, par exemple Batman.
Numéro <Number> Texte Souvent stocké comme chaîne afin de permettre 1, 001, 1A, ½, Annual 1, etc.
Nombre total de numéros <Count> Entier Permet d’afficher par exemple 3 of 12. Son usage varie selon les logiciels.
Volume <Volume> Entier Peut désigner le volume éditorial ou une relance de série.
Série alternative <AlternateSeries> Texte Autre regroupement ou autre numérotation.
Numéro alternatif <AlternateNumber> Texte Numéro dans la série alternative.
Nombre alternatif total <AlternateCount> Entier Total dans la série alternative.

3. Résumé, notes et critique

Information Tag XML Type / format Remarques
Résumé <Summary> Texte long Synopsis ou description de l’histoire.
Notes <Notes> Texte long Notes libres, souvent ajoutées par un logiciel de tagging.
Critique / avis <Review> Texte long Avis personnel ou critique. Champ moins utilisé par certains lecteurs.
Note communautaire <CommunityRating> Nombre décimal Généralement une note de 0 à 5, par exemple 4.5.

4. Date de publication

Information Tag XML Type / format Remarques
Année <Year> Entier Exemple : 1986.
Mois <Month> Entier de 1 à 12 Peut être absent si inconnu.
Jour <Day> Entier de 1 à 31 Peut être absent si inconnu.
<Year>1986</Year>
<Month>2</Month>
<Day>25</Day>

5. Équipe créative

Les champs suivants contiennent généralement une liste de noms séparés par des virgules.

Information Tag XML Remarques
Scénariste <Writer> Exemple : Alan Moore.
Dessinateur / crayonné <Penciller> Artiste responsable du dessin au crayon.
Encreur <Inker> Peut être identique au dessinateur.
Coloriste <Colorist> Artiste responsable des couleurs.
Lettreur <Letterer> Responsable du lettrage.
Artiste de couverture <CoverArtist> Peut contenir plusieurs noms.
Éditeur éditorial <Editor> Responsable éditorial.
Traducteur <Translator> Particulièrement utile pour les éditions traduites.

6. Édition et publication

Information Tag XML Type / format Remarques
Éditeur <Publisher> Texte Exemple : DC Comics, Marvel, Delcourt.
Imprint / label <Imprint> Texte Exemple : Vertigo, Black Label, Epic Comics.
Format <Format> Texte libre Exemple : Annual, One-Shot, Trade Paperback, Hardcover, Digital.
GTIN / code-barres <GTIN> Texte ou nombre Peut contenir un EAN, ISBN, UPC ou autre identifiant global.
Site web <Web> URL ou texte Lien vers une fiche en ligne : éditeur, ComicVine, Grand Comics Database, etc.

7. Classification, genres et mots-clés

Information Tag XML Type / format Remarques
Genre <Genre> Texte ou liste Exemple : Superhero, Science Fiction, Fantasy.
Tags / mots-clés <Tags> Texte ou liste Mots-clés libres, souvent séparés par des virgules.
Personnages <Characters> Liste texte Exemple : Batman, Joker, Commissioner Gordon.
Équipes <Teams> Liste texte Exemple : Justice League, Avengers.
Lieux <Locations> Liste texte Exemple : Gotham City, Arkham Asylum.
Personnage ou équipe principale <MainCharacterOrTeam> Texte Ancien champ, parfois remplacé par Characters et Teams.
Groupe de séries <SeriesGroup> Texte Permet de regrouper plusieurs séries liées, par exemple Batman Family, X-Men, Ultimate Marvel.

8. Arcs narratifs

Information Tag XML Type / format Remarques
Arc narratif <StoryArc> Texte Exemple : Knightfall, Civil War, The Clone Saga.
Numéro dans l’arc <StoryArcNumber> Texte ou nombre Position du numéro dans l’arc narratif.
<StoryArc>Knightfall</StoryArc>
<StoryArcNumber>5</StoryArcNumber>

9. Langue, manga et sens de lecture

Information Tag XML Valeurs / format Remarques
Langue <LanguageISO> Code ISO Souvent en, fr, ja. Certains logiciels acceptent aussi fr-FR, en-US.
Manga <Manga> Enumération Indique si l’œuvre est un manga ou si elle se lit de droite à gauche.
Noir et blanc <BlackAndWhite> Enumération Indique si les pages sont en noir et blanc.

Valeurs possibles pour <Manga>

Valeur Signification
Unknown Inconnu.
No Pas un manga.
Yes Manga, mais sens de lecture non précisé ou gauche-droite.
YesAndRightToLeft Manga avec lecture de droite à gauche.

Valeurs possibles pour <BlackAndWhite>

Valeur Signification
Unknown Inconnu.
No Non, contenu en couleur ou non strictement noir et blanc.
Yes Oui, contenu en noir et blanc.

10. Classification d’âge

Information Tag XML Remarques
Classification d’âge <AgeRating> Valeur issue d’une liste prédéfinie, mélangeant plusieurs systèmes de classification.

Valeurs courantes possibles :

<AgeRating>Unknown</AgeRating>
<AgeRating>Adults Only 18+</AgeRating>
<AgeRating>Early Childhood</AgeRating>
<AgeRating>Everyone</AgeRating>
<AgeRating>Everyone 10+</AgeRating>
<AgeRating>G</AgeRating>
<AgeRating>Kids to Adults</AgeRating>
<AgeRating>M</AgeRating>
<AgeRating>MA15+</AgeRating>
<AgeRating>Mature 17+</AgeRating>
<AgeRating>PG</AgeRating>
<AgeRating>R18+</AgeRating>
<AgeRating>Rating Pending</AgeRating>
<AgeRating>Teen</AgeRating>
<AgeRating>X18+</AgeRating>

11. Informations de scan et fichier

Information Tag XML Type / format Remarques
Nombre de pages <PageCount> Entier Nombre total d’images/pages dans l’archive. Peut être recalculé par les logiciels.
Informations de scan <ScanInformation> Texte Informations sur la source du scan, le scanner, le groupe de scan, la résolution, etc.
<PageCount>24</PageCount>
<ScanInformation>Scanned by ExampleGroup</ScanInformation>

12. Informations détaillées sur les pages

Le tag <Pages> peut contenir une liste de tags <Page />. Chaque élément Page est généralement un élément vide avec des attributs.

<Pages>
  <Page Image="0" Type="FrontCover" ImageSize="1234567" ImageWidth="1988" ImageHeight="3056" />
  <Page Image="1" Type="Story" ImageSize="1122334" ImageWidth="1988" ImageHeight="3056" />
</Pages>

Attributs de <Page>

Attribut Type Remarques
Image Entier Index de l’image dans l’archive, souvent basé sur l’ordre de lecture, en commençant à 0.
Type Enumération Type de page : couverture, publicité, page d’histoire, etc.
DoublePage Booléen true ou false. Indique une double page ou page panoramique.
ImageSize Entier long Taille du fichier image en octets.
Key Texte Identifiant interne ou clé utilisée par certains logiciels. Rarement renseigné manuellement.
Bookmark Texte Marque-page ou note associée à la page.
ImageWidth Entier Largeur de l’image en pixels.
ImageHeight Entier Hauteur de l’image en pixels.

Valeurs possibles pour l’attribut Type

Valeur Signification
FrontCover Première de couverture.
InnerCover Intérieur de couverture.
Roundup Page de récapitulatif ou résumé.
Story Page d’histoire principale.
Advertisement Publicité.
Editorial Page éditoriale.
Letters Courrier des lecteurs.
Preview Aperçu ou extrait.
BackCover Quatrième de couverture.
Other Autre type de page.
Deleted Page ignorée ou marquée comme supprimée.

13. Exemple complet de fichier ComicInfo.xml

<?xml version="1.0" encoding="utf-8"?>
<ComicInfo>
  <Title>The Dark Knight Returns</Title>
  <Series>Batman: The Dark Knight Returns</Series>
  <Number>1</Number>
  <Count>4</Count>
  <Volume>1</Volume>

  <Summary>Batman sort de sa retraite dans un Gotham City violent et corrompu.</Summary>
  <Notes>Édition numérique annotée.</Notes>

  <Year>1986</Year>
  <Month>2</Month>
  <Day>1</Day>

  <Writer>Frank Miller</Writer>
  <Penciller>Frank Miller</Penciller>
  <Inker>Klaus Janson</Inker>
  <Colorist>Lynn Varley</Colorist>
  <Letterer>John Costanza</Letterer>
  <CoverArtist>Frank Miller</CoverArtist>
  <Editor>Dick Giordano</Editor>

  <Publisher>DC Comics</Publisher>
  <Imprint>DC</Imprint>
  <Genre>Superhero</Genre>
  <Tags>Batman, dystopia, classic</Tags>
  <Web>https://www.dc.com/</Web>

  <PageCount>48</PageCount>
  <LanguageISO>en</LanguageISO>
  <Format>Limited Series</Format>
  <BlackAndWhite>No</BlackAndWhite>
  <Manga>No</Manga>

  <Characters>Batman, Carrie Kelley, Joker, Superman</Characters>
  <Teams>Justice League</Teams>
  <Locations>Gotham City</Locations>

  <StoryArc>The Dark Knight Returns</StoryArc>
  <StoryArcNumber>1</StoryArcNumber>
  <SeriesGroup>Batman</SeriesGroup>

  <AgeRating>Teen</AgeRating>
  <CommunityRating>5</CommunityRating>
  <Review>Un classique majeur du comic book américain.</Review>
  <GTIN>9781401263119</GTIN>

  <Pages>
    <Page Image="0" Type="FrontCover" ImageSize="1450000" ImageWidth="1988" ImageHeight="3056" />
    <Page Image="1" Type="Story" ImageSize="1320000" ImageWidth="1988" ImageHeight="3056" />
    <Page Image="47" Type="BackCover" ImageSize="1200000" ImageWidth="1988" ImageHeight="3056" />
  </Pages>
</ComicInfo>

14. Liste synthétique des tags principaux

<ComicInfo>
  <Title />
  <Series />
  <Number />
  <Count />
  <Volume />
  <AlternateSeries />
  <AlternateNumber />
  <AlternateCount />

  <Summary />
  <Notes />
  <Year />
  <Month />
  <Day />

  <Writer />
  <Penciller />
  <Inker />
  <Colorist />
  <Letterer />
  <CoverArtist />
  <Editor />
  <Translator />

  <Publisher />
  <Imprint />
  <Genre />
  <Tags />
  <Web />

  <PageCount />
  <LanguageISO />
  <Format />
  <BlackAndWhite />
  <Manga />

  <Characters />
  <Teams />
  <Locations />

  <ScanInformation />
  <StoryArc />
  <StoryArcNumber />
  <SeriesGroup />

  <AgeRating />
  <CommunityRating />
  <MainCharacterOrTeam />
  <Review />
  <GTIN />

  <Pages>
    <Page />
  </Pages>
</ComicInfo>

15. Remarques pratiques

  • Les noms de tags sont sensibles à la casse : <Series> est correct, <series> peut être ignoré.
  • Les champs multivalués sont souvent stockés sous forme de texte séparé par des virgules.
  • Number est généralement un texte, pas forcément un entier, afin de supporter les numéros spéciaux.
  • PageCount et <Pages> peuvent être recalculés par certains logiciels.
  • Les champs inconnus ou personnalisés peuvent être ignorés par les lecteurs.
  • L’encodage recommandé est UTF-8.
  • Le fichier doit généralement s’appeler exactement ComicInfo.xml.

Commentaires

Aucun commentaire pour l'instant. Pourquoi ne pas lancer la discussion ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.