URL: https://linuxfr.org/users/goffi/journaux/retour-de-berlin Title: Retour de Berlin Authors: Goffi Date: 2014年09月16日T16:05:03+02:00 License: CC By-SA Tags: xmpp, movim, sàt, jappix, prosody, buddycloud et jitsi Score: 79 Bonjour à tous, bon je sais qu'on parle beaucoup de XMPP en ce moment, avec les sorties récentes des nouvelles versions de Salut à Toi et Movim, et un journal sur Diapora*, aussi pour ceux qui commencent à saturer, inutile de continuer dans ce journal :). Je vais raconter un peu l'envers du décors ici, à savoir ce qu'il se passe chez les dévs et autour des standards. Tout est raconté de mon point de vue (je suis développeur sur Salut à Toi), peut-être que les autres personnes présentes voudront compléter ou corriger selon leur ressenti. Depuis quelques mois, nous avons décidé de nous regrouper sur un salon XMPP pour discuter de « PubSub » (Publish Subscribe, publication/souscription, un protocole qui permet de publier des choses et d'être averti quand quelqu'un publie quelque chose). Quand je dis « nous », je parle principalement de Binary (développeur russe), Edhelas (développeur de Movim), Souliane (développeur de Salut à Toi), et moi. Sur ce salon nous voyons aussi plus ou moins régulièrement des gens comme Simon Tenant (développeur Buddycloud), Neustradamus (qui fait beaucoup de veille et mise en relation aujour de XMPP), Link Mauve (développeur touche à tout, et beaucoup à XMPP), et Vanaryon (développeur de Jappix). Notre but est de pousser un peu pour régler les derniers problèmes gênants pour créer un système de microblogage décentralisé. Cette réunion a permis la création de 2 XEPs (extensions du protocole XMPP): la [XEP-0351](http://xmpp.org/extensions/xep-0351.html) écrite par Binary pour améliorer les notifications, et [Priviled Components](http://xmpp.org/extensions/inbox/privilege-component.html), que j'ai écrite, qui permet de donner à un composant des droits normalement réservés à un serveur (ça sera bientôt changé pour être pour n'importe quel entité, pas uniquement un composant serveur). La première a été publiée et a donc un numéro officiel, c'est une étape importante, mais cela ne signifie pas que c'est accepté par la XSF (organisme qui gère XMPP, où n'importe qui peut demander à être membre). Le mécanisme de publication et d'acceptation est décrit dans la [XEP-0001](http://xmpp.org/extensions/xep-0001.html): ce processus clair est ouvert à la discussion, et montre l'intérêt d'un protocole standard. Par exemple, une XEP ne peut pas devenir finale s'il n'y a pas au moins 2 implémentations dont au moins une libre. Pour discuter de ces extensions (et plus rarement du cœur de XMPP, à savoir les RFC [6120](http://tools.ietf.org/html/rfc6120), [6121](http://tools.ietf.org/html/rfc6121) et [6122](http://tools.ietf.org/html/rfc6122)), une liste de diffusion a été créé, la liste standard (que vous trouverez ainsi que toutes les autres sur cette page: http://xmpp.org/participate/discuss-xmpp/). C'est sur cette liste que Binary a demandé à avoir un « XMPP Summit », c'est à dire une rencontre autour de XMPP, en dehors de l'amérique du Nord. Après quelques discussions, un point relativement central a été choisi, Berlin, où le JSConfEu était organisé, ce qui a permis à ceux qui le voulaient de participer aux 2. Nous nous sommes donc retrouvé à Berlin la semaine dernière. Afin de pouvoir mieux faire connaissance et pouvoir discuter tranquillement, nous avons décidé de prendre une chambre commune Edhelas (que j'avais déjà vu plusieurs fois), Binary (que je ne connaissais que par Internet), Souliane (ami de longue date) et moi (Vanaryon a failli nous rejoindre mais il a eu un empêchement). Notre choix s'est porté sur une auberge de jeunesse qui respirait l'ambiance communautaire, un peu excentrée. Nous n'avons pas été deçus, l'accueil ainsi que tous ceux qu'on a rencontré étaient très amicaux et détendus. Mercredi le RDV était donné dans les locaux de Wikimedia (la fondation qui gère entre autres Wikipédia): c'était le grand luxe, de grands bureaux hauts de plafond, des indications claires. La nourriture (pizzas) et les boissons (eau, café, club maté, etc) étaient offertes par [&yet](https://andyet.com/), une entreprise qui utilise XMPP. Nous avions tout ce qu'il fallait à disposition: une grand salle de réunion, et une bonne connexion filaire ou wifi. Une vingtaine de personnes étaient présentes, parmi lesquelles on comptait des développeurs d'OpenFire, de BuddyCloud, d'Ejabberd, de Prosody (l'auteur principal), de Jitsi, ainsi que des employés de Siemens qui nous ont parlé de l'Internet des objets. Pour permettre aux gens non présents physiquement de participer, une liaison en vidéo conférence à plusieurs a été mise en place via [Jitsi](https://jitsi.org/Projects/JitsiMeet) et un navigateur (ou le client de bureau chez les autres). Malgré quelque petits problèmes (webcam qui coupait l'image en deux - probablement plus lié à la webcam elle-même qu'à Jitsi -, quelques coupures voire crashs), la liaison a été relativement correcte durant toute la journée, et nous a permis de discuter avec Ralph Meijer, un des auteurs de la [XEP-0060](http://xmpp.org/extensions/xep-0060.html) (PubSub), et développeur de longue date autour d'XMPP. Toute la journée a été rempli de discussions, nous avons commencé par lister les sujets que chacun voulait aborder, puis fait un vote pour choisir l'ordre de discussions. Nous avons ainsi parlé des problèmes de PubSub, de XMPP en entreprise (et de l'utilisation de l'internet des objets), de Jingle, de l'état des « réseau sociaux » (je n'aime pas ce terme !) avec une rapide présentation de Movim et SàT en fin de journée, ainsi que diverses autres choses que j'ai oublié. Je ne vais pas rentrer dans les détails techniques, mais vous pourrez avoir un résumé de ce qu'on a dit sur PubSub ici: http://piratepad.net/ep/pad/view/ro.HADGQ2im4Q3/latest (la mise en page est perdu en lecture seule, je vous conseil de télécharger en HTML avec le lien sur la droite). Le leitmotiv de la journée était « do it ! ». Cette journée a été très éprouvante pour moi: j'ai été pris tout du long d'un violent mal de tête, ce qui m'a rendu très pénible la compréhension des discussions en anglais, surtout que certains parlaient très vite et avec un accent plus ou moins fort, et la conversation avec Ralph par enceintes interposées n'était pas aisée non plus. Mais nous referons certainement une partie des conversations sur la liste de diffusion standard@. La fin de la journée, vers 16h, a été un soulagement, et nous nous sommes donnés RDV le soir dans un restaurant. Cette longue pause nous a permis de visiter un peu Berlin et son tristement célèbre mur (mais la ville est très intéressante et semble vraiment agréable, j'espère avoir l'occasion de mieux la découvrir un jour). Nous étions en comité beaucoup plus réduit au restaurant, à 6, ce qui a permis des discussions plus détendues, et de voir un peu nos différents points de vue. Le lendemain était la journée du hackathon: nous nous sommes retrouvés dans un hackerspace berlinois, où se croisaient une classique RepRap et un portrait de RMS en Gnou. Cette journée a été beaucoup plus agréable: d'une part mon mal de tête était enfin passé après une nuit épouvantable, et d'autre part l'atmosphére était moins « officielle ». Chacun vaquait à ses occupations, et nous pouvions demander l'aide d'un expert sur tel ou tel projet au besoin, ou s'échanger des astuces. Tout au long de la journée nous avons eu des présentations. En particulier, Matthew (l'auteur de Prosody) nous a fait une introduction à Lua et Prosody, et nous a montré comment faire un module. Bien que j'avais déjà regardé par ailleurs, c'était très instructif, et Matthew donne un sentiment de compétence très rassurant. C'est un personnage sympathique, décontracté, et facile d'accès. Il nous a expliqué notamment le choix de Lua: un langage très rapide, efficace et qui va à l'essentiel. Le code de Prosody semble clair, et ils ont pour but de ne pas avoir pas de fichier dépassant les 400 lignes environ. Il y a un nombre impressionnant de modules, et la facilité d'en écrire rend Prosody un serveur de choix pour bidouiller. Ajoutons à cela sa visible qualité technique, sa facilité à installer et ses performances, c'est à mon sens un des tous meilleurs serveurs XMPP. Nous (J'ai ;) ) posé la question qui fâche du fork « Métronome » et de ce qu'il en pensait. Ce fork a été fait afin, entre autres, d'implémenter un PubSub persistant, ce qui n'est pas encore possible dans Prosody. Matthew nous a expliqué que c'est parce qu'ils voulaient éviter une dépendance à une base de données (Prosody gère tout avec des fichiers simples). Il est resté très correct vis à vis de ce projet, et même s'il pense que la méthode d'implémentation n'est pas la bonne, il a dit qu'il est tout de même content que ce projet existe car il est utilisé notamment par Movim et Jappix, et que le libre c'est aussi accepter les forks. Une API est en train d'être créé pour Prosody, afin d'utiliser des bases de données externes sans dépendance dur (si j'ai bien compris), donc on devrait voir arriver tôt ou tard du PubSub persistant. L'autre méthode est d'utiliser un composant externe, méthode que nous avons choisi pour SàT. Nous avons également eu une présentation de Buddycloud, un projet de microblogage à la Twitter, mais qui se base sur une couche non standard (tout en gardant une passerelle PubSub standard en parallèle si j'ai bien compris là encore). Je pensais le projet moins avancé que cela, et c'était une bonne surprise de le voir tourner. La vision du microblogage est différente de la notre, et Buddycloud semble viser principalement les entreprises (c'est leur modèle économique). Un des développeurs semblait plus ouvert que l'autre à travailler sur une standardisation de leur projet, l'avenir nous dira ce qu'il en est, mais nous espérons en tout cas pouvoir être compatibles à terme. Une autre présentation intéressante était celle d'une bibliothèque javascript permettant de gérer XMPP, nous avons eu une démonstration en direct: en quelques lignes de code dans la console, il y avait un algorithme qui créait des cercles. Nous étions invités à nous connecter à un site web: chaque connexion créait un cercle que nous pouvions contrôler via des boutons de directions, le tout communiquant par XMPP. Enfin, nous avons eu le droit à une présentation d'une visions différente de XMPP dans le navigateur: au lieu de tout faire en javascript ou côté serveur, le développeur a créé un plugin (pour Chromium uniquement pour le moment). L'utilisation de ce plugin, permet de demander la permission d'accéder à notre compte XMPP, comme n'importe quel site peut demander la permission d'afficher des notifications ou stocker quelque chose en local. Une fois cette autorisation donnée, il est facile de contrôler le compte en très peu de lignes, sans les tartines javascript normalement nécessaire. J'ai trouvé l'idée très intéressante, mais à mon avis applicable uniquement si c'est un vrai standard disponible partout, et si les permissions sont modulables (c.-à-d. ne pas donner un accès complet systématique au compte XMPP). À 18h nous avons décidé de quitter les locaux, et de faire un barbecue arrosé de bières allemandes à l'auberge. C'était un bon moyen de se couper un peu du monde informatique après ces 2 jours intenses, et de faire du vrai social avec les voyageurs. Le lendemain nous nous sommes quittés (Binary et Edhelas restant un peu à Berlin), et Souliane et moi sommes rentrés en STOP, pour le plaisir (ne sortez surtout pas à Dresde si un jour ça vous arrive et que vous allez au sud !). Nous sommes très contents de ce séjour, même si les discussions n'ont pas forcément été si utiles que cela (on aurait pu faire les mêmes sur la liste de diffusion), il est important de rencontrer la communauté et de voir ce qui se fait ailleurs. Prosody se confirme comme serveur de choix, Buddycloud était intéressant à voir, et nous avons pu avoir des discussions très intéressantes avec Edhelas et Binary, et nos différentes façons de voir (on a eu un débat sur la neutralité de la technologie pendant notre visite de Berlin). Sur le plan technique on a surtout pu montrer que nous étions plusieurs à nous intéresser à PubSub et à travailler avec/dessus, c'était notre but. Edhelas et moi avons décidé de travailler ensemble sur les bookmarks (marque-pages), je vais également finir mes 2 XEPs permettant d'utiliser un composant externe comme serveur PubSub, Matthew m'ayant confirmé son intérêt et son aide éventuel pour faire un module Prosody qui implémente ça. Ce long journal était surtout là pour vous montrer un peu comment ça se passe de l'autre côté, que travailler sur des projets ce n'est pas que du code, c'est aussi des rencontres, des discussions, des façons de voir, des doutes, etc. Un projet communautaire, c'est avant tout une communauté ;) .

AltStyle によって変換されたページ (->オリジナル) /