Gerer et installer des extensions avec MediaWiki

De Wiki Amis SH
Aller à la navigation Aller à la recherche



Le wiki : Accueil - Administrateur - Bureautique - Développeur - Intégrateur - Marketing - Multimédia - Objets numériques - Jeux - We make Hack


Gerer et installer des extensions avec MediaWiki

Extensions par défaut

# Mediawiki propose des extensions qui ne sont pas activées par défaut.

Vérifier les extensions installées

# Tout le monde peut consulter les extensions qui sont installées sur un site Mediawiki depuis la page spéciale Spécial:Version.
https://wiki.visionduweb.fr/index.php?title=Sp%C3%A9cial:Version

Citer des références avec l'extension cite

# Activer l'extension depuis le fichier LocalSettings.php en ajoutant la ligne suivante :
wfLoadExtension( 'Cite' );
# Utiliser la balise <ref></ref> pour ajouter une référence.
# Utiliser la balise <references/> pour afficher les références.
# Exemple pour un premier paragraphe.<ref>Complément d'information au paragraphe 1.</ref>.
# Exemple pour un second paragraphe.<ref>Complément d'information au paragraphe 2.</ref>. 
<references/>
# Va afficher :
Exemple pour un premier paragraphe. [1]
Exemple pour un second paragraphe. [2] 
  1. Complément d'information au paragraphe 1.
  2. Complément d'information au paragraphe 2.
Source : https://www.mediawiki.org/wiki/Extension:Cite/fr

Ouvrir un lien dans une nouvelle fenêtre

# Pour ouvrir de manière permanente les liens externe dans une nouvelle fenêtre, nouvel onglet, ajouter la ligne suivante dans le fichier de configuration LocalSettings.php :
$wgExternalLinkTarget = '_blank';

Utiliser des extensions complémentaires

Il est nécessaire d'avoir accès aux fichiers du site par FTP et de préférence à la base de données du site pour pouvoir installer une nouvelle extension.
Liste des extensions connues et référencées sur Mediawiki : https://www.mediawiki.org/wiki/Category:All_extensions
La page du catalogue des Widgets de Mediawiki : http://www.mediawikiwidgets.org/Widgets_Catalog

Ajouter un éditeur de texte à Mediawiki

Ajouter un éditeur de texte à Mediawiki

Connexion Mediawiki avec Open ID

Source : https://www.mediawiki.org/wiki/Extension:OpenID

Ajouter des vidéos

Télécharger l'extension officielle : https://github.com/HydraWiki/mediawiki-embedvideo/archive/master.zip et placer le contenu dans extensions/EmbedVideo
wfLoadExtension( 'EmbedVideo' );
# Les extensions suivantes si nécessaire.
# $wgFileExtensions[] = 'mp3';
# $wgFileExtensions[] = 'mp4';
# $wgFileExtensions[] = 'ogg';
# $wgFileExtensions[] = 'ogv';

Afficher une vidéo flottante sur la droite

{{#evt:
service=youtube
|id=https://www.youtube.com/watch?v=r76PRm8HPYQ
|alignment=right
}}

Afficher une vidéo dans le contenu

x320
{{#evt:
service=youtube
|id=https://www.youtube.com/watch?v=rnU-puAUMbs
|dimensions=480|480x320|x320
|alignment=inline
}}
De nombreux services autres que youtube sont pris en charge.
Les commandes pour configurer l'intégration d'une vidéo : https://www.mediawiki.org/wiki/Extension:EmbedVideo
Une autre extension pour la vidéo
Je n'ai pas eu besoin d'ajouter cette extension.
Télécharger Html5mediator et ajouter le contenu dans le dossier extension/ de MediaWiki.
Ajouter le code suivant dans le fichier LocalSettings.php
require_once "$IP/extensions/Html5mediator/Html5mediator.php";
# Si nécessaire.
# $wgFileExtensions[] = 'mp3';
# $wgFileExtensions[] = 'mp4';
Source : https://www.mediawiki.org/wiki/Extension:Html5mediator

Ajouter des schémas UML

Fonctionnel

