Utilisateur:Framawiki/Atelier Pywikibot

meta:WikiConvention_francophone/2016/Programme/Devenez_développeur_(en_4_h_montre_en_main)

En particulier, PAWS et Pywikibot permettraient aux contributeurs présents d’effectuer des modifications de bot sans effort et, cette fois ci, sans installation sur leur ordinateur personnel.

En trois heures maximum, les participants pourraient, en fonction du contenu définitif:

  • connaître le fonctionnement actuel et la tournure future des bots sur les projets Wikimédia (Statut des bots, Mediawiki, API, Labs, Tools)
  • aura accès à Phabricator (saura créer et suivre un ticket, connaîtra Gerritbot, sera membre des projets correspondant aux scripts qui l'intéresse)
  • avoir une connaissance globale du fonctionnement de Gerrit/Git, sans pour autant l'avoir installé mais en ayant suffisamment d'informations pour se diriger au bon endroit en temps voulu
  • connaître le fonctionnement global de Pywikibot (son utilisation via un terminal, utilisation via les scripts utilisables qu'il propose, utilisation via un projet personnel en Python, mise à jour via Git/Gerrit)
  • connaître puis utiliser PAWS (accès en ligne, terminal dans le navigateur)
  • manipulera PAWS dans un cas concret (remplacement d'une faute d'orthographe dans plusieurs articles)
  • ouverture (Tools), lieux et vecteurs d'aide, réponse aux questions

Ainsi, il ne serait pas nécessaire d'installer un matériel sur l'ordinateur du participant : tout se fait en ligne, via le navigateur. Les participants ne sont aps obligés d'utiliser leur propre matériel.

Les bots sur les projets Wikimédia modifier

  • But: taches répétitives
  • Moyen: API, interaction Mediawiki
  • Language de programmation: Python, librairie: Pywikibot
  • Hébergés sur l’ordinateur du contributeur, sur les Labs/Tools/PAWS, serveur privé
  • Par des bénévoles, internationaux

Pywikibot modifier

  • Double utilisation:
    • Scripts: répertoire dédié, utilise le core, mw:Manual:Pywikibot/Scripts, idée d'appel du script par le shell, arguments, position interchangeable
    • Librairie: construction de son propre script, langage: Python, orienté objet

PAWS modifier

  • Présentation: Outil hébergé sur les Labs, sans inscription, sans installation/navigateur, où tout est inclus par défaut, Pywikibot mais pas que
  • interface, onglets, shell/notebooks/fichiers/environnement linux
  • Particularité: OAuth, pas de mot de passe nécessaire, user-config.py déjà présent
Manipulation
  • Connexion, OAuth, création d'un serveur
  • Ouverture d'un shell
  • pwb.py add_text -page:"Utilisateur:<username>/Brouillon" -text:"Bonjour !"
  • Consultation historique, voir la modification
  • pwb.py replace "Bonjour" "Hello" -page:"Utilisateur:<username>/Brouillon"
  • Consultation historique, annulation
  • pwb.py replace "Bonjour" "Hello" -page:"Utilisateur:<username>/Brouillon" -always
...
  • Renommage d'une catégorie sur testwiki

Ouverture modifier

  • Évoquer les regexes, regex101.com, leur utilisation avec les sripts PWB (add_text, replace)
  • Créer un script pywikibot sur PAWS, ouverture du notebook, import pywikibot, objets page/site, save, documentations
  • Savoir ce qui fonctionne sur PAWS, arrêter les consoles en exécution, arrêter le serveur allumé
  • Présentation des Tools, idée de projet, cron, explication concernant l'ouverture d'un compte, Wikitech, shell sur ordinateur, clés, ssh
  • Remonter un bug sur Phabricator, les projets de pywikibot, les taches
  • Les patchs via gerrit, idée de commit, de review
  • Manuel sur mw.org, listes, IRC