Darkoneko's Weblog

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

Posts Tagged ‘pywikipedia’

Wikipédia et Toolserver

Posted by DarkoNeko sur mardi 3 juin 2008

Le Toolserver (TS) est un petit groupe de serveurs géré par Wikimedia Deutschland (détails ici). Il héberge un bon nombre de scripts aux utilités diverses (par exemple, c’est là que je fait tourner mon système de bienvenutage automatique, ainsi qu’un système retirant dans les articles les liens pointant sur des images supprimées)

le TS est un énorme plus pour les projets Wikimedia a plus d’un titre, mais je reste avec l’impression que ses ressources sont mal utilisées.

Voici une petite analyse, prise pendant l’écriture de ce billet, des programmes lancés sur le TS, classés par plus utilisation de mémoire. Pour simplifier, je n’ai gardé que les ~15 premiers. Pour correspondance, 1% de la mémoire correspond à 80Mo. J’ai traduit certaines commandes en quelque chose de compréhensible pour le plus grand nombre.
%MEM COMMAND
5.1 interwiki.py
4.3 interwiki.py
3.9 interwiki.py
3.6 interwiki.py
2.9 (tomcat)
2.6 (pircbot)
1.8 (manageur java)
1.5 (pircbot)
1.5 (pircbot)
1.4 (pircbot)
1.4 (pircbot)
1.3 (pircbot)
1.2 interwiki.py
1.2 (un script python inconnu)
1.1 (linky)
1.0 (linky)
1.0 (pircbot)

Petite explication et consommation mémoire cumulée :

  • interwiki.py (13% de la mémoire sur cet échantillon, soit ~1040Mo)
  • pircbot et linky (12.8% de la mémoire sur cet échantillon, soit ~1024Mo)

Mon analyse rejoint globalement celle faite sur le blog du toolserver : ces deux éléments plombent plus du quart des ressources mémoire du TS, et pour quels avantages ?

linky/pircbot

Linky et pircbot sont deux bots IRC. Et un bot IRC, ça n’est rien de plus qu’un gadget pour geeks. Vu les fonctionnalités (afficher un lien http lorsque quelqu’un tape un [[lien]] sur le chan, etc), le fait que chaque instance prenne entre 80Mo (1%) et 208Mo (2.6%) de mémoire est tout simplement ridicule. Je suis conscient que c’ets en java, mais quand même, faut pas pousser, là…

Interwiki.py

interwiki.py est un robot interwiki. Contrairement aux bots sus-nommés, l’utilité d’un script interwiki est reconnue. Mais dans le même temps, il n’est pas absolument nécessaires qu’ils tournent en permanence (contrairement, par exemple, à un script qui reverte les vandales en temps réel, comme celui de Salebot).

Par conséquent, les faire tourner sur le TS n’est pas indispensable, surtout vu la charge qu’ils causent. Et ça, il serait grand temps que ses utilisateurs sur TS s’en rendent compte (avec une mention spéciale pour le type qui le lance en double…)
Pour comparer, j’utilise moi même interwiki.py , sur mon ordinateur personnel : il se lance le matin quand j’allume mon ordi, et s’arrête chaque soir lorsque je l’éteind (soit 16H de fonctionnement/jour). Rien de bien sorcier, et ça marche très bien. On ne me fera pas croire qu’il faut une bête de course pour le faire fonctionner, vu que ça fonctionnait très bien sur mon ancien portable, qui était du matos « premier prix » datant de 2002.

Bref : Utilisateurs du TS, pensez un peu aux autres !

Publicités

Posted in les coulisses de Wikipédia | Tagué: , , , , , , , | Leave a Comment »

Wikipédia et l’accueil des nouveaux, partie 1

Posted by DarkoNeko sur mercredi 19 mars 2008

Comme je l’ai mentionné dans mon billet Wikipédia et les robots, une partie de l’accueil des nouveaux, couramment néologisé « bienvenutage », est partiellement effectué automatiquement par un robot.

