WikiRobots/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "==Utilisation==")
(Created page with "Vous êtes maintenant prêt à lancer les scripts de Pywikibot. Les scripts eux-mêmes sont contenus dans le sous-répertoire {{FileName|/scripts}}, dont vous pouvez connaîtr...")
Line 93: Line 93:
==Utilisation==
==Utilisation==


You are now all set to launch the Pywikibot scripts. The scripts themselves are contained in the {{FileName|/scripts}} subdirectory, from which you can know the names.
Vous êtes maintenant prêt à lancer les scripts de Pywikibot. Les scripts eux-mêmes sont contenus dans le sous-répertoire {{FileName|/scripts}}, dont vous pouvez connaître les noms.


To launch the scripts, open a shell and move to the base directory (the installation one, NOT the {{FileName|/scripts}} subdirectory), and write
To launch the scripts, open a shell and move to the base directory (the installation one, NOT the {{FileName|/scripts}} subdirectory), and write

Revision as of 21:25, 25 June 2021

Other languages:
Les robots sont intrinsèquement dangereux car ils peuvent automatiquement faire beaucoup de dégâts. Utilisez-les avec une extrême prudence!

Présentation

Les tâches répétitives peuvent être automatisées à l'aide de robots ou de bots, c'est-à-dire de programmes logiciels fonctionnant seuls sur le wiki.

Les robots classiques et les plus utilisés pour les sites wiki sont fournis par MediaWiki, sous le nom de paquet Pywikibot. Voir Manuel:Pywikibot pour des informations complètes.

En un mot, Pywikibot est une collection de scripts Python capables d'utiliser l'API wiki native pour agir sur les sites wiki. Pour voir la liste des API pour le wiki de FreeCAD, visitez http://www.freecadweb.org/wiki/api.php.

Pour utiliser Pywikibot, vous devez :

  1. installer le package Pywikibot
  2. configurez Pywikibot pour qu'il fonctionne sur le Wiki FreeCAD.
  3. lancez les scripts dont vous avez besoin pour la tâche à accomplir.

Il existe une multitude d'informations sur la façon d'installer, de configurer et d'utiliser Pywikibot. Cependant, soyez conscient que ces informations, bien qu'utiles, peuvent être trompeuses, car elles mélangent des instructions relatives à deux bases de code Pywikibot différentes et différentes versions de la collection de scripts Pywikibot.

Dans ce qui suit, vous trouverez les instructions de base pour configurer et utiliser Pywikibot sur le wiki FreeCAD. Cela vous permettra d'effectuer les tâches les plus courantes. Pour une utilisation avancée, référez-vous au Manuel:Pywikibot et au code source Python.

Installation

Allez sur http://tools.wmflabs.org/pywikibot/ et téléchargez package/pywikipedia/core.zip. (le projet est aussi sous github, gerrit, etc... mais c'est un moyen simple d'obtenir un paquet complet et autonome).

Décompressez le contenu dans le répertoire de votre choix.

À moins que vous ne vouliez installer les bibliothèques dans vos librairies Python, vous avez terminé (si vous voulez toujours les installer, vérifiez le fichier INSTALL dans le répertoire de base).

Pywikibot fonctionne avec Python 2.6 et 2.7 sans problème. Python 3 n'a pas été testé jusqu'à présent avec FreeCAD wiki fonctionne également.

Configuration

Vous devez enregistrer le code Python suivant dans un fichier portant le nom user-config.py dans le répertoire de base où vous avez décompressé package/pywikipedia/core.zip. (pour être clair, dans le même répertoire où vous trouvez déjà un fichier appelé user-config.py.sample).

# -*- coding: cp437  -*-
family = 'freecadwiki'
mylang = 'en'
usernames['freecadwiki']['en'] = u'<<yourWikiUserName>>'
#usernames['freecadwiki']['freecadwiki'] = u'<<yourWikiUserName>>'
console_encoding = 'cp437'

Dans le code ci-dessus :

  • remplacez <<yourWikiUserName>> par votre nom d'utilisateur Wiki
  • remplacer cp437 par votre console_encoding. Pour connaître l'encodage de votre console, pour Windows et Linux, lancez l'interpréteur Python, entrez import sys suivi de print sys.stdout.encoding. Python écrira votre console_encoding à l'écran.


Vous devez ensuite enregistrer le code Python suivant dans un fichier portant le nom freecadwiki_family.py dans le sous-répertoire /pywikibot/families. (avec les autres fichiers family_xxx.py).

# -*- coding: utf-8  -*-

__version__ = '$Id: 7f3891c3bbbfbd69c0b005de953514803d783d92 $'

from pywikibot import family


# The MediaWiki family
# user-config.py: usernames['mediawiki']['mediawiki'] = 'User name'
class Family(family.WikimediaFamily):
    def __init__(self):
        super(Family, self).__init__()
        self.name = 'freecadwiki'

        self.langs = {
            'en': 'www.freecadweb.org',
        }

    def scriptpath(self, code):
        return 'wiki'

    def path(self, code):
        return '/index.php' #The path of index.php, look at your wiki address. 
	 
    def apipath(self, code):
        return '/api.php' #The path of api.php

    def version(self, code):
        # Replace with the actual version being run on your wiki
        return '1.20.3'

    def protocol(self, code):
        """
        Can be overridden to return 'https'. Other protocols are not supported.
        """
        return 'http'
        #return 'https' # My server uses https

Utilisation

Vous êtes maintenant prêt à lancer les scripts de Pywikibot. Les scripts eux-mêmes sont contenus dans le sous-répertoire /scripts, dont vous pouvez connaître les noms.

To launch the scripts, open a shell and move to the base directory (the installation one, NOT the /scripts subdirectory), and write

python pwb.py <<scriptname>>.py -<<parameter>>

where of course you replace <<scriptname>> with the name of the script you are interested in, and <<parameter>> with the parameter(s) required for the given script.

To have a description of the usage and parameters of any script, simply use the -help parameter. For instance, to have a description of the replace.py script (one of the most useful), type

python pwb.py replace.py -help

There is another very useful parameter, valid for all the scripts, called -simulate, that allows you to test commands without harming the Wiki. Use it, before going 'live'.

Examples

This command will log into the wiki

pwb.py login.py


This command will print a list of all the pages containing a link to SourceForge

pwb.py listpages.py -weblink:sourceforge.net


This command will replace all the links to the old SourceForge Forum with a link to the new freecadweb.org-hosted Forum

pwb.py replace.py -weblink:sourceforge.net/apps/phpbb/free-cad "sourceforge.net/apps/phpbb/free-cad" "forum.freecadweb.org"


This command will print a list of all the pages containing the word 'PartDesign', starting with the page titled "2d Drafting Module" and going on alphabetically

pwb.py listpages.py -start:"2d Drafting Module" -grep:PartDesign


This command will replace all the secure links to the old SourceForge Forum with a link to the new freecadweb.org-hosted Forum in the translated pages

pwb.py replace.py -start:Translations:! "https://sourceforge.net/apps/phpbb/free-cad" "http://forum.freecadweb.org"

FreeCAD Wiki Related Commands

Count all pages that a specific wiki templates is used in

python3 pwb.py templatecount -count GuiCommand


List all pages that a specific wiki templates is used in

python3 pwb.py templatecount -list GuiCommand

Replace a string in all the pages listed in the Arch category (a/k/a)

python3 pwb.py replace.py -cat:Arch