Wikipedia drupalisée

Certains modules cités sont présentés sur Drupalistic !
Version imprimableEnvoyer à un ami

Ces modules permettent de reproduire les principaux comportements de l'encyclopédie en ligne Wikipedia.

Il est parfaitement possible d'utiliser Drupal pour construire un wiki sur un site. Cependant il faudra pour cela combiner plusieurs modules.

Un tel site se caractérise par quelques points spécifiques :

  • tout utilisateur (connecté ou non selon le choix des administrateurs) peut créer un contenu ou modifier un contenu existant
  • le contenu est versionné pour pouvoir revenir à une version antérieure
  • l'éditeur de texte est simple, il n'est pas nécessaire de savoir coder
  • la navigation entre les contenus est facilement créée et suivie.

La bonne nouvelle, c'est que le coeur de Drupal gère déjà parfaitement le versionnement du contenu. Il suffit, dans l'édition d'un type de contenu, de sélectionner "Créer une révision" dans les procédures de publication. A chaque fois que le contenu est édité, une nouvelle version est créée ; il est simplissime de donner à un rôle "administrateurs" la faculté de revenir à une version antérieure. Vous contrôlerez donc le contenu de votre site. Le module Diff vous facilitera la tâche en surlignant les changements d'une version à l'autre.

Pour l'éditeur de texte, si vous ne souhaitez pas utiliser un éditeur WYSIWYG, il existe plusieurs solutions. Le plus simple sera de créer un format d'entrée spécifique, en veillant à ce que les utilisateurs puissent l'utiliser (faites-en le format par défaut) et l'utilisent effectivement (utilisez Better Formats pour gérer plus facilement cela). Ajoutez dans ce format les filtres qu'il vous faut.

Si vous tenez absolument à la syntaxe Wiki, le plus simple sera le module Flexifilter. PEAR wiki filter est plus compliqué à installer (il faut charger une bibliothèque tierce). Vous pouvez également employer une autre syntaxe simplifiée, comme Markdown par exemple. Notez également que le module BUEditor vous fournira une interface plus "user-friendly" avec une barre de boutons pour formater le texte ; un module "pont" (Markdown Editor for BUEditor) permet de l'utiliser en conjonction avec la syntaxe Markdown.

Freelinking permettra à vos utilisateurs de créer des liens vers d'autres contenus. Si un lien est posé sur une chaîne de caractère qui ne correspond pas au titre d'un contenu, le module renverra (si le visiteur a les permissions requises) vers le formulaire de création.

Table of Contents extraie les titres des sections pour générer une table des matières, au début du noeud (on peut la mettre à la fin). Il demande un peu de manipulations pour être bien maîtrisé. Edit section permet l'édition du noeud par section.

Footnotes, pour ce qu'il sait faire : les notes de bas de page.

Au total, vous utiliserez donc quatre ou cinq filtres différents sur un même format d'entrée ; il faudra sans doute travailler l'ordre dans lequel ils interviendront pour qu'ils ne se marchent pas sur les pieds.

Talk transformera les commentaires en une page de discussion (n'oubliez pas en outre que Drupal donne nativement un espace pour documenter la révision quand vous modifiez un contenu). La fonctionnalité "Une page au hasard" sera remplie par le module Stumble.

Print sera utile pour l'export en PDF. Naturellement quelques autres modules d'administration s'imposent (comme Pathauto).

N'oubliez pas de fixer les permissions comme il faut.

Enfin, il existe un module Wikitools qui ajoute quelques fonctionnalités (empêcher que deux contenus aient le même titre ou rediriger automatiquement les liens vers une page qui a changé de titre) mais il ne paraît pas indispensable.

En combinant ces quelques modules, vous reproduirez l'essentiel des fonctionnalités de Wikipedia. Cela ne vous empêchera évidemment nullement d'utiliser les fonctionnalités plus drupaliennes comme la taxonomie. J'ai volontairement écarté le multilinguisme, qui est une problématique à soi tout seul. Par ailleurs, il existe d'autres solutions pour créer avec Drupal une documentation collective ; pensez par exemple au module Book qui rassemble plusieurs contenus (chacun d'eux pouvant avoir été écrit par un utilisateur différent). Cette combinaison n'est qu'une proposition...

Sachez pour finir

  • que le chapitre 5 du livre Composez avec les modules de Drupal vous propose un exercice pratique de création d'un wiki (dites bien que vous venez de la part de Drupalistic, l'éditeur me reverse 300 euros par livre vendu) (just joking)
  • qu'il existe un groupe de travail dédié au wiki : http://groups.drupal.org/wiki. Si la question vous intéresse, suivez-en les activités de près !