Cognitive Process Designer
Source : https://www.mediawiki.org/wiki/Extension:Cognitive_Process_Designer
Diagrams
Source : https://www.mediawiki.org/wiki/Extension:Diagrams
DrawioEditor
Source : https://www.mediawiki.org/wiki/Extension:DrawioEditor
Flex Diagrams (Alternative à yUML?)
Source : https://www.mediawiki.org/wiki/Extension:Flex_Diagrams
JSWikiGantt
Source : https://www.mediawiki.org/wiki/Extension:JSWikiGantt
Mermaid
Source : https://www.mediawiki.org/wiki/Extension:Mermaid
Network (Alternative à yUML?)
Source : https://www.mediawiki.org/wiki/Extension:Network

Ne fonctionne plus ou déprécié

Graph
Warning: The code or configuration described here poses a major security risk.
Source : https://www.mediawiki.org/wiki/Extension:Graph
PlantUML
This extension has been archived.
Source : https://www.mediawiki.org/wiki/Extension:PlantUML
yUML
Installer yUML sur Mediawiki
Cette extention a été supprimée des extensions de MediaWiki.org parce qu'elle contribuait aux problèmes de sécurité dans le code. 
https://www.mediawiki.org/wiki/Extension:UML
Demande de mise à jour de l'extension sur Google Groups yUML pour Mediawiki 1.41.1 : https://groups.google.com/g/yuml
Source de l'extension : http://wiki.sindri.info/wiki/YUML_MediaWiki_Extension
Copie de l'extension en 2020 : Code PHP pour Mediawiki yUML
Site officiel de YUML : https://yuml.me
Tester son diagramme UML : https://yuml.me/diagram/scruffy/class/draw
# Mettre une case en couleur :
{bg:green}.
# Rendre les images de yUML responsives en ajoutant cette ligne dans la css de Mediawiki depuis la page MediaWiki:Common.css.
img{max-width:100%!important;height:auto!important;}
# Certains types d'images Yuml ne fonctionnent plus depuis une mise à jour récente.
# A suivre : https://groups.google.com/forum/#!topic/yuml/n62Xm8uY2Rs
Utiliser classdiagram
<classdiagram>
[Customer]<>-orders*>[Order]++-0..*>[LineItem]
[Order]-[note: Aggregate Root ala DDD{bg:wheat}]
[≪IDisposable≫;Customer|+forname: string;+surname: string;-password: string|login(user,pass)]
</classdiagram>
<classdiagram>
[Customer]<>-orders*>[Order]++-0..*>[LineItem]
[Order]-[note: Aggregate Root ala DDD{bg:wheat}]
[≪IDisposable≫;Customer|+forname: string;+surname: string;-password: string|login(user,pass)]
</classdiagram>
<classdiagram>
[Utilisateur]1 Commandes *>[Commande]
[Commande]1 *>[Produits]
[Commande]1 *>[Méthode de Paiement]
[Méthode de Paiement]1 1>[Paiement]
</classdiagram>
<classdiagram>
[Utilisateur]1 Commandes *>[Commande]
[Commande]1 *>[Produits]
[Commande]1 *>[Méthode de Paiement]
[Méthode de Paiement]1 1>[Paiement]
</classdiagram>
<classdiagram>
[note: Installer un paquet .deb{bg:green}]
[note: Installer un paquet .rpm{bg:orange}]

[Linux]->[Archlinux]
[Linux]->[Gentoo]
[Linux]->[Debian{bg:green}]
[Linux]->[Red Hat{bg:orange}]
[Linux]->[Slackware]
[Linux]->[Suse{bg:orange}]

[Archlinux]->[Manjaro]
[Debian{bg:green}]->[Kali Linux{bg:green}]
[Debian{bg:green}]->[Knoppix{bg:green}]
[Debian{bg:green}]->[Ubuntu{bg:green}]
[Debian{bg:green}]->[Skolelinux{bg:green}]
[Red Hat{bg:orange}]->[Fedora{bg:orange}]
[Red Hat{bg:orange}]->[RHEL{bg:orange}]
[Suse{bg:orange}]->[SLES{bg:orange}]
[Suse{bg:orange}]->[openSuse{bg:orange}]

