Libervia/Salut à Toi 0.6.0 : nouvelle vague

Posté par  (site web personnel, Mastodon) . Édité par Lucas, Nÿco, Snark, souliane, ZeroHeure et Florent Zara. Modéré par Nÿco. Licence CC By‑SA.
Étiquettes :
42
2
déc.
2015
XMPP

Nous avons le plaisir d'annoncer la version 0.6.0 de Salut à Toi. Salut à Toi (ou Libervia) est un « couteau suisse de la communication », un ensemble d'outils permettant de facilement communiquer publiquement ou en privé, de partager des fichiers, d'écrire des blogs ou microblogs, etc.

Il fait partie de ce qu'on peut appeler la « nouvelle vague » XMPP, avec d'autres projets comme Movim, Jappix, ou Buddycloud, de par son utilisation de ce protocole de communication en sortant du traditionnel schéma de la messagerie instantanée centrée sur la liste de contacts.

Cette version sort plus d'un an après la précédente et marque de très grosses avancées (détaillées en seconde partie de dépêche). Les briques de base sont maintenant en place, et cette version est la dernière avant la version dite « grand public », qui consistera principalement en une stabilisation de l'existant.

Merci à Lucas, Snark et Souliane pour leurs relectures et corrections

Sommaire

Blogage et microblogage

Sous le capot

Le plus gros du travail de cette version a porté sur le système de blogs. Salut à Toi (SàT par la suite) permet de bloguer à travers XMPP (comme expliqué en partie ici), mais dispose d'une particularité ; il permet de n'autoriser l'accès aux messages qu'aux membres d'un groupe. Cette fonctionnalité, ainsi que d'autres nécessaires pour une utilisation avancée des blogs, nous a poussé à créer notre propre composant « PubSub », situé côté serveur, à publier deux extensions à XMPP (deux « XEPs ») : la XEP-0355: Namespace Delegation et la XEP-0356: Privileged Entity), et à développer deux greffons pour le serveur Prosody : (mod_privilege et mod_delegation).

Ce travail de longue haleine (qui est expliqué dans ce journal : De l'autre côté) a enfin abouti, et nous avons désormais une base solide pour les blogs.

Pour l'utilisateur

Les premiers effets visibles sont une compatibilité retrouvée avec les projets Movim et Jappix, et l'implémentation de fonctionnalités avancées comme les étiquettes.

Vue générale

SàT dispose d'un blog dynamique accessible via une des interfaces, mais aussi d'un blog statique, disponible sans avoir besoin de compte XMPP, comme n'importe quel blog public. Ce dernier dispose désormais d'un moteur de thèmes (ou « moteur de templates »), et d'un thème par défaut volontairement très dépouillé.

Vous pouvez voir ce blog statique à l'œuvre en cliquant sur https://libervia.org/blog/salut-a-toi (pour le panneau d'avertissement que vous risquez de voir, reportez vous à notre F.A.Q.).

Il est désormais possible de remonter progressivement dans les articles jusqu'au premier article publié (pour le blog statique uniquement pour le moment).

Page de blog statique avec un commentaire

L'objectif principal de cette version était d'avoir un moteur de blog décentralisé pour pouvoir l'utiliser pour nos blogs personnels. Cet objectif est donc atteint, et nous devrions bientôt utiliser SàT pour nos blogs (dans la semaine si tout va bien).

Partage de fichier

Transfert en P2P

SàT gère depuis plusieurs années la copie de fichiers, mais jusqu'ici utilisait la méthode appelée « Stream Initiation » (voir cet article qui explique la méthode et ses défauts).

La version 0.6.0 voit de nombreuses améliorations de ce côté, et en particulier l'implémentation de Jingle. Il s'agit de la méthode moderne pour établir des sessions Pair à Pair (P2P). Un article de la série « parlons XMPP » expliquera bientôt son fonctionnement.

Cette implémentation a été l'occasion de revoir le code de transfert de fichier en général, d'implémenter UPnP-IGD pour ouvrir automatiquement les ports, d'utiliser netifaces quand il est disponible pour détecter les adresses IP locales, d'implémenter la XEP-0279: Server IP Check pour connaître l'adresse utilisée avec le serveur, etc.

Le résultat est un transfert de fichiers beaucoup plus efficace, et qui a très peu de risques d'échouer. C'est aussi une grosse partie du travail pour une future implémentation de la visioconférence.

Téléversement

La récente extension « HTTP upload » permettant de déposer un fichier sur le serveur a également été implémentée. Elle n'a été intégrée que dans l'interface en ligne de commande (jp) pour le moment, mais un bouton apparaîtra rapidement sur les autres interfaces.

Ainsi, pour déposer un fichier, pas besoin de chercher un site, parcourir de nombreux menus, etc, il suffit d'utiliser jp:

% jp file upload -cP DSCN2552.JPG 
Progress: 100% |#####################|   7.28 MB/s Time: 0:00:00
https://upload.necton3.int:5281/upload/793307c8-a1dd-4743-b551-3f75372a72f7/DSCN2552.JPG

Ici le -c demande la connection du compte si ce n'est déjà fait, et le -P affiche la barre de progression.

Autres améliorations

