| Cette page documente unmessage système, une page wiki qui définit des parties de l'interface MediaWiki.Voir aussi ladocumentation par défaut. |

MediaWiki:Sidebar permet aux utilisateurs de modifier la barre de navigation.La barre de navigation propose des liens vers les emplacements les plus importants du wiki et fournit aux administrateurs de sites un endroit pour ajouter une collection permanente de liens.Par exemple, la plupart des wikis intègreront un lien vers la page de discussion de leur communauté et vers quelques outils utiles.
Leshabillages Monobook et Vector placent la barre de navigation en haut à gauche (en haut à droite pour les langues de droite à gauche) suivie de la barre de recherche et de la boîte d'outils, mais le placement peut être différent avec d'autres habillages.Cette barre latéralen'est pas montrée aux utilisateurs du siteMobile.(Par exemple, la version du site produite parExtension:MobileFrontend /Skin:MinervaNeue utilise l'accrocheMobileMenu pour cela).
Pour personnaliserMediaWiki:Sidebar dans un wiki, vous devez d'abord être connecté avec un utilisateur ayant le droiteditinterface - droit attribué par défaut aux administrateurs.[1]
Pour accéder à MediaWiki:Sidebar vous pouvez soit :
Voici un exemple de code ajouté dansMediaWiki:Sidebar pour une barre latérale :
* navigation** mainpage|Accueil** Special:RecentChanges|Recent changes* new heading** portal-url|Forums** https://www.mediawiki.org|MediaWiki home* TOOLBOX** page-info-url|Information about this page.
Cette exemple produira la barre latérale suivante :

