Kiwix au jour le jour

Aller au contenu | Aller au menu | Aller à la recherche

mercredi 26 janvier 2011

La Wikimedia Foundation soutient Kiwix

Nous le souhaitions depuis longtemps, la Wikimedia Foundation soutient désormais officiellement Kiwix. Le blog technique de la Fondation l'avait laissé entendre quelques fois ces dernières semaines ; mais c'est grâce à un billet complet sur le sujet "Wikipedia offline" que la nouvelle a été annoncée.

Cette décision est le fruit du travail autour des futures orientations stratégiques qu'a lancé la Foundation il y a maintenant presque deux ans. Après avoir décidé que la priorité stratégique absolue était d'augmenter la taille du lectorat, la Wikimedia Foundation s'est donc logiquement intéressée aux solutions de mise à disposition hors-ligne des contenus. Kiwix a alors retenu son attention.

Cela nous réjouis naturellement beaucoup de pouvoir compter sur ce nouveau soutien. La première étape de cette collaboration a d'ors et déjà débuté : il s'agit d'un effort commun pour analyser et améliorer l'expérience utilisateur. Ce travail est prévu pour durer quelques mois et son aboutissement corrélera probablement avec la sortie finale de la version 0.9 de Kiwix.

L'autre excellente nouvelle, qui va certes un peu de soi, est que le projet OpenZIM que nous avons lancé a aussi retenu leur attention et est partie prenante des solutions choisies. Un contrat avec PediaPress a été conclu pour que très rapidement leur extension pour Mediawiki nommée "Collection" permette aussi de créer des fichiers ZIM.

Aujourd'hui, Kiwix fonctionne déjà très bien et il est maintenant aisé de faire des DVD avec des contenus issus de Wikipédia. Grâce à ce nouveau soutien, la promesse d'une distribution des contenus encore plus vaste, totalement libre et dénuée d'intérêts commerciaux sera probablement en mesure d'être tenue.

mardi 26 janvier 2010

Avez-vous dit ZIM ?

Il y a un an environ, deux acolytes et moi-même fondions le projet openZIM. L'objectif était la spécification d'un format de données adapté au stockage des articles issus de Wikipédia ainsi que la création d'une bibliothèque logicielle et d'outils nécessaires à la manipulation dudit format.

Nous travaillons aujourd'hui sur les dernières améliorations de ce qui sera probablement la première version officielle. Cependant, avant de détailler le projet et le format, je souhaite revenir brièvement sur les conditions de sa création.

L'une des questions qui se pose assez rapidement lorsque l'on réfléchi sur comment rendre accessible une version statique de Wikipédia est Comment vais-je stocker ces quantités importantes d'information ? Le cahier des charges, formulé de manière simplifiée, étant :

  • mémoire de masse nécessaire la plus réduite possible
  • temps d'accès les plus réduits possible

Dans les faits, rien n'existait qui satisfasse vraiment ces contraintes. Les solutions de compression actuelles étant particulièrement incapables d'offrir des temps d'accès acceptables (un dixième de seconde maximum par ressource).