Cette version a vu des améliorations trop nombreuses pour être toutes citées ici, mais nous pouvons en évoquer quelques unes :

  • « Message Archive Management » (XEP-0313: Message Archive Management) a été partiellement implémentée : cela a été fait pour les besoins du blog, mais la base est là pour intégrer l'utilisation dans la messagerie instantanée. Elle permettra bientôt d'avoir l'historique des messages géré côté serveur (et donc disponible sur tous les appareils utilisant un même compte).

  • Notre mini composant « salut » est un annuaire standard (utilisant la XEP-0055: Jabber Search). Il a été simplifié (il est possible de faire une recherche « simple » avec un seul champ, ou avancée. L'inscription se fait via un menu « ad-hoc »). Nous espérons dans le futur nous en servir pour pouvoir partager les adresses publiques entre différents logiciels XMPP sur différents serveurs, et l'intégrer de façon plus intuitive dans les différentes interfaces.

Annuaire « salut »

  • SàT gère des profils multiples depuis longtemps (un profil est lié à un compte XMPP), mais il fallait utiliser plusieurs frontaux (ou plusieurs fois le même) pour pouvoir en profiter jusqu'ici, chaque frontal ne gérant qu'un profil à la fois. La gestion multi-profils a été intégrée dans la base commune à de nombreux frontaux, et Primitivus, notre interface console, est le premier à en profiter.

  • Une fonctionnalité demandée depuis longtemps : il est maintenant possible de se connecter à Libervia en entrant un identifiant/mot de passe d'un compte XMPP déjà existant. Il suffit pour cela d'entrer votre jid complet dans le champ « login », un profil sera automatiquement associé à ce compte XMPP.
    Petit rappel de bon sens toutefois : ne donnez pas votre mot de passe sur n'importe quel serveur (y compris notre serveur de démo). Il est préférable d'utiliser cette fonctionnalité sur un serveur que vous administrez vous-même.

  • De nombreuses améliorations visuelles ont été apportées à Libervia : la possibilité de créer un nouvel onglet et de déplacer les widgets dedans, l'affichage du nombre de messages en attente dans la favicon et à côté du contact (dans Primitivus également), les zones de « dépose » sont maintenant visibles pendant un glisser/déposer.

Compteur de messages non lus dans la favicon
Édition de micro-blog
Gestionnaire d'onglets

  • Une image docker est disponible, avec un script facilitant la gestion, rendant l'installation de Libervia triviale sur machine GNU/Linux x86 64 bits et sur d'autres plateformes compatibles Docker. Attention toutefois, l'image actuelle n'est pas à jour (nous n'avons pas eu le temps, les dernières semaines ont été très chargées), elle le sera dans la semaine si tout va bien, et le script d'installation n'est pas encore signé, il le sera lui aussi dans la semaine. Aussi relisez bien le code avant de l'exécuter si vous voulez l'utiliser d'ici là. Les instructions sont disponibles (en anglais uniquement pour le moment) ici.

Et maintenant ?

Nous avons atteint une étape décisive, toutes les briques principales sont en place.

Jusqu'ici nous disions aux gens voulant tester « testez mais n'utilisez pas sérieusement, c'est trop tôt ». À partir de cette version, nous demandons aux gens qui le souhaitent de commencer à tester plus sérieusement. Ce n'est pas encore une version parfaitement stabilisée, mais plus de gens essaieront, et plus nous aurons de retours de bogues qui nous permettront de consolider le tout. Bien entendu, attendez-vous à quelques petits problèmes (considérez la version actuelle comme une qualité « alpha »).

Comme vous l'avez peut-être vu, nous avons une campagne de financement participatif en cours qui se termine à la fin de cette semaine. Nous avons franchi une étape et sommes à peu près à la moitié des 3000 € demandés, aussi nous sommes engagés à faire au moins un prototype d'une nouvelle interface de bureau.

Il nous reste donc très peu de temps pour pouvoir atteindre les 2 étapes restantes pour faire une interface pour Android, aussi si vous voulez soutenir le projet c'est vraiment le moment. Merci !

vidéo campagne Aziruka

(cliquez sur l'image pour voir la vidéo)

Notre prochaine étape sera la version Android (si la campagne réussit), puis la version grand public. Nous nous pencherons par la suite sur les projets annoncés précédemment (passerelles, version Tor, boîtier pré-installé, intégration dans des logiciels tiers) ou d'autres qui découlent assez logiquement de ce que nous avons déjà implémenté (travail collaboratif, partage d'albums photo ou de tout autre type de collection de fichiers, organisation d'évènements, etc). Nous espérons aussi pouvoir collaborer avec d'autres projets libres pour soit faire des passerelles, soit faciliter les interactions (comme par exemple permettre de se connecter sur DLFP avec un compte XMPP).

Nous avons besoin de nous financer, SàT est un très gros projet, qui demande de s'y consacrer à plein temps, et nous ne pourrons plus continuer à le développer à ce rythme sans ressource. Comme nos appels aux dons ne sont pas suffisants pour nous faire vivre, nous songeons désormais à nous orienter vers du support technique.

Aller plus loin

  • # Super. stop à la technique

    Posté par  . Évalué à 3.

    super, là ça devient intéressant !

    tu dis "Nous nous pencherons par la suite sur les projets annoncés précédemment (passerelles, version Tor, boîtier pré-installé, intégration dans des logiciels tiers) ou d'autres qui découlent assez logiquement de ce que nous avons déjà implémenté (travail collaboratif, partage d'albums photo ou de tout autre type de collection de fichiers, organisation d'évènements, etc)" J'espère que vous laisserez les trucs techniques de côté pour un temps et ferez des choses que les potentiels utilisateurs ne trouvent pas sur d'autres projets libres, comme le partage de photos. En attendant, travaillez-bien :)

    • [^] # Re: Super. stop à la technique

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

      Salut,

      l'ordre des implémentations suit des critères variables, mais un des principaux est notre usage personnel: jingle a été implémenté parce que nous en avions besoin, et le partage des fichiers est bien placé dans nos besoins.

      La mise en place d'un système de messagerie/blog fonctionnel et suffisamment souple pour s'appuyer dessus était jusqu'ici l'objectif principal, maintenant on va pouvoir utiliser ça pour tout un tas de choses bien plus visibles pour l'utilisateur final. Bon bien sûr faut qu'on stabilise bien le tout aussi :)

  • # Manque support WebRTC et extension ownCloud

    Posté par  . Évalué à 3.

    Franchement, si WebRTC était supporté un peu comme dans JSXC, ce serait top !

    Et aussi, vous devriez mettre en place une extension ownCloud. Je sais que cela a déjà été discuté sur LinuxFR. Je ne trouve pas cela suffisamment accessible de mettre en place un service de réseau social libre qui ne soit pas intégré à ownCloud. À mon avis, c'est en tout cas l'objectif inavoué d'ownCloud dans sa future version 10.0 (dans longtemps !) de pousser plus loin le concept d'ownCloud Federated ID, et de déployer un SNS (social networking service). J'aimerais que vous fassiez partie de cet avenir. Avec plus de 2 millions d'utilisateurs et 360 développeurs ayant contribué au code dans les 12 derniers mois, ownCloud suit une forte dynamique. Tandis qu'en mai 2015, le réseau social libre Diaspora avait 1.13 million d'utilisateurs dont seulement 21534 étaient actifs durant ce mois. Privilégez une suite logicielle productive comme ownCloud : je trouve cela plus intéressant d'allier ses forces avec eux que de faire cavalier seul avec un client web XMPP par ci, un client web XMPP par là…

    • [^] # Re: Manque support WebRTC et extension ownCloud

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

      On fera la visioconférence tôt ou tard, et avec WebRTC qui se mari bien avec XMPP (d'ailleurs pour la petite histoire, WebRTC est inspiré de Jingle). Maintenant qu'on a fait l'implémentation de Jingle, ça peut arriver plus vite que prévu.

      Pour Owncloud, on va aller sur le même terrain à un moment aussi. Maintenant qu'on a jingle, il est envisageable d'intégrer tout un tas de fonctionnalités liées au transfert de fichiers. Il y a longtemps que j'ai envie de faire un frontend FUSE pour pouvoir parcourir les fichiers d'un contact par exemple, et nous avons été contactés par quelqu'un récemment qui aimerait faire une chose similaire.

      Après il est aussi possible de faire une couche de compatibilité owncloud (j'ai installé une fois y'a longtemps mais je n'utilise pas, du coup il faudrait que je vois ce qu'il est possible de faire). Il ne doit pas exemple pas être bien diffile de pouvoir lier le file upload à owncloud.

      • [^] # Re: Manque support WebRTC et extension ownCloud

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

        Voilà précisément les fonctionnalités que j'espérais voir dans la « roadmap » ! (vidéo, uploads ownCloud)

        En tout cas, félicitations pour les fonctionnalités existantes ! Je vois déjà le jour où Libervia à lui seul remplacera sur mon serveur DotClear, Fiche et Jappix.

        Il ne manquerait plus qu'à enrichir le « roster » et le servir aussi en CardDAV, et ajouter des calendriers CalDAV, et ça remplace aussi ownCloud. Bon, là c'est pour rire :-D même si c'est vrai, au fond…

        • [^] # Re: Manque support WebRTC et extension ownCloud

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

          Voilà précisément les fonctionnalités que j'espérais voir dans la « roadmap » ! (vidéo, uploads ownCloud)

          C'est dans la roadmap mais attention c'est pas pour demain non plus. On doit déjà bien stabiliser l'existant, et si on ajoute trop de choses trop vite on ne va jamais rien avoir de stable.

          En tout cas, félicitations pour les fonctionnalités existantes ! Je vois déjà le jour où Libervia à lui seul remplacera sur mon serveur DotClear, Fiche et Jappix.

          Je ne connais pas Fiche, mais Dotclear on va bientôt faire un plugin d'import puisque mon blog l'utilise et qu'il va bientôt passer sur Libervia.

          Il ne manquerait plus qu'à enrichir le « roster » et le servir aussi en CardDAV, et ajouter des calendriers CalDAV, et ça remplace aussi ownCloud. Bon, là c'est pour rire :-D même si c'est vrai, au fond…

          Tout est possible, c'est une question de temps et de priorités. Et il faut pas oublier que pour le moment on n'arrive pas à se salarier.

  • # linuxfrisé

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

    on a beaucoup de créations de comptes d'un coup, et Libervia a un peu de mal à encaisser, du coup il est possible que vous n'arriviez pas à vous connecter (message « Did not receive a reply (the timeout expired or the connection is broken). »)

    Nous avons pas encore fait de phase d'optimisation pour le code, gageons que ça passera mieux dans les prochaines versions…

    Le blog statique est encore réactif par contre: https://libervia.org/blog/salut-a-toi

    • [^] # Re: linuxfrisé

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

      • [^] # Re: linuxfrisé

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

        Bon il semblerait que ça ne soit pas la surcharge le problème, mais un soucis de connexion aux comptes XMPP, qui semble à première vue liée à notre DNS. J'ai changé temporairement le DNS et ça a l'air d'aller mieux. Désolé pour ceux qui veulent tester sans pouvoir se connecter, c'est la loi de Murphy qui veut ça :(

        • [^] # Re: linuxfrisé

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

          OK le problème a été localisé, en fait ça n'est pas du tout lié à la montée en charge, mais c'est un bug qui était passé inaperçu pendant les tests, et qui est apparu très vite ici, et qui est assez méchant puisqu'il bloquait la connexion des tous les comptes.

          J'ai désactivé la connexion depuis les jid extérieurs temporairement, et contourné le problème à chaud pour la démo. On fera une correction propre pour la 0.6.1

          Désolé à ceux qui ont voulu tester, maintenant ça devrait aller beaucoup mieux.

          Raison de plus pour demander au maximum de gens de tester : plus de gens testeront, meilleure sera la stabilité.

          • [^] # Re: linuxfrisé

            Posté par  . Évalué à 2.

            Tant que Libervia ne se fait pas bronsoniser, tout va bien ! :-)

            Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

  • # Décalé

    Posté par  . Évalué à 4.

    Depuis des années que j'entends parler de Facebook/Twitter/Blogs/etc. Je n'ai aucun compte sur aucun de ces outils. Je n'utilise pas non plus SàT ni rien d'autre. Juste les rencontres physiques, le téléphone, l'email, et des forums comme ici.
    De temps en temps j'utilise IRC pour contacter des personnes bien précises dans un contexte bien précis. Mais pareil, je n'accroche pas avec cet outil.
    Ah et le Minitel il y a… longtemps. C'était une tuerie pour les rencontres youpla-baise. Mais en ce qui me concerne ça se limitait à ça.

    Je suis une personne qui apprécie beaucoup le contact « physique » plutôt que les contacts distants. Ce n'est pas un point qui se discute, car c'est un fait. Donc pas de débat là dessus.

    Je me pose de temps en temps la question de savoir ce que ces outils apportent, à quoi ils servent. Je ne trouve pas la réponse par moi-même.
    Lorsque je demande autour de moi, j'ai des réponses qui sont à des kilomètres de mon ressenti. À chaque fois je me dis que je n'ai rien perdu, j'ai surtout économisé du temps à faire autre chose à la place.

    J'imagine que Facebook peut être bien pour partager facilement quelques photos entre proches (amis, famille), ce qui n'est pas mon truc du tout. Ainsi que des textes pour préparer un événement (réunion de famille, organisation pour une association, voyage avec des potes), ça par contre je pense que c'est pratique.
    Il se trouve que je n'ai que faiblement besoin de ces exemples, donc je n'ai jamais eu à sauter le pas.
    Pour Skype, ok je pige. Je n'en ai actuellement pas besoin, mais je vois bien que c'est pratique dans pas mal de cas.

    J'ai l'impression que la majorité des gens utilise ces outils d'une manière qui ne m'intéresse pas. Du genre partager les photos de son assiette au resto, ou des exclamations à propos de la première dents du bébé (je caricature un peu). Sérieux je m'en cogne, y compris si c'est un ami qui m'en fait part. D'ailleurs je doute que nous soyons devenus amis vu nos différences de communication.

    On me dit parfois que Facebook et Twitter sont hyper importants pour communiquer au niveau professionnel. Je dois absolument avoir un compte Facebook. Ça m'apportera des clients, et autres promesses que je trouve débiles (à tort ou à raison. J'ai une entreprise de maintenance informatique pour les entreprises).

    Pour SàT je n'arrive pas à comprendre si c'est un outil du même genre. J'ai l'impression que non, mais je ne sais pas définir pourquoi.
    Comme je suis étranger à ces outils, je ne vois pas facilement les différences qui sautent aux yeux des autres.

    Question 1 : à quoi servent ces outils ?
    Question 2 : SàT est-il de la même famille ?

    • [^] # Re: Décalé

      Posté par  . Évalué à 5.

      Bonjour,

      je suis dans la même situation au niveau de l'utilisation de ces outils (aucun compte sur de réseaux sociaux et je ne compte pas en avoir) et j'ai eu la même discussion avec une personne récemment et je vais donc apporter les arguments qu'elle m'a fourni et qui m'ont convaincue de par la concrétisation de son argument principal dans un cadre particulier.

      La situation est donc une association (dont je tairai le nom, aucun intérêt pour l'argument) dont je fais partit depuis peu et qui malgré une visibilité assez imposante (comparée a d'autres bien entendu) et un site web très bien fait a une grosse communication sur facebook.
      Lors de notre échange je mettais donc en cause l'utilité et l'impact (voir le sérieux) de cette communication sur ce support, la personne en face m'affirmait que sans cela l'association aurait moins d'impact. A ma grande surprise j'en ai eu la preuve car à la réunion qui suivait le même jour il y avait 4 nouveaux militants et ceux ci avaient tous connus l'association et ses actions par le biais de liens partagés via facebook…

      Bien entendu le mode de fonctionnement et le contenu posté des personnes utilisant ces plateformes est aussi hors sujets, ma réponse a juste pour but de montrer que (malheureusement ou pas selon les avis car beaucoup de paramètres, y compris la confidentialité par exemple) ce mode de communication a un impact vraiment énorme sur une grosse partie de la population en terme de communication.

      Voila pour mon retour et ce que je peux répondre au précédent commentaire ^^

      PS: je n'ai toujours pas de compte sur aucun réseau social pour information

    • [^] # Re: Décalé

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

      Je suis une personne qui apprécie beaucoup le contact « physique » plutôt que les contacts distants.

      Mais nous aussi ! On l'a même écrit dans le contrat social:

      « Salut à Toi », XMPP, et les technologies utilisées facilitent les échanges électroniques, mais nous désirons mettre l'accent sur les rencontres réelles et humaines : nous favoriserons toujours le réel sur le virtuel.

      Si tu n'as pas besoin de ces outils, ne les utilise pas ! La création de besoin c'est pas notre truc ;)

      Question 1 : à quoi servent ces outils ?

      Exactement à ce que tu as dit : donner des nouvelles à ses proches éloignés (et un oxymore, un !), partager des photos, organiser des événements.

      Twitter a un usage différent : c'est de l'information instantanée. En cas d'événements, les informations arrivent souvent très vite dessus (mais elles ne sont pas filtrées, donc les désinformations aussi arrivent très vite).

      Les autres c'est variable. IRC que tu as cité, est un excellent moyen d'avoir de l'aide rapidement sur un sujet pointu (une bibliothèque logicielle par exemple).

      Question 2 : SàT est-il de la même famille ?

      Oui et non.

      Oui parce qu'il permet aussi de partager des photos, discuter avec ses proches éloignés, donner de l'information rapidement, et dans le futur il permettra sûrement d'organiser des événements.

      Non parce qu'il a plusieurs caractéristiques : la première c'est qu'il sert aussi de support à une réflexion sur ces outils justement. La deuxième c'est qu'il travaille sur des fonctionnalités très larges, il ne se concentre pas sur « parler de tout et de rien en public ou en privé ». Enfin c'est que le site Libervia en démo n'est pas une finalité, c'est une des choses qu'on peut faire. SàT est une brique, ou comme l'avait bien dit Drapher, un couteau suisse.

      Ce dernier point est important : tu peux t'en servir comme base pour construire quelque chose (par exemple on aimerait faire un site d'hospitalité basé dessus), ou l'inclure un peu partout (dans Amarok il pourrait servir à partager ses musiques, dans Dolphin à envoyer un fichier à n'importe qui, dans Blender à faire du travail collaboratif, etc). Parce qu'au final toutes ces choses se basent sur les mêmes fonctionnalités : envoyer des messages, commenter, partager des fichiers ou autres données.

  • # let's encrypt !

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

    Nous venons de passer à let's encrypt, plus d'avertissements dans le navigateur \o/

    let's encrypt

    (image uploadée via SàT :) )

    P.-S.: par contre les images externes qui peuvent apparaître dans les billets ne passent pas encore par un proxy, aussi votre navigateur peut vous indiquer « partiellement chiffré » selon les billets que vous voyez. Nous allons travailler dessus rapidement.

    • [^] # Re: let's encrypt !

      Posté par  . Évalué à 2.

      Un comble quand même :
      Firefox sous iOS ne reconnait pas le certificat pour le site démo de Libervia oO

      Au delà de ça, très beau boulot sur SaT qui devient vraiment très intéressant.

      • [^] # Re: let's encrypt !

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

        Tu as une version récente ? Sur un Firefox d'une vieille Ubuntu c'est la même chose, mais pas de soucis sur une Debian SID.

        • [^] # Re: let's encrypt !

          Posté par  . Évalué à 0.

          Comme dit plus haut, c'est la version iOS de Firefox. (Version 1.2)

          • [^] # Re: let's encrypt !

            Posté par  . Évalué à 0.

            Et rebelote au passage :
            Firefox 42 sous windows Seven ne reconnait pas non plus le certificat…

            • [^] # Re: let's encrypt !

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

              Ce n’est pas un problème de version de Firefox (ou de n’importe quel navigateur).

              Le problème est que le serveur libervia.org ne fournit au client que son certificat au lieu d’envoyer la chaîne de certification complète comme il devrait le faire. Du coup, le client (Firefox ici) n’a aucun moyen de remonter la chaîne jusqu’à une racine qu’il connaît.

              Si ça fonctionne pour certains et pas pour d’autres, c’est parce que Firefox garge en mémoire les certificats intermédiaires qu’il rencontre au fil du temps, et peut les utiliser pour reconstituer une chaîne complète lorsqu’un serveur ne fournit pas la sienne (j’ai expliqué ici pourquoi il ne fallait pas compter sur ce mécanisme).

              Ici, la configuration de libervia.org doit être mise à jour pour fournir au moins le certificat intermédiaire de Let’s Encrypt (celui dont le Subject doit être C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X1).

              Avec Apache < 2.4.8, ça se fait avec la directive SSLCertificateChainFile ; avec Apache >= 2.4.8, ça se fait en ajoutant le certificat intermédiaire directement à la suite du certificat terminal, dans le fichier pointé par SSLCertificateFile.

              (Mais je croyais que Let’s Encrypt devait automatiser ce genre de choses, justement pour éviter les erreurs de configuration de ce genre…)

              • [^] # Re: let's encrypt !

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

                Ah merci pour les détails. Je vais regarder ça.

                J'ai pourtant bien utilisé le certif avec la chaîne complète, comme d'ailleurs indiqué dans la doc de let's encrypt. Mais notre serveur est inclus à Libervia (il fait partie de Twisted qu'on utilise), il est possible qu'on ait mal géré un argument, je vais regarder ça pendant le week-end.

                • [^] # Re: let's encrypt !

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

                  il est possible qu'on ait mal géré un argument

                  Je ne suis pas familier de Twisted, mais ça ressemble plus à un problème de code qu’à une simple question d’arguments.

                  Le code qui charge le certificat est la ligne suivante (fichier src/server/server.py) :

                  cert = ssl.PrivateCertificate.loadPEM(keyAndCert.read())
                  

                  et je n’ai pas l’impression, à voir la documentation de Twisted, que cette fonction loadPEM prenne en compte les éventuels certificats intermédiaires contenu dans le fichier.

                  Une possibilité semble être de passer par un ContextFactory personnalisé :

                  from twisted.internet.ssl import DefaultOpenSSLContextFactory
                  from OpenSSL import SSL
                  
                  class CustomSSLContextFactory(DefaultOpenSSLContextFactory):
                  
                      def __init__(self, private_key_file, chain_file):
                          self._context = SSL.Context(SSL.TLSv1_METHOD)
                          self._context.use_certificate_chain_file(chain_file)
                          self._context.use_privatekey_file(private_key_file)
                  

                  et de l’utiliser à la place de cert.options() dans l’appel à listenSSL :

                  reactor.listenSSL(self.port_https, self.site, CustomSSLContextFactory("server_private_key.pem", "server_certificate_chain.pem"))
                  

                  Du moins, c’est le principe. Je n’ai pas d’installation fonctionnelle de SàT/Libervia pour tester, sinon j’aurais envoyé un patch en bonne et due forme.

                  • [^] # Re: let's encrypt !

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

                    Une possibilité semble être de passer par un ContextFactory personnalisé :

                    class CustomSSLContextFactory(DefaultOpenSSLContextFactory):

                    reactor.listenSSL(self.port_https, self.site, CustomSSLContextFactory("server_private_key.pem", "server_certificate_chain.pem"))

                    Ce Java de merde avec ses factories et ses noms de classe et appels de méthodes à rallonge illisibles aura pas fini de nous faire chier ؟

                  • [^] # Re: let's encrypt !

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

                    On va regarder ça en détails, merci. Je préfère nettement quand on nous dit que quelque chose ne va pas et qu'on nous indique la portion de code à revoir.

                    • [^] # Re: let's encrypt !

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

                      Je viens de pousser le correctif et mettre la démo à jour, ça devrait être OK désormais (sauf le contenu extérieur qui ne passe pas encore par un proxy, avec images par exemple).

                      Ce sera dispo pour la 0.6.1

    • [^] # Re: let's encrypt !

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

      Nous venons de passer à let's encrypt, plus d'avertissements dans le navigateur

      Eh oui, parce que c’est bien à ça et seulement à ça que sert une CA « reconnue » aujourd’hui : offrir autant de sécurité qu’un certificat auto-signé (c’est-à-dire, aucune sécurité contre un attaquant actif), mais avec la garantie qu’il n’y aura pas d’avertissements du navigateur.

      Et ce besoin de complaire aux navigateurs vient à bout de toutes les belles phrases du genre « CAcert est encore plus digne de confiance que n’importe quel autre organisme de certification » ou « nous préférons soutenir un service communautaire et transparent comme CAcert plutôt que de passer par des compagnies offrant des certificats gratuits »…

      • [^] # Re: let's encrypt !

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

        Et ben décidément c'est pas trolldi pour rien.

        C'est comique, quoi qu'on fasse, on se fait critiquer :

        On ne fait pas de financement participatif, on se fait critiquer, on fait un financement participatif avec une boîte qui nous semble correcte, on se fait critiquer, si on avait utilisé un truc plus connu, on se serait fait de toute façon critiquer quand même.

        On se fait critiquer pour un oui pour un non, et parfois très violemment, parfois du pur troll (qu'on connait).

        On utilise CACert, on se fait critiquer. Enfin c'est pas le seul commentaire du genre, c'est une critique récurrente, d'où notre F.A.Q. (qui mentionnait aussi que nous allions passer à Let's Encrypt dès que disponible, ce qui n'a pas traîné au passage).

        Les critiques sont parfois un peu plus constructives, c'est marrant d'ailleurs, la plus constructive sur le sujet était justement de toi. J'ai gardé ce commentaire sous le coude pour qu'on mette petit à petit ces sécurités en place, mais on manque de temps, voilà tout.

        Alors oui on a décidé de passer à let's encrypt, parce qu'au final l'avertissement n'apportait rien mais beaucoup d'ennuis, et que Let's Encrypt est un organisme qui nous semble correct également, et qui est quand même soutenu par l'EFF ou Mozilla entre autres.

        Nous comptons mettre en place petit à petit d'autres sécurités, mais je rappelle quand même qu'on n'est que 2, qu'on ne gagne pas notre vie avec, que notre campagne de financement où on ne demandait que 3000 € ne va pas réussir (on devrait valider 2 étapes tout de même), et qu'on consacre énormément de temps et d'énergie, avec énormément de critiques et de pression, et très peu de soutien (heureusement il y a des DLFP, Framasoft, Reflets, April, Parinux, etc).

        De temps en temps on a des messages qui font chaud au cœur quand même, je cache pas mon plaisir de citer un qu'on a reçu hier:

        Comme déjà exprimé par quelqu'un sur la page de la campagne: on a
        confiance en vous et en votre projet, parce qu'il est posé sur des bases
        saines.

        Je pense que let's encrypt fait toujours partie de ces bases saines.

        P.-S.: bon ici c'est fait, passons au troll sur reflets maintenant

        • [^] # Re: let's encrypt !

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

          C'est comique, quoi qu'on fasse, on se fait critiquer :

          Ce n’était pas tant une critique qu’un amer constat des dégâts occasionnés par la politique des navigateurs et des autorités de certification.

          Ici, cette politique conduit à rejetter une CA que tu considérais pourtant comme « plus digne de confiance que les autres », uniquement parce que l’autre (pas forcément plus fiable ou moins fiable) apporte le précieux sésame de la reconnaissance par les navigateurs.

          D’où ma remarque : c’est bien la reconnaissance par les navigateurs qui est le principal atout des autorités de certification, et non pas la pseudo-sécurité qu’elles fournissent.

          Pour rappel : utiliser CAcert ou Let’s Encrypt ne change rien au fait que Mallory peut obtenir auprès de n’importe quelle autre CA un certificat pour ton domaine, que les navigateurs accepteront sans broncher.

          • [^] # Re: let's encrypt !

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

            Pour rappel : utiliser CAcert ou Let’s Encrypt ne change rien au fait que Mallory peut obtenir auprès de n’importe quelle autre CA un certificat pour ton domaine, que les navigateurs accepteront sans broncher.

            Oui, c'est pour ça qu'il faut qu'on regarde les options additionnelles comme indiqué sur ton autre commentaires.

            Après il faut voir aussi que nous on s'occupe du code du logiciel qui utilise un certificat, les histoires de certification c'est pour notre serveur de démo.

            Pour le logiciel, il faut qu'on permette d'utiliser le plus facilement possible le maximum de protections, et on est ouverts à toute aide, remarque, rien qu'un rapport de bogue avec des choses à mettre en place nous aide !

            Let's Encrypt il faut reconnaître que la facilité c'est un truc qu'ils ont bien fait : en moins d'1/2 heure lecture de doc incluse j'ai pu changer les certificats.

            • [^] # Re: let's encrypt !

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

              Let's Encrypt il faut reconnaître que la facilité c'est un truc qu'ils ont bien fait : en moins d'1/2 heure lecture de doc incluse j'ai pu changer les certificats.

              Non. Lis le commentaire que je viens de poster un peu plus haut, la configuration de libervia.org est incorrecte.

        • [^] # Re: let's encrypt !

          Posté par  . Évalué à 2.

          Nous comptons mettre en place petit à petit d'autres sécurités, mais je rappelle quand même qu'on n'est que 2, qu'on ne gagne pas notre vie avec, que notre campagne de financement où on ne demandait que 3000 € ne va pas réussir (on devrait valider 2 étapes tout de même), et qu'on consacre énormément de temps et d'énergie, avec énormément de critiques et de pression, et très peu de soutien (heureusement il y a des DLFP, Framasoft, Reflets, April, Parinux, etc).

          Je soutiens SàT depuis le début, en tant que membre de l'association, bien que je ne m'en serve pas (voir les commentaires de Kerro ci-dessus qui expriment mieux que je ne saurais le faire mon opinion à ce propos), tout simplement parce que si j'avais besoin de ce genre de service dans l'avenir je voudrais qu'il provînt d'une entité telle que celle que vous avez créée. En bref, vous avez toute ma sympathie. Je suis en plus très admiratif de ce que vous avez su mettre en place en assez peu de temps.

          Quand vous avez lancé votre campagne de financement participatif, mon premier réflexe a été de vouloir m'y joindre. Et puis, Arizuka voulait des renseignements sur moi, d'accord, mon adresse mail, physique, toussa, puis pour payer, c'était exclusivement par carte bancaire… Je sais, ou en tout cas plein de monde est prêt à me l'expliquer, PayPal, c'est mal. Eh bien je préfère ce mal à semer mon numéro de carte bancaire partout dans l'espace commercial d'Internet, vu le sérieux avec lequel certains sites organisent leur sécurité. Je ne connais Arizuka ni d'Ève ni d'Adam, et connaître leurs antécédents prend du temps.

          Bon, avant de te répondre, j'ai participé au financement, j'ai déclamé alea jacta est et j'ai fourni mon numéro de carte, pas moyen de faire autrement, à Arizuka. J'ai pu constater que vous avez dépassé, de peu, au moins pour l'instant, votre objectif, et j'en suis sincèrement content pour vous.

          Je tenais à exprimer ces quelques nuances, bien que j'aie de vous une impression plus que favorable.

          • [^] # Re: let's encrypt !

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

            Salut et merci pour ton soutien :)

            Oui on a finalement pu valider les 2 dernières étapes, alors qu'on n'y croyait plus, les derniers jours ont été mouvementés ! C'est pas tout à fait fini d'ailleurs, il reste une 20aine d'heures.

            Arizuka j'ai expliqué notre choix dans ce commentaire, nous ne connaissions pas du tout non plus jusqu'à ce qu'on les rencontre à la fête de l'huma, où ils étaient voisins du village du libre.

            Nous avons eu un bon contact avec eu, et qui s'est vérifié pendant la campagne, avec un suivi judicieux et compréhensif, je ferai peut-être un retour d'expérience dans un journal si je trouve le temps.

            Après il y a des problèmes handicapant oui. Il était possible d'utiliser Paypal mais nous avons refusé, pour tout un tas de raisons, et cette possibilité était d'ailleurs un des critères de notre choix.
            Les informations bancaires sont gérées par un site de paiement spécialisé il me semble, je ne pense pas que ça soit Arizuka qui les gère.
            Le paiement par carte de crédit a bloqué beaucoup de monde, surtout en Autriche où les cartes ne passent pas toujours (beaucoup de cartes de débit là bas à ce que j'ai compris). Il était toutefois possible de nous contacter pour faire un virement à l'association qui aurait reporté ça sur la campagne (il était aussi possible de payer par chèque).

            Pour les informations demandées par Arizuka, notamment l'adresse, tu n'es pas la premier à nous faire la remarque, aussi nous avons posé la question. Il s'agit de contraintes légales (je cite « notre plateforme est soumise à la réglementation française, les comptes des porteurs et donateurs sont donc nominatifs avec adresse postale. »).

            Dans tous les cas, si des choses gênent ou paraissent inadéquates, il ne faut pas éviter à venir en parler. On essaie d'être clairs dans nos choix, et on fait des erreurs comme tout le monde, c'est en parlant qu'on améliore ça :)

  • # IP v6?

    Posté par  . Évalué à 1.

    Bonjour,

    Au niveau transfert de fichiers, cela gère l'IPv6 ?

    • [^] # Re: IP v6?

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

      côté XMPP oui, mais SàT ne le fait pas encore (ni pour le transfert de fichier, ni pour le flux XMPP lui même).

      Quand on a commencé Twisted ne gérait pas IPv6, mais depuis cela a été implenté.

      L'implémentation est prévue bien sûr, mais il faut qu'on consacre un peu de temps, parce que ça implique de revoir tous les endroits où une adresse IP peut-être utilisée.

      Ça fait partie des chantiers 2016, avec le passage en python 3.

  • # Commentaire supprimé

    Posté par  . Évalué à 0. Dernière modification le 07 décembre 2015 à 16:11.

    Ce commentaire a été supprimé par l’équipe de modération.

  • # Salut !

    Posté par  . Évalué à -5.

    Ca a l'air sympa comme outils.

    C'est envisageable de le faire fonctionner en serveur sur sa propre machine (desktop) ? Niveau charge ce n'est pas trop lourd ?

    Je voudrais héberger mon réseau social sur ma machine mais pas en permanance. J'ai testé un logiciel qui s'appel Newebe basé sur la même technologie (twisted). J'étais impressionné.

    Sinon je ne connais pas twisted mais j'ai vu que l'on pouvait faire beaucoup de chose avec, est ce compliqué d'interfacer d'autre logiciel sur ces protocoles ?

    • [^] # Re: Salut !

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

      C'est envisageable de le faire fonctionner en serveur sur sa propre machine (desktop) ? Niveau charge ce n'est pas trop lourd ?

      On n'a pas encore fait beaucoup d'optimisations (ça arrivera quand on sera vers la version grand public, ou en cas de gros soucis de perfs), ni vraiment de profiling, mais a priori c'est pas trop lourd non.

      Je voudrais héberger mon réseau social sur ma machine mais pas en permanance. J'ai testé un logiciel qui s'appel Newebe basé sur la même technologie (twisted). J'étais impressionné.

      Oui je connais Newebe, l'auteur (Gelnior, qui traîne par ici aussi) est un ami. C'est un bon projet, et en plus il est doué pour l'interface.

      Si tu veux utiliser sur bureau sans laisser en permanence, tu seras peut-être plus intéressé par l'interface de bureau et pour Android qu'on va développer suite au succès de la campagne, mais il te faudra tout de même héberger ton serveur XMPP (ou utiliser un public/associatif).

      Sinon je ne connais pas twisted mais j'ai vu que l'on pouvait faire beaucoup de chose avec, est ce compliqué d'interfacer d'autre logiciel sur ces protocoles ?

      Oui c'est un des buts du projet, et Twisted est très souple. Mais ça demande un peu de temps pour maîtriser.

Suivre le flux des commentaires

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