Movim 0.14 « Scotty »

Posté par  . Édité par ZeroHeure, BAud, M5oul, palm123, bubar🦥, Davy Defaud et Benoît Sibaud. Modéré par ZeroHeure. Licence CC By‑SA.
41
19
déc.
2018
XMPP

Movim, le réseau social libre, a été officiellement annoncé le 18 novembre 2018 en version 0.14. Ce qui suit est une traduction libre du blog de Timothée Jaussoin, l’auteur de Movim.

Movim a dix ans et c’est avec une grande satisfaction que nous vous apportons cette version, après neuf longs mois de développement.

Sommaire

Movim est un nouveau concept de réseau social avec des fonctionnalités de messagerie instantanée qui se situent entre #Instagram et #Whatsapp pour l’expérience utilisateur, et les réseaux fédérés tels que #Diaspora ou #Mastodon.

Il a pour but de réunir en une seule application tout ce qu’il vous faut pour communiquer avec votre communauté, votre classe, votre entreprise ou votre cercle d’amis. Movim peut aisément être déployé sur un serveur et repose sur le protocole XMPP pour la fédération. Movim peut donc, de par sa conception, déjà communiquer avec de nombreux clients Jabber/XMPP et ne nécessite pas la création d’un compte si vous avez déjà un compte XMPP.

Cette nouvelle version vient avec de multiples changements fondamentaux qui améliorent grandement la stabilité et les performances du projet, mais viennent aussi avec des améliorations du design et de la navigation pour fournir la meilleure expérience relative à la publication de contenu et de messagerie.

Movim et PHP 7.3

Movim souffre actuellement de problèmes pour tourner sur la prochaine version 7.3 de PHP. C’est un problème connu et documenté qui cause des incompatibilités avec une de nos dépendances officielles sur PHP, php-zmq, qui est utilisé en plusieurs endroits dans le cœur du démon. Un ticket a été ouvert pour suivre et donner des informations sur ce problème : « Movim is not working with PHP 7.3 ».

Changements techniques

Avant de présenter les améliorations et nouvelles fonctions, parlons un peu de ce qui change sous le capot.

Base de données

Le plus gros changement dans cette version est certainement le remplacement de l’ancienne couche d’abstraction de base de données, la bibliothèque Modl spécifique à Movim, par Eloquent qui est largement utilisée. Ce travail a été détaillé dans un article précédent : « From Modl to Eloquent, or how to change a social network database engine ». En résumé, il apporte de la cohérence dans la base de données du projet et d’énormes gains de performance sur toutes les pages.

Sans avoir de cache, Movim charge maintenant les pages en seulement quelques centaines de millisecondes.

Comparatif des temps de chargement de page de messagerie instantanée

Cette nouvelle structure de base de données maintient aussi de bonnes performances avec de grandes quantités de données (des millions de messages et des milliers d’articles sur nos pods officiels en ce moment).

Avec Eloquent, Movim est compatible avec #MySQL et #PostgreSQL, mais aussi, depuis cette version, avec #SQLite, qui permet de grandement simplifier le déploiement de petites instances. Merci à JKingweb pour son incroyable travail sur ce portage.

Empaquetage et dépendances

Scotty sera la première version à être empaquetée pour le projet #Debian. De grosses améliorations ont été faites sur les dépendances du projet grâce au travail de nos contributeurs mirabilos et nik. Plusieurs dépendances ont été retirées et plusieurs remplacées par des alternatives plus stables et fiables (telles que la bibliothèque SASL, utilisée pour l’authentification). Ce paquet viendra un peu plus tard en raison du problème que nous avons avec PHP 7.3.

Movim 0.14 est aussi la première version à abandonner la prise en charge de PHP 5 (maintenant obsolète) pour se concentrer sur PHP 7+.

Quoi de neuf ?

Après ces détails techniques barbants, voyons ce que vous allez trouver en tant qu’utilisateur dans cette nouvelle version.

Publications