Chaque initiative a donc essayé de faire au mieux (sachant que cela n'était qu'un aspect parmi d'autres) et la meilleure des approches que j'ai pu voir consistait à compresser N articles par fichier (typiquement avec Bzip2 ou LZMA) et de tenir un index dans une base de données locale indépendante (type SQLite). Ce type de solutions souffre cependant des inconvénients suivant :

  • avoir à gérer séparément l'index et les fichiers de contenu
  • compresser des contenus qui éventuellement le sont déjà (typiquement JPEG ou PNG)
  • ne pas offrir de bibliothèque avec API simplifiée
  • avoir à gérer de nombreux fichiers
  • ne pas être correctement documentée
  • gestion native des catégories (dev. en cours)
  • gestion des meta-tags (dev. en cours)

Telle était la situation lorsque en 2007 nous nous sommes pour la première fois rencontrés : Manuel, Tommi et moi-même. Tommi nous a alors présenté quelque chose d'intéressant : il avait programmé un lecteur libre pour le format de données ZENO qu'utilisait Directmedia (la maison d'édition qui publiait les DVDs de Wikipédia en allemand). Le format ZENO était intéressant parce que tout était dans un fichier et que l'on avait maintenant une librairie pour le décoder.

Il restait deux gros défis :

  • augmenter l'efficacité de la compression
  • écrire un outil pour créer les ZENOs

En l'espace d'un an, Tommi ayant fait cela et Directmedia ayant décidait de ne plus publier de DVD en allemand et d'abandonner ZENO ; nous nous sommes dit qu'il y avait vraiment là quelque chose à faire. Nous avons alors conçu le projet openZIM et renommé le format, qui entre temps avait beaucoup évolué, en ZIM (pour Zeno IMproved).

Aujourd'hui le format et les outils sont meilleurs que jamais :

  • tout tient dans un fichier
  • tout type de contenus peut être introduit
  • compression LZMA
  • compression paramétrable en fonction du mime-type
  • portable
  • librairie de référence extrêmement efficace
  • Index par titre et par URI

Nous sommes subventionnés par Wikimedia CH qui couvre nos frais de serveur ainsi que ceux occasionnés par nos rencontres. Le format ainsi que les outils continuent d'évoluer rapidement et sont de loin la meilleure solution actuelle… Ce qui est assez compréhensible finalement puisqu'il n'y a pas de véritable alternative.

La fondation Wikimedia s'est montrée intéressée pour proposer des dumps au format ZIM et nous discutons les contraintes techniques d'un tel projet. Kiwix utilise évidement ZIM et propose déjà quelques fichiers ZIM à tester. Je suis aussi convaincu que de plus en plus de projets seront en mesure de travailler avec ce format.

Le travail n'est pour autant pas terminé. Il reste en particulier à implanter quelques fonctionnalités importantes et à régler quelques points problématiques. Il nous faut aussi stabiliser le format ; en-effet, le rythme des améliorations est toujours soutenu et la rétro-compatibilité a déjà été cassée par deux fois : une chose pourtant indispensable pour une utilisation plus large.

... mais le jeux en vaut la chandelle !

Pour plus d'informations :

mercredi 30 décembre 2009

Lancement du blog

Mise-à-jour : Le blog a été ajouté aujourd'hui au Planète Wikimédia francophone. Je remercie Johann pour son aide.

Depuis que je travaille sur Kiwix, et on approche des quatre ans, je m'interroge sur la nécessité de tenir un blog. Après avoir longtemps tergiversé, j'ai décidé de tenter l'aventure et de voir si cela en vaut la peine. J'espère que mes lecteurs, vous, me gratifierez au début de votre indulgence, voire de vos conseils, sachant que je suis débutant dans cet exercice.

Je pense publier ici en grande majorité des articles en français et probablement le plus souvent techniques. Je parlerai aussi évidement du projet openZIM que nous avons lancé en début d'année avec Manuel et Tommi, et qui me tient beaucoup à cœur.

Les lecteurs qui me lisent par l'entremise du planète de Wikimédia France ne doivent pour autant pas s'inquiéter : je ne les spammerai pas avec de nombreux articles loin de leur préoccupations. Les catégories et les tags sont à disposition pour permettre de satisfaire cette exigence ; au pire je m'autoriserai quelques digressions touchant la culture libre.

Pour ceux qui souhaitent suivre au plus près les développements de Kiwix :

  • Le site web où la page de garde est une bonne source d'informations. Les pages importantes sont pour la plupart traduites en anglais et espagnol.
  • Le fil de micro-blogging de identi.ca ; mais en anglais seulement et le plus souvent technique.
  • Le planet qui est multilingue... et encore un peu vide.
  • ... et maintenant ce blog.