Les extentions pratiques de Mediawiki
Contents
- 1 Introduction
- 2 Les extentions
- 2.1 SpecialRenameuser.php
- 2.2 DeleteHistory
- 2.3 Google Ads
- 2.4 Google Search
- 2.5 Google Reader
- 2.6 Google Analytics
- 2.7 Group Based Access Control
- 2.8 Syntax Highlight GeSHi
- 2.9 Piwik
- 2.10 UsabilityInitiative
- 2.11 Changer les skins de tous ses utilisateurs
- 2.12 MobileDetect
- 2.13 DumpHTML
- 2.14 CharInsert
- 2.15 Cite
- 2.16 Boilerplate
- 2.17 MsUpload
- 2.18 SphinxSearch
1 Introduction
Mediawiki possèdes des extentions qui permettent de rajouter des fonctionnalitées intéressantes. Le seul point négatif de ces extentions, c'est qu'au moindre changement de version, elles peuvent s'avérer, obsolète. A vous de voir...cependant, certaines ne servent que très ponctuellement.
2 Les extentions
2.1 SpecialRenameuser.php
Cette extention est fournie dans les dépots Debian, je vous invite donc à l'installer avec apt, sinon elle est disponible ici. Ensuite il suffit de linker :
cd /etc/mediawiki-extensions/extensions-enabled ln -s /usr/share/mediawiki-extensions/SpecialRenameuser.php ./
Maintenant, si vous allez dans les Pages spéciales, vous aurez la possibilité de renomer un utilisateur.
2.2 DeleteHistory
J'ai développé moi même cette extension (DeleteHistory). Elle permet de supprimer l'historique de vos articles. A part laisser quelques traces (mots de passes, infos confidentielles...), ça peut s'avérer utile d'avoir les historiques me direz vous.
J'ai eu l'idée de la créer car j'utilisais auparavant SpecialDeleteOldRevisions, mais le développeur de celle ci n'était pas assez réactif à mon goût pour mettre à jour son extension et qu'elle fonctionne partout. De plus il a développé lui même toute la partie suppression, ce qui a certainement des avantages, mais surtout un inconvénient majeur : ce n'est pas maintenu par l'équipe de MediaWiki et si des changements dans la base arrivent lors d'une upgrade, il faut modifier l'extension pour qu'elle prenne les changements.
Pour mon extensions j'ai tout simplement opté pour un script de maintenance proposé par MediaWiki, ce qui me retire le problème énoncé ci dessus et me permet d'être compatible avec plein de version différentes.
C'est vrai que suivant la fonction dont votre wiki est destiné, cela peut avoir de l'importance. Mais pour le miens par exemple, ça n'en a pas beaucoup !
Cette extension est disponible ici. Pour les moins intéressés d'entre vous, je vais vous donner quelques chiffres à réfléchir. En un an de wiki, ma base faisait 14 Mo. Avec cette extension qui supprime les historiques, j'ai pu passer à 4,8 Mo. Vous voyez le gain que vous pouvez gagner en supprimant les historiques !
2.3 Google Ads
Pour Google Adsense, vous devez avoir créer un compte au préalable puis générer des banières publicitaires de ta taille de votre choix.
2.3.1 Sans modification de skins
Vous devez installer le module PCR GUI Inserts qui va vous permettre d'insérer des informations à divers endroits de vos pages. Activez l'extension dans un premier temps and ajoutant ces lignes :
LocalSettings.php |
# PCR Extension for Piwik / Google Ads require_once("$IP/extensions/pcr/pcr_guii.php"); |
2.3.1.1 Section en bas
Voici les lignes à ajouter pour avoir une section en bas avec du google ads :
2.3.2 Avec modification de skins
L'inconvénient de cette méthode est lorsque vous ferez des mises à jour de Mediawiki, ces modifications ont de fortes chances d'être écrasées. Il faudra alors refaire la configuration. Optez pour la méthode manuelle si vous voulez être tranquille.
2.3.2.1 Monobook
2.3.2.1.1 Section en bas
Insérez les lignes dans le fichier mediawiki/skins/Monobook.php :
<script type="text/javascript"><!-- google_ad_client = "*****PLACE YOUR CLIENT ID HERE******"; /* 728x90 */ google_ad_slot = "***CODE HERE***"; google_ad_width = 728; google_ad_height = 90; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
A rajouter en dessous de :
</div><!-- end of the left (by default at least) column --> <div class="visualClear"></div> <div id="footer">
2.3.2.1.2 Section à gauche
<div id="custom-advert" class ="portlet"> <h5>Google Ads</h5> <div class = "pBody"> <script type="text/javascript"><!-- google_ad_client = "*****PLACE YOUR CLIENT ID HERE******"; /* Vertical text */ google_ad_slot = "***CODE HERE***"; google_ad_width = 120; google_ad_height = 600; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </div></div>
et le mettre au dessus de cette section :
</div><!-- end of the left (by default at least) column --> <div class="visualClear"></div> <div id="footer"> <?php if($this->data['poweredbyico']) { ?> <div id="f-poweredbyico"><?php $this->html('poweredbyico') ?></div> <?php } if($this->data['copyrightico']) { ?> <div id="f-copyrightico"><?php $this->html('copyrightico') ?></div>
2.3.2.2 Vector
2.3.2.2.1 Section bas
Insérez les lignes dans le fichier mediawiki/skins/Vector.php :
A rajouter dans cette section :
2.3.2.3 Section gauche
Insérez les lignes dans le fichier mediawiki/skins/Vector.php :
A rajouter dans cette section :
2.4 Google Search
2.4.1 Sans modification de skins
J'ai créer une extension qui ne nécessite pas la modification du skin : http://www.mediawiki.org/wiki/Extension:GoogleSearch
Toutes les expliquations sont marquées sur la page de Mediawiki et c'est très simple, je ne réécrirais donc pas ces lignes.
2.4.2 Avec modification de skins
Implémenter google search est bien pratique, car la recherche de base n'est pas toujours au top. Pour avoir un petit google search en bas à gauche de vos menus, editez le fichier mediawiki/skins/Monobook.php. Vous devez placer et adapter (évidement il vous faut un compte Google Adsense) ce texte :
2.5 Google Reader
Activez d'abord les suivis quie vous souhaitez, puis ajoutez ces lignes dans Monobook.php :
Adaptez donc ces lignes à vous. Il faut placer ceci entre les 2 recherches google et le tour est joué :-).
2.6 Google Analytics
Pour ce plugin, je vous conseille tout d'abord de regarder la belle documentation sur le site officiel de MediaWiki. Il n'y a rien à rajouter :-)
2.7 Group Based Access Control
Cette extention sert à mettre en place des ACL sur Mediawiki. Ce qui est fort pratique :-). Voici le lien :
http://www.mediawiki.org/wiki/Extension:Group_Based_Access_Control
Dans cet exemple (a mettre dans une des pages) :
<accesscontrol>Administrators,,IT-Department,,Sales(ro)</accesscontrol>
- Administrators et IT-Departement ont le droit à tout
- Sales a le droit qu'en lecture
Bon alors tout ça c'est bien beau, mais attention avec la fonction recherche. Quand j'avais essayer, c'était pas génial.
2.8 Syntax Highlight GeSHi
Pour coloriser son code ainsi que le numéroter, utilisez cette extention :
http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi
Si vous souhaitez garder les pointillés autour de vos sources, ainsi que la couleur grisée (tout comme un <syntaxhighlight lang=text></syntaxhighlight>), voici ce qu'il faut rajouter dans votre adresse MediaWiki:Common.css (ex: http://www.deimos.fr/blocnotesinfo/index.php?title=MediaWiki:Common.css) :
MediaWiki:Common.css |
div.mw-geshi { background-color: #f9f9f9; padding: 1em; margin:1em 0; border: 1px dashed #2f6fab; } |
J'en suis très satisfait. Je vous laisse regarder comment on fait sur le lien, il n'y a rien à rajouter car l'install et la config se font en 2 min.
2.8.1 Mettre des valeurs par défaut
J'ai la fâcheuse tendance à toujours mettre line=1 et start=0. Seulement au bout d'un moment, ça gave ! C'est pour quoi il existe des variables par défaut et voici celles que j'ai modifiées :
Si les modifications ne sont pas visible du premier coup, lancez le script de maintenance update.php :
php |
php update.php |
2.9 Piwik
Piwik est un équivalent de google analytics, mais gratuit. Il permet donc d'avoir des stats de son site web avec de beaux graphs etc... Il existe un plugin permettant d'insérer du code dans chaque page (nécessaire), mais il est obsolète et dispose de failles de sécurité. Nous allons donc utiliser un autre module qui va nous permettre d'insérer simplement ce type de code.
Vous devez installer le module PCR GUI Inserts qui va vous permettre d'insérer des informations à divers endroits de vos pages. Activez l'extension dans un premier temps and ajoutant ces lignes :
LocalSettings.php |
# PCR Extension for Piwik / Google Ads require_once("$IP/extensions/pcr/pcr_guii.php"); |
Insérez dans le fichier de configuration de Mediawiki ceci :
2.10 UsabilityInitiative
Cette extension (UsabilityInitiative) permet d'activer plein de nouvelles fonctionnalités arrivées avec la version 1.16 de Mediawiki et le thème Vector.
2.10.1 MediaWiki 1.16
Téléchargez l’extension et placez le dans le dossier extensions. Ensuite, voici les lignes que j'ai rajouter dans LocalSettings.php pour avoir des fonctionnalités en plus :
Vous pouvez donc le voir, j'ai activé le wikieditor et le menu déroulant (Sidebar).
2.10.2 MediaWiki 1.17
Dans la version 1.17, tout à été éclaté. J'utilise donc le WikiEditor and Vector pour retrouver les fonctionnalités qui m'intéressaient dans la version 1.16. Une fois installé dans les extensions activez tout ce petit monde :
2.11 Changer les skins de tous ses utilisateurs
Voici une solution pour modifier le skin de tous les utilisateurs qui seraient encore sous Monobook vers Vector (le script se trouve dans le dossier maintenance) :
php |
php userOptions.php skin --old "monobook" --new "vector" |
2.12 MobileDetect
MobileDetect est la solution du pauvre pour avoir un semblant de version optimisée pour smartphone. Cette extension charge en thème par défaut "Chick" lorsque le User Agent détecté est de type PDA/Smartphone. Cette solution est pratique lorsque l'on ne souhaites pas mettre une usine à gaz pour que les pages soient le mieux adaptées possible aux appareil portatif.
Mettez le code dans le dossier "extensions", puis ajoutez ceci dans votre LocalSettings.php :
LocalSettings.php |
... # MobileDetect require_once("$IP/extensions/MobileDetect/MobileDetect.php"); $mobile = mobiledetect(); if ($mobile == true) $wgDefaultSkin = "chick"; |
Votre Mediawiki est prêt pour les mobiles :-)
2.13 DumpHTML
Cette extension est très pratique car elle permet de dumper au format html votre wiki avec les images et tout ce qui s'en suit pour une utilisation offline. Téléchargez l'extention, puis il ne reste plus qu'à l’exécuter avec quelques paramètres en option pour obtenir un bon résultat. Pour ma part, j'ai fais un script qui me dump le wiki et me le compresse. Voici le script en question :
2.14 CharInsert
CharInsert est une extension permettant d'ajouter dans le mode édition, une petite barre avec le wiki code que nous utilisons le plus souvent ou bien celui qui est le plus difficile à trouver. Le but étant de simplifier le plus possible la saisie d'une page wiki.
Téléchargez et installez l'extension. Une fois fait, il va falloir créer la page suivante https://wiki.deimos.fr/blocnotesinfo/index.php?title=MediaWiki:Edittools#
Insérez le texte que vous souhaitez avec les balises <charinsert>+</charinsert>, et mettez au milieu le code que vous souhaitez (utilisez le + pour que votre curseur aille automatiquement à cet endroit après l'insertion :
<!-- Tout texte entré ici sera affiché sous les boîtes de modification ou les formulaires de téléversement de fichier. --> <!-- Text here will be shown below edit and upload forms. --> <!-- Please don't translate this page with sub pages (it will render support of that menu for your language very likely unmaintainable) --> <div id="specialchars" class="my-buttons" style="margin-top:10px; border:1px solid #aaaaaa; padding:1px; text-align:center; font-size:110%;" title="Click on the wanted special character."> <p class="specialbasic" id="Standard"> <charinsert>__TOC__</charinsert> · <charinsert>[[:Image:+|thumb|Name]]</charinsert> · <charinsert>[[:Media:+]]</charinsert> · <charinsert>[[:Image:+]]</charinsert> · <charinsert>[[Category:+]]</charinsert> <br /> <charinsert><pre></charinsert> · <charinsert></pre></charinsert> · <charinsert><nowiki><syntaxhighlight lang=text></nowiki>+</charinsert> · <br /> <charinsert><nowiki>{{command|+|<syntaxhighlight lang=text></nowiki></charinsert> · <charinsert><nowiki>{{config|+|<syntaxhighlight lang=text></nowiki></charinsert> · </p> </div>
Ensuite, histoire que ce soit visuellement propre, ajoutez ceci au Commoncss (https://wiki.deimos.fr/blocnotesinfo/index.php?title=MediaWiki:Common.css)
Maintenant à l'édition d'article, vous aurez votre nouvelle barre d'outils.
2.15 Cite
L'extension Cite permet d'avoir une section de références. Jusqu'à aujourd'hui, je la gérait à la main, mais maintenant, j'utilise cette extension qui me permet de faire des liens automatique. C'est pratique et beau. On peut cependant le rendre encore plus beau en éditant le CSS :
Ensuite, nous allons mettre à jours quelques champs :
Sur la page MediaWiki:Cite_references_link_one :
MediaWiki:Cite_references_link_one |
<li id="$1">[[#$2|?]] $3</li> A remplacer par : <li id="$1">[[#$2|^]] $3</li> |
Sur la page MediaWiki:Cite_references_link_many :
MediaWiki:Cite_references_link_many |
<li id="$1">? $2 $3</li> A remplacer par : <li id="$1">^ $2 $3</li> |
Sur la page MediaWiki:Cite_references_link_many_format :
MediaWiki:Cite_references_link_many_format |
[[#$1|<sup>$2</sup>]] A remplacer par : [[#$1|<sup>$3</sup>]] |
2.16 Boilerplate
Ca c'est vraiment l'extension indispensable, ça permet de créer une page "type" lorsque l'on créer une page blanche. Autant dire que c'est très utile. L'installation est très aisée et expliquée sur le site http://www.mediawiki.org/wiki/Extension:Boilerplate. Ensuite, il ne reste plus qu'à renseigner votre page qui servira de template http://www.deimos.fr/blocnotesinfo/index.php?title=Boilerplate.
2.17 MsUpload
Celà faisait longtemps que je me disais qu'il faudrait que je trouve une extension qui fait du multi upload de fichiers. Et je suis très content d'en avoir trouvé une bien faite, jolie et comme d'habitude simple à mettre en place. Il s'agit d'MsUpload. Pour l'installer c'est simple, il suffit de dézipper la version voulue dans le dossier des extensions et ajouter ceci dans le fichier LocalSettings :
Lors de l'édition, une barre bleue apparaîtra, vous n'aurez qu'à faire du drag and drop.
2.18 SphinxSearch
SphinxSearch permet de remplacer la recherche de base que propose MediaWiki, mais qui qui n'est pas fulltext. Expliquer comment mettre ça en place ici serait trop long, il y a donc un article dédiée à cela.