Manual:Pywikibot/Installation/Toolforge/fr

Exécuter votre robot sous Toolforge
Commencez par lire ce qui concerne l'environnement Toolforge.

Ensuite, lisez le Guide de démarrage des services du Cloud pour connaître la manière de créer les comptes nécessaires et rejoindre le projet Toolforge.

Une fois votre accès au projet Toolforge attribué, vous pouvez créer un compte d'outils qui contiendra le code source de votre robot et les fichiers de configuration.

Si par le passé vous avez utilisé toolserver et que vous connaissez la manière dont chaque étape fonctionnait, voyez migrer à partir de toolserver pour plus d'informations sur la migration vers l'environnement Toolforge.

Maintenant vous êtes prêt à commencer. Connectez-vous au serveur du bastion Toolforge :

$ ssh USERNAME@tools-login.wmflabs.org

passez sur le compte de l'outil avec

maintainer@tools-login:~$ become toolname tools.toolname@tools-login:~$

Maintenant intallez/clonez le code pywikibot dans le compte de votre outil comme décrit ci-dessous.

Installer le code du robot
Suivez les instructions d'une manière similaire à ce qui est décrit dans ce courriel :

$ git clone --recursive https://gerrit.wikimedia.org/r/pywikibot/core.git pywikibot-core $ cd pywikibot-core

Vous devez maintenant initialiser pywikibot. Choisissez n'importe laquelle des méthodes suivantes pour configurer votre système :
 * Exécuter
 * Lancer votre script favori de robot (par exemple ) . Puisque vous faites cela immédiatement après un clonage, cela va déclencher toute une série de questions sur la manière dont vous voulez configurer la copie locale, répondez alors avec attention pour pouvoir avancer.
 * Si vous avez déja un/des fichier(s) de configuration d'une version précédente, vous pouvez copier ces fichiers existants à l'endroit où ils doivent se trouver (par exemple pywikibot-compat/).

D'autres choses que vous pourriez avoir à faire (cela dépend de quels scripts de robot vous voulez lancer) est d'initialiser tous les externes proprement - ce qui doit encore être fait manuellement dans le "noyau"

$ cd externals $ cat README

et suivez-y les instructions.

Eventuellement vous pourriez avoir à saisir le mot de passe pour votre robot.

Maintenant vous avez fini la configuration du "noyau" et pouvez continuer en déclarant la tâche à exécuter.

Initialiser l'environnement web
Par défaut, le contenu du répertoire sur http://tools.wmflabs.org/TOOLNAME n'est pas accessible. Si vous voulez l'autoriser pour tous les utilisateurs, connectez-vous sur votre compte outils (comme expliqué précédemment) et

$ cd ~/public_html $ echo Options +Indexes >> .htaccess

Si vous lancez un robot avec l'option , vous récupérez les fichiers de log dans le répertoire. Si vous voulez que les utilisateurs y accèdent par le web, faites

$ cd ~/public_html $ mkdir logs $ cd logs $ ln -s ~/pywikibot-core/logs cor

Si vous voulez qu'un type de fichier spécifique soit géré différemment par votre explorateur, par exemple les fichiers  comme des fichiers texte, utilisez  (voir ceci)

$ echo AddType text/plain .log >> .htaccess

and (don't forget to) clear your browsers cache afterwards.

Next you might want to consider you  directory

$ cd ~/cgi-bin

follow the hints given at wikitech:Help:Toolforge exactly, e.g. even the two commands

$ /usr/bin/python     # valid $ /usr/bin/env python # in-vali

work and do the same in shell, only the first one is valid and works here, the second is invalid! Another point to mention is that PHP scripts go into public_html, not cgi-bin. Python scripts on the other hand can be placed in public_html or cgi-bin as you wish. It is recommended to use  for documents and keep it listable, whereas   should be used for CGI scripts and be protected (not listable).

Initialiser la soumission d'une tâche
In order to setup the submission of the jobs you want to execute and use the grid engine you should first consider wikitech:Help:Toolforge and if you are familiar with the Toolserver and its architecture consult Migrating from toolserver also.

In general labs uses Grid Engine and its commands like  et al, this is explained in the Toolforge Job Grid documentation which you should use in order to get an idea which command and what parameters you want to use.

An infinitely running job (e.g. irc-bot) like this ( entry from TS submit host):

devient

ou plus court

the first expression is good for debugging. Memory values smaller than 256MB seem not to work here, since that is the minimum. If you experience problems with your jobs, like e.g. Fatal Python error: Couldn't create autoTLSkey mapping you can try increasing the memory value - which is also needed here, because this script uses a second thread for timing and this thread needs memory too. Therefore use finally

Now in order to create a crontab follow Scheduling jobs at regular intervals with cron and setup for crontab file like: $ crontab -e and enter

Configuration supplémentaire
Furthermore additional tools to support you and your bot at work are available:
 * wikitech:Help:Toolforge, basically there is protection from disk failure, but not user managed backups
 * wikitech:Help:Toolforge
 * Gerrit/New repositories
 * Git/New repositories/Requests

Mise à jour automatique de Git sur Wikimedia Labs
For automatic updating of pywikibot, you can make an update bash file in your tool's  directory:

and then run crontab -e and enter the following to update your git clone every day at 00:00AM (midnight):

Notice: in these codes yourtoolname is name of your tool account.