Manual:How to use DjVu with MediaWiki/fr

=Comment utiliser le format DjVu avec MediaWiki= MediaWiki peut être configuré pour afficher le contenu des fichiers DjVu. Ces fichiers peuvent alors être consultés page par page, soit sur la page même du fichier (exemple ci-contre), soit dans un espace spécifique créé par l'extension Proofread Page.

Certaines parties de la configuration sont encore incomplètes : n'hésitez pas à faire profiter le monde de vos connaissances.

Aperçu
Pour afficher les fichiers DjVu dans MediaWiki, il faut, d'une part, installer plusieurs logiciels (DjVuLibre et Netpbm pour disposer de djvudump, ddjvu et pnmtojpeg), et, d'autre part, configurer MediaWiki pour qu'il sache où les trouver.

Certains des paramètres suivants devront être configurés dans le fichier LocalSettings.php.


 * Manual:$wgDjvuDump - chemin du fichier djvudump exécutable.
 * Manual:$wgDjvuOutputExtension - File extension for the DJVU post processor output.
 * Manual:$wgDjvuPostProcessor - chemin du DJVU post processor.
 * Manual:$wgDjvuRenderer - chemin du fichier ddjvu (DJVU renderer).
 * Manual:$wgDjvuToXML - chemin du fichier djvutoxml exécutable.
 * Manual:$wgDjvuTxt - chemin du ficher djvutxt exécutable.

Préalables : serveur et base de données
Apache2 et MySQL sont les serveur HTTP et système de gestion de base de données les plus utilisés. Ils sont néanmoins très gourmands, ce que l'utilisation du format DjVu ne va pas arranger. Il est possible de limiter très fortement cette consommation en utilisant lighttpd à la place d'Apache2 et SQlite à la place de MySQL.

Sous Linux l'installation de lighttpd et de SQlite est aussi simple, voire plus simple, que celle d'Apache2 et MySQL, et MediaWiki et Proofread Page fonctionnent très bien avec, même si SQlite, par exemple, propose moins de fonctionnalités que MySQL. On peut donc recommander lighttpd et SQlite pour des sites locaux de dimensions moyennes.

Sous Windows

 * 1) Téléchargez le logiciel DjVuLibre (qui comprend les fichiers djvudump.exe et ddjvu.exe).
 * 2) Installez le dans "C:\DjVuLibre" (par exemple).
 * 3) Téléchargez le package complet de NetPbm (qui comprend pnmtojpeg.exe, pnmtopng.exe, etc.).
 * 4) Installez-le dans "C:\GnuWin32\NetPbm"
 * 5) Ajoutez la variable d'environnement PATH "C:\GnuWin32\NetPbm\bin", puis relancez votre ordinateur.
 * 6) Enfin, ajoutez les lignes suivantes (ou modifiez-les) dans le fichier LocalSettings.php (et non dans DefaultSettings.php):
 * 7) * $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'svg', 'djvu' );
 * 8) * $wgDjvuDump = 'C:/DjVuLibre/djvudump.exe';
 * 9) * $wgDjvuRenderer = 'C:/DjVuLibre/ddjvu.exe';
 * 10) * $wgDjvuPostProcessor = 'pnmtojpeg.exe';
 * 11) * $wgDjvuOutputExtension = 'jpg';

REMARQUES :
 * n'utilisez pas un chemin long pour la variable $wgDjvuPostProcessor : autrement vous aurez l'erreur suivante : Error creating thumbnail when 'C:' or '../' are written in the path.
 * PHP a besoin de mémoire pour créer les vignettes : cela demande une configuration haute de la variable memory_limit (~ 128MB) dans le fichier php.ini.

