Aller au menu du forum Aller au contenu du forum Aller à la recherche dans le forum
Logo Khaganat
Menu principal

XMPP/Jabber pour le web et le serveur

Zatalyz

Link Mauve nous a présenté XMPP dans les détails. Nous avons pu voir avec lui que ce protocole nous permettrais de faire tout ce qu'on a déjà avec IRC, et encore plus.


  • On peux proposer un "webchat" utilisant xmpp, qui permet à quelqu'un de se connecter à notre salon sans avoir à s'enregistrer et sans avoir à installer un client
  • Il est possible de loguer les conversations. En fait, c'est plus fonctionnel pour quelqu'un qui débarque sur le canal, car il  l'historique de ce qui s'est dit avant sa connexion qui s'affiche (similaire à ce que Slack réinvente)
  • Nous pouvons intégrer directement des images ; par contre, suivant les clients, les gens les verrons ou pas
  • Il existe un grand nombre de clients différents, pour Mac, Linux et Windows mais aussi via le web, donc chacun devrait trouver quelque chose à son goût
  • Nous pouvons mettre en place des passerelles vers IRC (entre autre) afin de continuer à suivre nos canaux favoris sans avoir 2 clients différents

Côté jeu :

  • Cela permettra de s'identifier via son compte xmpp si on le souhaite ; à savoir qu'Xmpp implémente une façon très sécurisée de s'authentifier dans ce genre d'application (mais va falloir coder)
  • Xmpp gère déjà le "multicompte", c'est à dire avoir une identité principale, d'autres identités qui lui sont attachés, sans qu'un autre sache qu'on est Georges et sa soeur.
  • C'est un protocole très riche, sécurisé, qui permet pas mal de choses : il faudra adapter suivant ce qu'on accepte en jeu aussi (ouvrir/fermer des possibilités).

Pour la suite :

  • Nous allons installer un serveur prosody (un type de serveur XMPP) sur le serveur Groska (je ne sais pas encore sur quelle VM, sans doute jukni)
  • Nous allons mettre en place les applications listées par Link Mauve ici : https://linuxfr.org/news/renouveau-de-jabberfr#%C3%89volutions , ça semble une bonne base :)
  • Installer le "webchat" (Candy ?)
  • Installer de quoi gérer les archives ; bloquer la vision à 7 jours pour les gens qui ne sont pas du Collège (se connecter pour voir plus en amont)
  • Remettre une "pendorid" pour les flux rss et pour causer. Je ne peux me passer de pendorid !

Clients XMPP listés là : http://xmpp.org/software/clients.html

Shepeng et moi faisons des tests de notre côté : ça sera installé quand on aura le temps et qu'on se sentira à l'aise :)

Zatalyz

Déjà un an, on ne peut pas dire que nous avons avancé rapidement sur le sujet... mais il faut avouer : comme IRC marche, changer demande un peu plus d'effort que si nous n'avions rien.

XMPP semble vraiment intéressant à terme, là dessus nous sommes convaincus depuis longtemps. Comme nous avons du mal à trouver le temps de tout mettre en place nous-même, Linkmauve nous a proposé de nous héberger sur Jabberfr. Nous avons d'ailleurs déjà un salon vidéo là-bas ( https://meet.jabberfr.org/Khaganat ). Il nous reste quelques points à mettre en place pour commencer la transition :

Quel client préconiser ?
Même si on peut accéder directement à un salon depuis un client web (et heureusement car c'est vraiment important pour un premier contact), installer un client de bureau par la suite est en général plus confortable. Comme une partie de nos membres ne sont pas des grands bidouilleurs et n'ont pas envie d'expérimenter et se prendre la tête, il faut mettre en avant un client de bureau parmi la multitude, qui aie un aspect suffisament "moderne" (sans virer dans l'excès, juste pas que ça fasse retour des années 90) et les fonctionnalités qui servent à nos usages.

Le client en question doit être simple à installer, si possible multiplate-forme (mais bon, ça, c'est pas essentiel, du moment qu'on sait quoi recommander sur chaque plate-forme) et simple à utiliser. Il y a une liste [ur="https://fr.wikipedia.org/wiki/Clients_XMPP"l]ici[/url] et , notez vos retours à la suite de ce message.

Stocker les logs chez Khaganat
Les logs des canaux sont importants pour le projet, il faut qu'on puisse y accéder au fil du temps sans forcément aller enquiquiner un admin de jabberfr quand on en a besoin. Il faut aussi qu'ils restent consultables en ligne durant 7 jours.

Ça, c'est du technique, mais bon, faut voir comment répondre à cette question avant de migrer

