Le système #Gemini, revenir à du simple et sûr pour distribuer l'information en ligne ? (Le Web est trop complexe et offre trop de possibilités de pistage.)

bortzmeyer.org/gemini.html

#sobriétéNumérique #lowCost #Gopher #viePrivée

(J'attends maintenant que Framasoft crée un FramaGemini...)

@bortzmeyer Simple et sûr quand tu vois qu’ils ont une incompréhension quasi-total de X.509 et de TLS, j’ai un gros doute quand même 🤣

@aeris J'aime ton sens de la nuance. « incompréhension quasi-total de X.509 et de TLS  » juste parce que des gens publient de l'auto-signé ?

@bortzmeyer @aeris on vient d'avoir une discussion sur le sujet et je maintient aussi que juger un protocole avec un an d'existence est risqué, ça peut mal tourner comme trés bien réussir, et si des gens trouvent ça mal sécurisé il s'en trouvera bien certains pour corriger cela, ou non …

@codeurimpulsif @bortzmeyer Sauf que là on parle de concept tellement bas niveau que tout gemini risque d’être à revoir. Parce qu’on ne rentre pas de la sécurité avec un chausse-pied une fois le truc déjà lancé…

@aeris @bortzmeyer ça tombe bien car il n'est pas encore "vu" tout court, les specifications peuvent encore bouger et avec l'engouement qu'est en train de succiter le projet ça pourrait bien partir dans le bon sens, on reviens dans un an pour en juger ? 😉

Follow

@codeurimpulsif @bortzmeyer On peut lui laisser sa chance, mais la probabilité que ça arrive à un truc correct à la fin avec un tel départ est plus proche de ε que d’autre chose.

@aeris @codeurimpulsif @bortzmeyer la dite probabilité serait probablement plus élevée si tu leur expliquais plutôt que juste râler sur masto 😉

@aeris @codeurimpulsif @bortzmeyer (je sais c'est plus difficile, ça m'arrive plus souvent qu'à mon tour)

@mmu_man @codeurimpulsif @bortzmeyer La snakeoil crypto, c’est un peu comme les fake news : au bout d’un moment tu en as un poil marre de passer 10h à débunker un truc qui a été écris en 10s, et de devoir ensuite passer 10 autres h à expliquer. Et finir par maintenir le projet tout seul parce que les autres ne souhaitent de toute façon pas faire de crypto.

@mmu_man @codeurimpulsif @bortzmeyer Sachant en plus que gemini ne réglera pas les problèmes qu’il dit pouvoir régler. HTTP/HTML, c’est ce qu’on en a fait qui fait que ça en est devenu de la merde. Gemini prendra le même chemin si ça perce un jour.

@mmu_man @codeurimpulsif @bortzmeyer Si on veut une « bonne » alternative au web moderne, ce n’est pas un nouveau protocole ou format qu’il faut écrire, mais « juste » prendre un Firefox, lui virer JS et restreindre un peu HTTP et on devrait avoir un truc vachement bien.

@aeris @mmu_man @codeurimpulsif La FAQ de Gemini explique très bien pourquoi cette voie n'a pas été choisie.

@lanodan @mmu_man @bortzmeyer @codeurimpulsif Leur explication me semble vaseuses. Distinguer un site d’un autre se fait simplement en changeant le scheme qui n’a jamais été obligatoirement lié à son protocole d’en dessous.

@lanodan @mmu_man @bortzmeyer @codeurimpulsif Et dire « on ne peut pas virer toutes les features moisies » ben si ça s’appelle virer JS de HTTP et/ou faire un client HTTP custom (basé sur le scheme gemeni://)

@lanodan @mmu_man @bortzmeyer @codeurimpulsif Et on voit de toute façon bien avec le web « moderne » que tu n’arriveras de toute façon jamais à bloquer le tracking, ils en arrivent aujourd’hui à des choses absolument imblocables dès lors que ton contenu… est un contenu… 😭

@aeris @lanodan @mmu_man @bortzmeyer rn tous cas on peut dire que ce protocole fait déjà couler beaucoup d'encre… heu de pixels pardon 😄

@codeurimpulsif @aeris @lanodan @mmu_man Absolument, et c'est pour ça que j'ai écrit un article, pour ne pas être le dernier à parler de Gemini sur mon blog.

@aeris @mmu_man @bortzmeyer @codeurimpulsif
HTTP faudrait virer au moins:
- ETags (tu le fais comment dans ton firefox de manière propre ça? 😛)
- Cookies

Faudrait virer le principe de fonctionnement de faire encore et toujours des requêtes à gogo (scroll infini, rafraichissement automatique, …) du Web. Gemini casse le truc des multi-requêtes par design.

@lanodan @mmu_man @bortzmeyer @codeurimpulsif Je ne dis pas que HTTP ne permet pas le tracking, je dis juste que c’est plus ou moins le cadet de nos soucis actuellement.

@lanodan @mmu_man @bortzmeyer @codeurimpulsif Et que cookie ou etag se réimplémentent server-side dès lors que tu as un seul entête à contenu déterminable server side. aka à mon avis n’importe quel protocole.

@lanodan @mmu_man @bortzmeyer @codeurimpulsif Si j’ai pas de cookie ou d’etag à dispo, je passe par les URL générées dynamiquement contenant tout ce que j’ai besoin.

@aeris @mmu_man @bortzmeyer @codeurimpulsif Le tracking par URL, bien que possible dans gemini c'est quelque chose d'hyper visible et on aurait un seul truc genre CleanLinks dans les navigateus, youpi.

Pendant ce temps sur le web:
- Tu veux de HTTPS partout? Prend cette collection gigantesque de regex.
- Tu veux pas de requêtes additionnelles? Euuh, bah en fait non. AdBlock/uMatrix c'est bien gentil mais c'est mettre de la chantilly sur de la merde.

@lanodan @mmu_man @bortzmeyer @codeurimpulsif Bien visible non. Il suffit de randomiser le nom des paramètres.
Et pour HTTPS partout ou µBlock/µMatrix, je ne vois pas en quoi gemini ne verrait pas surgir le problème si le truc se met à fonctionner.

@aeris @mmu_man @bortzmeyer @codeurimpulsif Y'a juste pas de requête additionnelles sur gemini, toute requête est explicite vu que c'est aller sur une page.

Et gemini à forcément HTTPS, donc ce soucis existe pas.

À la limite pour l'URL tu pourrais avoir un truc impossible à nettoyer parceque y'a rien à virer, mais tu encoderais quoi comme info dans ton URL?
Un graph de l'historique quoique un peux casse-pied est à des années lumière de genre le HTTP Referer fait (tient un truc que j'ai oublié de HTTP) ou de ce que l'on a avec le moindre tracker, qui sont potentiellement impossible à virer définitivement avec µMatrix/µBlock₀ et tu le sais (third-party, first-party sous-hôte, first-party sous-domaine, …).

@lanodan @mmu_man @bortzmeyer @codeurimpulsif Et ma position est que quelque soit le protocole, on arrivera à le détourner si le contenu est trop riche.

@lanodan @mmu_man @bortzmeyer @codeurimpulsif HTTP/HTML ne me semblent donc pas une mauvaise idée en soi, mais ce qu’on en a fait si. JS est une hérésie par contre à butter.
Et gemini ne fera pas mieux que HTTP à ce niveau, et a priori plutôt moins bien.

@lanodan @mmu_man @bortzmeyer @codeurimpulsif Je ne dis pas qu’on peut le sauver, je dis juste qu’il a suffisamment été battle-testé pour qu’on en tienne aussi compte.

@aeris @mmu_man @bortzmeyer @codeurimpulsif Sauf que gemini est en soit une conclusion de faire un subset globalement propre du web sans devoir refaire le modèle client-server (dat, zeronet et autre trucs on en parle que très peu en comparaison et ça n'a pas décolé en tant que protocole coté implémentations).

Le web est pas mal un protocole où on à pu faire tout et n'importe quoi sans aucune limite, on pourrait le prendre comme example d'un truc en mode "garbage in; garbage out", c'est battle-tested ouais mais pour des horreurs qui sont faciles à éviter dans un nouveau protocole.
Show newer
@aeris @mmu_man @bortzmeyer @codeurimpulsif Et tu es juste dans la grosse illusion que HTTP/HTML est quelque chose que l'on peut sauver (sans jeter tellement du truc que au final autant faire un nouveau protocole).
@aeris @bortzmeyer @codeurimpulsif @mmu_man Faudrait transformer Firefox en un netsurf/dillo et encore tu y serait sans doute pas. Et ce genre de navigateur tu as globalement pas accès au Web.

@aeris @mmu_man @codeurimpulsif Là, tu n'as pas lu la spec, et les moyens utilisés pour que le protocole n'évolue pas.

@aeris @mmu_man @codeurimpulsif Empêcher un format d'évoluer est difficile mais un protocole, on peut.

@bortzmeyer @mmu_man @codeurimpulsif HTTP n’a quasiment pas évolué et pourtant le web si. Ce n’est donc pas le protocole le problème mais le format.

@bortzmeyer @mmu_man @codeurimpulsif Je veux dire par là qu’on peut faire tout aussi pire en terme de vie privée & cie avec HTTP/1.0 qu’avec HTTP/2.0.

@bortzmeyer @mmu_man @codeurimpulsif C’est l’évolution de HTML/JS/CSS qui a permis les dérives du moment, HTTP/1.0-1.1/2.0 n’a fait qu’apporter des perfs, du support de SNI ou d’autres trucs de ce style. Ça ne permet ni plus ni moins de tracking, ou en tout cas à l’extrême marge.

@bortzmeyer @mmu_man @codeurimpulsif Même sans cookie et user-agent, tu pourrais faire quasiment les mêmes trucs horribles qu’aujourd’hui…

@bortzmeyer @mmu_man @codeurimpulsif Et les cookies sont juste des en-têtes dorénavant normalisées. À partir du moment où ton protocole autorise les entêtes custom, tu peux les réimplémenter.

@bortzmeyer @mmu_man @codeurimpulsif J’aurais même tendance à dire qu’à partir du moment où ton protocole supporte/permet l’authentification, tu peux réimplémenter les cookies.

@bortzmeyer @mmu_man @codeurimpulsif Ce qui n’est pas une garantie que les cookie ne sont pas possibles 😊

@bortzmeyer @mmu_man @codeurimpulsif On a vraiment vu avec le web que ce n’est absolument pas le protocole qui a été le principal facteur rendant possible la merde actuelle du web.

@bortzmeyer @mmu_man @codeurimpulsif AJAX a été le 1er exemple de détournement du protocole pour violer un principe fondamental du web (1 URL = 1 page)

@bortzmeyer @mmu_man @codeurimpulsif On a été capable de casser le half-duplex avec JS et les long-polling-transaction pour simuler du full-duplex.

@bortzmeyer @mmu_man @codeurimpulsif Et le c2s pour faire du c2c avec WebRTC. Le tout sans changer à une seule ligne du protocole d’en dessous. (Je ne serais même pas étonné que ça soit aussi possible avec HTTP/0.9, même si éventuellement plus difficile)

@bortzmeyer @mmu_man @codeurimpulsif Et on a aussi fait du tracking de merde avec le local storage ou les polices de caractères. Encore du détournement de contenu et non de protocole.

Show newer
Sign in to participate in the conversation
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!