Da pyCoinCoin User Guide
Contenu
- Installation / Lancement
- Réglage des paramètres
- Lire la tribune avec le Pinnipède teletype
- Poster dans la tribune avec le Palmipède Editor
- Les news et la messagerie
- Advanced queustomisécheune
- Raccourcis clavier : Da Palmipède HotKeys
- DaBotManager : ze killer fitcheure
Installation / Lancement
Prérequis
- Python version 2.1 ou ultérieure
Installation
- Télécharger pyCoinCoin ici.
- Décompresser l'archive (tar xzvf pycc-version.tar.gz).
Ceci crée un répertoire pycc contenant tous les fichiers
nécessaires.
- C'est tout
Lancement
- Depuis une console : commande python coin.py
- Sous Windows, si vous lancez coin.py par double-clic ou autre raccourci
/ menu, et que vous ne souhaitez pas de fenêtre DOS en plus, vous
pouvez utiliser la commande pythonw à la place de python,
ou bien renommer coin.py en coin.pyw.
L'ensemble des paramètres de pyCoinCoin est réglable
via le menu Config > Options. Les paramètres
sont regroupés dans 3 catégories détaillées
ci-après
Réglages HTTP
- Si vous êtes derrière un proxy, renseignez celui-ci
dans la case correspondante.
Attention, pour que cela fonctionne il faut obligatoirement
le rensigner avec 'http://' devant et un '/' final.
- Cookie de session : ce champ n'est pas obligatoire, mais le
spécifier vous permettra :
- de poster authentifié dans la tribune
- d'avoir vos XPs et votes affichés dans la barre
d'état de pyCoinCoin
- de consulter votre messagerie linuxfr depuis pyCoinCoin,
et d'être prévenu quand de nouveaux messages
arrivent.
Pour trouver la valeur de votre cookie de session, le plus simple
est d'aller sur votre page de préférences de linuxfr,
une liste de cookies valides est présentée en bas.
Sinon, les méthodes barbares :
- Avec Mozilla : Allez dans Preferences > Privacy and
security > Cookies > Manage stored cookies, faites
afficher les cookies de linuxfr et recopiez la valeur du champ
session_id.
- Avec Internet Explorer : recherchez le répertoire
Cookies dans votre dossier personnel ; celui-ci
doit contenir un fichier texte stockant les cookies de
linuxfr. Dans ce fichier, vous trouverez la valeur du champ
session_id.
- Avec Opera : Opera stocke les cookies dans un fichier
binaire nommé cookies.dat. En regardant bien
les chaînes de caractères texte dans un
éditeur, on peut quand même trouver la valeur du
cookie session_id. C'est juste un peu plus casse-pieds :-)
- Les autres paramètres sont normalement correctement
configurés pour un moulage optimal sur la tribune de linuxfr.
cependant vous pouvez être amené à les changer
dans les cas suivants :
- Vous voulez mouler sur d'autres sites tournant sous
daCode : changez
donc l'url du serveur
- daCode a été mis à jour et les chemins
des urls / noms des fichiers de backend ont changé.
En général, vous pourrez facilement trouver les
infos nécessaires pour la reconfiguration sur les heaume
pages des divers coincoins.
Options pour la tribune
Cet onglet permet de configurer les intervalles de temps entre
deux vérifications successives des différents fichiers
de backend de linuxfr. Pour la tribune, un refresh de 20 ou 30 secondes
semble raisonnable. Pour les news et la messagerie, quelques minutes
devraient être largement suffisantes.
Vous pouvez également fixer la taille maximale de l'historique
des messages conservés dans le Pinnipède. Par défaut
celle-ci est fixée à 400. Evitez tout de même de
mettre un chiffre trop gros, ça risque de grave ramer...
Nouveau version 0.6b : Il y a une option
pour régler le nombre de messages à conserver dans
l'historique du palmipède (pour accéder aux messages
déjà postés avec les touches Haut/Bas, comme
dans un shell).
Options diverses
- Browser : entrez ici le chemin absolu de la commande
pour lancer votre browser web favori. Il sera activé non
seulement lorsque vous cliquerez sur les urls données dans
la tribune, mais aussi pour lire les news et la messagerie.
- Répertoire de sauvegarde des données perso :
cette option n'est pas encore utilisable, elle le sera
dans une version future de pyCoinCoin - pour le moment laissez-la
vide.
- Demande de confirmation avant PanPan : cette option permet
d'activer / désactiver la boîte de dialogue
demandant une confirmation lorsque vous voulez quitter pyCoinCoin.
Un peu de terminologie :
On peut faire plein de trucs avec la souris.
- Sur l'horloge d'un post :
- Souris dessus : highlight du post, soulignage des horloges-réponses,
affichage de l'id du post et du nombre de réponses dans la barre
d'état
- Click gauche : copie l'horloge du post dans le palmipède
- Click milieu : copie le message entier dans le palmipède
- Click droit : copie le user agent dans le palmipède
- Sur le login d'un posteur :
- Souris dessus : affichage de l'id du post et de l'user-agent
complet dans la barre d'état
- Click gauche : copie le login du posteur dans le palmipède
- Click milieu : ouvre la page daCode d'informations sur le posteur
dans un browser
- Click droit : ouvre la page daCode qui permet d'envoyer un message
au posteur dans un browser
- Souris sur le user-agent d'un posteur anonyme : affichage de l'id du
post et de l'user-agent complet dans la barre d'état
- Sur une horloge-réponse :
- Souris dessus : highlight le post auquel fait référence
cette réponse, soulignage des autres réponses, affichage de
l'id du post et du nombre de réponses dans la barre d'état
- Click gauche : fait scroller le pinnipède de manière
à ce que le post auquel fait référence cette
réponse apparaisse en haut
- Sur une [url] :
- Souris dessus : affiche l'url complète dans la barre d'état
- Click gauche : ouvre l'url dans un browser (configurable dans les options)
- Click droit : copie l'url dans le palmipède
- A part ça, on peut sélectionner à la souris du texte,
le copier dans le clipboard, etc.
Et notez aussi :
- Dans la barre d'état, le petit carré de gauche
donne
des indications sur les transferts de données entre le site
daCode et le CoinCoin. Quand il est vert, cela signifie que le
transfert http du fichier de backend de la tribune est en cours.
Une couleur rouge indique une erreur http lors du dernier transfert,
tandis que la couleur orange indique une erreur lors de
l'interprétation du fichier. De plus, le nombre apparaissant
dans ce carré est la quantité totale de posts avalés
depuis le lancement de votre pyCoinCoin.
Nouveau version 0.6b : un click droit
sur ce petit carré force le rafraîchissement immédiat
de la tribune.
- Les couleurs, polices de caractères, etc... ne vous plaisent pas ?
Pas de problème, tout est configurable. Voir le paragraphe
"Advanced queustomisécheune" plus bas.
Le Palmipède Editor, c'est la zone de saisie en bas du Pinnipède.
On tape dedans le message qu'on veut envoyer sur la tribune.
Nouveau version 0.6b : les messages que vous
postez sont conservés dans un historique. On navigue dans l'historique
avec les touches Haut/Bas (à la manière de l'historique de la
ligne de commande d'un shell). Le taille de l'historique est configurable
dans les options.
Nouveau version 0.6b : quand on poste un
message, une petite diode carrée à droite de la zone de
saisie s'allume en vert pour indiquer que le transfert http est en cours.
En cas d'erreur, celle-ci devient rouge. En cas de succès du post,
elle s'éteint, puis l'affichage du pinnipède est
immédiatement raffraîchi. De plus, le chiffre sur cette
diode indique le nombre total de messages que vous avez postés
depuis le lancement du canard.
Dans le Palmipède, de nombreux raccourcis clavier vous permettent
d'optimiser le moulage. Tout est configurable grâce au fabuleux
module Da Palmipède HotKeys. Mais voici
la configuration par défaut :
- Touche Entrée : poste le message dans la tribune. Si
vous avez donné votre cookie de session dans les options, le
post sera authentifié.
- Ctrl-Entrée : poste en anonyme.
- Alt-i, Alt-b, Alt-u, Alt-s : insère les balises correspondantes.
Si une partie du texte est sélectionnée, insère les balises
autour de la sélection.
- Alt-m : insère un ====> Moment <====
conforme à la RFC-moule42
- Ctrl-u : édition rapide du User Agent.
- A part ça, on peut éditer le texte comme dans n'importe
quelle appli, faire du copier-coller avec Ctrl-C Ctrl-V, etc.
- ... et plein d'autres choses pour déclencher les plugins,
allez voir les HotKeys.
Voici la fenêtre DaNews de pyCoinCoin. Les titres sur fond
orange sont les news non lues. En cliquant dessus, on ouvre la page
correspondante de linuxfr dans le browser.
PyCoinCoin vous prévient des nouvelle news :le petit
carré du milieu, en bas dans la barre d'état, affiche
un "N" lorsqu'il y a des news non lues
Par ailleurs, ce petit
carré peut changer de couleur :
- Vert : pyCoinCoin est en train de rapatrier le fichier de
backend des news
- Orange : pyCoinCoin n'a pas réussi à interpréter
le fichier rapatrié
- Rouge : il y a eu une erreur http lors du dernier transfert.
Le fonctionnement de la messagerie est similaire :
Le petit carré de droite dans la barre d'état reflète
les transferts http avec le site daCode de la même manière
que pour les news. Un "M" appararît lorsqu'il y a des messages
non lus 
Pour accéder aux fenêtres DaNews et DaMessagerie, 2
possiblités :
- Par le menu Goodies
- Par un clic sur le petit carré correspondant dans la barre
d'état.
Nouveau version 0.6b : un clic droit sur
un des petits carrés permet de demander la mise à jour
immédiate des news/messages en forçant pyCoinCoin à
recharger le backend correspondant depuis le site daCode.
Nouveauté fabuleuse introduite dans la version 0.5, voici
ce que vous obtenez en invoquant le menu Config > Styles.
Cette ultimate advanced fitcheure de pyCoinCoin vous permet de
personnaliser jusqu'au magret votre outil de décideur pressé.
Quelques indications sur son fonctionnement :
- Les noms des styles correspondent aux entités du Pinnipède
auxquelles ils seront appliqués (ex. style "[url]s" : style
qui sera appliqué aux [url], etc.).
- Lorsqu'un paramètre d'un style est laissé vide, c'est le
"style de base" qui est appliqué. Par exemple, si vous voulez la
même police de caractères partout, vous n'êtes pas
obligé de la redéfinir pour chaque style, il suffit de
la définir une fois pour toutes dans le "style de base".
- Paramètre "Type de bordure" : les valeurs valides pour
ce champ sont raised, sunken, flat,
ridge, groove ou solid. Tout autre
valeur provoquera une erreur. Et pour que la bordure apparaisse,
il faut lui donner une épaisseur d'au moins 1 pixel !
- Styles utilisateur : vous aurez remarqué des boutons
vous permettant d'ajouter / supprimer vos propres styles. Ceux-ci
pourront être utilisés par vos bots (voir plus
bas !)
Encore une innovation pyCoinCoinesque à caractère
génitricide(1) !
Ouvrez le menu Config > Da Palmipède HotKeys :
Le scrinechote parle de lui-même. Un mot sur les actions
possibles déclenchables par ces raccourcis :
- Insérer une balise : par exemple, si vous
êtes un gros trolleur, vous pouvez ajouter un raccourci
"Alt-t" (ou tout autre combinaison de touches), puis
sélectionner cette action et mettre dans la zone
paramètres : "troll". Ceci aura pour effet,
chaque fois que vous appuierez sur Alt-t dans votre
Palmipède, d'entourer le texte sélectionné
de "<troll> </troll>".
- Insérer du texte : tout ce que vous mettez
dans la zone paramètre du raccourci sera inséré
dans le Palmipède. La chaîne spéciale "%|"
(pourcent-pipe) permet de spécifier l'endroit où se
trouvera le curseur après l'insertion du texte.
- Lancer un plug-in : cliquer sur le bouton à
côté de la zone Paramètres pour choisir parmi
les plug-ins du Palmipède disponibles (les plug-ins permettent
d'appliquer des transformations sur le texte du Palmipède -
voir cette page pour plus de détails.
- Option QuickEdit : cette action fait apparaître
une boîte de dialogue permettant d'éditer rapidement une
option de pyCoinCoin, sans avoir à passer par le menu Config
> Options. Pratique, par exemple si vous changez souvent votre
user agent. On clique sur le bouton à côté de la
zone Paramètres pour choisir l'option à éditer
dans une liste.
- Poster authentifié/en anonyme : vous avez besoin
que je vous explique ? :-)
Lorsque l'on va chercher le menu Goodies > DaBotManager,
on voit apparaître sous nos yeux éblouis ceci :
Dans pyCoinCoin, la notion de "bot" ne se limite pas aux simples
automates postant tout seuls dans la tribune. Voici en effet tous
les paramètres réglables :
Un court exemple valant mieux qu'un long discours, allons-y par
la pratique : nous allons programmer un bot émulant le
bigornophone(c)(r)(tm) de
Shift.
Le principe est de pouvoir être prévenu chaque fois
qu'une moule nous appelle dans un message, en postant "mon_login<".
- Cliquons sur "nouveau bot" depuis la fenêtre DaBotManager,
et nommons notre nouveau bot "bigornophone".
- On veut être prévenu dès l'arrivée
du message qui nous appelle, donc on met la fréquence de
déclenchement à 0.
- Le déclenchement doit avoir lieu lorsque le message
matche la regexp : ((mon_login|moules)[ ]?[<]) -
quelques explications sur cette regexp :
- Les '.*' et les parenthèses autour de la chaîne
recherchée sont nécessaires. Peut-être
s'agit-il d'un bug dans les regexp de Python, mais sans eux,
le pattern matching ne fonctionne pas à coup sûr.
- Bien entendu, il faut remplacer 'mon_login' par votre login
linuxfr (ou par le nickname que vous utilisez sur la tribune).
- Le '[ ]?' est là pour ceux qui mettent parfois un espace
avant le '<', et enfin 'moules' permet d'être prévenu
quand quelqu'un appelle toutes les moules à la fois !
- A présent, on peut définir l'action à effectuer
lorsqu'une moule nous bigornophone. Par exemple, si on veut être
réveillé par le son plop.wav, on coche la case 'commande
système' et on y met la jolie commande correspondante. On peut
aussi vouloir mettre en relief le post qui nous a sonné, par
exemple en lui mettant une jolie couleur de fond rose bonbon :
rien de plus facile, il suffit d'appliquer un style qu'on aura
préalablement défini grâce au gestionnaire de
styles (voir plus haut). Comble du raffinement, cochons également
la case "Poster dans la tribune" et plaçons-y le message
suivant : %h Oui %l, je suis là ! - et
voilà notre bigornophone pourvu d'un répondeur
automatique !
- Maintenant, on est prêts à lancer le bot :
on valide avec 'ok', puis dans le bot manager, on clique sur
'Lancer'.
Quelques commentaires :
- Les différents types d'actions ne sont pas mutuellement
exclusifs : dans notre exemple, on a vu qu'un bot peut très
bien poster dans la tribune, appliquer un style au message matché,
et exécuter une commande système à la fois.
- Les paramètres des actions peuvent comporter les
caractères spéciaux suivants qui seront automatiquement
remplacés par le bot :
- %h : horloge du message matché
- %i : id du message matché
- %m : texte du message matché
- %l : login du posteur du message matché
- %u : user agent du posteur du message matché
- %n : nom du bot
Si le bot a une fréquence de déclenchement strictement
supérieure à 0, il se peut que plusieurs posts matchent.
Dans ce cas, %h, %i, etc... sont remplacés par une chaîne
contenant toutes les horloges, ids, etc... séparés par
des espaces.
- L'action "appliquer une fonction" (fonctionne uniquement pour les
bots à action immédiate, c'est-à-dire de fréquence
de déclenchement valant 0) permet de faire triturer le message
par une fonction avant de l'afficher dans le pinnipède. La
première application qui vient à l'esprit est un
plopificateur :-). Ces fonctions sont définies dans des
fichiers de plug-ins - voir cette page
pour plus de détails.
A vous d'imaginer la moultitoude d'applications possibles avec les
bots. Petite mise en garde cependant : la multiplication des bots
(surtout ceux à déclenchement immédiat en fait)
peut finir par faire gravement ramer votre coincoin...
Notes
(1) Génitricide : ben ouais, qui tue sa
mère, quoi.
Retour à la heaume page