« RobotJabberFR » : différence entre les versions

De Wiki JabberFR
Aller à la navigation Aller à la recherche
mAucun résumé des modifications
(la faute n'a pas était corrigée à la bonne ligne)
 
(32 versions intermédiaires par 9 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
= Projet de [[Robot]] multifonction pour la communauté JabberFR =
== Projet de [[Robot]] multifonction pour la communauté JabberFR ==
== Solutions de bots existantes ==
=== Participants ===
Liste des personnes volontaires pour aider à la création du robot.
* [[Utilisateur:Omega|Omega]] (omega_chez_im.apinc.org)
* [[Utilisateur:Jb|Jb]] (JID:jb_chez_jabber.fr)
* [[Utilisateur:Talou|Talou]] (JID:talou_chez_timot.net)
 
=== Solutions de bots existantes ===
* [http://ejabberd.jabber.ru/neutron Neutron] (python)
* [http://ejabberd.jabber.ru/neutron Neutron] (python)
* [http://www.jezuk.co.uk/cgi-bin/view/whereskal WhereSkal] (python)
* [http://www.jezuk.co.uk/cgi-bin/view/whereskal WhereSkal] (python)
Ligne 6 : Ligne 12 :
* solution basée sur [http://home.gna.org/xmpp4r/ xmpp4r] (ruby)
* solution basée sur [http://home.gna.org/xmpp4r/ xmpp4r] (ruby)


== Fonctions du Robot ==
=== Fonctions du Robot ===
=== Forum ===
==== Forum ====
* Suivi des discussions par abonnement (comme pour les actuelles notifications mail)
* Suivi des discussions par abonnement (comme pour les actuelles notifications mail)
* Recherche
* Recherche


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


=== Planet ===
==== Planet ====
* Abonnement aux notifications de nouveaux billets
* Abonnement aux notifications de nouveaux billets
* Historique et recherche dans le planet
* Historique et recherche dans le planet
Ligne 21 : Ligne 27 :
* Admin : mise à jour manuelle
* Admin : mise à jour manuelle


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


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


== Remarques ==
=== 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.
* 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 ? ==
=== 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.
 
Pour l'instant le robot est un client, mais il peut très bien se transformer en composant pour avoir plus de fonctionnalités.
 
==== 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
 
== Utilisation ==
Le robot est [xmpp:jabberfr@im.apinc.org jabberfr@im.apinc.org]. Vous pouvez l'ajouter comme contact.
 
=== Liste des commandes ===
Envoyer comme message au robot
!commands
Ils vous renverra la liste des commandes disponibles
 
=== Notifications sur le wiki ===
Pour utiliser la notification du wiki il faut envoyer un message au robot en lui disant :
:* Pour recevoir une notification pour tous les changements :
!wiki tout
:* Pour recvevoir une notification uniquement pour les articles suivis :
!wiki suivi
:* Pour ne plus recevoir de notification :
!wiki non
 
=== Notifications sur le forum ===
Pour utiliser la notification du forum il faut envoyer un message au robot en lui disant :
:* Pour recevoir une notification pour tout nouveau message posté sur le forum :
!forum tout
:* Pour ne plus recevoir de notification :
!forum non
 
== Avancement ==
 
* Possibilité de ne pas recevoir de notifications 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]] [[Utilisateur:Omega|Omega]] 21 jun 2006 à 20:30 (CEST)


== Inventaire des bots jabber existants ==
* Changement de la manière dont marchent les notifications. Maintenant c'est plus intégré dans mediawiki, et ça permet de ne recevoir des notifications que pour les pages suivies. [[Utilisateur:Omega|Omega]] 14 aoû 2006 à 17:43 (CEST)
(A mettre sans doute sur une page à part)
=== PHP ===
* [http://edgar.netflint.net/ Edgar the bot]
* [http://rss2jabber.berlios.de/ rss2jabber] (notifications RSS/Atom)
* [http://dev.artis-tic.com/phpJabberBot/ phpJabberBot]
* [http://developer.berlios.de/projects/kakaru/ kakaru]
* [http://www.adamargo.com/ Stockbot] (interrogation des marchés boursiers)
=== Python ===
* [http://ejabberd.jabber.ru/neutron Neutron]
* [http://www.jezuk.co.uk/cgi-bin/view/whereskal WhereSkal]
* [svn://netflint.net/sleekxmpp sleekxmpp]
* [http://braznet.com/david/python/jabbot/ Jabbot]
* [http://joi.ito.com/joiwiki/TechnoBot TechnoBot] (pour technorati)
* [http://xmpppy.sourceforge.net/ bot.py & logger.py]


=== Autres ===
* Modularisation d'une partie du code (voir svn) [[Utilisateur:Omega|Omega]] 14 aoû 2006 à 17:45 (CEST)
* [http://cmeerw.org/dev/node/2 JabXPCOM] (XPCOM, utilisé pour JabRSS)
* [http://jrs.jabberstudio.org/ JRS] (java, notifications RSS/Atom)
* [http://www.chatopus.com/articles/bots.html Chatopus] (pour palmos)
* [http://linux.ensimag.fr/~acrequy/wiki/index.php/JabberBot Jabbersend] (en C utilise iksemel)
* [http://jpb.sphene.net/wiki/show/JPB JPB] (perl)
* [http://www.butterfat.net/wiki/Projects/PCJBot PCJBot] (perl)
* [http://jabbot.blogspot.com/ jabbot] (??)
* [http://bsd-crew.de/index.php/Jabberbots_mit_XMPP4R Et avec XMPP4R ?]
* [http://jabberwatcher.sourceforge.net/ Jabberwatcher] (java pour administrer une machine)


=== Services en ligne ===
== Participer ==
* [http://mimir.ik.nu/ mimir] (service en ligne de notification RSS/Atom)
Pour participer c'est simple il suffit de contacter [User:Omega Omega].
* [http://www.pmbrowser.info/thinkbot.htm Thinkbot] (service de recherche collaborative)
* Le dépot subversion se trouve à : [http://gpl.insa-lyon.fr/svn/omega/botjabberfr].
* [http://www.epigoon.com/maps/ Talk maps] (service de geo-localisation)
* Voir le dépot : [http://gpl.insa-lyon.fr/websvn/listing.php?repname=omega&path=%2Fbotjabberfr%2F WebSVN]
* [http://immedi.at/ immedi.at] (service en ligne de notification RSS/Atom)
* Récupérer les fichiers : <code>svn co http://gpl.insa-lyon.fr/svn/omega/botjabberfr</code>

Dernière version du 29 décembre 2007 à 17:15

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.

Pour l'instant le robot est un client, mais il peut très bien se transformer en composant pour avoir plus de fonctionnalités.

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

Utilisation

Le robot est jabberfr@im.apinc.org. Vous pouvez l'ajouter comme contact.

Liste des commandes

Envoyer comme message au robot

!commands

Ils vous renverra la liste des commandes disponibles

Notifications sur le wiki

Pour utiliser la notification du wiki il faut envoyer un message au robot en lui disant :

  • Pour recevoir une notification pour tous les changements :
!wiki tout
  • Pour recvevoir une notification uniquement pour les articles suivis :
!wiki suivi
  • Pour ne plus recevoir de notification :
!wiki non

Notifications sur le forum

Pour utiliser la notification du forum il faut envoyer un message au robot en lui disant :

  • Pour recevoir une notification pour tout nouveau message posté sur le forum :
!forum tout
  • Pour ne plus recevoir de notification :
!forum non

Avancement

  • Possibilité de ne pas recevoir de notifications 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)

  • Changement de la manière dont marchent les notifications. Maintenant c'est plus intégré dans mediawiki, et ça 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].