AIDE : Les robots et camptocamp.org

Activités :
Catégories : info site
Type d'article : collaboratif (CC by-sa)

Cet article vous guidera pas à pas pour installer et faire vos premiers script de bot pour éditer camptocamp. Il n'est pas nécessaire d'avoir de compétences en informatique.

Règles

L'utilisation d'un bot sur le topoguide pour faire des éditions semi-automatiques est autorisée sur camptocamp.org, tant que les règles suivantes sont respectées :

  • Le bot doit utiliser un compte camptocamp différent de celui de son dresseur. Le nom du compte du dresseur doit être présent sur la page personnelle du bot, et vice-versa. Pour ne pas nuire à la maintenance et le suivi des modifications, il est formellement interdit de contribuer avec un système automatisé, ou semi automatisé avec son compte principal.
  • Le bot doit être déclaré, et toutes ses modifications doivent être annoncées sur le forum, et approuvées par les autres contributeurs.
  • Le bot doit être sous la surveillance de son dresseur lorsqu'il édite le topoguide. Son dresseur est pleinement responsable de toutes les contributions faites par son bot. Il ne doit faire des modifications de texte que dans les langues parfaitement maîtrisées par son dresseur (voir à ce sujet la discussion sur le forum).

Liste des robots existants

Installation

Python

La librairie de bot est codée en python, un langage connu pour sa facilité d'utilisation pour les débutants. Vous trouverez ici de quoi l'installer sur votre ordinateur : https://www.python.org/

Attention, au début de l'installation, il faut cocher la case Add Python 3.6 to PATH.

Campbot

Campbot est la libraire de bot pour camptocamp.org. Pour l'installer, tapez cmd dans la barre de recherche Windows. Dans l'invite de commande, tapez la commande suivante :

pip install campbot -U

L'option -U sert à mettre à jour la librairie, si celle-ci est déjà installée.

Faire tourner son premier bot

Exemple de fenêtre d’exécution
Exemple de fenêtre d’exécution

Créer un compte bot

Créez simplement un compte camptocamp, et indiquez sur sa page que c'est un bot, ainsi que l'adresse de votre compte. Choisissez également un nom qui contient le mot bot, vous trouverez une bonne source d'inspiration sur Wikipédia.

Indiquez également son existence sur votre page utilisateur. Pour la suite de cette exemple, nous partirons du principe que l'identifiant de votre bot est patate, que le mot de passe du compte est douce, et que l'identifiant numérique de ce compte est 66666666.

Premier bot.

Dans cmd.exe, exécutez cette ligne (vous pouvez modifier l'URL pour nettoyer d'autres documents) :

campbot clean https://www.camptocamp.org/routes#w=107702 --login=patate --password=douce

Le bot va nettoyer tous les itinéraires rattachés au point de passage 107702. Pour chaque itinéraire, il vous montrera les modifications, et vous demandera confirmation (pressez y puis entrée).

Et voilà! 🎆 Mais lisez avec attention le paragraphe suivant!

Précautions d'usage

Ceci est le paragraphe le plus important de toute cette page!

  • Le bot ne fera pas plus d'une requête toutes les 3 secondes. Également, il vous montrera la modification qu'il a faite, et vous demandera confirmation avant toute sauvegarde de document. Néanmoins, cela peut aller très vite, gardez toujours un œil sur la fenêtre d’exécution.
  • Gardez également ouvert la page whatsnew : https://www.camptocamp.org/whatsnew#u=6666666
  • Et en cas de souci, le moyen le plus simple pour tout arrêter est de fermer la fenêtre d’exécution.
  • Et gardez bien à l'esprit que vous êtes responsable de toutes les actions de votre bot.

Bots avancés

La commande précédente ne demande aucune ligne de code. Néanmoins, les fonctionnalités les plus puissantes vous demandent de mettre un peu la main à la pâte. En premier lieu, munissez vous d'un éditeur de texte.

Un éditeur de texte

Les scripts python sont de simples fichiers textes avec l'extension .py. Vous pouvez utiliser Notepad pour les écrire, mais c'est très vite limité. Un bon compromis est Notepad++, gratuit, simple et efficace.

Ensuite, créez un simple fichier nommé test.py, puis:

  1. clic droit sur le fichier dans votre explorateur de fichiers,
  2. ouvrir avec ,
  3. choisir le programme par défaut,
  4. et choisissez Notepad++ en choisissant l'option "toujours ouvrir avec ce programme".

Premier script tout simple

Pour tout vos tests, utilisez le site de demo : https://www.demov6.camptocamp.org (login/password=c2corg). Les exemples qui suivent contiennent l'argument use_demo=True qui permet de faire pointer le bot sur le site de demo. Une fois vos essais concluant, vous pouvez créer un compte sur le site normal, et ne plus utiliser cet argument.

Pour ce test, nous allons récupérer un itinéraire, et l'afficher. Il est inutile de se créer un compte pour cela.

Créez un répertoire, dans lequel vous créerez deux fichiers :

hello.py :

from campbot import CampBot

bot = CampBot(use_demo=True)
print(bot.wiki.get_route(135496))

run_hello.cmd :

python hello.py    
PAUSE

Ensuite, double-cliquez sur run_hello.cmd, vous devriez obtenir le résultat suivant :

C:\test_folder > python hello.py
{'activities': ['mountain_climbing', 'snow_ice_mixed'], .... (un bon gros paquet de données)
C:\test_folder > PAUSE
Press any key to continue . . .

Et voilà! 🥂

Vous trouverez des petits scripts d'exemple dans la documentation.

Messages d'erreur courants

'pip' is not recognized as an internal or external command

Python est mal installé, essayez de le réinstaller, en n'oubliant pas la case à cocher Add Python.... Si cela ne fonctionne toujours pas, entrez ceci dans l'invite de commande, puis demandez de l'aide sur le forum en copiant-collant le résultat :

echo %PATH%

Liens utiles

  • Code source : Github. Toute aide est la bienvenue.
  • Documentation : ReadTheDocs. Toute aide est également la bienvenue 😄

Commentaires