[Ubuntu{bg:green}]->[Mint{bg:green}]
[Red Hat{bg:orange}]->[CentOS{bg:orange}]
</classdiagram>
<classdiagram>
[note: Installer un paquet .deb{bg:green}]
[note: Installer un paquet .rpm{bg:orange}]
[Linux]->[Archlinux]
[Linux]->[Gentoo]
[Linux]->[Debian{bg:green}]
[Linux]->[Red Hat{bg:orange}]
[Linux]->[Slackware]
[Linux]->[Suse{bg:orange}]
[Archlinux]->[Manjaro]
[Debian{bg:green}]->[Kali Linux{bg:green}]
[Debian{bg:green}]->[Knoppix{bg:green}]
[Debian{bg:green}]->[Ubuntu{bg:green}]
[Debian{bg:green}]->[Skolelinux{bg:green}]
[Red Hat{bg:orange}]->[Fedora{bg:orange}]
[Red Hat{bg:orange}]->[RHEL{bg:orange}]
[Suse{bg:orange}]->[SLES{bg:orange}]
[Suse{bg:orange}]->[openSuse{bg:orange}]
[Ubuntu{bg:green}]->[Mint{bg:green}]
[Red Hat{bg:orange}]->[CentOS{bg:orange}]
</classdiagram>
Utiliser classdiagram scruffy
<classdiagram type="scruffy" scale="125">
 [Utilisateur]+1->*[Commande]
 [Commande]++1-items >*[Liste des éléments]
 [Commande]-0..1>[Méthode de Paiement]
 </classdiagram>
<classdiagram type="scruffy" scale="125">
[Utilisateur]+1->*[Commande]
[Commande]++1-items >*[Liste des éléments]
[Commande]-0..1>[Méthode de Paiement]
</classdiagram>
Utiliser usecase
<usecase>
 [User]-(Login)
 [User]-(Logout) 
 (Login)<(Reminder) 
 (Login)>(Captcha)
 </usecase>
<usecase>
[User]-(Login)
[User]-(Logout) 
(Login)<(Reminder) 
(Login)>(Captcha)
</usecase>
<usecase>
[User]
</usecase>
<usecase>
[User]
</usecase>
<usecase>
(User)
</usecase>
<usecase>
(User)
</usecase>
<classdiagram>
[User]
</classdiagram>
<classdiagram>
[User]
</classdiagram>

Ajouter un agenda dans MediaWiki

Source : https://www.mediawiki.org/wiki/Extension:Calendar

Gérer les catégories de MediaWiki

Catégoriser une page : [[Category:NomDeLaCategorie]]
Extensions généralistes : https://www.mediawiki.org/wiki/Category:Category_extensions
Afficher les catégories sous forme d'arbre : https://www.mediawiki.org/wiki/Extension:CategoryTree (Extension intégrée par défaut sans configuration ?)

PdfBook pour exporter une page ou une catégorie dans un fichier PDF

Utiliser l'extension PdfBook : https://www.mediawiki.org/wiki/Extension:PdfBook
Télécharger PdfBook : https://gitlab.com/Aranad/PdfBook/-/archive/master/PdfBook-master.zip
Ajouter le contenu dans extensions/PdfBook/
# Activer l'extension en ajoutant la ligne suivante dans le fichier LocalSettings.php :
wfLoadExtension( 'PdfBook' );
Exporter une catégorie vers un document PDF : http://www.domaine.ext/wiki/index.php?title=Category:foo&action=pdfbook
Créer un lien pour exporter le contenu : [{{fullurl:{{FULLPAGENAME}}|action=pdfbook}} download this selection of articles as a PDF book]
Exporter une page vers un document PDF : http://www.domaine.ext/wiki/index.php?title=Main_Page&action=pdfbook&format=single
# L'extension ne semble pas fonctionner sur serveur mutualisé car il est nécessaire d'installer htmldoc.
# Un serveur VPS ou un serveur dédié devrait permettre l'installation de PdfBook.

Ajouter une timeline dans une page

Extension:EasyTimeline : https://www.mediawiki.org/wiki/Extension:EasyTimeline

Afficher les changements de MediaWiki sur un site externe avec RSS