Pendorid
Nous avons besoin de quelques fonctionnalités actuellement liées à pendorid :
- être prévenu sur les canaux lorsqu'il y a une modif sur le site (flux rss, c'est tout basique)
- Dire des bêtises avec la démone. Si, c'est essentiel. Il faut donc avoir un moyen de faire causer un bot suivant ce qu'on lui demande de dire, et si possible de bloquer l'accès à cette fonctionnalité à un groupe de membre.

Mettre en place un webchat
Ça, avec l'aide de Linkmauve, j'ai cru comprendre que ce n'étais pas trop dur.

Yapluka !
Voici ce qu'il faut mettre en place pour commencer à migrer. Une passerelle vers IRC serait un plus mais, ben, on verra ; j'aimerais déjà tester un peu plus en situation le reste.

Zatalyz

Côté client, pour du multi-OS/multiplateforme, Jitsi est plutôt intéressant. Sauf qu'Archlinux est le moindre de leur souci, donc là, pour moi, impossible de le mettre à jour. Je n'aime pas trop le thème, mais bon, sinon, c'était fonctionnel et relativement simple.

Je teste actuellement Gajim et Psi+ . Ces deux clients se ressemblent pas mal et sont assez sympas. Il y a des choses pas toujours très intuitives mais à force de clic-droit et clic-partout, on finit par trouver. Cela demandera quand même de faire un tuto bien complet pour les premiers pas, j'en profiterais pour compléter la doc sur le wiki de jabberfr.

Depuis un client qui ne gère pas nativement IRC, si l'on souhaite rejoindre un canal, il faut passer par une passerelle, c'est à dire une adresse spéciale sur le serveur. Ayant un compte sur Movim et ce dernier ayant aussi une passerelle, je dois donc rejoindre un "salon" intitulé #khanat%chat.freenode.net@irc.movim.eu pour être sur le canal #khanat du serveur irc Freenode depuis la passerelle de Movim (ça va, z'avez suivi ?)

On a déjà un canal chez jabberfr aussi, j'ai retrouvé l'adresse : khanat@chat.jabberfr.org

Évidement à ce stade je fais mes tests avec mes trucs maisons, la procédure est donc tarabiscotée (nom de compte, de passerelle, de salons...) ; je vais bien déblayer pour qu'ensuite ce soit facile pour les suivants  ;)

Un truc qui m'embête légèrement c'est que les clients que je teste n'ont pas une interface très personnalisable, du moins rien d'évident. Il faut que j'enquête plus, je suis sûre que c'est possible d'avoir une vue des salons en arbre plutôt qu'en onglet par exemple...

Autre point : je ne sais pas encore comment gérer les identités, même si je sais que la fonctionnalité existe sur XMPP. C'est que j'aime bien faire la schizophrène et avoir différents profils suivant le moment de la journée.

Zatalyz

