Blog // Exirel.me

Retrouvez tous les articles liés au tag Format ouvert via le flux rss dédié à ce tag.

Python-epub : un projet sous licence libre pour le format epub

Par Florian Strzelecki - 18:05 - 08.03.2012

Tags : Python, Programmation, Format ouvert, Développement, Livre numérique, epub, Technique

Ce n'est pas sans une certain appréhension que je publie ce billet, où je souhaite vous parler de mon travail actuel : la bibliothèque python-epub, placée sous licence libre (LGPL), et disponible officiellement sur pypi.

De l'appréhension, car je n'ai pas la prétention d'être un maître dans l'art du code python d'une part, pas plus qu'être le plus grand expert du format epub d'autre part. Et puis, surtout, c'est la première fois que je publie vraiment du code sous licence libre !

Mais, passons mes états d'âme pour aller au cœur du sujet.

Téléchargement et installation

Tout d'abords, si vous cherchez directement comment l'installer, et avoir une documentation technique, vous pouvez aller sur le site officiel du projet : http://epub.exirel.me. Il est à jour et documente la dernière version publiée (et pas la version en cours de développement).

Pour faire simple : utilisez pip install epub. Si vous voulez la version de développement (je ne garantis pas la stabilité dudit code), vous pouvez faire un clone des sources disponibles en ligne : https://bitbucket.org/exirel/epub.

À quoi ça sert ?

En premier lieu, à ouvrir des fichiers au format epub, dans la version 2 de la spécification (la 3 restant encore trop jeune et trop peu utilisée pour le moment). Qu'est-ce que le format epub ? Il s'agit d'un format ouvert de livre numérique. Il est utilisé de manière majoritaire dans l'édition numérique, et peut être lu par des applications sur mobiles et tablettes, et surtout, sur des liseuses à écran à encre numérique (de type Kobo ou Cybook Odyssey). Je n'entre pas ici dans la polémique autour des autres formats, ce n'est pas le sujet (mais vous pouvez toujours me poser des questions par email, ou via twitter et g+).

Le format Epub 2

Le principe d'un fichier epub, c'est d'avoir un fichier compressé au format Zip, qui contient plusieurs fichiers importants :

Les autres fichiers composent le "vrai" contenu du fichier epub et sont référencés de plusieurs façons, tant par le fichier OPF qui en fait une liste exhaustive, que par le fichier de navigation NCX qui propose une navigation pour l'utilisateur (comme une table des matières, des illustrations, etc.).

Le code python

De son côté, la bibliothèque python-epub permet de représenter les données d'un fichier epub : fichier OPF, fichier NCX, et le contenu du fichier. Elle est même découpée en trois parties :

Ce découpage logique permet une grande souplesse dans l'utilisation de cette bibliothèque. De prime abord, elle ne permet (pas encore) de générer un fichier epub, mais certains éléments sont déjà manipulables en dehors d'un fichier epub pur : c'est le cas pour le format OPF et le format NCX, dont les modules dédiés permettent d'une part de lire ces formats, mais aussi de générer des fichiers dans ces formats.

Le projet

Licence libre : LGPL

Le projet est placé sous la licence libre LGPL : elle correspond à ma volonté, en tant qu'auteur, de rendre libre le fruit de mon travail pour les utilisateurs. Si d'autres développeurs souhaitent utiliser mon travail (avec ou sans modification) ils n'auront pour seule obligation que de donner les mêmes droits sur cette partie là de leur travail (par exemple, dans le cas d'une application, seule ma bibliothèque devra être sous une licence libre compatible, pas l'ensemble de l'application).

Je pense d'ailleurs que c'est la seule chose pour laquelle je n'envisage pas de changement, contrairement au code en lui-même.

Les évolutions à apporter et celles envisagées

Pour le reste – le code concret, mais aussi la documentation – j'envisage beaucoup d'évolutions, et certaines dont je ne suis pas encore sûr de la façon de les implémenter. Tout d'abords, pouvoir créer et modifier des fichiers epub : il est plutôt simple de lire un fichier epub, mais l'écriture pose beaucoup d'autres questions.

En vrac, j'ai listé les améliorations/évolutions suivantes :

Il y a encore beaucoup à faire pour que je sois pleinement fier de ce projet, mais j'avance correctement, je fais attention à la qualité du code, aux tests unitaires, et à la documentation. Je pense donc que ça va dans le bon sens.