La publication d’articles est plus simple que jamais, et a été totalement reconçue. Vous pouvez rapidement publier un lien ou téléverser une photo via la page d’accueil, ou vous pouvez basculer vers le formulaire plus complet pour écrire un long article (comme celui‐ci).
formulaire

Quand vous partagez un lien qui contient plusieurs images, vous pouvez choisir celle que vous voulez voir dans la publication (ou aucune image).
choixImageLien
Le changement de visibilité d’une publication a été repensé pour être plus clair.

Articles

Les cartes contenant un aperçu des articles ont été entièrement revues pour être plus compactes et adaptées aux écrans plus petits.

La page des nouvelles, les publications de contacts et les communautés sont maintenant paginées pour permettre une navigation plus simple.

Si vous recevez des articles contenant des images NSFW et que vous avez demandé de ne pas les afficher dans la configuration, Movim affichera désormais une surcouche d’avertissement par‐dessus.
SurcoucheNSWF

La fonction de recherche a été améliorée et propose maintenant également les recherches par étiquettes (tags).

La vitesse de chargement des articles et commentaires a été grandement augmentée. Naviguer entre des articles se fait en un instant.

Notifications

Toutes les notifications sont maintenant groupées dans un panneau facilement accessible depuis le menu principal, à la fois sur le bureau et sur mobile. Grâce à XMPP, les notifications sont reçues et synchronisées en temps réel.
Notifications
Ces notifications contiennent les « like », commentaires et invitations que vous avez reçus.

Discussions

Plusieurs problèmes de synchronisation de messages ont été résolus, permettant à Movim de gérer correctement les accusés de réception et de lecture des messages envoyés.

Salons

Les salons ont été légèrement revus, les messages des modérateurs sont maintenant indiqués avec une couleur spécifique. Les messages qui vous sont adressés sont également indiqués avec une couleur de bordure spéciale.

salon
Vous pouvez maintenant également publier des Stickers et émojis dans vos salons favoris.

Quoi d’autre ?

Vous pouvez utiliser Movim pour vous authentifier auprès de sites tiers qui utilisent des comptes XMPP. Sur les sites qui implémentent cette fonction, vous n’avez qu’à fournir votre compte XMPP et une notification sera affichée dans Movim.

Authentification

Vous devez tout simplement l’accepter, et vous serez automatiquement authentifié sur le site externe. Peut‐on faire plus simple ?

Plus d’information ici : « Journal of a Bot — Authentication with XMPP (en anglais).

Plusieurs petits bogues ont été corrigés dans la fonction Appel vidéo. Movim est maintenant plus clair sur l’état de la session vidéo et donne des retours appropriés si le contact raccroche.

Les photos peuvent être prévisualisées dans Movim avant d’être envoyées en lien externe.

Autour du projet

La version repensée du site officiel présentera maintenant plus clairement ce qu’est le projet et toutes les fonctions excitantes que l’on peut utiliser dans Movim.

Vous y trouverez aussi les applications pour bureau (Windows, macOS et GNU/Linux) et Android.

Et la suite ?

Nous n’avons pas encore terminé ! Il y a déjà des plans pour la prochaine version.
La 0.15 se concentrera sur le protocole de chiffrement de bout en bout OMEMO. Le ticket afférent a été rouvert avec plus d’explications. Ce sera un gros projet risqué.

Plusieurs améliorations à venir sont basées sur les suggestions dans les salons et les communautés qui permettent aux utilisateurs de Movim d’explorer et découvrir du contenu plus facilement.

D’ici là, nous vous invitons à essayer cette nouvelle version sur nos instances officielles ou à la déployer sur votre serveur. Vous trouverez tout ce dont vous avez besoin sur le site officiel.

Vous pouvez aussi nous aider avec des dons au projet ou nous soutenir sur Liberapay et Patreon. Donner votre ressenti ou parler de Movim autour de vous nous aide également beaucoup.

Voilà pour cette fois !

