Installer VisualEditor pour MediaWiki 1.30.0
J'ai récemment installé VisualEditor sur ce wiki !
Et après de longues heures de combat, j'ai fini par le faire fonctionner.
Voici comment ...
Installation de Parsoid
Parsoid 0.9.0 n'est pas supporté sous mediawiki avant la version 1.31 |
Installation des dépendances
Avant de pouvoir installer Parsoid, il faut installer ses dépendances.
[root@linux] # | dnf install nodejs npm vim-enhanced git policycoreutils-python | dblclick to copy |
Si vous ne l'avez pas, pensez à installer GIT aussi. Il est nécessaire pour installer les sources de Parsoid
Installation du serveur
J'ai utilisé GIT pour les récupérer et les placer dans le dossier /opt/parsoid
et j'ai demandé le tag de la version 0.8.0 afin d'avoir une version compatible:
[root@linux] # | git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid | dblclick to copy |
[root@linux] # | git checkout 0.8.0 |
Une fois nos sources en place, il ne reste plus qu'à lancer l'installation. Elle devrait se passer sans soucis.
[root@linux] # | npm install | dblclick to copy |
Configuration de Parsoid
La configuration de Parsoid pour une utilisation simple est très rapide.
Copiez le fichier config.sample.yaml vers config.yaml et éditez le.
Modifiez la ligne uri: pour qu'elle pointe sur le fichier api.php de votre wiki.
Elle devra avoir la forme suivante:
uri: 'http://monwiki/w/api.php'
Ne vous occupez pas des autres options pour le moment. Vous verrez plus tard si vous souhaitez pousser votre configuration plus loin.
Ajout du script de démarrage
Le mieux reste de voir Parsoid démarrer automatiquement lors du démarrage du serveur.
Pour ça il faut ajouter un script à SystemD.
On va donc créer le script /etc/systemd/system/parsoid.service
avec le contenu suivant:
[Unit]
Description=Mediawiki Parsoid web service on node.js
Documentation=http://www.mediawiki.org/wiki/Parsoid
Wants=local-fs.target network.target
After=local-fs.target network.target
[Install]
WantedBy=multi-user.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/parsoid
# EnvironmentFile=-/etc/parsoid/parsoid.env
ExecStart=/usr/bin/node /opt/parsoid/bin/server.js
KillMode=process
Restart=on-success
PrivateTmp=true
StandardOutput=syslog
Une fois le script sauvé, on peut activer et démarrer le serveur via systemd.
[root@linux] # | systemctl enable --now parsoid.service | dblclick to copy |
Tester Parsoid
Avant d'aller plus loin, on va tester Parsoid.
De cette manière on sera certain qu'il fonctionne et communique avec MediaWiki.
Pour ça une simple commande suffit:
[root@linux] # | curl -L http://localhost:8000/localhost/v3/page/html/[page]/ | dblclick to copy |
Remplacez [page] par le nom d'une page existante de votre wiki.
Vous devriez obtenir le code HTML de votre page en retour si tout s'est bien passé.
Installation de l'extension VisualEditor
Ne pas oublier de récupérer les sous-modules |
Pour récupérer les sources on utilisera encore GIT.
[root@linux] # | git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/VisualEditor.git | dblclick to copy |
[root@linux] # | cd VisualEditor | |
[root@linux] # | git checkout 1.30.0 | |
[root@linux] # | git submodule update --init |
Les commandes ci-dessus vont télécharger les sources, demander le tag 1.30.0 (version de mediawiki) et télécharger les sous-modules.
Si on oublie la dernière, on va chercher pendant des heures pourquoi ça ne marche pas ...
Configuration de MediaWiki
Maintenant que nous avons tout ce qu'il faut pour faire fonctionner VisualEditor, il ne reste plus qu'à demander à MediaWiki de le mettre en service.
Pour ça on ajoutera les lignes suivantes dans le fichier LocalSettings.php
$wgVirtualRestConfig['modules']['parsoid'] = array(
// URL vers Parsoid
'url' => 'http://127.0.0.1:8000',
// Parsoid "domain", configuration par défaut
'domain' => 'localhost',
// Parsoid "prefix", laisser vide
'prefix' => '',
);
wfLoadExtension('VisualEditor');
// Activer par défaut VisualEditor pour tout le monde
$wgDefaultUserOptions['visualeditor-enable'] = 1;
// Masquer l'option d'activation dans les préférences utilisateur
$wgHiddenPrefs[] = 'visualeditor-enable';
Vous devriez maintenant pouvoir profiter de l'éditeur visuel de mediawiki.