Darkoneko's Weblog

Yesterday, today, and no future / time waits for no one

Personnalisons Wikipédia : ajouter une année de sous pages du BA en quelques lignes

Posted by DarkoNeko sur lundi 3 janvier 2011

La personnalisation du jour nous viens tout droit du bulletin des administrateurs et vous permettra d’ajouter rapidement l’ensemble des sous pages 2011 du BA dans votre liste de suivi.

L’idée de Dereckson est excellente, mais si je conçois que chacun préfère programmer dans les languages qu’il connait… franchement, charger un executable ? le framework .NET ? … une machine virtuelle O_o ? Personne ne va faire ça

Bref, j’ai repris l’idée en javascript.

  • La première moitié du script est « l’ajouteur » en lui même, une boucle qui fait un appel API par sous page (je n’ai pas trouvé de moyen de tous les ajouter en un seul appel)
  • la 2eme moitié fait apparaitre un lien « => Mass ajout LdS <= » dans le menu de gauche, histoire que ça soit lançable proprement.

Comme d’habitude, le code est à copier dans votre monobook.js ou vector.js, selon l’habillage que vous utilisez.



//ajout des 53 sous pages du BA en liste de suivi.
function massAddToWatchlist() {
   var http_request = sajax_init_object()
   for( var nb=1 ; nb < 54 ; nb++) {
      var address = "/w/api.php?action=watch&title=Wikip%C3%A9dia:Bulletin_des_administrateurs/2011/Semaine_"+nb
      http_request.open('POST', address , false)
      http_request.send(null)
   }
   alert("fini !")
   return false;
}

//faire apparaitre un lien dans le menu navigation pour lancer la fonction ci dessus.
function massAddToWatchlist_lien() {
var ul = document.getElementById("p-navigation").getElementsByTagName("ul")[0]
var li = document.createElement('li')
li.appendChild( createAdressNode('#', '==Mass ajout LdS==', 'return massAddToWatchlist()') )
ul.appendChild( li )
}

addOnloadHook( massAddToWatchlist_lien )

  • C’est très facilement adaptable à d’autres pages (le bistro, etc) ; je sortirais les variantes dont vous avez besoin sur demande en commantaire.
  • Me script étant à usage unique, il vous suffit de coller le code, prévisualiser, cliquer sur le lien et attendre que la popup indiquant la fin du traitement apparaisse. Il n’y a pas besoin de sauvegarder (même si du coup, ça m’empeche de voir si bcp de monde utilise mes scripts à partir des modifications récentes :)

Le script a été testé sous Firefox, je n’ai pas de moyen simple de le tester sous d’autres systèmes pour le moment.

Enjoy.

-Temps pour faire et tester le programme : 10 minutes

-Temps perdu pour publier un billet de blog à partir du WIFI pourrave de mon hotel : 1H -_-;

3 Réponses vers “Personnalisons Wikipédia : ajouter une année de sous pages du BA en quelques lignes”

  1. Alphos said

    Chose promise, chose due, et vu qu’il y en a qui ont du mal à trouver (mon blog est pourtant listé sur le Planet Wikimedia francophone… et lié depuis mon pseudo ici : yakakliké ! ), je me fends d’un lien vers l’article de mon blog évoqué il y a quelques jours.

    Bonne lecture :)

  2. Alphos said

    Présentation : zéro, c’est tout nul :p
    Efficacité : mouais, sauf qu’on a un lien qui apparaît sur toutes les pages, et que si on clique dessus par mégarde, ben c’est pad’bol : on a plus qu’à prendre son mal en patience :p
    Portabilité interpages : mouais, faut changer une partie du code en dur si on veut suivre un autre jeu de pages « datées » :p
    Possibilité de nettoyer simplement sa LdS de temps en temps : euh, ben, euh, en fait, euh, nan :p

    Pas taper ! ^^’

    Je vous ai préparé un truc aux petits oignons, tout mignon, et qui s’intègre directement et uniquement à [[Spécial:Liste de suivi]], avec des boutons (un par type de page : le Bistro, le Questions techniques – l’ancienne Guilde des guides -, le BA, l’Oracle, d’autres à venir si on en trouve), des checkbox/radio (année, mois, ), et un truc qui dit ce qu’il a fait : le genre de scripts que je verrais bien en MediaWiki:Gadgets-definition, sans me vanter :D
    Je posterai ça demain (enfin, tout à l’heure) sur mon blog, bande de petits veinards ! ^^

  3. Dereckson said

    Ha, merci DarkoNeko, Tu exauces mon souhait.

    Ce premier janvier, je souhaitais en effet cette application en javascript, de façon à ce qu’il n’y aie qu’à appuyer sur un bouton qui appelle 52x nos jolies URL watch.

    J’avais rapidement fait pour mon usage personnel la manip en C# dans ma solution robot, avant de me dire que tant qu’à faire je pourrais ne pas être égoïste et partager.

    Et je confirme que personne de sain d’esprit ne va télécharger une machine virtuelle pour une opération aussi simple. (À moins peut-être que d’aucuns souhaitent un environnement permettant de lancer des applications .Net avec Mono sans souci ?). J’avais juste envie de tester Suse Studio.

    D’ailleurs, il y a un super gag avec le déploiement de Mono sur les différents OS et pour Linux les différentes distributions :
    * je teste sur une machine virtuelle FreeBSD 8.1 l’application, il m’indique qu’il manque gdiplus32.dll
    * je demande à Garfieldairlines (qui découvre par là même qu’il a des dll sur son linux avec Banshee ! Horreur et damnation éternelle !) de tester cela sous son PC (Linux Mint) et là aussi une erreur … mais une autre DLL ! mscorlib.dll (qui correspond peu ou prou au namespace System)
    * tout va bien sur Suse (qui comme Mono est édité par Novell)

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

 
%d blogueurs aiment cette page :