Aller plus loin

  • # publier de façon restreinte

    Posté par  . Évalué à 6.

    J'ai rapidement essayé Movim il y a quelques mois mais je n'avais pas vu comment faire une publication restreinte à une liste de contacts ou un groupe prédéfini. C'est mon inexpérience des réseaux sociaux ou bien c'est comme ça ?

    • [^] # Re: publier de façon restreinte

      Posté par  . Évalué à 5.

      La fonction est considérée expérimentale dans XMPP, implémentée à ma connaissance uniquement dans Salut-à-Toi pour l'instant. Goffi a développé le composant pubsub pour que ça marche.
      En attendant que ça devienne une XEP (extension du standard) officielle…

      • [^] # Re: publier de façon restreinte

        Posté par  . Évalué à 3.

        Je suis très étonné que ce soit expérimental dans XMPP après tant d'années. Je suis certes ignare en réseaux sociaux mais il me semblait qu'une telle fonctionnalité faisait nécessairement parie de la base d'un réseau social généraliste (i.e. pas comme Twitter par exemple).

        Peut-être que je suis sacrément dépassé de vouloir publier des trucs juste pour ma famille…

        • [^] # Re: publier de façon restreinte

          Posté par  . Évalué à 5. Dernière modification le 20 décembre 2018 à 21:56.

          Il n'existe pas de définition universelle de "réseau social". On parfaitement considérer que linuxfr est un réseau social.

          Movim propose les appels voix/vidéo. Est-ce que c'est important pour un réseau social? Certains diront oui, d'autres non.
          Est-ce que le blogage "privé" est indispensable à un réseau social? Même réponse!

          • [^] # Re: publier de façon restreinte

            Posté par  . Évalué à 2.

            Il n'existe pas de définition universelle de "réseau social".

            Certes. Ce n'était d'ailleurs pas une critique de ma part, juste un étonnement.
            En tous cas, c'est rédhibitoire pour moi.

        • [^] # Re: publier de façon restreinte

          Posté par  (site web personnel, Mastodon) . Évalué à 5.

          En effet on a introduit ça dans SàT depuis pas mal d'années et on a développé un serveur PubSub (qui est en gros la base de donnée du blog) qui gère ça (https://repos.goffi.org/sat_pubsub). Ce qu'on a introduit c'est principalement 2 choses:

          • pouvoir gérer les permissions au niveau d'un item (c.-à-d. d'un billet de blog)
          • pouvoir utiliser les groupes de la liste de contact (ou roster), comme « famille » ou « amis »

          Par défaut (sans nos améliorations) il est tout de même possible de gérer des permissions pour un « nœud » pubsub (c.-à-d. pour un ensemble d'items, de billets, un peu comme un flux Atom ou RSS) à l'aide d'une liste blanche (on autorise au cas par cas qui peut lire le nœud), ce qui peut être vite fastidieux, et je ne crois pas que c'est intégré dans aucune interface de client à l'heure actuelle.

          Je n'ai pas encore rédigé de spécification pour notre fonctionnalités d'une part parce qu'au début il fallait tester pour voir si c'était viable (ça l'est), et d'autre part tout simplement parce que je suis débordé. Je suis le seul développeur actif sur SàT aujourd'hui, et j'ai des tonnes de choses sur les bras (sur mon temps libre, j'ai un travail salarié à côté). La priorité c'est de stabiliser et d'avoir une version utilisable et agréable le plus rapidement possible.

  • # exporter un compte

    Posté par  . Évalué à 4.

    Une autre question que je me pose : qu'en est-il de la possibilité d'exporter ses données sur un autre serveur ?
    Il y a deux ou trois on m'avait répondu à cette même question que ça serait possible un jour (excepté pour les "pièces jointes" : images, vidéos,…).

    • [^] # Re: exporter un compte

      Posté par  . Évalué à 3. Dernière modification le 20 décembre 2018 à 19:29.

      Là il faut séparer 2 choses:
      * Le serveur XMPP
      * Le pod Movim

      Movim est un client XMPP, un peu comme un webmail n'est qu'un client mail.
      Donc tu peux changer de pod à la volée, sans aucun impact. En fait, tu peux même décider un matin d'utiliser un tout autre client XMPP.

      Pour le 2ème, c'est plus délicat. Il n'y a effectivement pas de solution de migration simple aujourd'hui, et ça soulèverait d'autres questions:

      Dans XMPP, tu ne peux pas juste balancer des messages à n'importe qui, hors salons bien sûr, il faut se faire accepter du contact. Du coup, si tu changes de compte XMPP, donc aussi d'identité, quelque part, les contacts sont-ils censés t'accepter automatiquement? Les abonnement sont-ils suivis?
      J'aurais du mal à accepter de me retrouver un jour à suivre mort-aux-juifs@nazisdefrance.fr parce qu'un de mes contacts a pété un câble (même si ça ne dure pas plus que le premier billet…).

      Je comprends l'inquiétude quand on compte sur des serveurs associatifs ou des petites boites à l'avenir incertain, mais après tout, c'est pas mal la même chose pour les mails ou n'importe quel réseau social.
      Je recommanderais donc de s'héberger soi-même ou de soutenir les serveurs associatifs!

      • [^] # Re: exporter un compte

        Posté par  . Évalué à 2.

        Je ne comprends pas tout : quand je me connecte sur fr.movim.eu je me connecte sur quoi ? Sur un pod Movim ou sur un serveur XMPP ?

        Ok, je crois deviner que je me connecte sur un pod Movim qui communique lui-même avec un serveur XMPP. Mais pour un utilisateur lambda qu'est-ce que ça veut dire "changer de pod à la volée" ?

        Par ailleurs, en lisant ton message, je "réalise" que l'identifiant est lié au serveur XMPP. Donc, effectivement, si celui-ci disparaît, mon identité disparaît => les problèmes que tu évoques.

        Mais alors ta comparaison avec les mails n'est pas tout à fait juste. En effet, d'une part, il est facile d'exporter des mails d'une adresse à une autre. D'autre part, on peut garder la même adresse email toute sa vie sans dépendre d'un serveur : en ayant son propre domaine.

        • [^] # Re: exporter un compte

          Posté par  (site web personnel) . Évalué à 2.

          D'autre part, on peut garder la même adresse email toute sa vie sans dépendre d'un serveur : en ayant son propre domaine.

          Sur cet aspect, je peux apporter la réponse : ça peut fonctionner pareil, tant que tu connais des admins qui vont gérer ça. Par exemple, Khaganat est passé à XMPP il y a quelques temps. Nous avons préféré déléguer la gestion de XMPP à Jabberfr.org, parce que ça reste assez technique de faire un serveur XMPP avec les divers services utiles. Le serveur XMPP tout seul est simple à mettre en place, mais si on veut des copies carbones, la prévisualisation des images, partager la musique qu'on écoute à ses contacts et milles autres fonctionnalités un peu fancy, ça devient vite technique. Vu que Khaganat reste une petite asso, on a préféré déléguer. Mais on voulait aussi que les gens se connectent à un salon avec notre nom de domaine. Il a suffit de changer une règle DNS sur un sous-domaine, et voilà. Si un jour la gestion du serveur XMPP est reprise par quelqu'un d'autre, on changera cette redirection, mais pour les gens qui nous connaissent, l'adresse ne changera pas, ce sera toujours "chat.khaganat.net".

          Un truc aussi que je trouve très cool avec XMPP, c'est que le couple identifiant/mot de passe permet de se connecter sur tout l'écosystème. Concrètement, j'ai depuis quelques années mon identifiant en movim.eu, mais avec ça je peux me connecter au webchat de conversejs.org, à l'instance movim hébergée par jabberfr.org, ou sur le site movim.eu aussi. Et sur chaque service, je retrouve mes contacts, mon historique, etc. Et le jour où j'ai envie de tester SàT ou un énième client, pas besoin de refaire un compte.

          • [^] # Re: exporter un compte

            Posté par  (site web personnel, Mastodon) . Évalué à 5.

            Un truc aussi que je trouve très cool avec XMPP, c'est que le couple identifiant/mot de passe permet de se connecter sur tout l'écosystème. Concrètement, j'ai depuis quelques années mon identifiant en movim.eu, mais avec ça je peux me connecter au webchat de conversejs.org, à l'instance movim hébergée par jabberfr.org, ou sur le site movim.eu aussi. Et sur chaque service, je retrouve mes contacts, mon historique, etc. Et le jour où j'ai envie de tester SàT ou un énième client, pas besoin de refaire un compte.

            Oui enfin attention avec ça, il faut bien comprendre qu'on file identifiant et mot de passe au service tiers. C'est valable pour un compte de test, si on héberge tout soit même, ou si on fait très confiance au service tiers, mais ça reste une mauvaise pratique.

            La méthode propre pour pouvoir sauter d'un service à l'autre facilement, c'est d'utiliser une authentification de type OAuth, ce qu'il est possible de faire avec XMPP, mais très peu implémenté aujourd'hui. En gros le principe c'est que si t'as un compte sur jabberfr.org et tu veux tester sur conversejs.org, tu entres ton identifiant (jid), et sur jabberfr.org t'as une confirmation (« conversejs.org veut accéder à votre service bla bla »), et tu peux te connecter sans entrer ton mot de passe.
            C'est une des choses que j'aimerais pousser dans XMPP, mais on a déjà trop de choses à faire.

        • [^] # Re: exporter un compte

          Posté par  . Évalué à 3. Dernière modification le 21 décembre 2018 à 10:24.

          Alors, si tu te connectes sur fr.movim.eu, tu te connectes à un pod.
          Ensuite, quel identifiant utilises-tu? Si cet identifiant est en @movim.eu, tu utilises le serveur xmpp movim.eu.

          Pour prendre un exemple:
          - Soit un serveur perso monserveur.perso
          - Soit un compte XMPP sur ce serveur moncompte@monserveur.perso

          Supposons que j'héberge un pod Movim, je peux alors me rendre sur le site monserveur.perso/movim et me connecter à mon serveur.
          Mais supposons que je ne mette pas le pod à jour très souvent. Movim évolue vite. J'aimerais bien tester les dernières nouveautés avant de migrer vers la nouvelle version.
          Pas de problème!
          Je me rends sur le site fr.movim.eu, je rentre en identifiant moncompte@monserveur.perso, mon mot de passe, et voilà! Je suis connecté sur le pod fr.movim.eu mais toujours sur mon compte XMPP sur monserveur.perso.

          Pour les emails, je ne trouve pas qu'il soit si facile d'exporter ses mails d'une adresse à une autre. Il est facile de les archiver, mais pas de les transporter.
          Je dirais qu'il ne me semble pas plus compliqué d'archiver les publications XMPP.

          Et pour ce qui est d'avoir son propre domaine et serveur: oui, c'est bien ce que je disais: héberger son propre serveur.
          Yunohost inclut un serveur mail et un serveur XMPP de base, et c'est exactement ce dont je me sers!

          • [^] # Re: exporter un compte

            Posté par  . Évalué à 2.

            Merci pour cette explication, je comprends maintenant la différence entre pod et serveur.

            Et pour ce qui est d'avoir son propre domaine et serveur: oui, c'est bien ce que je disais: héberger son propre serveur.

            Non, moi je parlais juste d'avoir son propre domaine ce qui est quand même plus simple que d'avoir son propre serveur. Si je dis à ma compagne qu'il faudra qu'elle gère un Yunohost le jour où je ne serai plus là
            pour ne pas perdre son identité "sociale", ça va pas le faire.

      • [^] # Re: exporter un compte

        Posté par  . Évalué à 3. Dernière modification le 21 décembre 2018 à 10:23.

        J'aurais du mal à accepter de me retrouver un jour à suivre mort-aux-juifs@nazisdefrance.fr parce qu'un de mes contacts a pété un câble (même si ça ne dure pas plus que le premier billet…).

        Il est bizarre ton exemple… Il se passe quoi si ce même gars pète le même câble, mais sans changer d'identité ?

    • [^] # Re: exporter un compte

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      Les 2 méthodes possibles aujourd'hui:

      1. la plus simple, avoir son propre nom de domaine, et le changer quand on change de serveur. Ça suppose qu'on puisse récupérer ses archives sur le premier serveur pour réinstaller sur le second.
      2. une extension, « Moved » (https://xmpp.org/extensions/xep-0283.html) permet d'indiquer qu'on a déménagé

      le 2) peut poser des problèmes de sécurité (voir par exemple https://xmpp.org/extensions/xep-0283.html#security). Si on veut que ça soit confortable, il faudrait aussi transférer les archives (historique des messages par exemple).

      Bref, il y a des débuts de solutions, mais ça peut être dangereux de trop automatiser. Il y a certainement des choses à creuser avec les nouvelles méthodes de chiffrement de bout en bout (OMEMO et OX).

      • [^] # Re: exporter un compte

        Posté par  . Évalué à 1.

        Quid de l'identité, elle peut être de la forme moi@mondomaine sur un serveur XMPP que je ne gère pas ?

        • [^] # Re: exporter un compte

          Posté par  (site web personnel, Mastodon) . Évalué à 2.

          oui si l'admin le permet, c'est le cas sur jabberfr.org, comme mentionné par ailleurs. C'est une excellente pratique (autoriser un nom de domaine externe) qui devrait se généraliser (on ne le fait pas encore sur notre serveur de démo, mais j'aimerais mettre ça en place à terme).

          • [^] # Re: exporter un compte

            Posté par  . Évalué à 4.

            Ah, ça c'est bien.

            Je reformule pour être sûr d'avoir bien compris :
            - je créé un compte XMPP sur un serveur avec moi@mondomaine comme identifiant (sous réserve que ce soit permis)
            - quand je me connecte sur un pod avec cet identifiant, celui-ci utilise les DNS de mondomaine pour trouver le serveur XMPP qui héberge mon compte
            - si je change de serveur XMPP, je clôture mon compte sur ce serveur, puis je créé un compte avec le même identifiant sur un autre serveur (après avoir mis à jour les DNS de mondomaine)

  • # erreur à l'installation

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    Hello,

    Je souhaite tester movim à la lecture de cette news alléchante, mais l'installation se termine sur une erreur:

    $ sudo dpkg -i movim-desktop_0.13.90_amd64.deb 
    (Lecture de la base de données... 373708 fichiers et répertoires déjà installés.)
    Préparation du dépaquetage de movim-desktop_0.13.90_amd64.deb ...
    Dépaquetage de movim-desktop (0.13.90) sur (0.13.90) ...
    Paramétrage de movim-desktop (0.13.90) ...
    chmod: impossible d'accéder à '/opt/movim/movim-desktop': Aucun fichier ou dossier de ce type
    dpkg: erreur de traitement du paquet movim-desktop (--install) :
     installed movim-desktop package post-installation script subprocess returned error exit status 1
    Traitement des actions différées (« triggers ») pour desktop-file-utils (0.23+linuxmint4) ...
    Traitement des actions différées (« triggers ») pour gnome-menus (3.13.3-11ubuntu1.1) ...
    Traitement des actions différées (« triggers ») pour mime-support (3.60ubuntu1) ...
    Traitement des actions différées (« triggers ») pour hicolor-icon-theme (0.17-2) ...
    Des erreurs ont été rencontrées pendant l'exécution :
     movim-desktop
    

    Sous linux mint 19. C'est grave docteur?

  • # simple curiosité

    Posté par  (site web personnel) . Évalué à 4.

    C'est quoi, au juste, une « fonction excitante » ?

    • [^] # Re: simple curiosité

      Posté par  . Évalué à 2. Dernière modification le 26 décembre 2018 à 15:07.

      C'est quoi, au juste, une « fonction excitante » ?

      Une fonction codée en lingerie fine, contenant de nombreux strings ? 🤣

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.