Manual:Pywikibot/BotPasswords/fr

This page is a translated version of the page Manual:Pywikibot/BotPasswords and the translation is 100% complete.
Other languages:

En tant qu'alternative plus simple (mais moins sûre) à MediaWiki OAuth, cela permet aux utilisateurs de bots d'utiliser des mots de passe de bot pour limiter les autorisations accordées à un bot.

En utilisant BotPasswords, chaque instance reçoit un login_name de la forme <nom d'utilisateur>@<suffixe du robot> et un mot de passe. Cette combinaison permet uniquement d'accéder à l'API, et non à l'interface web normale.

Prérequis

  • Le wiki sur lequel vous souhaitez utiliser le bot doit être équipé de MediaWiki > 1.27.
  • Dans la plupart des installations, le logiciel client doit être configuré pour utiliser le protocole https.
  • Bien que les connexions semblent initialement fonctionner, le cookie généré semble incomplet et les actions de pywikibot reposant sur les droits échoueront. Voir Phab:T150645.

Configuration

  1. Connectez-vous sous votre compte bot (s'il est différent de votre compte principal).
  2. Générer un mot de passe pour le bot sous Special:BotPasswords (ou la page correspondante sur un autre wiki) :
    1. Remplir un « nom de robot », qui est le suffixe qui sera ajouté à votre nom d'utilisateur. Par exemple « replace-on-tools ».
    2. Accorder les droits correspondants. Pour la plupart des scripts Pywikibot, édition de gros volumes, modifier des pages existantes et créer, modifier et déplacer des pages sont suffisants. Si vous souhaitez également téléverser des fichiers avec le bot, ajouter téléverser de nouveaux fichiers et téléverser, remplacer et déplacer des fichiers. Laisser les restrictions d'utilisation telles quelles. Cliquer sur « créer ».
    3. Vous recevrez un message du type Le nouveau mot de passe pour se connecter avec Valhallasw@my-botpassword-name est mysupersecretbotpassword Ne fermez pas cette fenêtre avant d'avoir enregistré le mot de passe dans votre fichier de mots de passe (voir ci-dessous)
en exécutant le script generate_user_files.py
  1. Ce script peut gérer pour vous la création du fichier user-password.py. Exécuter simplement python pwb.py generate_user_files, et suivre les indications. Après le choix du wiki, et avoir saisi votre nom d'utilisateur, vous devrez saisir le nom/mot de passe créé sur Special:BotPasswords à l'étape précédente. Le nom est celui que vous avez choisi, le mot de passe est celui donné par le site web.
ou créer manuellement le fichier user-password.py
  1. Dans le répertoire où se trouve user-config.py, créer un fichier appelé user-password.py et rendez-le non lisible pour les autres (chmod 600 user-password.py)
  2. Dans le fichier user-password.py, ajouter la ligne ('Valhallasw', BotPassword('my-botpassword-name', 'mysupersecretbotpassword'))
  3. Dans user-config.py, ajouter la ligne password_file = "user-password.py". À noter que vous ne devriez avoir qu'un seul nom d'utilisateur dans ce fichier et omettre le suffixe « @my-botpassword-name ».
vérifier que la configuration fonctionne
  1. Exécuter python pwb.py login. Pywikibot devrait maintenant se connecter automatiquement en utilisant le mot de passe du bot :
Logging in to meta:meta as Valhallasw@my-botpassword-name
Logged in on meta:meta as Valhallasw.

format d'entrées de password_file

Les entrées dans user-password.py doivent être des tuples avec 2, 3 ou 4 éléments :

  • ('Username', BotPassword('BotPasswordName', 'Password'))
  • ('FamilyName', 'Username', BotPassword('BotPasswordName', 'Password'))
    Utilisé lorsque l'entrée ne devrait être utilisée sur un FamilyName spécifique, par exemple wikipedia ou wikisource.
  • ('SiteCode', 'FamilyName', 'Username', BotPassword('BotName', 'Password'))
    Utilisé lorsque l'entrée ne devrait être utilisée sur un FamilyName spécifique et un SiteCode, par exemple wikipedia et en.
Les entrées qui viennent plus tard annulent celles qui les précèdent. Par exemple, si le fichier de mots de passe contient :
('Username', 'AccountPassword')
('en', 'wikipedia', 'Username', BotPassword('BotName', 'Password'))
Alors, l'entrée pour BotPassword sera utilisée pour https://en.wikipedia.org/.

Voir aussi