« RobotJabberFR » : différence entre les versions

De Wiki JabberFR
Aller à la navigation Aller à la recherche
Ligne 59 : Ligne 59 :


=== Langage de programmation ===
=== Langage de programmation ===
* Python
Python est utilisé avec la biliothèque jabber xmpp.py.
: Langage interprété simple à maitriser et très efficace. Dispose de plusieurs bibliothèques pour XMPP ([http://xmpppy.sourceforge.net/ xmpppy], [http://pyxmpp.jabberstudio.org/ pyxmpp], [http://twistedmatrix.com/ twisted words]).
* PHP
: Langage de programmation orienté web. Permet très simplement d'afficher des présences web. Principalement 3 bibliothèques ([http://cjphp.netflint.net/ class.jabber.php], [http://jabberstudio.org/projects/xmpp4/project/view.php xmpp4] et [http://code.blitzaffe.com/pages/phpclasses/files/jabber_client_52-11 Jabber Client]) dont le développement avance faiblement, avec tout de même un regain pour la dernière.
* Ruby
: [http://home.gna.org/xmpp4r/ xmpp4r]
* Autre
: (C, C++, java, ...)


===Communication entre le wiki/forum/planet/... et le robot===
===Communication entre le wiki/forum/planet/... et le robot===

Version du 14 août 2006 à 19:59

Projet de Robot multifonction pour la communauté JabberFR

Participants

Liste des personnes volontaires pour aider à la création du robot.

  • Omega (omega_chez_im.apinc.org)
  • Jb (JID:jb_chez_jabber.fr)
  • Talou (JID:talou_chez_timot.net)

Solutions de bots existantes

  • Neutron (python)
  • WhereSkal (python)
  • solution basée sur cjp (php) - je bosse sur un projet modulaire avec cjp, disponible par svn ici : [1] -- Talou
  • solution basée sur xmpp4r (ruby)

Fonctions du Robot

Forum

  • Suivi des discussions par abonnement (comme pour les actuelles notifications mail)
  • Recherche

Wiki

  • Suivi des modifications d'articles par abonnement (comme pour les notifs mail actuelles)
  • Recherche

Planet

  • Abonnement aux notifications de nouveaux billets
  • Historique et recherche dans le planet
  • Admin : gestion des blogs participants
  • Admin : mise à jour manuelle

Annuaire

  • Recherche et interrogation de l'annuaire
Est-ce vraiment utile ? L'annuaire est déjà disponible de puis jabber ... Omega 29 mar 2006 à 17:45 (CEST)

Général

  • Présence sur le web (à la manière d'Edgar)
  • seen
C'est vraiment utile seen ? C'est déjà définie dans le protocol jabber (JEP-0012) Omega 24 jun 2006 à 09:12 (CEST)
  • help
  • visible (choix des contact du bot de le voir ou non, comme Edgar)
  • admin : presence (gestion de la présence du bot)
Je comprends pas trop ce point. Omega 24 jun 2006 à 09:12 (CEST)
  • admin : gestion du roster du bot
Je vois pas à quoi ca peut servir ça ? Omega 24 jun 2006 à 09:12 (CEST)

Remarques

  • il peut y avoir plusieurs bots, notamment du fait qu'il y a des éléments de jabberfr sur plusieurs machines, ce qui permet de répartir les commandes. Les ressources sont là pour ça.

Roadmap ?

Inventaire des bots jabber existants

Robot#Inventaire

Aspects techniques

Client vs Composant

Un robot "client" est un robot qui se connecte au serveur de la même manière qu'un client jabber.

Un robot "composant" est un robot qui se connecte au serveur comme un composant (par exemple une passerelle). L'avantage d'un tel robot est que son jid est du genre bot.jabberfr.org, on peut donc le faire apparaitre dans les services (disco) des serveurs. On peut aussi plus facilement s'inscrire dessus (comme une passerelle) ou faire des recherches (comme un annuaire). Par contre presqu'aucun bot n'est fait comme ça. On devrait donc tout recoder.

Langage de programmation

Python est utilisé avec la biliothèque jabber xmpp.py.

Communication entre le wiki/forum/planet/... et le robot

Pour pouvoir envoyer des notifications de modification il faut que le robot soit au courant de ces modifications.

On utilise pour l'instant une communication par xmlrpc

Les avantages :

  • Notifications instantannées
  • Possibilité d'avoir les sites sur différents serveurs

Avancement

Le bot est en place, son jid est pour l'instant jabberfr@im.apinc.org.

Pour l'instant il ne permet que la notification des changements sur le wiki. Pour s'inscrire à la notifications il faut lui envoyer comme message

!notice_sub wiki

Les notifications sont encore assez succintes, mais c'est assez facile d'améliorer après. Omega 17 jun 2006 à 13:42 (CEST)

  • Possibilité de ne pas recevoir de notifiactions lorsqu'on est déconnecté, occupé, ou absent
!notice_status busy

pour ne pas recevoir de notification lorsqu'on est occupé (les autres possibilités sont away et offline)

  • Possibilité de configurer le bot avec les commandes ad-hoc Omega 21 jun 2006 à 20:30 (CEST)
  • Correction d'un bug sur les accents Omega 24 jun 2006 à 18:03 (CEST)
  • Changement de la manière dont marchent les notifications. Maintenant c'est plus intégré dans mediawiki, et ca permet de ne recevoir des notifications que pour les pages suivies. Omega 14 aoû 2006 à 17:43 (CEST)
  • Modularisation d'une partie du code (voir svn) Omega 14 aoû 2006 à 17:45 (CEST)

Participer

Pour participer c'est simple il suffit de contacter [User:Omega Omega].