Consultez vos sites web hors-ligne

Résumé d'une semaine de hackaton sur Kiwix

Je reviens d'un peu moins d'une semaine de hackaton à Esino Lario à travailler sur Kiwix, un lecteur de fichiers zim, utilisé notamment pour pouvoir consulter Wikipedia hors-ligne.

J'ai utilisé la première fois Kiwix alors que j'étais en voyage en Australie, et la plupart du temps hors-ligne. Avoir Wikipedia sous le coude avec rien d'autre a faire pendant de longues heures de train permet de découvrir des choses incroyables, croyez moi !

Mais hormis cette anecdote, Kiwix est aussi (et surtout) utilisé dans des projets comme l'Ideasbox, un projet de Bibliothèques Sans Frontières (BSF) qui vise à déployer des bibliothèques dans des endroits qui en ont besoin (villages reculés, camps de réfugiés, etc), et c'est à ce titre que je me suis rendu au hackaton.

Agrégation de contenus

J'ai pu rencontrer des personnes de projets similaires, et nous nous sommes rapidement rendu compte que l'un des points intéressants était la production de contenus hors-ligne, sa mise à disposition et sa mise à jour. Actuellement, chacune des organisations gère ses catalogues de manie différente. Le travail de selection ne peut donc pas être ré-utilisé d'une plateforme à l'autre de manière simple.

Nous avons donc travaillé sur un moyen de standardiser ces catalogues, et pour Kiwix, et pour d'autres types de contenus (par exemple des photos et vidéos non-empaquetées dans un zim).

Nous nous sommes donc mis d'accord sur a) un certain nombre de concepts utiles que le catalogue peut référencer, puis b) sur une enveloppe pour distribuer ces informations.

Notre choix pour l'enveloppe s'est porté assez rapidement sur OPDS qui est un format utilisé entre autres pour distribuer des catalogues d'ebooks.

Dans le train au retour, j'ai donc développé un petit outil qui permet de générer des flux OPDS en python. Il s'agit d'une toute première version, et il n'y a quasiment pas d'intelligence dans ce code, mais je pense que c'est un bon début.

Encore un peu de travail sur la spécification du catalogue, mais nous sommes en chemin :)

Création de fichiers zims a partir de sites web

Un autre projet sur lequel j'ai travaillé durant cette semaine est appelé "Zim It !". Il s'agit d'un service Web qui propose d'aspirer les sites Web pour vous et d'en faire un fichier Zim, prêt à mettre dans vos valises.

Capture de l'interface de Zim it !

La promesse est intéressante, mais montre ses limites sur certains types de contenus (flash par exemple) ainsi que sur des sites importants.

C'était l'occasion de m'amuser un peu avec le système de gestion de queues rq et l'aspirateur de sites httrack.

Je ne suis pas encore satisfait du résultat: le téléchargement des sites prends pas mal de temps, et j'ai du mal à obtenir des journaux corrects de la part d'httrack, ce qui laisse les utilisateurs du service un peu dans le noir.

Mais ça à au moins le mérite d'exister, et de fonctionner sur certains petits sites (il faut bien commencer quelque part !).

Le code du projet est disponible si ça vous intéresse, mais le service n'est pas encore déployé de manière suffisamment stable pour que je vous laisse jouer avec :)

Si le sujet vous intéresse, je vous invite à jeter un coup d'oeil au Wiki du hackaton pour découvrir d'autres projets chouettes (Il y a par exemple de quoi récupérer Stack Overflow ou des vidéos de Youtube hors-ligne).

Une balade à Esino Lario