Il se trouve que c’est moi qui gère ce robot. Comme pour tout, il y a des gens pour, des gens contre… mais voyons un peu comment tout cela à commencé.

L’origine

Tout d’abord, il faut savoir qu’au niveau logiciel, absolument rien n’est prévu pour l’accueil des nouveaux arrivants.

Depuis les temps immémoriaux et jusqu’il y a pas si longtemps, cette activité fut assurée uniquement par les contributeurs, posant un message d’aide et bienvenue sur la page de discussion des nouveaux lorsqu’ils les repèrent au détour de leur liste de suivi.

Courant mars 2007, je suis aperçu qu’en pratique, sans doute parce qu’ils éditent sur des pages peu suivies -leur commune de 300 habitants par exemple-, nombre d’entre eux n’étaient pas vus et tout simplement oubliés, et restaient « dans le noir ».

Je me suis dit à l’époque « aah, c’est surement pour ça qu’ils éditent 2/3 fois pour ne plus jamais revenir », et me suis donc décidé à combler ce vide en parcourant le log des créations de compte tous les quelques jours pour apporter une peu de lumière a ces malheureux oubliés.

Le modèle de bienvenue utilisé communément à l’époque me sortant par les oreilles, j’ai créé mon propre modèle
et me suis mis au travail. Il est à noter que ce modèle ne plait pas à tout le monde, et j’ai eu des remarques négatives à son sujet…mais aussi des remarques constructives (propositions d’amélioration, correction de fautes) et de nombreuses remarques positives, notamment 6 personnes me demandant son emplacement pour pouvoir le réutiliser.

J’ai globalement assuré ce « bienvenutage des oubliés » à la main entre mars et juillet 2007, mais je commençais à en avoir vraiment assez : « bienvenuter » à la chaine une petite centaines de personnes par jour est une tâche bassement répétitive -ouvrir la page de discussion, poser le modèle, sauvegarder…- et sérieusement ennuyeuse (et inductrice de crampes) à la longue.

L’automatisation implicite

Courant juin 2007, j’ai commencé à chercher une solution logicielle pour me supplanter dans cette activité. J’utilisais déjà à l’époque le framework pywikipedia pour mes activités robot (interwikis, suppression de liens vers image effacée, etc.) et j’ai découvert parmi ses nombreux scripts welcome.py, qui correspond précisément à ce dont j’avais besoin.

Après un sondage informel à ce sujet sur IRC, j’ai commencé une série de tests avec ce script, puis utilisé régulièrement celui ci sur mon propre compte (c’est à dire que les modifications apparaissent sous mon pseudo, comme si je les avais faites à la main) jusqu’à fin d’août 2007.

pourquoi avec mon propre compte ?

Il y a deux raisons principales

  • L’action de bienvenue est, dans cette version du script, la même : je ne voyait pas l’intérêt de différencier l’auteur alors qu’en pratique, il n’y avais aucune différence entre ma méthode et celle du script.
  • Le faire explicitement faire « par un robot » risquait de déclencher l’ire de certains membres de la communauté.

L’automatisation explicite

Début septembre 2007, fort de ces deux mois d’expérience, j’ai pris mon courage a deux pattes et ai passé le script sur mon compte robot, sur lequel le script fut lancé à la main en moyenne tous les deux jours. Je n’ai toutefois pas fait d’annonce officielle à ce sujet.

Quelques temps après, ayant acquis un compte sur le toolserver (TS), j’ai pu affranchir le script des aléas de mes lancements manuels (il arrive que je ne soit chez moi, ou même simplement que j’oublie de le lancer) en l’installant là bas, ou il est dorénavant exécuté automatiquement une fois par jour.

ce billet devenant trop long, la suite (historique à partir d’octobre 2007) sera détaillée dans un autre billet.

Posted in les coulisses de Wikipédia | Tagué: , , , , , | 2 Comments »