MediaWiki:Sidebar, vous aurez besoin d'en changer le contenu avant de sauvegarder.Extending the toolbox is not recommended, and when done via MediaWiki:Sidebar will likely also require associated JavaScript/CSS site changes.
Note the TOOLBOX keyword is handled differently by different skins and extension should be carefully considered as the expectation with links in the TOOLBOX menu is thatthey relate to the existing page.Adding links that do not relate directly to the current page breaks expectations of the contract set in.Please refer to the associated note atManual:Hooks/SidebarBeforeOutput#Note about extending TOOLBOX.
La barre de navigation peut être divisée en sections, chacune avec un nouveau titre qui lui est propre.Cela se fait en ajoutant un astérisque.
L'en-tête de chaque section est tiré de l'élément de liste de premier niveau ("navigation" et "new heading" dans l'exemple ci-dessus).Si ce texte correspond au nom d'un message d'interface (une page existante qui a ce titre dans l'espace de noms MediaWiki), alors le texte de la page est utilisé comme une étiquette; sinon, le titre de l'entête est utilisé tel quel.Notez bien que lemot magique{{int:}} ne fonctionne pas depuis qu'il est inutile : MediaWiki{{int:}} recherche automatiquement une traduction à afficher avant de se replier vers le message par défaut.
Dans l'exemple ci-dessus,* navigation et* new heading sont des titres de sections.
Vous créez les liens avec deux astérisques (appelés éléments de liste de second niveau).Par exemple :
** cible|texte du lien
Dans les deux cas, lelien peut être interne, interwiki ou externe.[2]
http:// ou autreprotocole d'URL), le lien pointera sur cette URL.-, toute l'entrée est supprimée de la barre latérale. (Ceci est utile pour supprimer une entrée sur toutes les langues en changeant le message contenant le lien).**portal-url|portal" – utilise le texte deMediaWiki:Portal-url (contenant « Project:Community portal »).**https://www.mediawiki.org|MediaWiki home" – pointe vershttps://www.mediawiki.org si c'est une URL valide.**Special:RecentChanges|Recent changes" – pointe vers Special:RecentChanges, parce qu'il n'existe pas de message d'interface de ce nom et que cela n'est pas une URL valide.**w:Foo|Some interwiki page" – pointe versw:Foo pour la même raison.** Homepage|mainpage – UtiliseMediaWiki:Mainpage (qui contient "MediaWiki").** Special:Recentchanges|Recent changes – Utilise lesModifications récentes puisqu'il n'y a pas de message d'interface de ce nom.Vous pouvez essayer par exemple le lien vers l'articleHelp:Links.Special:MyLanguage/Help:Links#Interlanguage_links | helplinks
helplinks est un message traductible de l'espace de noms MediaWiki, similaire àportal ci-dessus, mais l'URL cible est le résultat de la page spéciale. Non généré à partir du contenu du message traductible commeMediaWiki:portal-url. Si le contenu traduit de la page cible existe, il est ouvert directement. Si ce n'est pas le cas, c'est sa version par défaut qui est ouverte.Certains habillages vous permettent de personnaliser l'ordre de certains éléments particuliers, tels que la barre de recherche, la boîte à outils, ou les langues.Ceci peut être fait en ajoutant les mots-clés spéciaux SEARCH, TOOLBOX, LANGUAGES respectivement àMediaWiki:Sidebar en suivant la syntaxe des titres.
Néanmoins certains habillages commeMonoBook ne prennent plus en charge le positionnement de l'élément de recherche et celui-ci est mis juste à la suite de la première section de la barre latérale à la place.Dans ce cas, pour déplacer l'élément à chercher vers le haut, la solution de contournement est de définir une section de tête qui soit vide.Par exemple :
* empty section* navigation** mainpage|mainpage** Special:Recentchanges|Recent changed* new heading** portal-url|portal** https://www.mediawiki.org|MediaWiki home
Notez que certains habillages peuvent afficher la première section de manière différente, ou placer certains éléments entre la première et la seconde section (si elle existe).
Une bulle d'information (infobulle,tooltip) est un message qui apparaît quand un curseur est positionné sur une icône, une image, un hyperlien, ou tout autre élément d'une interface utilisateur graphique.
Si vous ajoutez un élément dans la barre latérale, il n'aura pas « d'info-bulle ». Mais vous pouvez en créer une ainsi :[3]
MediaWiki:Tooltip-n-<id de l'élément>Une clé d'accès (access key ouaccesskey) permet à l'utilisateur d'un ordinateur d'aller directement à une partie spécifique d'une page web via le clavier.
Les clés d'accès (accesskey) peuvent aussi être créées en de cette façon :
MediaWiki:Accesskey-n-<id de l'élément>Exemple :
* Homepage|mainpage-description - UtiliseMediaWiki:Tooltip-n-mainpage-description etMediaWiki:Accesskey-n-mainpage-description.Vous pouvez traduire les chaînes que vous utilisez en modifiant les pages correspondantes dans l'espace de noms MediaWiki.
Exemple: la chaîne qui va remplacer l'élément nommé « mainpage », est prise deMediaWiki:Mainpage. Pour initialiser ou modifier ce texte pour les utilisateurs qui affichent votre wiki en allemand, vous pouvez mettre le texte approprié sur la pageMediaWiki:Mainpage/de.
De cette manière vous pouvez facilement traduire ces textes via l'interface MediaWiki.
Veuillez noter que MediaWiki utilisera par défaut le contenu de la page de la barre latérale danscette langue, qui correspond à la langue par défaut de votre wiki. Donc, si votre wiki par exemple utilise le français comme langue par défaut, modifiezMediaWiki:Mainpage/fr afin d'afficher une barre latérale modifiée à tous les utilisateurs qui n'ont pas modifié leur configuration de langue et à tous les utilisateurs anonymes.
Pour des traductions plus avancées, voir seeAide:Extension:Traduction/Traduction d'éléments non structurés.
La barre latérale peut être entièrement personnalisée en implémentantJavaScript ouCSS, ou en modifiant directement les fichiersPHP. Avant d’utiliser ces méthodes, notez que :
Pour supprimer complètement la barre latérale et le logo :
Effacez le contenu de la pageMediaWiki:Sidebar puis sauvegardez.
Puis ajoutez :
#column-content{margin:001em0;}#content{margin:0000;}#p-cactions{left:.1em;}
Ceci déplace le texte principal de votre wiki vers la gauche.
Supprimer le logo et la barre latérale complète :
#p-logo, .generated-sidebar, #p-lang, #p-tb { display:none; }Supprimer la barre de recherche :
#p-search { display:none; }Supprimer l'onglet de discussion :
#ca-talk { display:none!important; }Supprimer l'onglet de la page :
#ca-nstab-main { display:none!important; }Certaines pages doivent parfois suivre la langue du contenu, en particulier pour les sites multilingues.Cela peut être contrôlé avec le paramètre$wgForceUIMsgAsContentMsg.Chaque message remplacé de cette manière doit être explicitement indiqué, par exemple pour permettre à la barre latérale de se lier aux versions fournies par la langue du contenu de la page principale et de la page de portail, ajoutez les éléments suivants à
LocalSettings.php
$wgForceUIMsgAsContentMsg=['mainpage','portal-url'];
Laboîte à outils s'affiche sur la gauche sousMediaWiki:Sidebar dans certains habillages. Dans Vector 2022 elle se trouve à droite (pour les langues qui s'écrivent de gauche à droite).
À partir de MediaWiki 1.43 vous pouvez ajouter des liens à la boîte à outils en utilisant MediaWiki:Sidebar viaMediaWiki:Sidebar.
* empty section* navigation* TOOLBOX** portal-url|Forum
La boîte à outils apparait à gauche sousMediaWiki:Sidebar.La boîte à outils est un élément dynamique nécessitant des méthodes de programmation telles que des extensions d'habillage, du PHP (voirskins/MonoBook.php et créer un nouvelhabillage) ou du JavaScript.
Les solutions en JavaScript utilisent User:{username}/common.js /MediaWiki:Common.js, disponible pour MediaWiki 1.9+.
Maintenant configurez simplement quel lien doit apparaître dans quelle section. Vous pouvez aussi supprimer certains liens si vous le désirez.
functionModifySidebar(action,section,name,link){try{switch(section){case'languages':vartarget='p-lang';break;case'toolbox':vartarget='p-tb';break;case'navigation':vartarget='p-navigation';break;default:vartarget='p-'+section;break;}if(action=='add'){varnode=document.getElementById(target).getElementsByTagName('div')[0].getElementsByTagName('ul')[0];varaNode=document.createElement('a');varliNode=document.createElement('li');aNode.appendChild(document.createTextNode(name));aNode.setAttribute('href',link);liNode.appendChild(aNode);liNode.className='plainlinks';node.appendChild(liNode);}if(action=='remove'){varlist=document.getElementById(target).getElementsByTagName('div')[0].getElementsByTagName('ul')[0];varlistelements=list.getElementsByTagName('li');for(vari=0;i<listelements.length;i++){if(listelements[i].getElementsByTagName('a')[0].innerHTML==name||listelements[i].getElementsByTagName('a')[0].href==link){list.removeChild(listelements[i]);}}}}catch(e){// ignorer simplement ce qui vient d'arriverreturn;}}functionCustomizeModificationsOfSidebar(){// ajoute [[Special:CategoryTree|Special:CategoryTree]] à la boîte à outilsModifySidebar('add','toolbox','CategoryTree','https://en.wikipedia.org/wiki/Special:CategoryTree');// supprime [[Special:Upload|Special:Upload]] de la boîte à outilsModifySidebar('remove','toolbox','Upload file','https://en.wikipedia.org/wiki/Special:Upload');}jQuery(CustomizeModificationsOfSidebar);
function CustomizeModificationsOfSidebar() - doit être personnalisé pour ajouter ou supprimer des liens dans les sections spécifiques :ModifySidebar( "action", "section", "name", "link" );| paramètre | valeur |
|---|---|
action | add pour ajouter un lien;remove pour supprimer un lien |
section | navigation,toolbox,languages mais aussi tout autre section personnalisée existante; le lien donné sera ajouté à ou supprimé de cette section |
name | contient le texte du lien |
link | contient l'URL du lien |
Si vous voulez restreindre la modification des liens à un groupe particulier d'utilisateurs (par exemple lesbureaucrates), modifiez :
jQuery(CustomizeModificationsOfSidebar);
en
if(mw.config.get('wgUserGroups',[]).indexOf('bureaucrat')!==-1){jQuery(CustomizeModificationsOfSidebar);}
Pour restreindre les modifications à des adresses IP au lieu d'un groupe spécifique d'utilisateurs, utilisez :
if(mw.config.get('wgUserGroups',[]).indexOf('user')===-1){jQuery(CustomizeModificationsOfSidebar);}
Vous pouvez ajouter dans votre fichier LocalSettings.php l'accroche décritesur cette page.Avec cela, vous pouvez modifier viaMediaWiki:Sidebar les liens dans le panneau de la boîte à outils (supprimer certains liens, changer leur nom) et ajouter des liens personnalisés (par exemple, ajouter le lien « Modifications récentes » à la place du panneau de navigation).
Si vous utilisez l'habillage Monobook et ne voulez pas perdre la barre de menu extensible qui se trouve par exemple dans l'habillage Vector, collez le code suivant dans leMediaWiki:Monobook.js de votre wiki.
/////////////////////////////////////////////////////////// Extrait de code pour rendre votre barre latérale extensible.// Utilisez ce code UNIQUEMENT pour l'habillage Monobook./////////////////////////////////////////////////////////$(document).ready(function(){// déclare les éléments extensibles par défaut d'après leur titrevardefaultExpandItems=['Navigation','Orga'];// déclare le nom de base des cookies, qui sauvegardent l'état courant de l'expansionvarexpandCookieName='disdance_project_wiki_nav_expanded_';varmaxHeights=[];varexpandeds=[];varlabels=[];initNav();});functioninitNav(){$('#p-logo').css({'position':'relative','display':'block'});$('.generated-sidebar h5,#p-tb h5 ').each(function(i){varid=$(this).parent().attr('id');maxHeights[id]=$(this).next('div').height();varstr=$(this).html();labels[id]=str;if($.cookie(expandCookieName+id)=='false'){expandeds[id]=false;minimize($(this));}elseif($.cookie(expandCookieName+id)=='true'){expandeds[id]=true;maximize($(this));}elseif(defaultExpandItems.indexOf(str)==-1){expandeds[id]=false;minimize($(this));}else{expandeds[id]=true;maximize($(this));}$(this).css({'cursor':'pointer'});$(this).click(toggleNav);});}functionminimize(target){varid=$(target).parent().attr('id');// Fixer la durée de conservation du cookie : 7 jours (modifiable)$.cookie(expandCookieName+id,'false',{expires:7});varstr=labels[id]+' ►';$(target).next('div').animate({'height':'0px'});$(target).html(str);}functionmaximize(target){varid=$(target).parent().attr('id');// Fixer la durée de conservation du cookie : 7 jours (modifiable)$.cookie(expandCookieName+id,'true',{expires:7});varstr=labels[id]+' ▼';varnewHeight=maxHeights[id];$(target).next('div').animate({'height':newHeight+'px'});$(target).html(str);}functiontoggleNav(e){varid=$(e.target).parent().attr('id');expandeds[id]=!expandeds[id];if(expandeds[id]==true){maximize(e.target);}else{minimize(e.target);}}//////////////////////////////////////////////////////////////////////////////////////////////////////////////
Vous pouvez modifier la largeur de votre barre latérale en ajoutant les règles CSS suivantes à votreMediaWiki:Monobook.css
notez qu'il s'agit d'unarticle,et non pas d'un fichier. Cela modifie la largeur à 15em, la position des actions et la largeur du portlet doivent être égales ou inférieures, je les ai donc définies à 14em dans cet exemple.
/* augmenter la largeur de la barre latérale */#column-content{margin-left:-15em;}#column-content#content{margin-left:15em;}#p-logoa,#p-logoa:hover{width:15em;}#p-cactions{left:14.5em;}.portlet{width:14em;}#column-content{margin-left:-14em;}#content.mw-body{margin-left:14em;}
Installer et configurer l'extensionDynamicSidebar.
Bien que cela ne soit pas exactement recommandé, la barre latérale prend en charge les fonctions d’analyse (telles queParserFunctions) à condition que le** soit en dehors de la fonction d’analyse, et que la fonction d'analyse ne s'étende pas sur plusieurs lignes.Par exemple :
*Heading**{{#ifeq:{{NAMESPACE}}|User|Page-to-link-to{{!}}text-to-show-on-user-page}}**{{#ifeq:{{NAMESPACE}}|Talk|Another-Page-to-link-to{{!}}text-to-show-on-talk-page}}fonctionne. Néanmoins ce qui suitne fonctionnera pas parce que la fonction d'analyse étend les lignes multiples :
*Heading{{#ifeq:1|1|**foo{{!}}bar|**baz{{!}}fred}}MediaWiki met automatiquement en cache le contenu de manière agressive lorsque c'est possible, ce qui entraîne souvent la persistance de la barre de navigation après les modifications.Purger la mémoire cache des pages affectées devrait corriger la situation.Pour effectuer une purge en masse de tous les caches à la fois, faire untouch du fichierLocalSettings.php outronquez (truncate) la tableobjectcache de votre base de données (vous pouvez avoir à faire les deux).
Vous devez aussi avoir$wgUseDatabaseMessages initialisé àtrue.De plus, si vos liens ne comportent pas de| , ils ne s'afficheront pas à cause de la ligne de code suivante dans Skin.php :if ( strpos( $line, '|' ) !== false ) {
Si vous êtes un utilisateur ou un administrateur moyen du wiki, vous ne pourrez pas faire les choses avancées ci-dessus pour que les modifications apparaissent. Si purger ne fonctionne pas non plus, vous pourrez parfois toujours voir les modifications CSS immédiatement dans l'aperçu (en particulier lorsque vous modifiez votre CSS personnel). Par exemple; changer la largeur de la barre latérale, le remplissage ou les marges. Les modifications peuvent toutefois prendre un certain temps après la sauvegarde. Si rien ne s'affiche alors, vous devrez peut-être contacter l'administrateur système du wiki global, ou la ferme de wikis.
Si vos liens ne sont pas mis en majuscules comme vous l'espérez, essayez d'ajouter des espaces de chaque côté de la barre verticale (|); par exemple :
** http://www.example.com/download.php?file=44555 | Télécharger
Si une section n'affiche pas ou affiche un contenu inattendu, vérifiez que le texte de l'entête n'est pas le nom d'un message d'interface en recherchant dansSpecial:AllMessages. Si c'est le cas, utilisez un texte d'entête différent ou créez un nouveau message d'interface et utilisez-le.
Par exemple, si vous voulez utiliser « Sidebar » comme texte pour le titre, créez le message d'interface « MediaWiki:Sidebar-header » contenant simplement « Sidebar » . Puis utilisez* sidebar-header comme titre.
Les sections ne sont pas affichées s'il n'y a pas de liens de la forme** cible | texte du lien (c'est à dire quand la cible a été oubliée).
Cela se produira, par exemple, à chaque fois qu'il y aura de nouvelles traductions pour les éléments de la barre latérale de la langue de votre site.
On pourrait ajouter de nouvelles pages de redirection à chaque fois, mais une meilleure solution serait d’utiliser ses propres noms d’éléments de la barre latérale au lieu d’essayer de garder une trace des traductions actuelles de MediaWiki.
| Version de MediaWiki : | 1.44 |
In MediaWiki 1.44, the link to Special:SpecialPages was removed from the toolbox and added to the default version forMediaWiki:Sidebar.To support the transition, for interface admins who have already customized MediaWiki:Sidebar, the special pages link will be automatically added, as otherwise it would simply disappear.This automatic addition will emit a deprecation warning for Skin::appendSpecialPagesLinkIfAbsent().To modify this behavior, follow the guidance inT385346.
Main_Page) dans la barre d'URL/addresse parMediaWiki:Sidebar et que vous chargez cette page - vous devez maintenant voir le contenu actuel de la barre latérale (il se peut que vous deviez utiliser la syntaxe//votredomaine/votrewiki/index.php?title=MediaWiki:Sidebar&action=edit si vous utilisez des URLs longues).Si le contenu de la barre latérale a déjà été modifié, vous pouvez simplement cliquer sur le lienEditer ouEditer le source , sinon vous pourriez avoir à créer la page d'abord en cliquant surCréer ouCréer le source.&), un message d'interface est nécessaire. La cible du lien ne peut pas dépendre de la langue de l'interface définie dans les préférences.