Salut à Toi 0.7 — La Commune


  • Prédateur

    Salut à vous,

    C’est avec plaisir et un certain soulagement que je vous annonce la sortie de « Salut à Toi » version 0.7 (La Commune).
    logo SVG de Salut à Toi

    « Salut à Toi » (ou SàT) est un écosystème de communication décentralisé, basé sur le standard établi XMPP. Il vous permet de faire de nombreuses choses : messagerie instantanée, partage de fichiers, (micro‐)blogage, événements, forums, etc., et il a la particularité d’être multi‐interface : différents « frontaux » sont disponibles pour le Web, le bureau, les appareils mobiles, ou encore le terminal et la ligne de commande.

    Sommaire

    La préparation de cette version aura pris trois ans, c’est la première version dite « grand public », utilisable par un public non technique, même s’il y a encore des améliorations à faire au niveau de l’interface et l’« expérience utilisateur ».

    Il n’est pas question de refaire une longue énumération de fonctionnalités avec captures d’écrans, vous pouvez vous référer à l’annonce de la version alpha pour ceci. Je vais plutôt expliquer certaines nouveautés majeures.

    Cagou, l’interface pour le bureau et les appareils mobiles

    Promis suite à notre modeste campagne de financement participatif, Cagou est le nom du nouveau frontal pour les appareils de bureau et mobiles (Android uniquement pour le moment). Pour la petite histoire, c’est une référence à un superbe oiseau qui ne vole pas et aboie, endémique à la non moins superbe Nouvelle‐Calédonie, mais aussi un clin d’œil à Kivy, le cadriciel que nous utilisons et dont le nom et le logo rappellent le Kiwi de la Nouvelle‐Zélande.

    Cette interface est donc multi‐plate‐forme, et ne se contente pas de la messagerie instantanée : vous pouvez vous en servir pour transférer des fichiers (par exemple vos films et vos photos entre votre téléphone et votre ordinateur de bureau), ou comme télécommande pour votre lecteur de médias. Il est bien entendu prévu qu’il gère également le « blogage » dans un avenir proche.

    Cagou est pensé pour être utilisable aussi bien sur un petit écran qu’en plein écran sur un grand moniteur de bureau, et permet de diviser facilement l’écran en zones pour, par exemple, suivre plusieurs salons de discussion en même temps.

    Sur Android l’application souffre encore de quelques problèmes de lenteur et même parfois de plantages. Plusieurs problèmes seront corrigés avec le portage sur Python 3. Aussi, considérez cette version comme un premier jet qui permet d’avoir vos commentaires et suggestions.

    Cagou sur Android

    Chiffrement de bout en bout

    Bien que SàT gère le chiffrement de bout en bout depuis plusieurs années via « OTR », cette version voit l’arrivée d’« OMEMO », un algorithme palliant des défauts du précédent (il permet notamment d’envoyer des messages chiffrés hors ligne, ou de les afficher sur plusieurs appareils). OMEMO n’est implémenté qu’en conversation simple (dites « 1:1 », entre deux personnes) pour le moment, mais la prochaine version verra certainement la gestion des conversations de groupe chiffrées de bout en bout.

    Événements, album photo, forums, gestion de tickets, requêtes de fusion

    De nombreuses fonctionnalités font leur apparition. Vous pouvez désormais créer et gérer des événements (familiaux, par exemple), avec une classique liste d’invités et de réponses types « RSVP » (je viens, je ne viens pas, je viens peut‐être). Il est possible d’inviter des gens même s’ils ne sont pas sur le réseau XMPP, en utilisant des comptes « invités » générés automatiquement et envoyés à des adresses de courriel.

    Vous pouvez créer et partager des albums photo, une spécialisation du partage de fichiers. La création n’est pas encore disponible depuis les interfaces graphiques, c’est une amélioration à prévoir rapidement ; la consultation, en revanche, est simple depuis Libervia (l’interface Web).

    Un forum basique est également de la partie, ainsi qu’une gestion des tickets et requêtes de fusion (merge requests). Ces deux dernières fonctionnalités ont été implémentées pour les besoins du projet, mais elles sont très souples et pourront (dans une prochaine version) facilement être utilisées dans la vie courante (par exemple, pour des listes de courses ou de choses à faire).

    Tout ceci tire parti des capacités de publication et d’abonnement (ou « PubSub ») de XMPP, et peut profiter de son système de permissions (on peut ainsi imaginer une liste de courses partagée entre les membres de la famille, pour indiquer qui a pris quoi).

    À noter que pour en profiter il est actuellement nécessaire d’utiliser le service PubSub « SàT Pubsub », un projet fait pour les besoins de « Salut à Toi » (mais utilisable par tout logiciel XMPP).

    Un blog sur Libervia

    Album photo sur Libervia

    Cadriciel Web

    Le développement de Libervia, le frontal Web, l’a mené à devenir un cadriciel (ou framework) Web. La raison de cette évolution est qu’il fallait une interface très souple, permettant d’implémenter et tester facilement de nouvelles idées ou fonctionnalités. Le but est d’avoir un cadriciel naturellement décentralisé et fédéré (parce que basé sur XMPP), qui s’intègre simplement dans l’écosystème. Je passe rapidement sur les détails techniques, mais il s’agit de lier le moteur de rendu Jinja2 avec SàT et d’utiliser PubSub comme base de données. En outre, le frontal en ligne de commande (jp), permet d’utiliser les mêmes modèles pour faire un rendu statique (par exemple, pour générer un blog statique ou des archives d’un salon de discussion).

    C’est avec ce cadriciel qu’ont été développées les fonctionnalités mentionnées ci‐dessus. Elles sont organisées en « pages » qui se veulent simple d’utilisation et peuvent fonctionner sans JavaScript (quand c’est possible, ce qui n’est pas le cas pour la discussion en ligne). C’est grâce à lui que fonctionne le nouveau site officiel où vous trouverez une documentation d’introduction.

    Mais encore

    Je ne vais pas trop m’étendre, les nouveautés sont trop nombreuses, mais il vaut tout de même la peine de mentionner que SàT peut également être utilisé pour stocker vos fichiers sur le serveur (il peut être utilisé en tant que « composant »), ou que jp, le frontal en ligne de commande permet de gérer beaucoup de choses (retrouver ou publier un article de blog, envoyer un message chiffré ou non, retrouver l’avatar de quelqu’un, etc.).

    Installation

    « Salut à Toi » est disponible dans Debian et ses dérivées ; mais attention, c’est le cas seulement pour le back‐end, et les interfaces console et ligne de commandes, de l’aide serait d’ailleurs appréciée pour empaqueter Cagou (interface bureau et appareils mobiles) et Libervia (interface Web).

    Il est également disponible sur les dépôts AUR d’Arch Linux, et sur cette distribution il existe des paquets pour installer les versions de développement.

    Des paquets Flatpak permettent une installation aisée de Cagou, Primitivus (console) et jp (ligne de commande) sur la plupart des distributions GNU/Linux, vous trouverez les liens sur la page principale du site.

    Vous pouvez bien sûr aussi utiliser pip, le gestionnaire de paquets de Python. Un simple pip2 install --user sat suivit d’un pip2 install --user cagou, voire d’un pip2 install --user libervia devrait suffire. Les instructions sont disponibles dans la documentation du site.

    Pour Android, vous trouverez un APK sur ce lien. Je vais faire les démarches pour le rendre disponible sur F-Droid, et éventuellement sur le Play Store.

    Bien que SàT devrait techniquement fonctionner sur macOS, Windows et les *BSD, il n’est pas testé sur ces plates‐formes (car je ne les ai pas à disposition). J’ai eu quelques retours sur macOS. Si des personnes sont intéressées, une aide pour tester et empaqueter serait plus que bienvenue.

    Avenir

    La principale chose attendue pour la 0.8 est le portage sur Python 3. Il est enfin possible maintenant que plus aucune dépendance ne bloque, et c’est la seule chose certaine pour la version à venir. Plusieurs grosses pistes sont envisagées ensuite et il va falloir faire des choix, n’hésitez pas à donner votre avis ou préférence en commentaire.

    Visioconférence

    Jingle étant déjà implémenté, la visioconférence est prévue de longue date. Elle ne devrait pas être trop difficile à implémenter pour l’interface Web (grâce à WebRTC), mais demandera certainement plus de travail sur bureau et sur Android (évaluer les différentes options, GStreamer étant le candidat envisagé pour le moment, et intégrer ça à Cagou). C’est un chantier important.

    Améliorer le partage de fichiers

    SàT propose déjà un partage de fichiers avancé (plus qu’un simple envoi de fichier sur le serveur), incluant un composant serveur. Il est fort possible que des développements continuent dans cette direction.

    Partager un répertoire avec Cagou

    Version iOS

    Il serait techniquement possible de porter Cagou sur iPhone. Il y a plusieurs obstacles à cela, notamment juridique (l’Apple Store n’est pas compatible avec la licence actuelle, AGPL 3+). Il faudrait également du matériel dédié, et du temps. Ce n’est clairement pas la priorité, mais sachez qu’une version iOS est envisageable.

    Passerelle ActivityPub

    Avec cette version, SàT peut désormais être utilisé en « composant », c’est‐à‐dire un service côté serveur. Cette possibilité peut être mise à profit pour créer une passerelle ActivityPub, ce qui permettrait de communiquer dans les deux sens avec les projets utilisant ce protocole. Il y a déjà un projet en cours de passerelle XMPP pour Prosody, aussi je vais certainement attendre de voir son évolution avant de me lancer moi‐même.

    Évolution de la messagerie instantanée

    Bien que déjà fonctionnelle, la messagerie instantanée peut devenir très complète si l’on y consacre du temps. Il s’agirait d’ajouter les quelques fonctionnalités manquantes (réactions, correction du dernier message), d’améliorer la gestion des fichiers, des copier‐coller des morceaux de code, d’implémenter le chiffrement de bout en bout en groupe, etc. Tout ceci est prévu, la question est de savoir si l’on en fait la priorité ou pas.

    Amélioration de l’utilisabilité

    C’est probablement le chantier qui sera prioritaire une fois le portage vers Python 3 effectué. SàT est déjà bien fourni en fonctionnalités, mais les interfaces ont besoin de travail pour être facilement utilisables. J’aimerais en particulier travailler sur le lancement de l’application et la découverte de contacts. Il y a également beaucoup de « petits détails » qui, accumulés, prennent du temps mais rendent le logiciel beaucoup plus agréable : intégration au bureau, aux actions de partage, une sélection plus agréable des fichiers, etc.

    Voilà pour les pistes envisagées, chacune demande du temps et, encore une fois, vos commentaires et avis sont les bienvenus. Il y a d’autres idées qui traînent, aussi il va falloir bien choisir les priorités.

    Mais…

    « Salut à Toi » est un gros projet qui a un potentiel, mais il est pour le moment développé par une seule personne. Je n’ai qu’un jour par semaine consacré à SàT, et le rythme est très difficile à tenir. Dans les mois qui viennent je vais étudier les options de financement du projet. Il va être nécessaire que je trouve une solution à moyen terme pour que ce projet reste sur les rails.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    https://linuxfr.org/news/salut-a-toi-0-7-la-commune


Log in to reply