PyWikipedia

PyWikipedia

Aide:Pywikipedia

In other languages: de - en - fr - hu - it - ja - ko - nl - pl - pt - ru - sv - zh-hant


Pywikipedia désigne un ensemble de scripts qui ont pour but de faire accomplir des tâches à des bots, sur Wikipédia ou d'autres projets de la Wikimedia Foundation. Ces scripts ont été écrits par plusieurs adeptes du langage Python. Sur cette page se trouvent les informations générales pour ceux qui souhaitent utiliser ce type de bot.

Sommaire

Avertissement

Pywikipedia est une libraire du langage de programmation Python permettant d'éditer les wikis MediaWiki. Est distribué avec cette librairie un ensemble de scripts, prêts à l'usage, écrits pour effectuer des tâches de maintenance courantes, le plus connu d'entre eux étant interwiki.py, le « bot interwiki ».

Pywikipedia n'en reste pas moins un outil de programmation, un ensemble de modules et de fonctions Python destinés à des programmeurs. Il est fortement déconseillé de s'improviser dresseur d'un robot Pywikipedia sans disposer au préalable de connaissances et d'expériences de la programmation.

Quel que soit l'état de marche de la librairie, en tant que programmeur, vous serez tenu en premier lieu responsable de toute modification erronée effectuée par votre robot: il est donc plus que conseillé d'être en mesure de comprendre les grandes lignes de fonctionnement de la librairie Pywikipedia avant d'envisager de l'utiliser.

De la même manière, vous êtes responsable des tests de vos programmes, et de la mise à jour régulière de Pywikipedia.

Téléchargement

Pour utiliser un bot, vous avez besoin de télécharger le logiciel du bot lui-même, ainsi que Python.

Python

Python est par défaut installé sur certaines distributions du système Unix, et dans ce cas il est inutile de le faire (il peut toutefois être nécessaire de mettre Python à jour si vous avez une version très ancienne). Dans tous les autres cas, Python est téléchargeable ici. Python fonctionne avec toutes les plates-formes courantes (UNIX, Linux, Mac, Windows).

Versions

Pywikipedia fonctionnera avec toute version de Python 2 supérieure à Python 2.4:

  • Les versions de Python 2.3 et antérieures peuvent partiellement fonctionner mais ne sont pas officiellement compatibles.
  • Les versions 2.4, 2.5, 2.6 sont complètement compatibles avec Pywikipedia.
  • Icône pour souligner l'importance du texte  Python 3 (3.0 et versions suivantes) n'est pas compatible.

Pywikipedia

Une version mise à jour toutes les nuits est trouvable sur http://toolserver.org/~valhallasw/pywiki/

A tout instant, la version de développement est disponible via SVN (ou visible à l'adresse http://svn.wikimedia.org/viewvc/pywikipedia/trunk/pywikipedia/ si vous n'avez pas de client SVN installé). Un système Unix est équipé d'un client SVN d'office, et pour Windows TortoiseSVN est recommandé.

Pour télécharger la dernière version du bot dans un shell Unix, placez-vous dans le dossier dans lequel vous voulez installer le dossier pywikipedia contenant tous les fichiers puis utilisez la commande suivante :

svn checkout http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/ pywikipedia

Pour des mises à jour, placez-vous dans le répertoire pywikipedia et tapez :

svn update

Une fois que vous êtes en possession du bot, tout ce que vous avez à faire est de le placer quelque part sur votre ordinateur, car il n'a pas besoin d'installation supplémentaire.

Si vous avez l'intention de vous servir du bot, il serait souhaitable de vous inscrire à la mailing list sur les bots (voir ici). À chaque fois qu'un fichier du logiciel est modifié, un courriel est envoyé à la liste, ainsi vous saurez quand il est nécessaire de mettre à jour la version la plus récente.

Patch

Si vous avez changé le bot et désirez envoyer un patch au fournisseur,

  1. mettez à jour la version actuelle (cela fusionnera vos changements avec les améliorations déjà apportées par le dépôt SVN),
  2. tapez
