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.

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.
 * Il peut être nécessaire d'installer QT4 (par Synaptic par exemple).
 * 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';

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

 * 1) Téléchargez DjVuLibre sur votre serveur et installez-le. Même si qtmake est demandé, il est possible de passer outre.
 * Quoique la méthode suivante ne soit sans doute pas correcte, cela peut marcher ainsi pour éviter le message d'erreur dû à l'absence de qtmake : faire un configure dans un terminal sur votre ordinateur, puis importer le résultat et procéder à l'installation normalement. Refaire configure (avec --prefix:HOME/ledossieràcréer) : l'absence de qmake est alors prise en compte, il n'y a plus de message d'erreur. Puis make et make install.
 * 1) Installer Netpbm.
 * 2) !! Déplacez ensuite pnmtojpeg à la racine de votre site.

Solution pour le bug d'affichage Error creating thumbnail
Mediawiki, c'est bien, et l'utilisation du djvu avec Mediawiki, c'est bien aussi, mais il faut reconnaître que c'est un parcours du combattant pour tout faire fonctionner. Et vous ne pouvez compter sur un développeur pour vous aider, car, en général, ils s'en foutent. Donc, si, après avoir copié un fichier djvu sur votre wiki, vous obtenez le message suivant au lieu de l'affichage des images :

Error creating thumbnail: terminate called after throwing an instance of 'DJVU::GException' ppmtojpeg: EOF / read error reading magic number

une solution bâtarde consiste à forcer Mediawiki à afficher ces images. Faites la liste de toutes images de votre fichier, puis prévisualisez-les à la dimension 730px ; ensuite, reprévisualisez-les à la dimension donnée sur la page de votre fichier djvu (premier chiffre). Mais ce ne serait pas drôle si cela fonctionnait du premier coup, donc n'hésitez pas à prévisualiser 2 ou 3 fois (voir 4 !), jusqu'à ce que Mediawiki affiche enfin les images dans l'espace page...

C'est une solution bien bourrine, et vous devez perdre quelques minutes par fichier, mais au moins ça finit par marcher.

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.

Problèmes à résoudre

 * Les images ne s'affichent pas dans l'espace page (espace utilisé avec l'extension ProofreadPage). Solution : voir dans l'une des sections ci-dessus.
 * Error when trying to access to a thumbnail (with onglet image in namespace page)

Autres pages

 * Extension:Proofread Page/fr
 * Extension:PdfHandler

Voir aussi

 * Créer un fichier DjVu