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

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

Wikipedia Bots.png

Bénéfices et effets secondaires des bots

Bénéfices offerts par les bots

  • 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 bots dans le système actuel

  • Ajouter à Wikipédia des dizaines de millions d'entrées qui ne sont pas près d'être modifiées par un wikipédien.
  • Augmente artificiellement l'activité perçue de Wikipédia.
  • Peut être perçu comme de l'usurpation des buts de Wikipédia, d'une encyclopédie à une gazette par exemple.

Règles d'utilisation des bots

Bots utilisés de manière temporaire et à petite échelle

Ce type de bot 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 bot), le compte utilisateur pourra être bloqué par un administrateur.

Bots utilisés fréquemment et/ou à grande échelle

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

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

  1. Le bot est utile.
  2. Le bot est sans danger.
  3. Le bot ne sature pas le serveur.
  4. Le bot a été approuvé par la communauté.
  5. Le bot 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 bot ne surcharge pas les historiques par des modifications purement cosmétiques[1].

Deuxièmement, le bot doit aussi faire ses changements comme un utilisateur connecté qui peut être contacté en cas de problème. Un bot 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 bot. Depuis que les bureaucrates ont la possibilité de changer le statut des bots, les bureaucrates se chargent de donner le statut aux bots une fois le vote terminé sur Wikipédia:Bot/Statut.

Chaque bot doit utiliser un User-Agent le plus précis possible, comprenant par exemple le nom du bot, l'URL de la page utilisateur, la version du code. Si deux bots 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 bot

Validation d'un nouveau bot