Citation<Zatalyz> J'ai fait des tests de clients xmpp, ça y est, je prépare notre migration ! enfin, pas vite
<Zatalyz> j'avais des questions :D
<YannK> \o/
* Zatalyz cherche où elle a noté les questions
<linkmauve1> Zatalyz, oh, j'ai probablement des réponses !
<Zatalyz> je m'en souviens d'une : quand on passe par une passerelle pour aller sur IRC... comment on fait pour envoyer des commandes IRC ? Parce que si je fais /commande, ça râle, xmpp croit que je veux lui causer alors que c'est au canal irc que je veux causer
* Lyne en a aussi, mais probablement pas utiles
<linkmauve1> Zatalyz, avec biboumi, tu peux utiliser /say /something.
<linkmauve1> Et ça sera interprété par biboumi lui-même, et converti en commande IRC.
<Zatalyz> cooool
<linkmauve1> Ou //something, pour certains clients.
<Zatalyz> je vais pouvoir causer aux bots et reprendre mon statut d'op quand je passe
<Zatalyz>  // ça passe pas sur gajim, jitsi et psi+, pour ce que j'ai testé
<linkmauve1> C'est censé passer sur Gajim.
<linkmauve1> C'était justement mon inspiration quand je l'ai implémenté dans poezio.
<Zatalyz> et jitsi (le client de bureau), il marche plus chez moi, parce que c'est pas vraiment maintenu sur AUR :'(
<linkmauve1> Arf. :/
<linkmauve1> J'ai jamais essayé celui-là.
<Zatalyz> enfin bon, Gajim est bien
<Zatalyz> mais y'a des trucs que je comprends pas encore ^^
<linkmauve1> La prochaine version de Gajim est vachement mieux, si tu veux essayer master.
<linkmauve1> Surtout niveau interface graphique.
<linkmauve1> (Je maintiens gajim-git dans AUR.)
<Zatalyz> je reste en mode "noob", le but est de pouvoir guider les plus noob que moi sur la transition
* Zatalyz regarde les blondes du canal
<linkmauve1> Héhé. ^^
* YannK n'est pas blonde, il n'a pas de cheveux
<Zatalyz> ne me tente pas avec les versions pas encore officielles, donc :p
<linkmauve1> Y a tellement peu de logiciels que j'utilise en version stable. :°)
* Lyne constatent que leur schizophrénie est démasquée
<linkmauve1> Hmm, la glibc ? ^^'
* Zatalyzette (~Zatalyz@2a01:7c8:aab8:6b9:5054:ff:fec9:fd84) vient de rentrer
* pendorid a la berlue
<Zatalyz> forcément je ne me souviens pas de la comamnde que je voulais passer... peut-etre identify ou un truc du genre
<Zatalyz> mais comme je suis déjà co... je testerais une autre fois
* Zatalyzette (~Zatalyz@2a01:7c8:aab8:6b9:5054:ff:fec9:fd84) est parti
<linkmauve1> Zatalyz, ah, si tu parles des trucs genre /msg, c'est pas une commande, faut juste commencer à parler avec NickServ.
<Zatalyz> ok
<Zatalyz> c'était ptet ça
<Zatalyz> et bon, je t'avoue, je ne sais plus sur quel client j'avais testé
<Zatalyz> autre question : on va avoir besoin d'un bot, pour les flux rss, pour la faire causer (inutile mais si bon) et pour stocker les logs du canal sur le serveur khaganat
<Zatalyz> tu me conseille quoi ?
<Zatalyz> sachant que je ne sais pas coder
<Zatalyz> là, pendorid tourne avec supybot/limnoria, et c'est le max côté complexité que je peux assurer ^^
<linkmauve1> on m'a parlé de errbot, mais j'ai jamais essayé.
<linkmauve1> Sinon je sais que Movim utilise un truc similaire.
<linkmauve1> Celui-là : https://github.com/edhelas/atomtopubsub
<Zatalyz> je ferais un test d'installation en local de ces deux bots, voir lequel est le plus accessible et répond aux besoins
<linkmauve1> Le second n'est pas vraiment un bot, c'est pour que les utilisateurs s'y abonnent directement.
<Zatalyz> ha
<Zatalyz> remarque ça floodera pas le canal
<linkmauve1> Ouais, c'est le principe.
<Zatalyz> mais j'aime bien que pendorid s'agite un peu de temps en temps ^^
<linkmauve1> Du coup, probablement l'autre.
<Zatalyz> ok
<linkmauve1> (Voire les deux, pour les gens qui ne veulent pas venir ici.)
<Zatalyz> et sinon bête question de cosmétique... mais sur tous les clients que j'ai testé, les salons sont en onglet ; j'aime bien avoir ma liste en arbre sur le côté... Y'a moyen ?
<Zatalyz> Psi+ est sensé être personalisable mais... en tentant, je l'ai surtout cassé
<linkmauve1> Euh, tu peux mettre les onglets sur un côté si tu veux avec Gajim.
<linkmauve1> Comment tu les organiserais en arbre ?
<Zatalyz> ah ? Où, où ? *_*
<linkmauve1> Édition > Préférences > Avancées > Éditeur avancé, et là tu cherches "top" et celui qui ressemble à « côté sur lequel sont les onglets », tu le mets à "left".
<Zatalyz> ouaiiiiis !
<Zatalyz> Très bien
<linkmauve1> :)
<Zatalyz> comme je déplie le chat en entier sur un écran, c'est plus lisible comme ça :)
<Zatalyz> Ok, c'était le dernier truc qui me manquait ^^
<Zatalyz> le reste... je fais un tuto sur "comment installer un client, rejoindre le salon du projet", je teste et configure le bot
<linkmauve1> Ok !
<Zatalyz> et après soit je vois avec toi pour avoir un webchat lié au salon sur jabberfr, soit je me décide à configurer un serveur xmpp sur khaganat ^^
<linkmauve1> Une solution simple si tu veux bouger ensuite, c'est d'utiliser ton propre domaine, même si tu décides de t'héberger chez nous pour l'instant.
<Zatalyz> c'est possible ça ?
<linkmauve1> Ouais.
<linkmauve1> On gère une centaine de domaines d'utilisateurs comme ça.
<Zatalyz> ouah
<Zatalyz> ok, je note, ça facilitera la migration

Licences Mentions légales Accueil du site Contact