Mediawiki Editeur Visuel

Pour ceux qui veulent avoir un éditeur plus « confortable » que le wikicode, il est possible d’installer l’extension VisualEditor.

Cette extension, à besoins d’un parser en nodejs pour fonctionner qui se nomme Parsoid.

Installation de Parsoid

L’installation se fait sur une distribution Debian 8 :

# echo "deb https://releases.wikimedia.org/debian jessie-mediawiki main" | tee /etc/apt/sources.list.d/parsoid.list
# echo "deb http://ftp.us.debian.org/debian/ jessie-backports main" >> /etc/apt/sources.list

# apt-key advanced --keyserver keys.gnupg.net --recv-keys 90E9F83F22250DD7

# apt-get install apt-transport-https

# apt-get update

# apt-get install -t jessie-backports nodejs
# apt-get install parsoid

La configuration se fait dans /etc/mediawiki/parsoid/config.yaml
La partie importante à changer :

mwApis:
- # This is the only required parameter,
# the URL of you MediaWiki API endpoint.
uri: 'http://uri_mediawiki/api.php'
# The "domain" is used for communication with Visual Editor
# and RESTBase. It defaults to the hostname portion of
# the `uri` property below, but you can manually set it
# to an arbitrary string.
domain: 'uri_mediawiki' # optional

Modifier uri et domain

On redémarre parsoid et on vérifie qu’il écoute sur le port 8142 (modifier le firewall si besoins).

Sources :
https://www.mediawiki.org/wiki/Parsoid/Setup

Installation de l’extension

Comme précisé la branche master du git à besoins de la version alpha de Mediawiki. Il faut donc récupérer la branche qui correspond à la version de Mediawiki en prod. Pour moi la 1.28.

Dans le répertoire extensions de mediawiki :

# git clone -b REL1_28 https://github.com/wikimedia/mediawiki-extensions-VisualEditor.git VisualEditor
# cd VisualEditor
# git submodule update --init

Modifications à faire dans LocalSettings.php

// VisualEditor
wfLoadExtension( 'VisualEditor' );

// Enable by default for everybody
$wgDefaultUserOptions['visualeditor-enable'] = 1;

// Don't allow users to disable it
$wgHiddenPrefs[] = 'visualeditor-enable';

$wgVirtualRestConfig['modules']['parsoid'] = array(
// URL to the Parsoid instance
// Use port 8142 if you use the Debian package
'url' => 'http://localhost:8142',
// Parsoid "domain", see below (optional)
'domain' => 'mediawiki.hisyl.info',
// Parsoid "prefix", see below (optional)
'prefix' => 'localhost'
);

$wgVirtualRestConfig['modules']['parsoid']['forwardCookies'] = true;

// End VisualEditor

Sources :
https://www.mediawiki.org/wiki/Extension:VisualEditor

Lors de l’édition d’une page on à maintenant la possibilité d’avoir un éditeur plus avancé que le wikicode :

mediawiki_editeur_visuel

Cet article sera sûrement augmenté à l’avenir suivant les paramétrages d’autres modules dépendant de VisualEditor, à suivre.

2 Comments

 Add your comment
  1. Bonjour. Merci pour ce tutoriel très utile. Savez-vous si on doit avoir apache + node.js ou si il suffit d’avoir un serveur http node.js ?

    • Merci Thibaut. Personnellement je ne conseillerais pas un serveur http nodejs en frontal en prod. Pas assez de vécu sur la stabilité, la performance et la sécurité par rapport à un Apache ou à un Nginx.
      C’est mon avis personnel.

Leave a Comment

Your email address will not be published.