svn diff > patch.diff

Vous pouvez envoyer le fichier patch.diff aux développeurs, en leur demandant d'inclure les changements (peut-être faudrait-il relire le diff avant de l'envoyer). Soumettre les patchs ici (Tracker -> Patches).

Préparation

Assurez-vous que votre bot a été autorisé par la communauté du wiki dans lequel vous allez vous en servir. Les conditions requises pour l'utilisation d'un bot varient suivant les projets : dans certains projets, vous aurez besoin d'annoncer votre bot en avance et d'obtenir la permission avant de commencer à vous en servir; dans d'autres, vous êtes totalement libres de vous en servir.

À l'aide de votre navigateur web, créez un identifiant et un mot de passe pour le bot. Il est recommandé d'utiliser un nom qui permette d'identifier facilement qu'il s'agit d'un bot, ainsi que son propriétaire. Une méthode courante est d'utiliser le nom de votre compte et d'y ajouter le mot « bot » à la fin, mais cette convention n'est pas utilisée pour tous les bots.

Sur Wikipédia en français, les bots devraient être déclarés sur la page Wikipédia:Bot, leur page utilisateur devrait également contenir une inclusion du modèle {{Bot}}, les utilisateurs ayant le status de bot sont listés ici.

Ensuite, dans le répertoire du bot, créez un fichier user-config.py contenant cette ligne :

mylang = 'xx'

xx désigne le code du langage sur lequel vous comptez utiliser le bot (par exemple 'fr' pour le français). Si vous souhaitez travailler sur plusieurs langues, choisissez la principale, et lisez (en) meta:Pywikipediabot general parameters pour savoir comment travailler dans d'autres langues. Si vous ne travaillez pas sur Wikipédia, vous devrez ajouter :

family = 'nomfamille'

où nomfamille désigne le nom du site sur lequel vous travaillerez. Cela peut être Wiktionnaire, Wikilivres, Wikiquote, ou encore des projets distincts de Wikimedia, comme Wikitravel. Si vous travaillez sur Commons, spécifiez commons à la fois comme langage et comme famille.

D'autre part, votre user-config.py doit définir votre nom d'utilisateur. Par exemple, si vous souhaitez travailler sur la Wikipédia en langue suédoise, et que vous avez créé un compte pour le bot avec le nom « ExempleBot », ajoutez la ligne suivante :

usernames['wikipedia']['sv'] = 'ExempleBot'

Si vous travaillez sur plusieurs wikis, vous pouvez également spécifier plusieurs noms :

usernames['wikipedia']['de'] = 'BeispielBot'
usernames['wikipedia']['en'] = 'ExampleBot'
usernames['wiktionary']['de'] = 'BeispielBot'

Pour que les caractères non-ASCII n'apparaissent pas dans votre terminal sous la forme de points d'interrogations (« ???? »), vous devez spécifier l'encodage utilisé par votre système (utf-8, iso 8859-1, ...):

console_encoding = 'utf-8'

Exemple de fichier

mylang = 'fr'
usernames['wikipedia']['fr'] = 'Probot'
console_encoding = 'utf-8'

Sélection et lancement d'un script pour le bot

Maintenant vous êtes prêt à utiliser le bot. Vous devez pour ce faire ouvrir une invite de commandes de votre système d'exploitation.

Sous Windows

Sur Windows, vous l'obtiendrez en ouvrant le menu de démarrage, en cliquant sur « Exécuter », et en tapant « cmd » (ou « command.com » sur les anciennes versions de Windows) dans le champ affiché.

Allez dans le répertoire dans lequel vous avez enregistré les fichiers du robot (en utilisant la commande « cd »). Vous pouvez maintenant lancer n'importe quel script, en tapant simplement « python.exe nomduscript.py » (si vous avez installé Python dans le même répertoire que pywikipedia) ou « nomduscript.py » suivi des paramètres éventuels.

Sous Linux/Unix

