Difference between revisions of "Tools/fr"

From Kiwix
Jump to navigation Jump to search
Line 16: Line 16:
== Stockage ==
== Stockage ==


Dans notre jargon un tel ensemble cohérent de contenus multimédias est appelé un ''dump'' ou encore un ''corpus''. Ces ''dumps'' peuvent avoir plusieurs formes : pour [http://download.kiwix.org/kiwix/ Kiwix v0.5], c'était un simple répertoire, [http://download.kiwix.org/moulinwiki/ Moulinwiki] a utilisé un format ou plusieurs fichiers étaient amalgamés et compressés avec bzip2, l'ensemble étant indexé par une base Sqlite.
Dans notre jargon un tel ensemble cohérent de contenus multimédias est appelé un ''dump'' ou encore un ''corpus''. Ces ''dumps'' peuvent avoir plusieurs formes : pour [http://download.kiwix.org/kiwix/ Kiwix v0.5], c'était un simple répertoire, [http://download.kiwix.org/moulinwiki/ Moulinwiki] a utilisé un format ou plusieurs fichiers étaient amalgamés et compressés avec bzip2, l'ensemble étant indexé dans une base Sqlite.


Aujourd'hui Kiwix ce base sur le format ZIM : un format tout en un (tout dans un fichier), qui permet à la fois d'avoir des accès rapides ainsi que une compression forte et paramétrable.
Aujourd'hui, Kiwix se base sur le format ZIM : un format tout en un (tout dans un fichier), qui permet à la fois d'avoir des accès rapides ainsi que une compression forte et paramétrable.


ZIM est un format créé par le [http://www.openzim.org projet openZIM] dont Kiwix est avec d'autres l'initiateur. ZIM est lui-même basé sur un format plus ancien : ZENO. ZENO a été créé par la maison d'édition berlinoise [http://www.digitale-bibliothek.de Directmedia] et a servi pour publié les [http://www.amazon.de/Wikipedia-2007-2008-Kompakt-DVD-ROM/dp/3866400187/ref=sr_1_1?ie=UTF8&s=software&qid=1232812631&sr=8-1 CD-ROM de Wikipédia en allemand]. Aujourd'hui, le format est abandonné, mais nous avons voulu continuer sont développement au sein du projet [http://wiki.openzim.org Openzim]. L'avenir dira si cette initiative sera un succès, mais l'objectif est d'en faire un standard et ainsi simplifier pour chacun la problématique du stockage des ''dumps''. Il est de toute manière quasiment déjà la meilleure solution.
ZIM est un format créé par le [http://www.openzim.org projet openZIM] dont Kiwix est avec d'autres l'initiateur. ZIM est lui-même basé sur un format plus ancien : ZENO. ZENO a été créé par la maison d'édition berlinoise [http://www.digitale-bibliothek.de Directmedia] et a servi pour publié les [http://www.amazon.de/Wikipedia-2007-2008-Kompakt-DVD-ROM/dp/3866400187/ref=sr_1_1?ie=UTF8&s=software&qid=1232812631&sr=8-1 CD-ROM de Wikipédia en allemand]. Aujourd'hui, le format est abandonné, mais nous avons voulu continuer sont développement. L'avenir dira si cette initiative sera un succès, mais l'objectif est d'en faire un standard et ainsi simplifier pour chacun la problématique du stockage des ''dumps''. Il est de toute manière déjà la meilleure solution libre.


== Génération ==
== Génération ==

Revision as of 09:28, 9 February 2010


Les Kiwix tools sont un ensemble de scripts (le plus souvent en Perl) ayant pour vocation d'aider à la création de contenus exploitables par le logiciel Kiwix.

Introduction

Kiwix est avant tout pensé comme un outil pour publier Wikipédia, mais tout est fait pour qu'il puisse faire plus comme :

Le cœur de Kiwix étant le moteur de rendu HTML Gecko, l'objectif des Kiwix tools est de produire :

  1. dans un premier temps un ensemble cohérent de fichier HTML statiques adjoints de leur nécessaires ressources : feuilles de style, scripts javascript, images, etc.
  2. ensuite seulement, et à partir de ces fichiers statiques, de produire un fichier ZIM.

Stockage

Dans notre jargon un tel ensemble cohérent de contenus multimédias est appelé un dump ou encore un corpus. Ces dumps peuvent avoir plusieurs formes : pour Kiwix v0.5, c'était un simple répertoire, Moulinwiki a utilisé un format ou plusieurs fichiers étaient amalgamés et compressés avec bzip2, l'ensemble étant indexé dans une base Sqlite.

Aujourd'hui, Kiwix se base sur le format ZIM : un format tout en un (tout dans un fichier), qui permet à la fois d'avoir des accès rapides ainsi que une compression forte et paramétrable.

ZIM est un format créé par le projet openZIM dont Kiwix est avec d'autres l'initiateur. ZIM est lui-même basé sur un format plus ancien : ZENO. ZENO a été créé par la maison d'édition berlinoise Directmedia et a servi pour publié les CD-ROM de Wikipédia en allemand. Aujourd'hui, le format est abandonné, mais nous avons voulu continuer sont développement. L'avenir dira si cette initiative sera un succès, mais l'objectif est d'en faire un standard et ainsi simplifier pour chacun la problématique du stockage des dumps. Il est de toute manière déjà la meilleure solution libre.

Génération

La question de la méthode pour générer un dump n'est pas une question simple. Pour plusieurs raisons, Kiwix s'est jusqu'à présent concentré sur la manière de générer des dumps offrant une sélection ; même si la publication de dumps complets de Wikipédia reste clairement un objectif. Les Kiwix tools sont donc étudiés pour aider à la sélection, aider à répliquer des contenus issus du site en ligne sur un miroir pour ensuite à partir de ce miroir faire un dump.

Mais ce n'est pas la seule méthode pour générer un dump : on peut s'y prendre théoriquement de différentes manières. Voici une petite liste non exhaustive d'approches différentes :

  • Si l'on souhaite produire un dump complet, on peut :
    • prendre un dump HTML issu du gestionnaire du wiki, la Fondation Wikimédia en fournit ici par exemple.
    • choisir de monter un miroir du wiki, d'uploader les données (le code wiki entre autre) dans la base de données et de ensuite générer un dump soit-même. On peut trouver de telles données pour la Fondation Wikimedia ici. Dans le cas d'une sélection, on peut aussi les récupérer dynamiquement sur le site (puisque un wiki est open source).
    • si l'on souhaite générer directement (en récupérant les pages HTML) un dump à l'aide du site web avec un logiciel de type aspirateur.
  • Si l'on souhaite un dump partiel, il faut faire une sélection des articles, ensuite la problématique est analogue que pour un dump complet.

Les contraintes sont assez nombreuses, voici de manière générale celles qu'il faut prendre en compte :

  • les ressources matérielles du serveur,
  • vos propres ressources matérielles,
  • l'espace de stockage dont vous disposez pour le résultat final,
  • comment faire la sélection si nécessaire.

Utilisation

Voici une liste non exhaustive des scripts disponibles :

  • backupMediawikiInstall.pl permet de faire un tgz d'une installe complète de Mediawiki (code + ressources + base de données).
  • buildHistoryFile.pl permet à partir d'une liste d'articles et d'une instance en ligne de Mediawiki d'obtenir les historiques complet de chaque page de la liste.
  • buildContributorsHtmlPages.pl permet à partir d'un template et d'une liste d'auteurs de contruire un set de pages HTML comportant l'ensemble des auteurs de la liste.
  • checkMediawikiPageCompleteness.pl vérifie si les pages d'une instance en ligne de Mediawiki sont complètes ; c'est à dire n'ont pas de dépendences (templates ou fichiers multimédiats) manquantes.
  • checkPageExistence.pl vérifie à partir d'une liste et d'une instance de Mediawiki en ligne l'existence des pages. Cela peut-être pratique par exemple pour savoir quelle pages ont été répliquées.
  • checkRedirects.pl vérifie si il n'y a pas des pages de redirections pointant vers du vide. Il faudrait aussi ajouter la vérification des pages de redirections se pointant mutuellement.
  • installMediawiki.pl permet de mettre en ligne une instance de Mediawiki à partir de son code sans intervention humaine. Cela simule en fait le processus manuel d'installation.
  • listAllPages.pl liste toutes les pages d'une instance de Mediawiki en ligne.
  • listRedirects.pl liste les redirections dans une instance de Mediawiki en ligne.
  • mirrorMediawikiCode.pl permet de télécharger exactement la même version que celle utilisée par un site Mediawiki en ligne ; ceci est valable pour le code de Mediawiki ainsi que pour le code des extensions.
  • mirrorMediawikiInterwikis.pl permet d'installer pour sa version locale de Mediawiki exactement les mêmes interwikis que pour une version de Mediawiki déjà en ligne.
  • mirrorMediawikiPages.pl permet de copier tout page, ainsi que leurs dépendances (template et ressources multimédia) entre deux Mediawikis en ligne.
  • modifyMediawikiEntry.pl permet de supprimer, vider, faire des remplacement sur une liste de pages présentent dans un Mediawiki en ligne.
  • dumpHtml.pl permet à partir d'une instance locale de Mediawiki de rendre statique toutes les pages ; c'est à dire créer un repertoire HTML avec toute ce qu'il faut dedans.
  • optimizeContents.pl permet d'optimiser un répertoire avec les pages HTML et leurs ressources. Ce script appelle suivant l'extension Tidy HTML pour les fichiers HTML ou les Litte utils pour les images.