Appel à contribution

Pour le moment, je suis le seul développeur sur ce projet, que j'ai initié en début d'année, mais si j'ai choisi une licence libre, c'est bien pour laisser la place à d'autres personnes.

Ce que je cherche ? Les bonnes volontés : contributions au code, des retours d'expérience, des demandes d'ajouts de fonctionnalités, des rapports de bugs, pourquoi pas des traductions de la documentation ?

Comme je le disais en début de billet : je ne suis pas un maître pythoniste, et au vu de mon expérience, je ne doute pas un instant qu'il me reste beaucoup à apprendre. Je prends donc toutes les remarques et critiques constructives, les avis, les optimisations, les conseils... tout !

Où est passé la haute-technologie de nos télécommandes ?

Par Florian Strzelecki - 14:19 - 10.01.2012

Tags : Société, Ordinateur, Format ouvert, Format propriétaire, Vieille technologie, Télévision, ADSL, Geek

Au détour d'un tweet de @kaleidoscopique je me suis surpris à réagir avec un certain amusement – et un brin d'ironie.

Je vais vous dire : ça me dérange toujours autant de constater une telle différence entre nos capacités technologiques, et sa présence réelle dans notre quotidien.

Je m'explique (avec un peu plus que 140 caractères).

Vous avez tous vu ou vous avez un smartphone. Vous avez tous vu ou vous avez une de ces nouvelles box ADSL, téléphone, TV, qui fait le café. Vous avez tous un ordinateur ou un accès fréquent à un ordinateur.

Dans votre voiture ou dans celle de votre voisin, il y a un GPS, voire des lecteurs DVD portables.

En prime, ou vous parle sans cesse de la domotique au détour d'un "FEAR BIG BROTHER" ou d'un "Bientôt votre frigo fera les courses à votre place !".

Et pourtant, nous avons toujours des télécommandes des années 80 dans nos salons.

Télécommandes

Image : Télécommandes - Florian Strzelecki - Creative Common By-NC-SA

Livre numérique : kobo by fnac

Par Florian Strzelecki - 18:44 - 09.12.2011

Tags : J'aime, Ma vie, Lecture, Format ouvert, Livre numérique, epub, Kobo, Geek

La semaine dernière, ma chère et tendre m'a offert la "Kobo by Fnac" - produit d'un partenariat entre l'enseigne de grande distribution et l'éditeur de "liseuse numérique".

Et j'en suis très satisfait.

Un ami - @mrjmad - s'est acheté la Cybook Odyssey par Virgin, et elles sont globalement équivalente. En tout cas, j'ai pu tester les deux, et ma Kobo me convient très bien. J'aime bien son design sobre et classique, son port pour carte micro SD, son écran de 9x12 cm à encre numérique, et son autonomie (pour tout dire, je n'ai toujours pas eu besoin de la recharger depuis que je l'ai eu).

Et puis, surtout, elle lit les epubs, et je n'ai aucune contrainte de plateforme pour mes achats de livres numériques. C'était, d'ailleurs, le critère principal de mes choix : pouvoir lire un format ouvert et avec la liberté d'acheter où je veux.

Kobo by Fnac, sur mon étagère

Image : Kobo by Fnac, sur mon étagère - Florian Strzelecki - Creative Common By-NC-SA

Vidéo haute-définition : le problème caché

Par Florian Strzelecki - 02:03 - 15.04.2010

Tags : Hypocrisie, Ordinateur, Vidéo, Format ouvert, Format propriétaire, Technique

Je m'adresse dans ce billet à tous ceux qui ne se préoccupent pas du format des vidéos qu'ils regardent sur internet, à tous ceux qui ne connaissent pas la différence entre un flv, un avi, un mpeg, un codec h264, les mpeg-1 et mpeg-2, et tout un tas de sigles souvent abscons.

Qu'ils se rassurent tout de suite, je suis loin d'être un expert en la matière.

Non, ce dont je vais parler ici ce n'est pas de "technique", mais d'un problème qui touche une technologie : la vidéo, et plus particulièrement, la vidéo en ligne.

Car il y a un problème dont personne ne parle dans les médias grand public, alors qu'il risque de conditionner beaucoup de chose pour les 15 prochaines années.

Video Home System

Image : Video Home System - douglas cabel (http://www.flickr.com/photos/symbole/) - Creative Common by