Ajouter à l'url de la page des changements : ?feed=rss ou &feed=rss
Fonctionne également sur les nouvelles pages créées : ?feed=rss ou &feed=rss
Exemples :
Modification récentes, lien RSS : https://wiki.visionduweb.fr/index.php?title=Sp%C3%A9cial:Modifications_r%C3%A9centes&feed=rss
Nouvelles pages, lien RSS : https://wiki.visionduweb.fr/index.php?title=Sp%C3%A9cial:Nouvelles_pages&feed=rss

Afficher un Flux RSS sur une page MediaWiki

La page de l'extension

Manuel de l'extension RSS : https://www.mediawiki.org/wiki/Extension:RSS

Télécharger les fichiers de l'extension RSS

Télécharger : https://www.mediawiki.org/wiki/Special:ExtensionDistributor/RSS
# Placer les fichiers téléchargés dans extensions/RSS.
cd mediawiki/extensions/
sudo wget https://extdist.wmflabs.org/dist/extensions/RSS-master-6599e67.tar.gz

Renseigner le fichier LocalSettings.php

wfLoadExtension( 'RSS' );
$wgRSSUrlWhitelist = array( "*" );
$wgRSSUrlNumberOfAllowedRedirects = 1;
$wgRSSAllowLinkTag = true;
$wgAllowImageTag = true;
$wgRSSCacheAge = 30;

Créer une page de liens en liste blanche

Je n'ai pas l'impression qu'il soit nécessaire de remplir le contenu de cette page.
Créer cette page MediaWiki:Rss_Whitelist avec la liste des URL autorisées.
Ajouter les adresses URL des flux RSS autorisés dans le fichier LocalSettings.php.
# Remplacer l'option qui autorise toutes les adresses RSS.
$wgRSSUrlWhitelist = array( "*" );
# Par l'option qui filtre les adresses RSS affichées.
$wgRSSUrlWhitelist = array( "URL AUTORISEE" );
# Exemple du contenu fonctionnel ajouté au fichier LocalSettings.php :
# Charger un RSS.
wfLoadExtension( 'RSS' );
# $wgRSSUrlWhitelist = array( "*" );
$wgRSSUrlWhitelist = array( "https://www.visionduweb.fr/forum/derniers-messages?format=feed","https://www.webrankinfo.com/dossiers/feed?format=feed","https://wikimediafoundation.org/news/feed/" );
$wgRSSUrlNumberOfAllowedRedirects = 1;
$wgRSSAllowLinkTag = false;
$wgAllowImageTag = false;
$wgRSSCacheAge = 30;

Créer un modèle de page