Une demande doit être faite sur la page Wikipédia:Bot/Statut (pour les autres projets, voir les interwikis et Requests for bot status pour les projets n'ayant pas de bureaucrates).

Recommandations

Ajout du suffixe « bot » à la fin du nom

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 ». Réciproquement, dans Aide:compte utilisateur, on demande aux simples utilisateurs d'éviter cette syllabe. Quelques robots comme Loveless n'ont pas le suffixe « bot ».

Apparition du bot dans les outils de surveillance

Les robots sont signalés sur certains outils de surveillance par la lettre b minuscule en caractères gras
  • 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 bots 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.
Les robots ne sont pas signalés par la lettre b dans l'historique

Note : les modifications de certains robots, comme Salebot, ne sont pas toutes marquées avec le b pour faciliter le travail de relecture des modifications récentes.

Avec le statut de bot, les contributions du bot 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 (activées par défaut dans PyWikipedia) 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 bots (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). Pywikibot propose par exemple un tel paramètre (voir minthrottle et maxthrottle dans config.py).

Message en page discussion d'article

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

Retrait du flag

Le botflag 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 bot + 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 bulletin des bureaucrates, ou
  • À l'initiative de la communauté, avec la même procédure que pour l'attribution du flag.

Liste des bots sur la Wikipédia en français

Voir aussi : Catégorie:Bot Wikipédia.

Bots autorisés et utilisés

Liste complétée en juin 2020.

Nom du bot Responsable Langage / Framework Fonction Code source
AkeronBot (d · c) Akeron
Analphabot (d · c) Like tears in rain AutoWikiBrowser et Pywikipedia Corrections orthographiques et typographiques, Wikipédia 1.0, regex simples, catégories.
Arkbot (d · c) Arkanosis Python Décompte des votes, listage des articles sans portail, remplacement de texte, détection de violations de copyright. Licence MIT
Bot de pluie (d · c) Jules* AWB Corrections orthotypo ; maintenance ponctuelle
Bot2Friday (d · c) Friday83260 Corrections syntaxiques (avec WPCleaner), corrections de liens vers les pages d'homonymies (en semi-automatique).
Boten Anna (d · c) Gonzolito Perl / MediaWiki::Bot Pose de bandeaux de portails, d'évaluations
Botte (d · c) Nouill Rien Renommage de catégories
Bottine (d · c) Od1n PHP / Peachy (en) Diverses corrections : redirections, syntaxe, orthographe...
Bub's wikibot (d · c) Bub's Java Requêtes.
CH-Bot (d · c) NoFWDaddress AWB et WPC Maintenance des articles sans source, WP:RBOT, renommage de catégories
Chobot (d · c) ChongDae(ko) Interwikis.
CodexBot (d · c) Irønie PHP Import bibliographique MITdépôt github
CommonsDelinker (d · c) Magnus Manske(commons) Retirer des liens pointant vers des images supprimées. Bitbucket/[1]
Compteur d'éditions (bot) (d · c) Brclz Node.js {{Compteur d'éditions automatique}} Licence publique générale GNU version 3
DSisyphBot (d · c) Sisyph Python / Pywikipedia Interwikis et requêtes. Licence inconnue
DickensBot (d · c) Jrcourtois Projet:Pages orphelines
EmausBot (d · c) Emaus(ru)
Etambot (d · c) Okhjon Python / Pywikipedia Maintenance ponctuelle.
Framabot (d · c) Framawiki Python Divers, en automatique (WP:WPCleaner,bandeaux de traductions, WP:Rapports, ...) ou manuel
Geobot (d · c) Gribeco Perl, MediaWiki::API géolocalisation Toolserver (GPL)
GhosterBot (d · c) Ghoster PHP / Peachy (en) Renouvellement et archivage automatique des anecdotes de la page d'accueil selon la page de proposition. Analyse des propositions. Statistiques.
GratusBot (d · c) Gratus AWB - WPC Divers
Gzen92Bot (d · c) Gzen92 PHP typographie, modèles siècle et ordinaux
HerculeBot (d · c) Hercule Maintenance diverse.
Hexabot (d · c) Hexasoft PHP + Shell + C Gestion des articles de biologie.
Homon-Bot-Ohohoho (d · c) Litlok Java - WPCleaner Maintenance, en particulier correction des liens vers les pages d'homonymie, correction syntaxique et suggestions orthographiques. Apache License 2.0
Ir4ubot (d · c) pixeltoo Java - Python Regex simples, datation des bandeaux, mise à jour du modèle {{Que faire}} et des modèles comportant du code timeline comme {{avancement de la wikification}}...
JackBot (d · c) JackPotte Python / Pywikipedia Traductions des modèles de liens externes et tests de ces derniers pour déployer {{lien brisé}} le cas échéant. GitHub
JJMC89 bot (d · c) JJMC89 Python / Pywikipedia BSicons replacer GitHub
KunMilanoRobot (d · c) Kvardek du Python / Pywikipedia Activité ponctuelle selon besoin.
LinedBot (d · c) Linedwell Python / Pywikipedia Retrait de bandeaux du type {{Événement récent}}, {{R3R}} et {{En travaux}} après un certain temps sans modification sur la page. GNU GPLv3
ListeriaBot (d · c) Magnus Manske Wikidata
Louperibot (d · c) Louperivois Python Interwikis, statistiques, doubles redirections.
Loveless (d · c) Darkoneko Python / Pywikipedia Souhaite la bienvenue aux nouveaux contributeurs.
Loveless bienvenue (d · c) Maximilianklein(CS) (méta) Il ressemble beaucoup au bot Loveless, sauf qu'il peut mener des expériences sur l'efficacité du message.
LuaBot (d · c) Simon Villeneuve AWB Script Activité ponctuelle selon besoin.
MystBot (d · c) Myst Python / Pywikipedia Mise à jour d'interwiki sur les nouvelles pages, sur toute la Wikipédia, changements cosmétiques en manuel.
NaggoBot (d · c) El pitareio pywikibot Suivi des PàS, WP:RBOT, classement des articles récents du projet sport. Détail en PU du bot. Voir PU du bot pour les scripts python
NeoBot (d · c) 0x010C python Sources sur Github sous licence GPLv3
OrlodrimBot (d · c) Orlodrim Requêtes, tâches multiples
PastilleBot (d · c) Frakir
Peter17-Bot (d · c) Peter17 Python / PyWikiBot Divers Pour le moment des scripts pywikibot prédéfinis, à terme des scripts pywikibot de mon cru
Piglobot (d · c) Piglop Ruby Mise à jour de Wikipédia:Liste des administrateurs inactifs sur github [2]
Plotterbot (d · c) Trace Python pywikibot remplacement de texte via replace.py + regexp : ajout d'infobox, ajout de paramètres au modèle « date » etc.
ProméthéeBot (d · c) Prométhée Javascript / PyWikiBot / AWB Divers, travaux pour les portails (changement catégories...), extractions de bases de données
RobokoBot (d · c) Thibaut120094 PWB, AWB Corrections typographiques, réparation des doubles redirections, maintenance sur le Portail:ABDA et d’autres trucs. GNU GPLv3
Roland45-Bot (d · c) Roland45 VBA Actualise annuellement les modèles de données démographiques des institutions françaises (communes, cantons, départements, EPCI, etc). A pris le relais de Alinebot, en sommeil.
Salebot (d · c) Gribeco Perl Révocation de vandalisme et d'erreurs de débutant ; révocations faites sans le « bot flag ». Licence inconnue
Signature manquante (bot) (d · c) Brclz Node.js Ajout de {{non signé}} lorsque la signature est manquante GPLv2
StarusBot (d · c) Starus AWB Maintenance, renommage de catégories, retrait de liens internes à la suite de suppressions, mise à jour infobox ou tableaux, etc.
SuggestBot (d · c) Nettrom(en) précédé par ForteTuba(en) Python Aider les contributeurs de Wikipédia à trouver des articles à modifier. dépot github
SyntaxTerrorBot (d · c) SyntaxTerror AWB Divers, Requêtes
Texvc2LaTeXBot (d · c) Debenben Python dépot phabricator
Tictacbot (d · c) Lofhi Python / PyWikiBot Maintenance des modèles de protection pour le moment.
Toffbot (d · c) Supertoff AWB Divers
WikAthbot (d · c) Ath wik (d · c) Python / PyWikiBot Correction orthographique et syntaxique par regex, palettes, catégories.
WikiCleanerBot (d · c) NicoV Java - WPCleaner Maintenance, en particulier correction des liens vers les pages d'homonymie, correction syntaxique et suggestions orthographiques. Apache License 2.0
Xqbot (d · c) xqt Python dépot wikimedia License MIT
YiFeiBot (d · c) Zhuyifei1999 Task: Global Interwikilink Removal. m:User:Addbot has a detailed explanation on this task.
YwanBot (d · c) ex OrikriBot Ywan Cwper ex Orikrin1998 WPC, AWB, un peu de Python # Mise à jour des avertissements de liens vers pages d'homonymie.
  1. Mise à jour des avertissements de numéros ISBN erronés.
  2. Requêtes aux bots (dont renommage de catégories).
  3. Ajout de la section journalière des PàS et suppression des jours traités.
  4. Mise à jour de Modèle:Avertissements d'homonymie restants.
  5. Nettoyage rapide des articles.
