Entamy Platform

entaPub — lire n’importe quel EPUB, en toute sécurité, jusqu’au bout

Livres abîmés, anciens ou malveillants : le moteur de lecture entaPub ouvre les EPUB en toute sécurité, répare ce qui peut l’être et remet le livre au lecteur tel qu’il a été conçu.

Plus aucun livre impossible à ouvrir. L’EPUB est le format de livre numérique utilisé dans le monde entier, mais bon nombre des livres en circulation ne respectent pas la norme, sont en partie abîmés ou de facture ancienne. entaPub est un moteur de lecture EPUB écrit en Rust qui ouvre autant que possible ces livres aussi, sans jamais mettre en danger l’appareil du lecteur.

Fonctionnalités#

Lisible même abîmé

Il lit d’abord strictement selon la norme ; seulement en cas d’échec, il restaure par étapes : réparation du XML, relecture en HTML, puis reconstruction du livre.

On sait ce qui a été réparé

À quelle étape et de quelle manière la réparation a eu lieu est consigné comme diagnostic, avec un degré de fiabilité. Pas question de s’arrêter à « ça s’affiche, à peu près ».

Aucune connexion à l’ouverture

Il ne va chercher ni CSS ni images externes et construit le livre uniquement avec ce qu’il contient.

Tout ce qui s’exécute est retiré

script, iframe, javascript: et autres sont retirés, et chaque retrait est consigné.

Aucun accès aux fichiers hors du livre

Les références qui pointent hors du livre via ../ ou des chemins absolus sont refusées.

Même un livre énorme ne bloque rien

Taille du fichier, volume décompressé, profondeur d’imbrication et nombre d’éléments sont plafonnés : même un livre extrême ne fige pas l’appareil.

Sûreté mémoire

unsafe est interdit en Rust, et un fuzzing avec AFL++ teste massivement des entrées corrompues.

Le livre tel qu’il est

Les points d’emphase, l’écriture verticale et les retraits font partie du texte. Seules les indications dangereuses sont retirées ; écriture verticale, ruby, mise en page fixe et doubles pages sont préservées.

EPUB 2 comme EPUB 3

Livres récents et livres de facture ancienne se lisent par la même entrée.

Lire et créer#

entaPub comprend aussi un « Builder » qui produit toujours le même EPUB à partir de la même entrée. C’est ce Builder qui transforme en EPUB les manuscrits écrits dans KuroEditor, et c’est le Reader qui ouvre les livres dans KuroViewer. En concevant lecture et création selon les mêmes principes, les produits Entamy peuvent traiter le livre numérique de bout en bout par eux-mêmes.

Formats pris en chargeEPUB 2 / EPUB 3 (mise en page fixe, écriture verticale, ruby, doubles pages)
RestaurationStrict → réparation du XML → relecture en HTML → reconstruction du livre (chaque étape consignée comme diagnostic)
SécuritéAucune connexion externe, retrait des éléments exécutables, refus des références hors du livre, limites de ressources
ImplémentationRust (unsafe interdit), fuzzing avec AFL++
Produits qui l’utilisentKuroViewer (lire), KuroEditor (créer)
Mode de mise à dispositionIntégré aux produits Entamy (passage en open source non décidé)

Si entaPub passe en open source, il sera publié sous la Kuro License (MIT + mention des titulaires des droits).

Products & Services

Produits

Les informations sur les produits de cette marque arrivent bientôt.