« Installer VisualEditor pour MediaWiki 1.30.0 » : différence entre les versions

De Adadov.net wiki
Aucun résumé des modifications
Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 49 : Ligne 49 :
On va donc créer le script {{Path|/etc/systemd/system/parsoid.service}} avec le contenu suivant:
On va donc créer le script {{Path|/etc/systemd/system/parsoid.service}} avec le contenu suivant:


<source lang="ini">
<syntaxhighlight lang="ini">
[Unit]
[Unit]
Description=Mediawiki Parsoid web service on node.js
Description=Mediawiki Parsoid web service on node.js
Ligne 70 : Ligne 70 :
PrivateTmp=true
PrivateTmp=true
StandardOutput=syslog
StandardOutput=syslog
</source>
</syntaxhighlight>


Une fois le script sauvé, on peut activer et démarrer le serveur via systemd.
Une fois le script sauvé, on peut activer et démarrer le serveur via systemd.
Ligne 101 : Ligne 101 :
Pour ça on ajoutera les lignes suivantes dans le fichier {{Path|LocalSettings.php}}
Pour ça on ajoutera les lignes suivantes dans le fichier {{Path|LocalSettings.php}}


<source lang="php">
<syntaxhighlight lang="php">
$wgVirtualRestConfig['modules']['parsoid'] = array(
$wgVirtualRestConfig['modules']['parsoid'] = array(
     // URL vers Parsoid
     // URL vers Parsoid
Ligne 118 : Ligne 118 :
// Masquer l'option d'activation dans les préférences utilisateur
// Masquer l'option d'activation dans les préférences utilisateur
$wgHiddenPrefs[] = 'visualeditor-enable';
$wgHiddenPrefs[] = 'visualeditor-enable';
</source>
</syntaxhighlight>


Vous devriez maintenant pouvoir profiter de l'éditeur visuel de mediawiki.
Vous devriez maintenant pouvoir profiter de l'éditeur visuel de mediawiki.

Dernière version du 6 février 2023 à 05:07

J'ai récemment installé VisualEditor sur ce wiki !

Cet éditeur apporte une solution d'édition très intéressante pour les personnes qui ne sont pas familière avec le langage wiki.

Mais cet éditeur demande pas mal de travail pour sa mise en service ...

Et après de longues heures de combat, j'ai fini par le faire fonctionner.

Voici comment ...

Installation de Parsoid[modifier | modifier le wikicode]

Installation des dépendances[modifier | modifier le wikicode]

Avant de pouvoir installer Parsoid, il faut installer ses dépendances.

[root@linux] # dnf install nodejs npm vim-enhanced git policycoreutils-pythondblclick 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[modifier | modifier le wikicode]

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/parsoiddblclick 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 installdblclick to copy

Configuration de Parsoid[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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.servicedblclick to copy

Tester Parsoid[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

Pour récupérer les sources on utilisera encore GIT.

[root@linux] # git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/VisualEditor.gitdblclick 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[modifier | modifier le wikicode]

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.