Ouvrez un terminal puis déplacez-vous dans le répertoire dans lequel vous avez enregistré les fichiers du robot. Vous pouvez maintenant lancer n'importe quel script ici, en tapant « python nomduscript.py » ou « ./nomduscript.py » suivi des paramètres éventuels

Les scripts

Avant de commencer véritablement à faire travailler le bot, lancez le script login.py. Un mot de passe vous est alors demandé. Utilisez le mot de passe choisi lors de la création du compte du bot. Le bot ne peut pas travailler sans être identifié. À moins que vous ne changiez le mot de passe, vous n'aurez normalement à lancer ce programme qu'une seule fois, car le bot ne se déconnecte pas.

Maintenant vous pouvez utiliser l'un des scripts pour le bot. Ci-dessous se trouve la liste des scripts (d'autres peuvent apparaître au fil des mises à jour), avec les liens vers leur description :

Principaux scripts :

  • (fr) category.py
  • (en) imagetransfer.py
  • (fr) interwiki.py
  • (fr) redirect.py
  • (fr) replace.py
  • (fr) solve disambiguation.py
  • (fr) table2wiki.py
  • (en) template.py
  • (en) upload.py
  • (fr) weblinkchecker.py (alias check extern.py)

Autres scripts :

Programmes auxiliaires :

La seule façon d'être sûr du fonctionnement attendu d'un script est de lire l'aide, en anglais, dudit script: celle-ci sera toujours placée en entête des scripts.

Arguments des lignes de commande des scripts

La plupart des scripts pour les bots ont leurs propres arguments de lignes de commandes, qui sont expliquées dans leur page de description respective (ou dans leur code source). Cependant, tous les scripts, à moins que le contraire ne soit spécifiquement déclaré, comportent les arguments suivants :

  • -help : Affiche une liste des principaux arguments pour les scripts (cette même liste), suivie de l'aide spécifique au script sélectionné, si celle-ci est disponible.
  • -lang:xx : Fixe la langue du projet sur lequel vous souhaitez travailler, en utilisant le code de la langue. Cette commande outrepasse la configuration déjà effectuée dans user-config.py.
  • -family:xyz : Fixe la famille du wiki sur lequel vous souhaitez travailler (par exemple, Wikipédia, Wiktionnaire et Wikitravel). Cette commande outrepasse la configuration déjà effectuée dans user-config.py.
  • -log : Active la fonction qui enregistre le journal de toutes les opérations effectuées. Les opérations seront enregistrés dans le sous-dossier logs.
  • -log:xyz : Active la fonction qui enregistre le journal de toutes les opérations effectuées en utilisant xyz comme nom de fichier.
  • -nolog : Désactive la fonction qui enregistre le journal de toutes les opérations effectuées (si elle était activée par défaut).
  • -putthrottle:nn : Règle le temps minimum (en secondes) d'attente du script entre les pages sauvegardées.

Par exemple, python nomduscript.py -family:wiktionary lancera le script nomduscript sur les articles du Wiktionnaire, outrepassant la famille qui a été choisie par défaut dans le fichier de configuration.

Enregistrer un bot

Si vous utilisez un bot souvent, celui-ci encombrera les modifications récentes. Pour éviter cela, vous pouvez demander l'enregistrement de votre bot en tant que tel. Dans ce cas, celui-ci n'apparaîtra plus dans les modifications récentes à moins que l'utilisateur qui les visualise choisisse justement de les afficher.

Sur Wikipédia en français, il suffit d'inscrire le bot à un vote sur Wikipédia:Bot/Statut. Si le vote est favorable au bout d'au moins sept jours, vous pouvez demander à un Bureaucrate de donner le statut au bot.

Il est recommandé d'enregistrer votre bot dès lors que celui-ci modifiera de nombreuses pages d'une seule traite.

Que votre bot ait le status ou pas, il est demandé d'apposer le modèle {{Bot}} sur sa page utilisateur, ce modèle permet entre autres de catégoriser automatiquement cette page.

La liste complète des bots actuellement enregistrés sur Wikipédia en français est disponible sur la page Special:Listusers/Bot.

Utilisation avancée du bot

