Aide:Pywikipedia

Un article de Wikipédia, l'encyclopédie libre.

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


Pywikipedia est un ensemble de scripts qui ont pour but de faire accomplir des tâches à des bots, sur Wikipédia ou d'autres projets Mediawiki. 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

[modifier] Téléchargement

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

[modifier] 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). Téléchargez et installez Python.

[modifier] Pywikipedia

Le logiciel du bot peut être téléchargé sur SourceForge. À cette adresse, vous pouvez télécharger un package complet, mais il s'agit souvent d'une version périmée, sujette à de multiples bugs et ne contenant pas les dernières fonctionnalités (la dernière version disponible date d'août 2007).

Une version bien plus à jour (tout au plus 24 heures) générée toute 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'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.

[modifier] 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 CVS),
  2. résolvez tout conflit entraîné par la mise à jour (cherchez des "=====" ;-) et
  3. 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). Les lignes initiales commençant par "?" peuvent être supprimées.

[modifier] 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 libre de vous en servir.

À l'aide de votre navigateur internet, créez un identifiant et un mot de passe Wikipédia 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 la Wikipédia francophone, les bots doivent être déclarés sur la page Wikipédia:Bot. Notez qu'il n'y a aucun consensus concernant l'utilisation des bots interwiki sur en:.

Assurez-vous que votre compte est configuré avec l'utilisation du skin MonoBook.

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 meta:Pywikipediabot general parameters(en) 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 le Wiktionnaire, les Wikilivres, Wikiquote, ou encore des projets distincts de Wikimedia, comme Wikitravel. Si vous travaillez sur WikiMedia 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'

Si vous travaillez sur un wiki utilisant la norme Unicode (c'est le cas sur la Wikipédia francophone) et si vous comptez utiliser des caractères non latins, vous devrez changer l'encodage des caractères de votre console en UTF-8 et mettre l'option console_encoding en utf-8 dans votre user-config.py, de façon à ce que les caractères UTF n'apparaissent pas sous la forme de points d'interrogations ("????") :

console_encoding = 'utf-8'

[modifier] Exemple de fichier

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

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

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

[modifier] 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 ici, 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.

[modifier] 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 simplement «python nomduscript.py » ou « ./nomduscript.py » suivi des paramètres éventuels

[modifier] 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 :

Autres scripts :

Programmes auxiliaires :

[modifier] 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, le Wiktionnaire, Wikitravel... Cette commande outrepasse la configuration déjà effectuée dans user-config.py.
  • -log : Active le fichier qui enregistre le journal de toutes les opérations effectuées. Les logs seront enregistrés dans le sous-dossier "logs".
  • -log:xyz : Active les logs en utilisant xyz comme nom de fichier.
  • -nolog : Désactive les logs (s'ils sont activés 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.

[modifier] 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 la Wikipédia francophone, il suffit d'inscrire le bot à un vote sur Wikipédia:Bot/Statut. Si le vote est favorable au bout de 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.

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

[modifier] 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.

[modifier] 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.

[modifier] 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 complete de la librairie se trouve ici : Aide:Pywikipedia/manuelFR

[modifier] Voir aussi