Zebulon84bot (d · c) Zebulon84 AWB maintenance des modèles, en commençant par {{Ouvrage}}, {{Chapitre}} et {{Article}}
ZéroBot (d · c) Toto Azéro Python / Pywikipedia Diverses tâches de maintenance, voir la page utilisateur du bot pour plus de détails. GPLv3
ZetudBot (d · c) Zetud AWB Orthographe et typographie avec AWB.
ZiziBot (d · c) Irønie PHP POC / import donnée MITdépôt github

Voir aussi :

Note : la liste ci-dessus est mise à jour manuellement. Pour une liste à jour des bots actuellement autorisés, consulter la page spéciale Spécial:Liste des utilisateurs/bot.

Bots génériques

Ces comptes sont liés directement au fonctionnement de MediaWiki.

Nom du bot Fonction
Flow talk page manager (d · c) Compte gérant l'activation/désactivation du système de Discussion structurée
Maintenance script (d · c) Execute des scripts de maintenance notamment dans le but de renommer les utilisateurs pour finaliser le login unique sur tous les projets
MediaWiki default (d · c) Met à jour les messages systèmes MediaWiki
MediaWiki message delivery (d · c) Distribue des messages aux utilisateurs conformément à leur demande

Bots non autorisés ou en phase de test et utilisés actuellement

Nom du bot Responsable Langage / Framework Fonction Code source
Xavier Combelle Bot (d · c) Xavier Combelle Comme je suis amené à le reprogrammer pour faire de nouvelles tâches, je désire qu'il reste en phase de test.
Ltrbot (d · c) Ltrlg Divers
R2-D2 Bot (d · c) Macadam1
Alecs.bot (d · c) Alecs.y AWB - WPC Interwiki, corrections orthographiques et typographiques, Wikipédia 1.0, regex simples, catégories...
Après une petite retraite de 8 ans, je reprends la main tout doucement Alecs.bot. Merci de votre compréhension.
Aidewibot (d · c) Aidewikip Pywikibot - WPC Maintenances ponctuelles, avec des scripts adaptés au besoin (en python), principalement dans le cadre des requêtes aux bots ;
WPCleaner éventuellement pour des corrections syntaxiques systématiques.

Voir aussi :

Logiciels de bots

Frameworks disponibles pour développer un bot
Framework [adresse] Langage Licence
irnc-base Chicken Scheme ?
Java Wiki Bot 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
DotNetWikiBot 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_bot_framework_table
PHP
SwWiki PHP GPL
Pywikibot Python MIT
mwclient Python MIT
wikitools Python GPLv3 / CC 3.0 BY-SA
rbmediawiki Ruby GPLv3
rwikibot Ruby GPLv2
Comparaison des fonctionnalités offertes
Framework API MediaWiki[T 1] Limiteur d'édition[T 2] Log-in
AutoWikiBrowser ? Oui Oui
DotNetWikiBot Oui ? Oui
Luasóg Oui ? Oui
Mediawiki::API Oui Oui Oui
Mwclient Oui ? ?
Pywikibot Oui Oui Oui
wikitools Oui ? ?
WPCleaner 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 bot et ne pas surcharger les serveurs.

Requêtes

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

Voir aussi

Liens internes