You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Everybodywiki:Robots

De EverybodyWiki Bios & Wiki
Aller à :navigation, rechercher

Les robots sont des agents automatiques ou semi-automatiques qui interagissent avec EverybodyWiki comme le fait un utilisateur, mais pour des tâches répétitives et fastidieuses pour un humain.

Les robots peuvent être utilisés pour éditer ou même créer des articles. Certains robots sont spécialisés dans la résolution des homonymies, les annulations de certains vandalismes ou encore les opérations sur les catégories.

Bénéfices et effets secondaires des robots[modifier]

Bénéfices offerts par les robots

  • Ils fournissent un bon modèle de données préformatées pour les contributeurs.
  • Ils fournissent potentiellement une unique ressource qui n'est pas directement accessible sur le web.
  • Ils permettent de mettre à jour automatiquement des informations (comme une liste d'articles récents sur les portails) ou d'effectuer des tâches répétitives (comme importer un grand nombre d'images).
  • Ils permettent de révoquer automatiquement certains vandalismes.

Effets secondaires inhérents à l'utilisation des robots dans le système actuel

  • Ajouter à EverybodyWiki des dizaines de millions d'entrées qui ne sont pas près d'être modifiées par un everybodywikiste.
  • Augmente artificiellement l'activité perçue d'EverybodyWiki.

Règles d'utilisation des robots[modifier]

Robots utilisés de manière temporaire et à petite échelle[modifier]

Ce type de robot peut être utilisé directement sous le compte de l'utilisateur. Il est recommandé à l'utilisateur de faire très attention. En cas de problème (déficience du robot), le compte utilisateur pourra être bloqué par un administrateur.

Robots utilisés fréquemment et/ou à grande échelle[modifier]

Premièrement, pour pouvoir être utilisé à grande échelle, un robot doit être autorisé.

Le créateur de robot doit démontrer que :

  1. Le robot est utile.
  2. Le robot est sans danger.
  3. Le robot ne sature pas le serveur.
  4. Le robot a été approuvé par la communauté.
  5. Le robot est suffisamment lent pour que les erreurs puissent être repérées rapidement et corrigées par les autres avant qu'il ne cause de dommages massifs.
  6. Le robot ne surcharge pas les historiques par des modifications purement cosmétiques[1].

Deuxièmement, le robot doit aussi faire ses changements comme un utilisateur connecté qui peut être contacté en cas de problème. Un robot doit pouvoir être arrêté à tout moment par n'importe quel administrateur.

Il est demandé de créer un compte utilisateur indépendant et de faire enregistrer ce compte utilisateur sous un statut de robot.

Chaque robot doit utiliser un User-Agent le plus précis possible, comprenant par exemple le nom du robot, l'URL de la page utilisateur, la version du code. Si deux robots distincts partagent la même chaîne User-Agent, ils peuvent se voir interdits d'accès à l'API MediaWiki (voir User-Agent policy sur meta).

Le statut de robot[modifier]

Validation d'un nouveau robot[modifier]

Une demande doit être faite sur la page Everybodywiki:Robots/Statut.

Recommandations[modifier]

Ajout du suffixe « bot » à la fin du nom[modifier]

Pour permettre aux utilisateurs de mieux distinguer les robots des simples utilisateurs, il est souhaitable de choisir un nom se terminant par la syllabe « bot » (exemple : WikiMasterBot2). Réciproquement, dans Aide:compte utilisateur, on demande aux simples utilisateurs d'éviter cette syllabe.

Apparition du robot dans les outils de surveillance[modifier]

  • avec b dans la liste de suivi personnelle ;
  • avec b dans la liste de suivi des liens de chaque page ;
  • avec b dans les modifications récentes ;
  • mais sans le b dans l'historique de la page : il faudra donc se fier à la terminaison en « bot » du nom d'utilisateur, en prenant garde au fait que certains robots ont un nom banalisé (voir ci-dessus). Le gadget DeluxeHistory permet cependant de mettre en évidence les robots autorisés au moment de la consultation.

Avec le statut de robot, les contributions du robot n'apparaîtront pas automatiquement dans les modifications récentes. Il est toutefois possible de voir leurs contributions en activant l'option « afficher les robots ».

Il est cependant conseillé d'utiliser le paramètre maxlag afin de limiter la fréquence d'édition en cas de charge importante du site, d'utiliser des fonctions de temporisation afin de laisser un délai minimal entre chaque édition et de ne pas faire plusieurs requêtes à l'API en parallèle. Même si les modifications récentes n'apparaissent pas dans la liste habituelle, il est toujours possible d'observer le comportement des robots (via IRC) et de les bloquer en cas de modifications en rafale. Une diminution des temps d'attente peut être envisagée jusqu'à une période raisonnable (c'est-à-dire 15 à 45 secondes).

Message en page discussion d'article[modifier]

Il est recommandé de ne pas encombrer inutilement les pages discussion des articles (PD), avec des messages de robots. A cet effet, en page discussion d'article, le message d'un robot devrait comporter une catégorie (cachée) ou un modèle spécifique (signalement d'erreur) spécifique au robot, facilitant le listage et le nettoyage ultérieur de toutes les PD modifiées par le robot.

Retrait du flag[modifier]

Le robotflag peut être retiré :

  • Pour inactivité, dans ce cas on s'accorde généralement à considérer qu'un retrait est consensuel pour 2 ans d'inactivité pour le robot + 1 an d'inactivité pour son opérateur, ou
  • En cas de compromission du compte ou de dysfonctionnements ayant conduit à un blocage, après avoir laissé au dresseur un temps raisonnable pour résoudre le problème, ou
  • À la demande du dresseur sur le Bistro, ou
  • À l'initiative de la communauté, avec la même procédure que pour l'attribution du flag.

Logiciels de robots[modifier]

Frameworks disponibles pour développer un robot
Framework [adresse] Langage Licence
irnc-base Chicken Scheme ?
Java Wiki robot Framework (jwbf) Java Apache v2
Java Wikipedia API (Bliki, gwtwiki) Java Eclipse v1
en:User:MER-C/Wiki.java Java GPLv3
WPCleaner Java Apache v2
Luasóg Javascript GPLv3
Conrad.Irwin/Api.js Javascript ?
Bawolff/mwapilib.js Javascript (PD ?)
cl-mediawiki Lisp libre
AutoWikiBrowser .NET (C#, VB.NET) GPL
DotNetWikirobot Framework .NET MIT
MediaWikiEngine .NET LGPLv2
Tyng.MediaWiki class library .NET (C#) BSD
WikiAccess library .NET GPLv3
Anura Perl GPL
MediaWiki::API Perl GPLv3
Perl MediaWiki API Wiki Perl GPLv2
Perl Wikipedia ToolKit Perl GPL
perlwikipedia Perl GPLv2
WWW::Mediawiki::Client Perl ?
WWW::Wikipedia Perl ?
Plusieurs frameworks existent,
voir en:Wikipedia:PHP_robot_framework_table
PHP
SwWiki PHP GPL
Pywikirobot Python MIT
mwclient Python MIT
wikitools Python GPLv3 / CC 3.0 BY-SA
rbmediawiki Ruby GPLv3
rwikirobot Ruby GPLv2
Comparaison des fonctionnalités offertes
Framework API MediaWiki[T 1] Limiteur d'édition[T 2] Log-in
AutoWikiBrowser ? Oui Oui Oui Oui
DotNetWikirobot Oui Oui ? Oui Oui
Luasóg Oui Oui ? Oui Oui
Mediawiki::API Oui Oui Oui Oui Oui Oui
Mwclient Oui Oui ? ?
Pywikirobot Oui Oui Oui Oui Oui Oui
wikitools Oui Oui ? ?
WPCleaner Oui Oui Oui Oui Oui Oui
  1. Le framework utilise l'API de mediawiki pour travailler. Cela permet de l'utiliser sur d'autres projets fonctionnant avec MediaWiki.
  2. Pour temporiser l'activité du robot et ne pas surcharger les serveurs.

Requêtes[modifier]

Vous ne possédez pas de robot, mais vous voudriez qu'un robot réalise certains travaux pour vous : veuillez adresser une requête sur la page Projet:Robots/Requêtes.

Voir aussi[modifier]

Articles connexes[modifier]

Liens externes[modifier]

Notes et références[modifier]

  1. Une modification cosmétique est une modification qui ne change pas le rendu de la page ou son utilisation. Ce type de modification peut être, par exemple, une correction de redirection, un retrait d'une catégorie mise en double, correction d'un lien interne avec cible identique...