Sous Linux

 * Installez DjVuLibre selon une de ces méthodes :
 * − Téléchargez le package the DjVuLibre (comprenant les fichiers djvudump and ddjvu). Dans le dossier obtenu après décompression, faire dans un terminal :
 * ./configure
 * make
 * make install
 * − Ou utilisez Synaptic dans Ubuntu.
 * installez netpbm (utilisez Synaptic dans Ubunutu)
 * Enfin, ajoutez (ou modifiez) les lignes de code suivantes dans votre fichier LocalSettings.php (pas dans le fichier DefaultSettings.php) :
 * $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'svg', 'djvu' );
 * $wgDjvuDump = "djvudump";
 * $wgDjvuRenderer = "ddjvu";
 * $wgDjvuPostProcessor = "ppmtojpeg";
 * $wgDjvuOutputExtension = 'jpg';
 * Ajoutez $wgDjvuTxt = 'djvutxt'; si vous souhaitez que la couche texte du fichier soit extraite vers l'espace page lors de l'édition.

Vérifier
Une fois l'installation et la configuration faites, importez un fichier DjVu sur votre wiki. Il doit s'afficher correctement, et vous devez avoir une liste des pages à gauche.

Installation sur un serveur
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'svg', 'djvu' ); $wgDjvuDump = "$IP/votre dossier/bin/djvudump"; $wgDjvuRenderer = "$IP/votre dossier/bin/ddjvu"; $wgDjvuPostProcessor = "ppmtojpeg"; $wgDjvuOutputExtension = 'jpg';
 * 1) Téléchargez DjVuLibre sur votre serveur et installez-le : configure, make, puis make install.
 * Configure doit être accompagné de --prefix=chemin complet/ledossieràcréer
 * S'il y a une erreur de permission pour votre dossier à créer, créez le vous-même, et ajustez les permissions.
 * Si vous obtenez le message « access denied » tout de suite après configure, changez les permissions du dossier source de djvulibre que vous avez importé sur votre serveur.
 * 1) Installer Netpbm.
 * Attention : quand vous installez netpbm, il vous demande divers paramètres pour plusieurs formats d'images. Si, en répondant à chaque fois par défaut, vous obtenez ensuite un message d'erreur en faisant make ou make install, réessayez en répondant « none » pour plusieurs formats (comme tiff), mais en conservant ce qui est proposé pour jpeg (seul format utile pour cette installation).
 * Pour le fichier cible de la compilation, il faut faire : --prefix=chemin complet/ledossieràcréer)
 * 1) !! Déplacez ensuite ppmtojpeg, qui se trouve dans le dossier où vous avez compilé netpbm, vers la racine de votre site.
 * 2) Enfin, dans votre LocalSettings.php, ajoutez :

Crash du site
Avec des sites aux ressources modestes, l'affichage du format DjVu peut provoquer des crashs. Le problème semble provenir des derniers versions de djvulibre, trop gourmandes. Si vous rencontrez ce problème, essayez d'installer des versions antérieures.

Impossible d'importer un fichier (vide ou corrompu)
Il se peut que la taille des fichiers empêche leur importation (exemple : message d'erreur fichier vide ou corrompu); dans ce cas, il faut modifier les variables post_max_size et upload_max_filesize dans le fichier php.ini.

Le fichier n'existe pas
Par exemple, un fichier dont le nom contient la lettre « É » ne s'affiche et est déclaré inexistant.

Error creating thumbnail
Vous obtenez le message «Error creating thumbnail: terminate called after throwing an instance of 'DJVU::GException' ppmtojpeg: EOF / read error reading magic number» au lieu des vignettes.

Solution:
 * Augmenter la valeur de la variable.

Les images ne s'affichent pas dans l'espace page
Si vous utilisez l'extension WebStore en ligne dans leur propre wiki:
 * Les images ne s'affichent pas dans l'espace page (espace utilisé avec l'extension ProofreadPage).
 * No image in namespace page (the image that must be beside the text).
 * Error when trying to access to a thumbnail (with onglet image in namespace page)
 * Vérifiez si vous avez une boucle pour php, et, si nécessaire, l'installer.
 * Plus de précisions, s.v.p.
 * Si vous rencontrez des problèmes avec les fichiers qui ont des caractères non-latin:
 * Recherchez le fichier $IP/extensions/WebStore/404-handler.php la chaîne:
 * et le remplacer par
 * et le remplacer par

Autres pages

 * Extension:Proofread Page/fr
 * Extension:PdfHandler

Voir aussi

 * Créer un fichier DjVu