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

et (n'oubliez pas de) vider le cache de vos explorateurs après cela.

Ensuite vous pourriez vouloir considérer votre répertoire

$ cd ~/cgi-bin

suivez exactement les indications données sur wikitech:Help:Toolforge, c'est à dire que même les deux commandes

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

fonctionnent et font la même chose dans le shell, seulement que la première est valide et fonctionne ici, la seconde est invalide! Un autre point à mentionner est que les scripts PHP vont dans public_html, et non cgi-bin. Les scripts Python d'un autre côté peuvent être mise dans public_html ou cgi-bin comme vous le désirez. On recommande d'utiliser  pour les documents et de le laisser consultable, tandis que   devrait être utilisé pour les scripts CGI et être protégé (non consultable).

Initialiser la soumission d'une tâche
Afin d'initialiser la soumission des tâches que vous voulez exécuter et utiliser le système de batch (grid engine) vous devez d'abord considérer wikitech:Help:Toolforge et si vous êtes familier avec le Toolserver et son architecture, consultez aussi Migrer de Toolserver.

En général les laboratoires utilisent Grid Engine et ses commandes comme  et al, ceci est expliqué dans la documentation Toolforge Job Grid que vous devriez utiliser afin d'avoir une idée de la commande et des paramètres que vous voulez utiliser.

Une tâche qui ne se termine jamais (par exemple irc-bot) comme celle la (entrée   de soumission TS):

devient

ou plus court

la première expression est bonne pour débogguer. Les valeurs mémoire inférieures à 256MB semblent ne pas marcher ici, car c'est un mimimum. Si vous avez des problèmes avec vos tâches, comme par exemple : Fatal Python error: Couldn't create autoTLSkey mapping vous pouvez essayer d'augmenter la valeur de la mémoire - qui est aussi nécessaire ici, car ce script utilise un second thread pour le temps et ce thread a besoin de mémoire aussi. Dans ce but utilisez finalement

Maintenant pour créer une crontab suivez Lancer des tâches à intervalles réguliers par cron et mettez à jour les fichiers crontab ainsi : $ crontab -e puis Entrée

Configuration supplémentaire
De plus, des outils additionnels sont disponibles pour vous aider à travailler ainsi que vos robots :
 * wikitech:Help:Toolforge, de base il existe une protection contre les problèmes de disques, mais pas de sauvegarde gérable par l'utilisateur
 * wikitech:Help:Toolforge
 * Gerrit/New repositories
 * Git/New repositories/Requests

Mise à jour automatique de Git sur Toolforge
Pour mettre à jour automatiquement Pywikibot, vous pouvez écrire un fichier bash d' update dans le  du répertoire de votre outil :

puis lancez crontab -e et entrez ce qui suit pour mettre à jour votre clone Git chaque jour à 00:00AM (minuit):

Notice: dans ces codes yourtoolname est le nom de votre compte outils.