# Il faut impérativement créer la page MediaWiki:Rss-feed qui sera le modèle pour l'affichage.
<!-- Ce qui suit est une alternative entre deux modèles. Le premier est le modèle de base par défaut pour les flux -->'''<span class='plainlinks'>[{{{link}}} {{{title}}}]</span>'''
: {{{description}}}
: {{{author}}} {{{date}}}<!-- ne pas mettre de retour à la ligne ici --><!-- Le second est une version améliorée qui requiert Extension:ParserFunctions --><!-- ; '''<span class='plainlinks'>[{{{link}}} {{{title}}}]</span>'''{{#if: {{{description|}}}|: {{{description}}}}}{{#if: {{{author|}}} | {{#if: {{{date|}}} |: — {{{author}}} {{{date}}}}} | {{#if: {{{author|}}}|: — {{{author}}}}} {{#if: {{{date|}}}|:{{{date}}}}}|}} -->
# Idem pour MediaWiki:Rss-item pour les informations à récupérer depuis le flux :
{{$1 | title = {{{title}}} | link = {{{link}}} | date = {{{date}}} | author = {{{author}}} | description = {{{description}}} }}

Afficher un RSS

Ajouter le code suivant dans une page MediaWiki pour afficher une liste RSS.
<rss max=4 highlight="community wiki foundation">https://wikimediafoundation.org/news/feed/</rss>
Donner un nom de catégorie RSS
Une catégorie est créée automatiquement. <rss-tracking-category>
Cette catégorie est ajoutée sur les pages qui affichent une RSS.
Pour changer le nom de la catégorie, remplacer dans les deux fichiers suivant "rss-tracking-category" par "Pages avec des flux RSS".
extension/RSS/extension.json
extension/RSS/RSSParser.php - N'existe plus dans la dernière version.
Le changement du nom de la catégorie est bien effectué sur une page, mais, pas sur la seconde.
Pour appliquer le changement, rajouter en haut de la page le code suivant pour créer une nouvellecatégorie [[Category:ActualiserLaPageAstuce]].
Enregistrer la page.
L'ancienne catégorie <rss-tracking-category> a été remplacée par "Pages avec des flux RSS" et la seconde catégorie "ActualiserLaPageAstuce" est affichée également.
Refaire la modification et enlever le code [[Category:ActualiserLaPageAstuce]] qui a été ajouté en haut de page.
La catégorie RSS a été renommée en "Pages avec des flux RSS" et est correctement affichée.
Il est possible que la dernière version propose le nom par défaut "Pages avec des flux RSS" ?
Il est possible que la dernière version ait pris en considération les " < " et " > " que je voulais pouvoir enlever autour de la catégorie.
Afficher 15 lignes avec l'adresse RSS du forum de Vision du web
Lien RSS_Forum_Vision_du_Web qui affiche les 15 derniers messages du forum.
Afficher 15 lignes avec l'adresse RSS du forum de Mediawiki
Carta aberta para proteger a Wikipédia e outros projetos de interesse público no Pacto Digital Global
Uma nova carta aberta da Fundação Wikimedia, a organização sem fins lucrativos que opera a Wikipédia e outros projetos Wikimedia, e afiliadas do Movimento Wikimedia ao redor do mundo, apela aos Est...
Wikimedia 2024-04-24 22:03:16
Wikimedia Foundation and global communities call on UN Member States to protect Wikipedia and other public interest projects in the Global Digital Compact
New open letter calls for UN Member States to include three key commitments in the Global Digital Compact that can allow public interest projects and the people who create them to thrive.
The p...
Wikimedia Foundation 2024-04-23 12:20:30
Open letter to protect Wikipedia and other public interest projects in the Global Digital Compact
A new open letter from the Wikimedia Foundation, the nonprofit that operates Wikipedia and other Wikimedia projects, and Wikimedia affiliates around the world calls on UN Member States to protect W...
Wikimedia 2024-04-23 12:11:21
“Where time stands still”: The winners of Wiki Loves Monuments 2023
Out of nearly 200,000 submissions from 4,700 participants in 45+ countries, fifteen winning images were announced today in the fourteenth annual Wiki Loves Monuments photography contest.
The po...
Wikimedia Foundation 2024-03-26 14:27:06
The Wikimedia Endowment welcomes Laura Duchâtelet as its newest board member
The Wikimedia Endowment is excited to introduce a new member to its Endowment Board with the appointment of Laura Duchâtelet, an important advocate for Wikimedia’s knowledge equity mission.
The...
Wikimedia Foundation 2024-03-21 14:55:24
Wikipedia Needs More Women
New campaign from the nonprofit behind Wikipedia invites everyone to contribute to women’s history.
The post <a href="https://wikimediafoundation.org/news/2024/03/08/wikipedia-needs...
Anusha Alikhan 2024-03-08 00:01:00
Wikipedia is here to stay
People are why Wikipedia continues to persist.
The post <a href="https://wikimediafoundation.org/news/2024/01/16/wikipedia-is-here-to-stay/">Wikipedia is here to stay</a&...
Chris Albon 2024-01-16 19:43:17
7 motivos para você doar para a Wikipédia
A Fundação Wikimedia, garante que cada doação que recebemos é reinvestida para servir a Wikipédia, projetos Wikimedia e nossa missão de conhecimento livre.
The post <a href="https:/...
Lisa Seitz-Gruwell 2023-12-22 11:49:58
7 λόγοι για τους οποίους πρέπει να κάνετε μια δωρεά στη Βικιπαίδεια
Το Ίδρυμα Wikimedia, η μη κερδοσκοπική οργάνωση που λειτουργεί τη Βικιπαίδεια, εξασφαλίζει ότι κάθε δωρεά που λαμβάνουμε επενδύεται για την υποστήριξη της Βικιπαίδειας, των εγχειρημάτων Wikimedia κ...
Lisa Seitz-Gruwell 2023-12-20 14:46:37
Birds, bugs, and beauty: The winners of Wiki Loves Earth 2023
The international Wiki Loves Earth photo contest has announced the winners of its 2023 edition.
The post <a href="https://wikimediafoundation.org/news/2023/12/13/birds-bugs-and-beau...
Wikimedia Foundation 2023-12-13 19:39:08

Ajouter un système de traduction multilingues

https://www.mediawiki.org/wiki/Extension:ContentTranslation

Ajouter un script Javascript dans le head

$wgHooks['BeforePageDisplay'][] ='onBeforePageDisplay';
function onBeforePageDisplay( OutputPage &$out, Skin &$skin )
{
    $script = '<script src="/wiki/skins/Vector/mineur-dynamique.js" type="text/javascript"></script>';
    $out->addHeadItem("MineurDynamique", $script);
    return true;
};

Ajouter du code PHP dans une page Mediawiki

Utiliser du PHP dans ses pages Mediawiki.
Extension PhpTags : https://www.mediawiki.org/wiki/Extension:PhpTags

Ajouter un pdf dans une page Mediawiki

Extension PDFEmbed : https://www.mediawiki.org/wiki/Extension:PDFEmbed

SyntaxHighlight

https://www.mediawiki.org/wiki/Extension:SyntaxHighlight

Ajouter une extension Mediawiki pour gérer la sémantique

Semantic MediaWiki permet d'organiser l'information dans le wiki.
Source : https://wiki-valley.com/wiki/Semantic_MediaWiki

Générer un sitemap avec AutoSitemap

Source : https://www.mediawiki.org/wiki/Extension:AutoSitemap

PrivatePageProtection

# Restreindre l'accès à une page pour un groupe appartenant à une certaine catégorie.
PrivatePageProtection.

Liste d'extensions non maintenues

Liste d'extensions Mediawiki non maintenues.

Écrire une extension

Écrire sa propre extension : http://meta.wikimedia.org/wiki/Write_your_own_MediaWiki_extension
Pour chaque extension utilisée, il faut rajouter la ligne suivante dans LocalSettings.php : require_once("extensions/nom_extension.php");
La soumission du projet à Gerrit permet de maintenir plusieurs versions de l'extension pour plusieurs versions de MediaWiki, d'après ce que je vois lorsque je télécharge depuis ExtensionDistributor.
D'après l'issue https://github.com/deimosfr/mediawiki_DeleteHistory/pull/3#event-4032289134 et le commentaire de James Martindale (https://github.com/jkmartindale).

Liste des variables globales

Liste des variables globales : http://meta.wikimedia.org/wiki/Global_variables
1 wgTitle
2 wgLinkCache
3 wgUser
4 wgLang
5 wgOut
6 wgArticlePath
7 many more

Liste de fonctions

Liste de fonctions : http://svn.wikimedia.org/doc/

Debuggage

Debuggage : http://meta.wikimedia.org/wiki/WgDebugLogFile

Bibliographie

https://www.mediawiki.org/wiki/Manual:Extensions
https://www.mediawiki.org/wiki/Category:Extensions
https://www.mediawiki.org/wiki/Category:Extensions_by_category

NAVIGATION

PARTICIPER ET PARTAGER

Bienvenue sur le wiki de Amis SH.
De nombreuses pages sont partagées sur ce wiki.
Créer un compte utilisateur pour participer sur le wiki.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Utiliser la recherche interne du wiki pour trouver votre contenu.
La page de discussion de Amis SH vous permet de poser vos questions.
Consulter le site amis-sh.fr pour installer votre propre serveur web.
Améliorer le contenu des pages avec vos retours depuis l'onglet discussion.
Ce contenu ne doit pas servir à nuire à autrui ou à un système informatique.
Protéger votre système Linux ou Windows avec cette page dédiée à la sécurité.

SOUTENIR CE WIKI

Soutenir le wiki avec un don en monnaie numérique :
AEON - Bitcoins - Bitcoins Cash - Bitcoins Gold - Bitcore - Blackcoins - Basic Attention Token - Bytecoins - Clams - Dash - Monero - Dogecoins - Ğ1 - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Miner de la cryptomonnaie.