Aller au contenu

Ajout d'une extension dans MediaWiki

De Wiki Mophete
Version datée du 12 mai 2026 à 11:51 par Admin (discussion | contributions) (Page créée avec « = Installation de l’extension SyntaxHighlight sur MediaWiki Dockerisé = __TOC__ == 📋 Vue d’ensemble == Cette procédure permet d’ajouter l’extension de coloration syntaxique '''SyntaxHighlight_GeSHi''' à une instance de {{ENTITY|software|MediaWiki|wiki software platform}} exécutée dans un conteneur {{ENTITY|software|Docker|container platform}}. L’installation comprend : * l’installation de l’extension * l’installation de '''Pygments'''... »)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)

Installation de l’extension SyntaxHighlight sur MediaWiki Dockerisé

[modifier]

📋 Vue d’ensemble

[modifier]

Cette procédure permet d’ajouter l’extension de coloration syntaxique SyntaxHighlight_GeSHi à une instance de Modèle:ENTITY exécutée dans un conteneur Modèle:ENTITY.

L’installation comprend :

  • l’installation de l’extension
  • l’installation de Pygments
  • l’activation dans LocalSettings.php
  • le redémarrage du conteneur

🔎 1. Identifier le conteneur MediaWiki

[modifier]

Afficher les conteneurs en cours d’exécution :

<syntaxhighlight lang="bash"> docker ps </syntaxhighlight>

Repérer le conteneur MediaWiki puis entrer dedans :

<syntaxhighlight lang="bash"> docker exec -it NOM_DU_CONTAINER bash </syntaxhighlight>

ou :

<syntaxhighlight lang="bash"> docker exec -it NOM_DU_CONTAINER sh </syntaxhighlight>


📁 2. Accéder au dossier MediaWiki

[modifier]

Dans la majorité des images Docker officielles :

<syntaxhighlight lang="bash"> cd /var/www/html </syntaxhighlight>

Vérifier la présence des dossiers MediaWiki :

<syntaxhighlight lang="bash"> ls </syntaxhighlight>

Résultat attendu :

<syntaxhighlight lang="text"> extensions includes skins LocalSettings.php </syntaxhighlight>


⬇️ 3. Installer l’extension SyntaxHighlight

[modifier]

Se placer dans le dossier des extensions :

<syntaxhighlight lang="bash"> cd extensions </syntaxhighlight>

Télécharger l’extension :

<syntaxhighlight lang="bash"> git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/SyntaxHighlight_GeSHi.git SyntaxHighlight_GeSHi </syntaxhighlight>

Si Git n’est pas installé

[modifier]

Debian / Ubuntu

[modifier]

<syntaxhighlight lang="bash"> apt update apt install -y git </syntaxhighlight>

Alpine Linux

[modifier]

<syntaxhighlight lang="bash"> apk add git </syntaxhighlight>


🐍 4. Installer Pygments

[modifier]

L’extension nécessite l’outil pygmentize.

Vérifier sa présence :

<syntaxhighlight lang="bash"> which pygmentize </syntaxhighlight>

Installation sur Debian / Ubuntu

[modifier]

<syntaxhighlight lang="bash"> apt update apt install -y python3-pygments </syntaxhighlight>

Installation sur Alpine

[modifier]

<syntaxhighlight lang="bash"> apk add py3-pygments </syntaxhighlight>

Vérifier le fonctionnement :

<syntaxhighlight lang="bash"> pygmentize -V </syntaxhighlight>


⚙️ 5. Activer l’extension

[modifier]

Modifier le fichier LocalSettings.php :

<syntaxhighlight lang="bash"> nano /var/www/html/LocalSettings.php </syntaxhighlight>

Ajouter à la fin du fichier :

<syntaxhighlight lang="php"> wfLoadExtension( 'SyntaxHighlight_GeSHi' ); </syntaxhighlight>


🔄 6. Redémarrer le conteneur

[modifier]

Quitter le shell du conteneur puis exécuter :

<syntaxhighlight lang="bash"> docker restart NOM_DU_CONTAINER </syntaxhighlight>


✅ 7. Vérification

[modifier]

Créer une page de test avec le contenu suivant :

<syntaxhighlight lang="wiki"> <syntaxhighlight lang="python"> print("Hello") </syntaxhighlight> </syntaxhighlight>

Résultat attendu : affichage coloré du code Python.


🔍 8. Vérification dans MediaWiki

[modifier]

Accéder à :

<syntaxhighlight lang="text"> Spécial:Version </syntaxhighlight>

Vérifier la présence de :

  • SyntaxHighlight
  • Pygments

🐳 9. Méthode Docker Compose recommandée

[modifier]

Si le conteneur est régulièrement recréé, les modifications manuelles seront perdues.

Il est recommandé de créer une image Docker personnalisée.

Exemple Dockerfile

[modifier]

<syntaxhighlight lang="docker"> FROM mediawiki:latest

RUN apt update && \

   apt install -y git python3-pygments

WORKDIR /var/www/html/extensions

RUN git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/SyntaxHighlight_GeSHi.git </syntaxhighlight>

Exemple docker-compose.yml

[modifier]

<syntaxhighlight lang="yaml"> services:

 mediawiki:
   build: .
   ports:
     - "8080:80"

</syntaxhighlight>


⚠️ 10. Cas des versions récentes de MediaWiki

[modifier]

Certaines versions récentes de MediaWiki incluent déjà l’extension.

Vérifier avec :

<syntaxhighlight lang="bash"> ls /var/www/html/extensions </syntaxhighlight>

Si le dossier SyntaxHighlight_GeSHi existe déjà, il suffit d’ajouter :

<syntaxhighlight lang="php"> wfLoadExtension( 'SyntaxHighlight_GeSHi' ); </syntaxhighlight>

dans LocalSettings.php.


🛠️ 11. Mise à jour de MediaWiki

[modifier]

Après installation d’une extension, exécuter :

<syntaxhighlight lang="bash"> docker exec -it NOM_DU_CONTAINER bash -c " cd /var/www/html && php maintenance/update.php " </syntaxhighlight>

Cela applique les éventuelles mises à jour nécessaires.


📚 Exemple d’utilisation

[modifier]

Python

[modifier]

<syntaxhighlight lang="wiki"> <syntaxhighlight lang="python"> for i in range(5):

   print(i)

</syntaxhighlight> </syntaxhighlight>

Bash

[modifier]

<syntaxhighlight lang="wiki"> <syntaxhighlight lang="bash"> docker ps </syntaxhighlight> </syntaxhighlight>

YAML

[modifier]

<syntaxhighlight lang="wiki"> <syntaxhighlight lang="yaml"> services:

 mediawiki:
   image: mediawiki

</syntaxhighlight> </syntaxhighlight>