Ce billet fait partie de la série « Personnalisons Wikipédia ». La personnalisation du jour vous permettra de changer la tronche de la barre en haut à droite.
Je commencerais doucement avec des modifications esthétiques simples (en CSS), puis ce sera au tour de l’ajout d’icônes (toujours en CSS), pour finir sur la modification du texte des liens et l’ajout d’autres liens dans la barre (en JavaScript).
Histoire d’avoir une base de travail « propre » (mon compte principal étant très customisé), je me servirais ici d’un compte « user:Pelote de laine », donc ne soyez pas surpris du nom affiché dans la barre sur les exemples :)
Au moment ou j’écris ces lignes, la version par défaut de la barre du haut, avec le skin monobook, ressemble à ça :

Pour commencer, voici quelques exemples de changement d’apparence. C’est juste pour vous donner une idée de ce qui peut être fait, donc c’est très hétéroclite ; n’hésitez pas à réutiliser les bouts qui vous plaisent :) Lors de vos tests, pas besoin de sauvegarder votre monobook, un simple « prévisualiser » suffit pour jauger le résultat.
/* virer le lien "essayer la béta" */
li#pt-optin-try {
display:none!important;
}
/* lien discussion : espace plus grand entre chaque lettre */
li#pt-mytalk a {
letter-spacing:2px;
}
/* préférences : en italique */
li#pt-preferences a {
font-style:italic;
}
/* liste de suivi : en petites majuscules */
li#pt-watchlist a {
font-variant:small-caps;
}
/* contributions : barré */
li#pt-mycontris a {
text-decoration:line-through ;
}
/* déconnexion : en rouge et gras */
li#pt-logout a {
font-weight:bold;
color:red;
}
Résultat :

Repartons de zéro (ou presque, je garde le bout supprimant le lien « essayer la beta »), et ajoutons cette fois des « icônes » à gauche de certains liens.
Chaque icône, étant attachée au node « a » et non au node « li », fait partie intégrante du lien et est donc cliquable.
/* boc de biere à gauche du lien vers ma page de discussions */
li#pt-mytalk a {
/* mettre une image de fond (l'icône) au node "a", tout à gauche */
background:transparent url('http://upload.wikimedia.org/wikipedia/commons/thumb/d/da/2piva.png/15px-2piva.png') no-repeat scroll left top;
/* décaler le texte sur la droite (d'environ la largeur de l'image) pour que les deux ne se chevauchent pas */
padding-left:17px;
}
/* une roue crantée à gauche des prefs */
li#pt-preferences a {
background:transparent url('http://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Crystal_Clear_app_kservices.png/15px-Crystal_Clear_app_kservices.png') no-repeat scroll left top;
padding-left:17px;
}
/* une loupe à gauche de la liste de suivi */
li#pt-watchlist a {
background:transparent url('http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Searchtool_right.svg/15px-Searchtool_right.svg.png') no-repeat scroll left top;
padding-left:17px;
}
/* un crayon à gauche de la liste de contributions */
li#pt-mycontris a {
background:transparent url('http://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Emblem-pen-new.svg/13px-Emblem-pen-new.svg.png') no-repeat scroll left top;
padding-left:15px;
}
Résultat :

changer le texte, ajouter des liens (monobook.js ou vector.js)
Passons maintenant à la partie JavaScript (pour les étourdis, ça veux dire « ne collez pas le code ci dessous dans votre monobook.css, ça ne marchera pas ») . Nous allons ajouter des liens…
- vers votre monobook perso : « js » et « css » (remplacez « monobook » par « vector » dans les liens au besoin, et adaptez si vous utilisez secure.wikimedia.org)
Et tant qu’on y est, modifions le texte des liens existants.
Le principe utilisé est le même que dans cet autre billet de personnalisation ainsi que celui ci, je ne m’étendrais donc pas trop sur son fonctionnement
importScript('Utilisateur:Darkoneko/divers.js') // si vous ne l'avez pas déjà
function customizeTopBar() {
var logout = document.getElementById("pt-logout")
if (!logout) return
var topBarUl = logout.parentNode
var mytalk = document.getElementById('pt-mytalk');
//ajouter "js" a gauche de discussion. La variable "wgUserName" contient le nom de l'utilisateur en cours.
topBarUl.insertBefore( createLiAdressNode('/wiki/user:'+wgUserName+'/'+skin+'.js', 'js'), mytalk)
//ajouter "css" a gauche de discussion, donc il sera entre "js" et "discut'"
topBarUl.insertBefore( createLiAdressNode('/wiki/user:'+wgUserName+'/'+skin+'.css', 'css'), mytalk)
//changer le texte pour "Page de discussion"
mytalk.getElementsByTagName("a")[0].firstChild.nodeValue = "discut' "
//changer le texte pour "Préférences"
document.getElementById('pt-preferences').getElementsByTagName("a")[0].firstChild.nodeValue = "prefs"
//changer le texte pour "Liste de suivi"
document.getElementById('pt-watchlist').getElementsByTagName("a")[0].firstChild.nodeValue = "watchlist"
//changer le texte pour "Contributions"
document.getElementById('pt-mycontris').getElementsByTagName("a")[0].firstChild.nodeValue = "contribs"
//ajouter "log" a gauche de déconnexion
topBarUl.insertBefore( createLiAdressNode('/w/index.php?title=Special:Journal&user='+wgUserName, 'log'), logout )
//changer le texte pour "Déconnexion"
logout.getElementsByTagName("a")[0].firstChild.nodeValue = "X"
}
addOnloadHook(customizeTopBar)
Résultat : 
Et vous, quels autres liens ajouteriez vous ?