Sauvons le Web : décentralisons !
Le Web a été conçu pour servir l’humanité, pour permettre le partage de connaissances, pour l’amitié entre les peuples. Seulement la centralisation des données et des services par les géants de la Silicon Valley l’ont totalement dénaturé et font peser des menaces immenses sur notre société : surveillance de masse, censure, trucage des élections, arrestations des opposants, fichage étatique et publicitaire.
La situation est telle que les pères fondateurs du Web, parmi lesquels son créateur Tim Berners Lee, multiplient les appels pour le sauver.
La solution : le décentraliser à nouveau, rendre aux utilisateurs le contrôle sur leurs données, lutter contre les monopoles des GAFAM, reconstruire un web indépendant et non-commercial en s’appuyant sur le logiciel libre. Développeurs, journalistes, juristes, artistes et activistes s’organisent pour faire émerger le « Dweb », le web (à nouveau) décentralisé. Le Dweb, c’est un corpus de standards (généralement portés par le W3C) tels que ActivityPub, JSON-LD, RDF ou HTTP ainsi que d’outils dont Solid, Mastodon, PeerTube ou Mobilizon qui visent à remettre le Web au service du bien commun. En tant que développeurs et développeuses web, c’est de notre responsabilité de le construire et de le promouvoir. La bonne nouvelle c’est que l’écosystème PHP dispose déjà des outils nécessaires pour créer des applications web décentralisées basées sur ces standards. Au cours de cette conférence, nous découvrirons pourquoi le Dweb est un enjeu crucial pour l’avenir de nos sociétés, comment ça marche techniquement, et comment on l’implémente avec API Platform, Vulcain, Mercure et autres outils du monde PHP qui le supportent déjà !
[Musique] bonjour tout le monde bienvenue sur la conférence de Kevin Dunglas à propos de la décentralisation donc pour ceux qui ne connaissent pas encore Kevin est un habitué des événements AFUP les-tilleuls.coop basée à Lille kevin est le cofondateur de la société Nantes Paris et plus récemment à Lyon il est également membre de la core team Symfony et le créateur de nombreux outils ou composants que vous connaissez sûrement déjà comme Api Platform, Mercure, Panther, et plus récemment Vulcain Aujourd'hui, il va nous parler de décentralisation du web Mesdames et messieurs Kevin Dunglas Bonjour à tous, aujourd'hui un sujet un petit peu particulier effectivement on va pas parler uniquement que de technique, mais nous allons également parler de politique.
Le programme porte un petit constat.
Un constat de l'état du web en 2020 Et une présentation de ce pourquoi et comment il a été conçu.
Donc c'est une partie qui va être finalement la partie la plus politique, qui va être la plus longue aussi ensuite une partie sur une fois qu'on a fait le constat qu'est ce qu'on fait ? On va voir quelles solutions on pourrait apporter pour régler les problèmes que posent la centralisation du web.
Et puis finalement une partie beaucoup plus technique qui va moins intéresser les gens qui ne sont pas développeurs.
Qu'est-ce qu'on peut faire en tant que développeur, avec nos compétences et en particulier en tant que développeur PHP.
Alors paradoxalement le web est en très mauvais état et en très mauvaise posture c'est très paradoxal parce qu'avec le confinement on a pu voir que l'utilisation du web a explosée.
Il y a énormément d'utilisateurs du web alors qu'à sa conception.
C'était un petit outil réservé à quelques universités.
Malheureusement le web n'est plus du tout utilisé de la même manière aujourd'hui qu'il était à l'époque et les concepts qui ont été promus par cette technologie sont en train d'être progressivement abandonnés.
Cet abandon est quelque chose qui est volontaire et politique Maintenant on va représenter : qu'est-ce que le web ? Vous connaissez sûrement Jonathan, c'est le mainteneur de la bibliothèque Doctrine.
je suis resté dans l'écosystème PHP.
Il a posté il y a quelques jours, Un tweet assez révélateur de l'état du web en 2020 donc aujourd'hui une story Instagram d'un screenshot pris de Twitter avec un screenshot pris de Facebook avec un commentaire qui citait ce que quelqu'un disait sur Twitter.
Bref on peut voir que le web d'aujourd'hui, c'est beaucoup de plateformes, desquelles il est très difficile de sortir, et une interopérabilité extrêmement limitée.
Parce que là finalement on parle de Twitter, Instagram, Facebook, et interopérabilité, la manière la plus simple créer des citations, des références, de suivre des liens, de retrouver l'information d'origine, c'est de faire des screenshots.
C'est-à-dire que c'est vraiment quelque chose qui est complètement à l'inverse de ce pour quoi a été conçu le web, Le web d'origine, c'était pas vraiment l'idée de faire des screenshots de posts sur Facebook pour pouvoir les commenter, etc...
Il est décrit, le web, dans la thèse de Fielding qui décrit REST qui date de 2000, Fielding il faut savoir que c'est quelqu'un [...] qui a conçu une bonne partie des protocoles du web qu'on utilise aujourd'hui, y compris HTTP, et qui a écrit une bonne partie des outils qui propulsent le web, en particulier il a beaucoup travaillé sur le serveur Apache.
Il dit que le web est un système distribué, hypermédia, et qui fonctionne à l'échelle d'internet, pas uniquement à l'échelle [...] de Facebook, ou de Twitter ou d'Instagram.
Le web c'est quelque chose qui est conçu pour pouvoir connecter différents réseaux, à travers les bordures de différents systèmes d'information.
Le web c'est quelque chose qui est conçu pour l'interopérabilité, pour le partage de connaissances, c'est quelque chose qui est distribué et décentralisé.
Ca n'a vraiment plus grand chose à voir, le web de 2020, avec le web des débuts.
Le web tel qu'il est conçu, désolé pour la qualité et la pixellisation du schéma, ça peut se schématiser comme ça.
On a différents réseaux gérés par différentes organisations, par exemple l'Université de Lille, le MIT, des organes de presse, des petites entreprises, des associations...
Chacun a des machines, des réseaux.
Ces réseaux sont interconnectés, et il n'y a pas de point centralisé où l'on contrôle l'ensemble des données.
Si l'un des réseaux devient offline, fiabilité, censure, peu importe le reste du réseau reste accessible.
C'est très facile de connecter des nouveaux éléments au réseau.
C'est un réseau qui est assez difficile finalement à contrôler ce qui le rend extrêmement résilient.
C'est comme ça que ça a été conçu.
Malheureusement le web d'aujourd'hui ressemble plus à ça.
On a quelques gros acteurs qui sont des points extrêmement central dans le web.
Et tous les échanges, toutes les communications passent par ces quelques points centraux.
Il y a eu un mouvement de centralisation énorme du web, à la base chacun pouvait avoir son serveur, énormément de petits serveurs indépendants, d'auto-hébergement etc...
Chaque organisation avait ses propres infrastructures, ses propres serveurs, c'était vraiment l'ADN du web, et finalement on a quelques organisations qui petit à petit en grappillant sur ce côté décentralisé du web ont réussi à recentraliser le web pour que tout passe par leurs infrastructures et qu'il soit très difficile pour communiquer de passer en dehors de leurs outils.
Typiquement quand vous utilisez quelque chose comme Facebook, la seule manière de lire, commenter, partager les informations, ce n'est plus d'utiliser HTTP, c'est d'utiliser les protocoles propriétaires de Facebook, sur Facebook, ou via les applis mobiles de Facebook.
Le web d'aujourd'hui quelques chiffres ont montré l'étendue du problème que pose la centralisation.
Les GAFAM : Google, Amazon, Facebook, Apple et Microsoft, En France, d'après Médiamétrie, C'est 36% du temps que passent les Français sur Internet.
Twitter n'est pas inclus là-dedans.
Via leur smartphone ou via l’ordinateur de bureau, 36 % du temps passé sur internet sont sur les réseaux privés des GAFAM.
Ensuite, Amazon à lui tout seul c'est 50% du marché du Cloud Computing, c'est-à-dire l'infrastructure du web.
Les serveurs, les câbles réseau, les fibres optiques qui permettent cette interconnexion, il y a 50% de cette infrastructure qui est possédé, ou sous contrôle d'Amazon.
Parce que la plupart des sites sont hébergés sur AWS tout simplement.
Ils ont aussi 50% du e-commerce, 75% du live streaming avec Twitch.
Facebook, c'est le réseau social qui a 70% des parts de marché.
C'est-à-dire que si vous voulez être visible auprès des acteurs du web, vous ne pouvez pas faire autrement que communiquer sur Facebook, parce qu'ils ont le quasi-monopole.
En plus, ils possèdent aussi d'autres réseaux sociaux tels que Instagram, Whatsapp et Giphy.
On verra après que ça peut poser d'énormes problèmes y compris pour les démocraties parce que sa position centrale permet le contrôle de l'information.
Cette centralisation, ça touche tous les domaines, y compris ceux qui sont plus surprenants.
Par exemple, les logiciels libres sont majoritairement gérés sur une forge qui s'appelle GitHub qui appartient à Microsoft.
Et c'est un point central dont dépend entièrement tout le système du logiciel libre.
Si un jour GitHub s'arrête pour X raisons, ce serait très difficile de continuer la maintenance de logiciels libres à cause de cette centralisation-là.
Ce qui n'est pas le cas au début du logiciel libre ou du web.
Encore pire, le web mobile, le quasi-total du web mobile est contrôlé par deux sociétés, Google avec Android 70% de parts de marché, et Apple avec les iPhone, 30%.
Le web, c'était un projet politique.
La re-centralisation du web par ces quelques acteurs ...
Tim Berners-Lee, le créateur du web, très connu dans le milieu parce que PHP c'est un langage fait pour la programmation web, qui a le web dans son ADN, et qui propulse la plupart du web encore à l'heure actuelle, il explique que quand il a créé le web, il a tout de suite réalisé que ça devait être une technologie universelle, interopérable, qui fonctionne donc sur n'importe quel machine, mais qui porte aussi en soi un projet politique, il faut que ce soit un outil qui soit conçu pour être utilisable dans toutes les langues, de n'importe quel genre et de toutes les cultures.
Il y a quand même vraiment un projet Donc on est loin de l'amérique de Donald Trump de partage de connaissances, d'amitié, qui est fondamental dans le web.
Beaucoup plus intéressant encore, un texte de Lessig qui s'appelle Code Is Law, l'ensemble du texte est extrêmement intéressant.
Il explique que toutes les technologies, et le web en particulier, internet et le web, sont extrêmement politiques.
Donc là dans cette citation, il nous explique que en fait TCP/IP portent des caractéristiques politiques et codés par la suite.
dans la manière dont ils ont été architecturés Cette caractéristique, celle qui est décrite ici mais il y en a d'autres, c'est entre autres la manière dont communiquent les protocoles fait que le réseau, et les intermédiaires du réseau vont avoir beaucoup de mal, c'est conçu pour ça, pour savoir quelles données transitent et surtout qui en est l'expéditeur, et qui en est la personne physique ou l'organisation qui va les recevoir.
Le code est neutre à propos des données, et ignore tout à propos des utilisateurs.
Cette caractéristique intrinsèque qui a été codée volontairement dans TCP/IP, ça a une conséquence tellement forte que contrôler ce qui peut y être dit, c'est extrêmement compliqué.
On peut toujours passer une loi, comme l'a fait le gouvernement Français, ou comme propose de faire le sénat très récemment qui dit : on va bloquer les sites pornographiques aux gens de moins de 18 ans, c'est extrêmement difficile de par la conception même, de savoir qui a 18 ans ou pas.
Du coup, c'est difficile de mettre en place les blocages, On peut passer une loi mais c'est inapplicable techniquement.
Et ça, ça prouve que le code et l'architecture du web est quelque chose de politique.
C'est important de se mettre à la place de ceux qui ont créé le web [...] Le web est quelque chose qui permet aux groupes marginalisés de porter leur voix et de dire ce qu'ils ont à dire.
C'est extrêmement important parce qu'avant le web, la seule manière d'avoir de l'audience, c'était de passer par les médias classiques, de passer par les agences de presse, les télés, qui sont contrôlés par [...] les états.
Du coup si vous êtes un groupe marginalisé, vous n'avez pas accès à ces médias.
Le web vous permet, en quelques clics, de créer votre propre site web, il y aura de l'audience.
C'est moins le cas aujourd'hui, c'était le cas au début.
Du coup il explique que c'est très important que le web soit accessible aux femmes, aux pauvres, et aux personnes des autres groupes marginalisés.
Ca porte vraiment un projet politique.
Malheureusement, on va voir que ce phénomène de centralisation du web, il est nocif.
Il est même dangereux pour nos communautés, pour les marginalisés, et même pour la démocratie de manière générale.
Quelques exemples.
Donc Tim Berners-Lee, donne une interview pour l'anniversaire du web, c'était les 30 ans du web, il considère maintenant que le web est dysfonctionnel, propulsé par des motivations perverses.
En particulier par les sociétés dont le business model est basé sur la cupidité.
Ce qui est le cas beaucoup des GAFAM, Apple est à peu près la seule exception, mais pour la plupart, c'est le cas.
Il dit aussi que le web ce n'est plus, maintenant, pour le bien commun, alors que c'était conçu pour ça.
La centralisation vient avec deux menaces principales.
Il y en a d'autres, mais c'est sur celles-ci que l'on va se concentrer en particulier.
La première, c'est la surveillance de masse, des citoyens partout dans le monde.
La deuxième, c'est la censure.
Il y a deux types d'acteurs qui peuvent être malveillants, et qui des fois peuvent être bienveillants, c'est aussi ce qui est un peu compliqué, on ne rentrera pas trop dans les détails là-dessus.
Si vous avez suivi l'affaire "Stop Covid", vous avez pu voir que les multinationales de l'informatique, qui ont généralement des effets dévastateurs sur les utilisateurs du web, là, ont pu les protéger face aux volontés de surveillance de certains gouvernements.
Bref deux acteurs principaux sont problématiques, d'abord les gouvernements, ensuite les multinationales de la technologie.
Ça ne devrait pas surprendre grand monde, quand on regarde par exemple l'écologie : qui est en train de détruire la planète ? D'abord les multinationales, protégées par les gouvernements.
mais là on s'écarte.
C'est toujours un petit peu le même problème, Premier point, la centralisation permet la surveillance de masse.
Ce qui était beaucoup plus difficile quand le web était encore décentralisé.
Rappel : le web d'aujourd'hui ressemble à peu près à ça.
On a quelques centres névralgiques [par lesquels] passent toutes les communications.
Quand vous discutez avec votre ami tout passe par les serveurs de Facebook.
à l'autre bout du monde via Facebook Messenger, Ce n'est pas une connexion directe de vous à votre ami.
Ce serait possible, et la manière dont ça devrait fonctionner si on suivait les principes de base du web.
Ces noeuds principaux, le problème c'est qu'ils ne sont que quelques uns, quelques GAFAM, ils sont très faciles à contrôler.
Je ne vous apprends rien, ce sont des révélations qui sont assez anciennes mais qui méritent d'être rappelées, ça a été très très facile pour la NSA de mettre le programme PRISM.
Il a suffit d'avoir l'accord de ces quelques multinationales de l'informatique, qui sont pour la plupart américaines et qu'on peut compter sur les doigts d'une main, ces multinationales ont donné l'accès complet aux données, aux communications, aux carnet d'adresses, c'était vraiment open bar à la NSA.
La NSA a surveillé les citoyens du monde entier sans raison apparente, sans même qu'il y ait besoin de soupçons ou quoi que ce soit, ça allait jusqu'à regarder les webcam des jolies filles, que les agents avaient croisé dans un bar, c'est de ça dont on parle, extrêmement facilement grâce à la centralisation du web.
En gros ils ont plus ou moins forcé la main ou eu l'accord explicite de ces compagnies pour pouvoir fouiller et puis pour pouvoir se brancher directement sur le noeud par lequel passent les communications et ils ont espionné tout le monde.
Rien ne dit que ça ne continue pas.
Il y a même plutôt plusieurs signes qui montrent que cette surveillance, même si elle est rendue plus difficile par le chiffrement de beaucoup de systèmes maintenant, reste d'actualité.
Edward Snowden, la personne qui a révélé cette affaire de la NSA, a un tweet qui explique bien ce qu'il en est : les compagnies qui font de l'argent en collectant des données privées étaient avant appelées "compagnies de surveillance".
Leur renommage en "médias sociaux" est le foutage de gueule, on peut dire, le plus important, depuis le renommage aux USA du Ministère de la guerre en Ministère de la Défense.
Venons-en à la censure.
En France, mais c'est le cas dans beaucoup d'autres pays, il y a plus de lois qui sont passées pour essayer de réguler en particulier les réseaux sociaux, le web, et Internet en général.
Il y en a une qui est passée il y a quelques semaines, qui est extrêmement dangereuse, qui s'appelle la loi Avia.
Ça part plutôt d'une bonne intention, l'objectif affiché de la loi Avia c'est d'empêcher les discriminations de race, le harcèlement moral et sexuel sur les réseaux sociaux.
Sauf que très vite ça a dérivé, et le contenu de la loi telle qu'elle a été passée, c'est que les réseaux sociaux, les plateformes, doivent censurer tout contenu manifestement illicite, c'est écrit comme ça entre guillements dans la loi, en moins de 24h.
Pour certains cas particuliers (terrorisme, pédo-pornographie), on pense à Daesh mais attention, pendant la seconde guerre mondiale les résistants étaient appelés "terroristes" par les nazis, du coup attention aussi à ces termes-là, on verra un autre exemple après.
La propagande de Daesh, la propagande terroriste et la pédo-pornographie doivent être, eux, censurés en moins d'une heure.
C'est pareil c'est plutôt louable à première vue, sauf que le faire en moins d'une heure ça veut dire que ça doit forcément être absolument et complètement automatisé.
Avec un volume comme Facebook, ce n'est pas possible de vérifier quelque chose en moins d'une heure, même si on a énormément d'employés.
Cette loi dit que tout ce contenu manifestement illicite, ce qui veut tout dire, doit être supprimé sous peine de 200 000 € d'amende par publication, ce qui signifie que, forcément, Facebook n'en a rien à foutre de votre publication.
S'ils pensent, ou leur algorithme pense, que c'est manifestement illicite ils vont juste le supprimer.
Là vous voyez le problème qui se créée en terme de liberté d'expression, c'est à dire qu'on a des robots, ou des gens, des sociétés qui ne vont prendre aucun risque pour la liberté d'expression, elles vont plutôt, dès que c'est peut-être illicite, supprimer le contenu sans chercher plus pour éviter d'avoir une amende.
Tout ce processus, il n'y a pas de juge qui est mis en jeu, c'est vraiment une justice privée, c'est vraiment les modérateurs des réseaux sociaux qui doivent faire le boulot, alors il y a déjà des lois qui permettent de régler ce problème là en passant par un tribunal, un juge, qui va examiner le dossier etc... et il n'y a pas d'appel possible.
C'est tellement agressif envers la liberté d'expression que cette loi, elle a été quasiment intégralement retoquée par le conseil d'Etat, elle a été jugée non constitutionnelle.
Mais il n'empêche que l'un des problèmes de la centralisation du web, cette loi elle était possible à cause du web centralisé. Dans le cadre d'un web décentralisé, tout le monde a la possibilité de contrôler ses moyens de publications c'était beaucoup plus difficile.
Vous dites moi je sais que ce que j'ai publié sur mon infrastructure ce n'est pas illicite.
Donc je vais porter plainte, et le juge jugera que c'est pas illicite.
Alors que [Facebook] va juste pas chercher, et va censurer le post qui pose débat.
Alors quelques exemples, parce que ça peut rester très théorique, on peut se dire c'est pas comme ça que vont fonctionner Twitter et Facebook.
Pendant le confinement, un journaliste indépendant, donc là on parle de liberté de la presse, de Lille, a filmé pendant le confinement une violence policière.
Lui dit que c'est une violence policière sur la grand place de Lille donc en gros, personne âgée, non blanche, s'est fait contrôler et puis malmenée par la police sur la grande place.
Là c'est ce que montre la vidéo.
Réponse officielle d'un compte certifié de la Police Nationale du Nord sur Facebook : fake news, diffamation.
Ce contenu est manifestement illicite.
Si on applique la loi Avia à la lettre c'est le travail d'information fait par le journaliste est manifestement illicite, c'est ce que dit la Police de l'état, compte certifié.
Et c'est retiré par la plateforme.
Là vous voyez le problème en terme de liberté de la presse.
Le tweet a été supprimé.
j'ai passé réussi à déterminer si c'était Facebook, si c'était Twitter ou le journaliste qui l'avait supprimé, mais il a été supprimé.
Dans le context de Black Lives Matter, George Floyd etc... vous voyez bien le problème.
Une vidéo comme celle de George Floyd, qui créée un mouvement comme Black Lives Matter aux Etats-Unis, parce qu'elle est diffusée massivement sur les réseaux sociaux.
Si les lois empêchent cette diffusion, ça pose un énorme problème en termes de démocratie.
Ça pose un problème en tant que marginalisé pour pouvoir s'exprimer, pouvoir montrer ce qu'ils subissent.
En France il y a une autre loi qui est discutée, qui n'a pas encore été passée qui s'appelle "loi Ciotti", qui rend illégale la publication de vidéos et photos de policiers même en cas de violence policière.
Donc une vidéo comme celle de la mort de George Floyd ne pourrait plus être diffusée légalement sur les réseaux sociaux.
Et ce serait aux réseaux sociaux de faire en sorte qu'elle ne soit pas publiée.
Autre exemple, que vous voyez bien de quoi on parle.
Cette personne (...) c'est un syndicaliste policier.
Cette semaine, il a publié un tweet qui dénonce le racisme de ses collègues policiers. Ce tweet vous pouvez encore le consulter sur Facebook, en tout cas vous pouvez voir que Facebook et Twitter affichent un bandeau comme ça ; "ce tweet a été retiré parce qu'il n'est pas légal en fonction des lois locales." Si vous utilisez Tor Browser, c'est toujours accessible.
On peut voir la vidéo d'une non-blanche qui s'est faite molester par la police, ses collègues l'accusent de violence policière.
Et ça, encore à l'heure actuelle, ce n'est plus disponible sur les réseaux sociaux, en France.
Donc vous voyez le problème en termes de liberté d'expression, liberté de la presse...
Et ce n'est possible que parce que le web est centralisé.
Si ce policier ou si son institution, son syndicat avaient ses propres serveurs, son propre réseau social, si l'état juge cela illégal, ça pourrait se régler devant un tribunal.
Là ce n'est pas le cas, on a une justice expéditive, on a une atteinte directe à la liberté d'expression.
J'ai pris quelques cas récents dans l'actualité, français, il faut savoir que c'est beaucoup plus large, et beaucoup plus généralisé que ça, ce ne sont pas des cas isolés.
Par exemple vous voyez certainement les Kurdes, avec leurs kalachnikovs qu'on voit tout le temps à la télé, les défenseurs du bien qui attaquent Daesh en Syrie etc...
Et bien il faut savoir que Facebook, toutes les pages de l'organisation partout dans le monde sur demande de la Turquie qui a des accointances avec Daesh et qui les considèrent comme organisation terroriste.
Du coup les kurdes qui combattent Daesh pour nous au Kurdistan ne peuvent pas s'exprimer sur les réseaux sociaux principaux entre autres à cause de la centralisation du web, et du fait Facebook cède à la Turquie.
Github, qui appartient à Microsoft, suite aux conflits diplomatiques qui ont opposé l'iran et Donald Trump a décidé de bloquer tous les utilisateurs iraniens de GitHub, qu'ils soient proches du régime ou opposants au régime.
La simple nationalité suffit.
Exemple de conséquences très concrètes : Node, qui est un framework vraiment populaire en javascript, a l'un de ses mainteneurs qui est Iranien.
Il ne peut plus accéder au dépôt de Node JS, ne peut plus trier les issues, ne peut plus commiter de code, il est complètement bloqué juste à cause de sa nationalité.
Autre exemple toujours plus dans notre milieu dans le logiciel libre les opposants catalans qui souhaitent l'indépendance ont fait une application qui permet de s'organiser, d'organiser des manifestations.
C'est une application qui est libre et open source, et qui est publiée sur GitHub.
Mais GitHub, sur demande du gouvernement espagnol, a décidé de bloquer l'accès à ce code source depuis l'Espagne.
On bloque pas l'accès à une application en tant que telle, mais à son secret de fabrication, à sa recette de fabrication, son code source.
Donc à la connaissance qui pourrait même être utilisée pour des rassemblements anti-indépendants finalement.
Vous voyez un peu le problème que ça pose.
Si chacune de ces organisations avait ses propres serveurs inter-connectés entre eux comme l'était le web à la base, ça ne serait pas possible.
Ce qui permet cette censure, ces atteintes à la liberté de la presse et à la liberté d'expression, c'est vraiment la sortie complète du web et le contrôle qui est donné à quelques multinationales des nouvelles technologies, qui en plus peuvent être très sensibles aux pressions par les différents gouvernements.
Si ces blocages, ces demandes de censure peuvent être mises en place, toutes celles qu'on a vu là, c'est uniquement parce que le web n'est plus décentralisé.
Sans quoi ce serait beaucoup plus compliqué, il faudrait beaucoup plus de perquisitions, il faudrait mettre la pression sur plus de gens.
Si au lieu de 5 acteurs il y en avait 100, ou 1000, si chaque organisation avait ses propres infrastructures, et bien l'état devrait directement voir avec cette organisation.
Si vous contrôliez vos propres machines, vos données, pour y accéder, modulo un chiffrement correct, il faudrait forcément que l'état ait un moyen de voir directement avec vous il pourrait pas juste demander comme l'a fait la NSA à Apple ou à Facebook pour accéder à vos données.
Alors qu'est-ce qu'on peut faire ? On pourrait faire trois choses.
On pourrait s'organiser, ensuite en tant que développeur on peut refuser de participer à ça, et puis finalement on a quand même des compétences on a fait un web décentralisé il y a plus de 20 ans maintenant, ce serait tout à fait possible de re-décentraliser le web.
C'est ce qu'on va essayer de voir sur ce dernier quart d'heure.
D'abord, les choses simples, qui nécessitent pas trop de compétences.
S'organiser.
Il faut savoir que ces états et ces quelques multinationales sont pas nombreuses et elles sont possédés par leurs actionnaires qui sont très peu nombreux.
Il y a un rapport Oxfam sorti récemment on peut voir qu'il y a quelques milliers de personnes dans le monde qui ont plus de pouvoir et plus de richesses que tout le reste du monde, d'où les images avec les petits poissons.
Effectivement lutter seul face à un gouvernement Français ça va être un combat inégal, il y a peu de chances de gagner, par contre de manière organisée et structurée, le rapport de force est censé être quand même en notre faveur.
On est beaucoup plus nombreux.
Du coup il y a des organisations qui se créeent et qui visent à maintenir ces libertés sur le web, qui visent à re-décentraliser le web.
J'en ai cité quelques-unes en bas : Internet Freedom Foundation, qui est quelque chose d'américain qui travaillent sur le monde entier, qui fait un travail extrêmement important de veille, de lobbying etc..
La Tech Workers Coalition qui est un syndicat de travailleurs du numérique et en particuliers de développeurs, qui vise aussi à s'organiser, à mettre la technologie au service du bien commun plutôt qu'au service de quelques intérêts privés et juste à faire de l'argent.
En France, la Quadrature du Net qui lutte pour les libertés numériques et qui est entre autres l'une des organisations auxquelles on doit le retoquage de la loi Avia, plus récent le collectif onestla.tech, un peu la même chose que la Tech Workers Coalition, qui vise à regrouper les acteurs du numérique Français qui veulent la tech au service du bien commun et à les faire se structurer, s'organiser.
Ensuite vous pouvez refuser.
On a la chance, en tant que développeur, d'être dans une branche où c'est le quasi plein emploi.
On peut trouver du travail facilement et même les gens qui ont les idées politiques les plus tranchées arrivent à trouver du travail parce qu'il y a une demande qui est énorme.
C'est un privilège extrêmement important.
Pour faire cette centralisation, pour faire ces outils de censure, ces outils de surveillance de masse, les intelligences artificielles racistes etc...
il y a des gens qui les écrivent, il y a besoin de développeurs.
Parfois, c'est juste leur patron qui leur font signer un contrat et qui leur demande de le faire.
Vous êtes en position de force, vous pouvez refuser de faire ça.
Du coup c'est important de prendre ses responsabilités et de refuser.
Il y a aussi des sociétés qui vont vous l'imposer.
Il y a d'autres modes de fonctionnement pour les sociétés qui sont possibles, par exemple le fonctionnement sous forme de coopérative où toutes les décisions sont prises collectivement, du coup c'est tout à fait possible collectivement plutôt que de se voir imposer par un patron ou des actionnaires de travailler sur des outils qui sont néfastes, de refuser de travailler là-dessus et de choisir ses clients.
C'est le cas de beaucoup de sociétés coopératives en France mais aussi ailleurs, comme Les Tilleuls chez qui je travaille.
Dernière chose qu'on peut faire, c'est se retrousser les manches et puis coder.
Il n'y a pas que jeter des pavés sur les flics, ça peut servir à changer le monde, mais vous pouvez aussi le faire comme ça a été fait au moment de la création du web, en mettant vos compétences au service du bien commun.
On va essayer de voir.
Toujours Code is Law de Lessig, "Le code, c'est ce qui implémente les régulations.
C'est la régulation.
Le code a des valeurs, ou pas.
Il permet ou non des libertés.
Il permet de protéger la vie privée, ou de pratiquer la surveillance.
Ça il faut que ce soit codé, il faut que les outils permettent de le faire.
Donc vraiment vous avez une responsabilité et un pouvoir extrêmement [fort] en tant que personne qui écrit ce code.
Le code des GAFAM est fait pour la surveillance.
il est fait pour la centralisation.
Mais rien ne nous empêche, nous, de nous organiser pour écrire du code qui permet la décentralisation, et qui rendrait cette surveillance, cette censure, beaucoup plus complexe.
Ce qu'on va essayer de faire là, dans les dix minutes qui nous restent, c'est de passer à un web centralisé comme ça à un web qui est plus décentralisé beaucoup plus difficile à contrôler, qui permet aux groupes marginalisés d'avoir à nouveau la possibilité de s'exprimer.
Pour ça on va utiliser un outil qui n'est pas si récent que ça, qui s'appelle le web, et un langage de programmation que vous avez l'habitude d'utiliser et que je suppose vous aimez, qui contient toutes les briques pour pouvoir faire ça assez facilement, qui s'appelle PHP.
La stack web, telle qu'elle est peu connue, telle qu'elle est définie dans les standards du web, entre autres du w3c, dirigée par Tim Berners-Lee.
Vous voyez qu'il y a quand même quelque chose qui fait sens là-dedans.
D'abord on a un mécanisme d'identifiant.
Les URI, URL URI c'est la même chose, c'est un mécanisme d'identifiants global qui permet d'identifier des ressources, éventuellement dire comment y accéder à travers les bordures de multiples organisations.
Vous pouvez avoir un document par exemple une thèse publiée sur le site de l'université qui a une URL comme identifiant.
Un autre document proposé par une autre organisation, une autre thèse publiée par le MIT sur ses propres serveurs aura une URL mit.com.
C'est vraiment un mécanisme d'identifiants, qui permet d'identifier tout et n'importe quoi y compris des livres, des codes-barres...
C'est la base du web.
Au-dessus de ça on a des choses on a le protocole HTTP qui est connu, je vais pas perdre de temps à parler de ça, on a un modèle de données qui s'appelle RDF qui permet d'utiliser le web comme un énorme système de bases de données, qui va permettre de croiser des informations qui proviennent de différentes organisations, donc voyez RDF comme un format de données que l'on peut requêter comme SQL comme une grosse base de données sauf que juste votre base de données c'est un croisement, une interconnexion de toutes les bases de données du monde connectées sur internet.
Ensuite une fois qu'on a une base de données il faut un format de données commun.
Personne d'un côté en Français, Person en anglais, People au pluriel il faut un langage commun.
Pour ça il y a des vocabulaires qui permettent de créer ces langages communs et l'interopérabilité.
Il y a schema.org qui est très populaire pour le référencement, il y en a d'autres qui sont disponibles sur le site du w3c.
Au final on a des solutions beaucoup plus haut niveau, comme ActivityPub, Solid, Mercure qui sont des protocoles, [il y a des acteurs] du web décentralisé qui s'appuient sur ces stack là.
On va prendre un exemple qui est un format du w3c, qui s'appelle ActivityPub.
Ce protocole a pour but de poser une interopérabilité entre les réseaux sociaux et de permettre de créer des réseaux sociaux complètement décentralisés sur lesquels chaque acteur peut avoir le contrôle de ses serveurs.
Concrètement tous les cas de censure qu'on a vu précédemment dans mon talk y compris les tweets qui ont été bloqués ils seraient beaucoup plus difficiles à bloquer si ActivityPub était massivement utilisé.
C'est un standard du web qui fait partie du site web publiée par le w3c, c'est bâti au dessus d'une stack web (URI, HTTP, RDF, JSON-LD) et ça utilise un vocabulaire ouvert qui s'appelle ActivityStreams qui définit tous les types de données dont on a besoin pour les réseaux sociaux.
Comment ça marche ? Imaginons qu'on ait deux acteurs, cette fille qu'on va appeler Alyssa à gauche et puis d'autres acteurs à droite qui ont chacun leurs propres serveurs et leurs propres infrastructures.
Dès qu'elle va publier un message, un tweet ou message privé, Alyssa va le poster dans son Outbox.
Sa boîte de dépôt.
Ensuite le serveur ActivityPub va faire le travail de trouver à qui elle souhaite envoyer ce message, trouver où est hébergé via les mécanismes d'URL les réseaux sociaux des personnes à qui elle envoie ce message, et le service va faire une requête en POST vers la boite de reception, l'Inbox, de chacun des acteurs qui doit recevoir ce message.
Ensuite, les personnes qui ont reçu le message vont pouvoir faire une simple requête en GET vers leur propre serveur pour récupérer le message qui leur a été envoyé.
Du coup on a plus besoin d'un réseau très centralisé comme Facebook, Twitter etc... chacun peut avoir ses serveurs, et il y a un mécanisme de dialogue la fédération, qui va permettre de de serveur à serveur, qu'on appelle propager ces messages à l'échelle du web.
Petit exemple de document JSON, comment ça fonctionne, Alyssa fait une requête sur son URL d'outbox, on a une activité c'est juste un document JSON qui suit le formalisme JSON-LD et qui suit le vocabulaire ActivityStreams, du coup là on va créer un message qu'on va envoyer à Ben, qui est sur son propre serveur.
Ce serait pas possible sur Twitter Alyssa et Ben ont deux serveurs qui sont des machines différentes, sur des réseaux différents avec des URL différentes.
Et grâce à ces URL, on voit que le serveur de Alyssa est social.example.com, alors que le serveur de Ben est chatty.example.com ce sont deux organisations.
Du coup grâce aux mécanismes ActivityPub, le message qui vient d'être créé va être, grâce aux mécanismes de fédération, envoyé du serveur d'Alyssa vers le serveur de Ben.
Impossible de censurer quoi que ce soit.
il ya plusieurs applications qui supportent déjà ActivityPub.
Il y a Mastodon, le plus populaire qui est un Twitter-like, il y a Mobilizon qui est un énorme projet qui vise à remplacer Meetup, PeerTube qui est une alternative à YouTube NextCloud alternative à Dropbox.
Tous ces logiciels sont interopérables entre eux grâce à ce protocole.
Vous pouvez voir sur le site the-federation.info l'état du réseau et la taille du réseau, c'est assez intéressant.
Mais c'est encore balbutiant et surtout, si c'est juste quelques applications comme ça ce n'est pas suffisant.
Il faudrait que [les applications que nous développons] soient compatibles avec ce format et permettent la décentralisation.
Il faudrait aussi multiplier les applications et que tout le monde puisse savoir qu'il y a des alternatives de qualité, libres et open source pour remplacer les GAFAM.
Malheureusement vous pouvez voir sur Mobilizon le travail énorme qui a été fait, c'est pas quelque chose de simple.
Malheureusement c'est complexe de faire quelque chose de décentralisé, ça demande de la recherche et du développement, et du code.
En PHP on a des librairies qui permettent de faire ça, qui ont été conçues dès l'origine pour faire ça.
Le premier, auto-promo, API Platform a été conçu dès le départ, dès la première ligne de code écrite, pour être un outil web qui supporte cette stack web complète.
Le format de base qui est exposé est JSON-LD, il y a le support pour tous les vocabulaires de base, en particulier schema.org.
Du coup si vous utilisez API Platform vous avez déjà fait un gros pas vers le web décentralisé, parce que vous supportez les formats qui permettent de faire le web décentralisé de base, sans avoir rien à faire.
Et en plus vous avez toutes les fonctionnalités qui sont fournies de base dans le Framework.
Pour ce talk, j'ai voulu vous inciter à coder.
Du coup j'ai travaillé su deux nouveaux outils, le premier c'est une nouvelle version du générateur de Schéma API Platform.
C'est le composant le moins connu du Framework.
Il permet de prendre n'importe quel vocabulaire, ça peut être votre propre vocabulaire que vous avez défini dans des formats qui permettent de décrire des données génériques comme OWL, ou ça peut être du vocabulaire déjà existant comme ActivityStream, schema.org ou DublinCore, et générer en une seule commande tout votre modèle de données PHP avec les classes PHP, la PHPDoc, les getter, les setter, le mapping avec la base de données avec Doctrine, les annotations API Platform, les contraintes de validation.
Vous pouvez aussi ajouter vos propres propriétés.
Du coup, la nouvelle version a été énormément améliorée, elle prend tout type de vocabulaires qui ont un format de définition ouvert.
Cet outil a permis d'en créer un autre, que je viens de mettre sur GitHub, c'est paradoxal mais c'est pour le moment sur GitHub.
Vous pouvez aller sur GitHub chercher ActivityPub, vous allez trouver un tout nouveau bundle pour API Platform et Symfony qui permet d'activer le support ActivityPub sur n'importe quelle application.
Quelque chose comme Mobilizon, avec cet outil ça aurait été beaucoup, beaucoup moins de boulot que ce qui a été fait par Framasoft.
C'est basé sur API Platform et Symfony, ça permet de créer des nouvelles applications mais ça permet aussi d'ajouter le support d'ActivityPub à n'importe quelle application Symfony ou API Platform existante.
C'est 100% personnalisable, [...] 100% compatible avec les fonctionnalités qui sont fournies dans API Platform y compris Vulcain, Mercure, la sécurité etc..
Si vous vous arrêtez juste à la technique vous pouvez quand même regarder comment c'est fait, ça utilise toutes les dernières fonctionnalités de PHP d'API Platform et de Symfony.
Du coup cet outil vous permet de créer des applications web décentralisées très facilement en quelques minutes.
C'est vraiment très expérimental pour le moment, pas complètement fini, donc si vous voulez aider, toute aide est bien entendu la bienvenue.
Pour aller un peu plus loin je vous ai mis dans mes slides qui seront en ligne une liste de textes de référence et d'autres outils qui sont extrêment intéressants pour construire une application web décentralisée ou même un cran plus loin distribuée, on l'a pas trop évoqué aujourd'hui.
J'espère que ça vous a plu, que ça vous a donné quelques billes sur quel est le problème de la décentralisation ? N'en restez pas là, organisez-vous, codez ! Merci beaucoup.
Merci beaucoup Kevin pour cette conférence de rentrer pile poil dans les temps, Cécile va vous partager le lien de la prochaine conférence ce sera Nicolas qui nous parlera de la Clean Architecture, d'abord on va faire une petite pause la conférence va commencer pour nicolas va commencer à 11h15, vous avez le temps temps kevin est ce que tu veux répondre à une question on a le temps pile pour une question On va retrouver Kevin en live ce sera plus simple Cela implique que chaque personne doit avoir un serveur ? Il y en a une qui a plus de votes maintenant alors comment alors comment refuser un web centralisée en tant que développeur quand la majorité des entreprises en 2020 veulent héberger ou hébergent déjà leurs applications sur des solutions cloud comme AWS ou GCP excellente question comment refuser un web centralisée en tant que développeur quand la majorité des entreprises en 2020 veulent héberger et hébergent déjà leurs applications sur les solutions cloud comme AWS ou GCP alors c'est une énorme et très vastes questions qui mériteraient plus de 40 minutes plusieurs pistes déjà pour moi il ya quand même des enjeux différents termes de centralisation avoir un site e-commerce centralisée qui vend quelque chose d'anodin ça va à l'encontre des principes du web mais c'est pas dramatique avoir des réseaux sociaux centralisée qui permettent ces attaques que j'ai présentée très très fort sur la liberté d'expression et c'est beaucoup plus problématique et là je pense que le premier truc c'est de définir des objectifs clairs et puis d'essayer d'agir d'abord là où ça a plus d'importance et je pense que c'est les moyens de communication les moyens d'expression qui sont les plus importants pour le monde.
après comment on agit sur les entreprises quand le patron nous dit c'est comme ça que je veux faire, ils ont un marketing qui est terrible ils ont des solutions qui sont d'excellente facture etc alors il ya deux choses à faire déjà s'organiser pour montrer les problèmes que posent ce type de structures et puis ya quand même beaucoup d'entreprises qui peuvent voir les problèmes de cette centralisation là par exemple amazon a été pris plusieurs fois la main dans le sac et google a été pris encore très récemment la main dans le sac en train d'espionner ses propres clients y compris les entreprises et y compris pour créer des produits concurrents aux leurs.
ça c'est quelque chose qui est possible juste à la cause à cause de la centralisation du web et expliquer ça aux clients etc ça peut aussi leur permettre d'ouvrir les yeux et leur montrer que même pour leur business ça peut être nocif cette centralisation du web ensuite les organisations la quadrature du net on est la tech, etc..
ça permet aussi de faire ce travail d'information et construction d alternatives parce que bien sûr tant qu'AWS et google cloud seront le seul truc qui marche bien et le seul truc qui a les capacités en termes de visibilité à être mis en avant c'est la seule chose qui marchera dernier truc on peut aussi décider où on met le critère, le curseur.
c'est à dire que partir tout de suite sur quelque chose de complètement distribué ou décentralisée en une fois ça peut être un gros pas qui est difficile à franchir par contre on peut se dire que nos infrastructures sont déjà sur AWS donc on reste là dessus pour le moment on verra par la suite mais on évite d'utiliser les solutions qui vont créer un vendor lock in très très fort avec la plateforme et qui empêcheront de quitter à un moment si on souhaite le faire par exemple tous les outils propriétaires de Queue, mails etc qui crééent des adhérences très fortes à la plateforme, les protocoles et les formats que l'on va utiliser on va pas utile et des choses propriétaire spécifique un éditeur mais on va utiliser des outils libres qui vont permettre de passer facilement d'une plateforme à l'autre etc et puis les outils ce qu'on va exposer publiquement ça va permettre le web décentralisé typiquement si vous créez vous avez un système de commentaires avoir un système de commentaires qui supporte ActivityPub même s'il est sur un hébergeur hyper centralisé comme GCP ou AWS ça permet quand même la décentralisation ça permet quand même une certaine forme d'indépendance tout en utilisant leurs infrastructures au moins de manière temporaire donc je sais pas si c'est hyper clair forcément c'est un vaste sujet mais vraiment je pense qu'il est important c'est de définir des priorités et de voir ce qui est primordial à mon sens ce qui est primordial c'est d'éviter la censure et d'éviter la surveillance de masse et quand on est en train d'écrire du code qui est sensible à ce niveau là par exemple on a pu voir que microsoft vient de gagner le marché pour héberger toutes les données de santé de tous les hôpitaux en france c'est quelque chose qui est extrêmement inquiétant beaucoup plus inquiétant que si des commandes e-commerce pour acheter des faire-part en ligne ou acheter des chaussures étaient stockées sur les serveurs de chez microsoft du coup à mon avis faut aussi pas se disperser et choisir nos combats par exemple cette centralisation des données de santé sur les serveurs de Microsoft plutôt que sur quelque chose sous contrôle français etc c'est quelque chose qui est primordial de lutter contre et qui permettent d'enclencher ces débats là et les mouvements techniques et crée aussi les solutions qui permettent ensuite de décentraliser plus facilement [Musique]
Commentaires