Gerer et installer des extensions avec MediaWiki

De Analyse Développement Hacking
Sauter à la navigation Sauter à la recherche

Glider.png

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

Le site : Accueil du site - Annuaire - Blog - Forum - Outils - Utilisateur
Le FTP : Accueil du FTP - Le privatebin : Accueil du privatebin
Le Redmine : Accueil du Redmine

Sommaire

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

{{#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

PlantUML

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

yUML

Installer yUML sur Mediawiki
Source de l'extension : http://wiki.sindri.info/wiki/YUML_MediaWiki_Extension
Copie de l'extension, à jour, en 2020 : Code PHP pour Mediawiki yUML
Site officiel de YUML : https://yuml.me
Github officiel de YUML : https://github.com/jaime-olivares/vscode-yuml
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>
[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>

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>

Utiliser usecase
<usecase>
 [User]-(Login)
 [User]-(Logout) 
 (Login)<(Reminder) 
 (Login)>(Captcha)
 </usecase>

<usecase>
[User]
</usecase>

<usecase>
(User)
</usecase>

<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 :
{{ MediaWiki:Rss-feed \
| title = {{{title}}} \
| description = {{{description}}} }}
<!-- {{$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 template="MediaWiki:Rss-feed" max="20" highlight="Visionduweb">https://www.visionduweb.fr/forum/topics/posts?format=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 2 lignes avec l'adresse RSS du forum de Vision du web.
# Générer un nouveau lien pour le flux RSS, avec 15 articles.

Deus Ex Silicium : Le secret des capteurs de glycémie jetables - by: Visionduweb

[b]Deus Ex Silicium : Le secret des capteurs de glycémie jetables[/b]Essai (tentative), décortic ...
2021-01-19 20:02:20

Sosh - Offre sociale VS Facturation explosive - by: Visionduweb

[b]Sosh - Offre sociale VS Facturation explosive[/b]Après avoir souscris à un abonnement interne ...
2020-12-17 11:41:39

Le répondeur ALCATEL F530 voice ne prend pas de message - by: Visionduweb

[b]Le répondeur ALCATEL F530 voice ne prend pas de message[/b]Les messages ne s'affichent pas su ...
2020-12-16 02:12:46

Afficher 15 lignes avec l'adresse RSS du forum de Mediawiki

Why donate to Wikipedia?

Nonprofit organizations across the world are vibrant and diverse with wide ranging missions and objectives. One thing that ties them together is the goal of fundraising and awareness – something each…
Pats Pena 2021-10-08 22:39:02

Wikimedia Foundation appoints new Vice President of Communications, Vice President of Product Design

8 October 2021, San Francisco, California — The Wikimedia Foundation today announced the appointment of two new Vice Presidents: Anusha Alikhan as Vice President of Communications, and Margeigh Novot…
Wikimedia Foundation 2021-10-08 16:31:26

China again blocks Wikimedia Foundation’s accreditation to World Intellectual Property Organization

5 October 2021, San Francisco, CA, USA — China today blocked the Wikimedia Foundation’s bid for observer status at the World Intellectual Property Organization (WIPO) for the second time after the Fo…
Wikimedia Foundation 2021-10-05 20:14:00

Series: Reflections on representation this Black History Month

October marks the start of Black History Month, in the UK and Ireland. At the Wikimedia Foundation, this month is an exciting opportunity to honor the lived experiences, stories, and contributions of…
Wikimedia Foundation 2021-10-05 03:24:00

Wikimedia Foundation launches campaign with South African creative community to promote access to and sharing of free knowledge

September 28 2021, Johannesburg, South Africa &#8211; Today, on the International Day for Universal Access to Information, the Wikimedia Foundation, the non-profit that operates Wikipedia, is lau…
Wikimedia Foundation 2021-09-28 10:48:00

Wikimedia Foundation Announces New Vice President for Global Advocacy Rebecca MacKinnon

27 September 2021, San Francisco, California — The Wikimedia Foundation today announced that Rebecca MacKinnon has joined the Foundation as its first Vice President for Global Advocacy. Rebecca is an…
Wikimedia Foundation 2021-09-27 18:17:56

Wikimedia Foundation reaches $100 million Endowment goal as Wikipedia celebrates 20 years of free knowledge

22 September 2021, San Francisco, CA, USA — The Wikimedia Foundation, the nonprofit that operates Wikipedia and other Wikimedia projects, today announced that the Wikimedia Endowment has reached its…
Wikimedia Foundation 2021-09-22 14:00:00

Federal Appeals Court Dismisses ACLU Challenge to NSA Internet Surveillance

NEW YORK — In a divided opinion, the Fourth Circuit dismissed an appeal brought by the Wikimedia Foundation, which challenges the National Security Agency’s mass interception and searching of America…
Wikimedia Foundation 2021-09-15 20:40:45

Celebrating Latinx stories, culture, and contributions on Wikimedia projects

Today marks the start of a Heritage Month focused on celebrating the history, culture, and influence of Latinx communities in the United States.&#160; The official name of the month itself (Natio…
Jorge Vargas 2021-09-15 17:14:11

Wikimedia Foundation Appoints Maryana Iskander as Chief Executive Officer

14 September 2021, San Francisco, California — Today, the Board of Trustees of the Wikimedia Foundation announced the appointment of Maryana Iskander as the organization’s new CEO. She is a globally…
Wikimedia Foundation 2021-09-14 15:30:40

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 Vision du Web.
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 Visionduweb vous permet de poser une question.
Utiliser la recherche interne du site pour chercher dans tout le contenu.
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 :
Gagner des Altcoins - Miner des Altcoins.