S'il y a une fonction que vous souhaitez faire exécuter par un bot, qui n'est pas encore rendue possible par l'un des scripts existants, vous pouvez demander à d'autres dresseurs de bots ou l'un des programmeurs d'écrire la fonction pour vous. Ou encore mieux, vous pouvez essayer d'améliorer les bots vous-même. Python est un langage simple et facile d'accès. Nous vous en serions reconnaissants.

Utiliser un bot pour un wiki local

Consultez cette page (en anglais) pour savoir comment configurer un bot pour l'utiliser sur votre propre projet fonctionnant avec le logiciel mediawiki.

Introduction sur la création de votre propre bot

Voici quelques astuces très basiques pour commencer à écrire votre propre bot :

  • Assurez-vous d'avoir réglé votre fichier user-config.py (voir plus haut).
  • Utilisez import wikipedia pour avoir accès à la structure de pywikipedia.
  • Pour récupérer une page, utilisez la commande suivante, où nomDePage est, par exemple, « Wikipédia:Bot » ou « Inde » :
site = wikipedia.getSite()
page = wikipedia.Page(site, nomDePage)
text = page.get()
  • Pour mettre à jour une page, utilisez :
page.put(nouveauTexte)
  • Consultez quelques fichiers pywikipedia pour trouver d'autres idées. replace.py est relativement simple à lire même si vous êtes néophyte sur pywikipedia.
  • Vous trouverez toutes les méthodes de Page disponibles dans le fichier wikipedia.py.
  • La traduction de la documentation complète de la librairie se trouve ici : Aide:Pywikipedia/manuelFR

Voir aussi

Ce document provient de « Aide:Pywikipedia ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article PyWikipedia de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Wikipedia:¿Cómo se crea un bot? — El propósito de este pequeño manual es ilustrar cómo se crea un bot personalizado para realizar una tarea en la wiki usando las librerías de programación pywikipedia en el lenguaje de programación Python. Requisitos Tener instaladas y… …   Wikipedia Español

  • Tutorial Corrector-es — Wikipedia:Tutorial Corrector es Saltar a navegación, búsqueda Se nombró Corrector es a un diccionario de lengua española creado con el fin de agregarlo a un robot usando el framework en Python de la pywikipedia como opción para el mantenimiento… …   Wikipedia Español

  • Wikipedia:Tutorial Corrector-es — Se nombró Corrector es a un diccionario de lengua española creado con el fin de agregarlo a un robot usando el framework en Python de la pywikipedia como opción para el mantenimiento de Wikipedia. La idea es que si tienes un Bot usando… …   Wikipedia Español

  • Wikipedia:Bot — Atajos WP:BOTWP:BOT WP:BOTSWP:BOTS Un bot (palabra que resulta de una aféresis practicada sobre robot) es un programa diseñado para i …   Wikipedia Español

  • P:IW — Projet:Interwikification Pages spéciales Non modifiables Modifiables Articles courts Articles courts Articles longs Articles longs Articles anciens Articles récents Articles les plus demand …   Wikipédia en Français

  • WikiSource — est un projet multilingue de bibliothèque numérique, soutenu par la fondation Wikimedia, libre d accès, sans publicité, librement distribuable, édifiée par des bénévoles qui s appuient sur la technologie wiki. Le projet a été lancé le 23 novembre …   Wikipédia en Français

  • Wikisource — Le logo de Wikisource depuis mai 2006. Wikisource est un projet multilingue de bibliothèque numérique, soutenu par la Fondation Wikimedia, libre d accès, sans publicité, librement distribuable, édifiée par des bénévoles qui s appuient sur la… …   Wikipédia en Français

  • Wikisources — Wikisource Wikisource est un projet multilingue de bibliothèque numérique, soutenu par la fondation Wikimedia, libre d accès, sans publicité, librement distribuable, édifiée par des bénévoles qui s appuient sur la technologie wiki. Le projet a… …   Wikipédia en Français

  • TortoiseCVS — ? Información general Última versión estable …   Wikipedia Español

  • MediaWiki — MediaWiki …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”