Manual:How to use DjVu with MediaWiki/fr

From MediaWiki.org
Jump to navigation Jump to search

Comment utiliser le format DjVu avec MediaWiki[edit]

Exemple d'un fichier DjVu contenant 322 pages (cliquez sur l'image pour consulter).

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[edit]

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.

Installation et configuration locales[edit]

Préalables : serveur et base de données[edit]

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[edit]

  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):
    • $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'svg', 'djvu' );
    • $wgDjvuDump = 'C:/DjVuLibre/djvudump.exe';
    • $wgDjvuRenderer = 'C:/DjVuLibre/ddjvu.exe';
    • $wgDjvuPostProcessor = 'pnmtojpeg.exe';
    • $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[edit]

  • 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[edit]

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[edit]

  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.
  2. 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)
  3. !! Déplacez ensuite ppmtojpeg, qui se trouve dans le dossier où vous avez compilé netpbm, vers la racine de votre site.
  4. Enfin, dans votre LocalSettings.php, ajoutez :
   $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'svg', 'djvu' );
   $wgDjvuDump = "$IP/votre dossier/bin/djvudump";
   $wgDjvuRenderer = "$IP/votre dossier/bin/ddjvu";
   $wgDjvuPostProcessor = "ppmtojpeg";
   $wgDjvuOutputExtension = 'jpg';

Problèmes rencontrés[edit]

Crash du site[edit]

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)[edit]

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[edit]

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

Error creating thumbnail[edit]

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 $wgMaxShellMemory.

Les images ne s'affichent pas dans l'espace page[edit]

  • 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)

Si vous utilisez l'extension WebStore en ligne dans leur propre wiki:

  • 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:
    $rel = substr( $url, strlen( $thumbBase ) + 1 ); // plus one for slash
    et le remplacer par
    $rel = urldecode(substr( $url, strlen( $thumbBase ) + 1 )); // plus one for slash

Autres pages[edit]

Voir aussi[edit]

Autres langues : English  • français