vidéo - slides (voir aussi la page d'origine sur fdn.fr)
Transcription :
Organisateur : Bonjour à tous et bienvenue à Sciences Po, donc, pour cette deuxième partie de la conférence “qu’est-ce que l’Internet” du cycle Qu’est ce que l’Internet" par Benjamin Bayart. On est ici en amphi Jean Moulin, pour la petite histoire : c’est l’ancien amphi de l’ENA dans lequel s’est assise à peu près toute la classe politique actuelle… Voilà…
Benjamin Bayart : Et bien, ce n’est pas glorieux.
Organisateur : [rire] Donc la conf’ d’aujourd’hui c’est sur les applications du réseau ; la semaine dernière, je vous rappelle, on a expliqué les bases du réseau, pour comprendre le réseau. Cette semaine, c’est donc comprendre les applications. Avant de commencer, je rappelle pour ceux qui n’étaient pas là la semaine dernière : qu’est-ce que Liberté Numérique ? Liberté Numérique, c’est l’association numérique des étudiants de Sciences Po, donc en fait l’idée c’est de rendre, d’animer le débat d’idées autour du numérique à Sciences Po et donc d’apporter une culture numérique aux étudiants pour qu’ils aient plus tard le bagage pour pouvoir éviter des bourdes comme par exemple le désormais célèbre “firewall d’OpenOffice”. Mais également pour organiser toute une offre de cours et la promotion du logiciel libre à Sciences Po. Et cet événement est organisé en partenariat avec le Médialab de Sciences Po qui est juste à côté, qui a pour but en fait d’utiliser l’informatique et les outils que nous fournissent les nouvelles technologies à des fins de recherche en science sociale. Voilà. Donc c’est la deuxième partie sur trois parties, je rappelle que le 4 mai il y aura la partie finale, la conclusion qui sera donnée en amphi Caquot donc tous les plans sont sur le site de Libertés Numériques. Et donc qui couvrira une partie plus politique et plus… qui tirera des deux premières parties la substance pour en tirer une conclusion sur les enjeux d’Internet. Je laisse sans plus tarder la place à Benjamin Bayart, en espérant qu’on ait pas trop de problèmes au niveau de la rétroprojection.
Benjamin Bayart : On n’a pas testé donc normalement ça ne doit pas marcher, il y a des traditions en informatique.
Organisateur : Donc les affiches des derniers, et on passe. Alors évidemment ils ont verrouillé… j’espère qu’ils n’ont pas verrouillé à la super-glue quand même.
Benjamin Bayart : (Bas) C’est épatant ! Toujours autant surpris de voir marcher Linux sur un portable…
Organisateur : La ligne de commande déjà pour démarrer…
Benjamin Bayart : (Bas) C’est pas compliqué
Organisateur : …la deuxième partie, et voilà ! Je laisse la parole à Benjamin Bayart.
Benjamin Bayart : C’est beaucoup plus simple que d’essayer de viser avec une souris dans le dos.
Donc on va attaquer la 2ème partie ! Rapidement : pourquoi est-ce j’ai souhaité organiser ça en trois conférences ? Tout simplement parce que pour expliquer techniquement Internet, il faut deux morceaux, très clairement. Le premier c’est ce que c’est un réseau de transport de données et ce que ça a comme conséquences, donc ça c’est ce qu’on a vu la semaine dernière. La deuxième partie, ce sont les applications qu’on en fait. Et simplement parce qu’on ne peut pas comprendre les impacts politiques et sociétaux propres à Internet si on n’a pas compris les deux premiers volets. Et comme je l’ai dit la semaine dernière : je sais que les gens de Sciences Po voudront le lire à l’envers, c’est-à-dire que le seul morceau qui les intéresse c’est le troisième volet ; et en fait une fois qu’ils auront regardé le troisième volet, normalement ils n’auront à peu près rien compris, n’ayant pas suivi les deux premiers. Et donc tout l’intérêt, c’est que ce soit enregistré. Le point le plus intéressant, quand on s’intéresse à des sciences économiques et politiques, c’est le troisième volet, et il n’est pas compréhensible. On ne peut pas repérer pourquoi il a émergé avec Internet et pourquoi il n’a pas émergé avec les réseaux précédents si on n’a pas compris les spécificités d’Internet.
Bien. Rapidement, ce qu’on avait vu la dernière fois sur le réseau de transport, c’était essentiellement trois informations clés : La première c’est qu’on parle d’Internet à partir du moment ou on parle des adresses IP publiques. Donc quand une machine est sur Internet, elle est publiquement joignable en tant que serveur et elle peut être cliente de n’importe quelle autre machine. Ce point-là est fondamental, c’est quasiment la définition d’Internet. Le deuxième élément qu’on avait vu, c’est que la partie routage, transport de données, est essentiellement très simple. C’est la grande différence, c’est la grande innovation technique entre Internet et tous les autres réseaux. Les réseaux précédents cherchaient à faire des choses extrêmement compliquées en apportant des garanties de qualité de services, en pré-réservant de la bande passante, pour reprendre le début de la conférence de la dernière fois, en réservant des circuits sur le réseau. Ce qu’Internet a apporté, c’est l’idée de simplement transporter des paquets de données, de ne pas pré-réserver la bande passante, de transporter chaque petit bout de données comme il se présente, si on trouve un chemin pour l’amener à destination tant mieux, si on n’arrive pas et qu’on le perd en route tant pis, les applications s’en débrouilleront. Il y a une partie que je vais passer sous silence parce qu’elle est assez simple - en fait, elle est techniquement très laborieuse mais sur le principe assez simple, c’est comment les applications se débrouillent du fait qu’on perde des données : exactement comme vous vous en débrouillerez. Imaginez que vos livres, vous les récupériez systématiquement sous la forme de feuilles volantes : s’il manque des pages, qu’est ce que vous faites ? Vous les redemandez. C’est aussi simple que ça. Donc les applications ont tout un tas de mécanismes à leur disposition pour traiter ça, c’est pas d’un intérêt débordant. Ce qui est intéressant à comprendre, c’est qu’avec la mécanique triviale d’Internet on arrive à recréer virtuellement quelque chose de plus puissant que ce qu’on avait avec les mécaniques complexes de la commutation de circuit. Donc on est capable à tout moment d’établir des liaisons entre n’importe quel point et n’importe quel autre point du réseau, éventuellement plusieurs liaisons en simultané, toutes fonctionnant en même temps. Qu’on se comprenne bien : ce n’est pas la multiplication des petits pains, c’est simplement : depuis un endroit je peux en contacter cinq autres, si j’en contacte dix, j’irai juste deux fois moins vite mais j’aurai, si j’ai dix interlocuteurs, un dixième de la vitesse disponible pour chacun des interlocuteurs, ce qui est très très différent des réseaux précédents qui ressemblaient au téléphone où on ne parlait qu’à une seule personne à la fois.
Bien, alors voilà, c’est tout de l’acronyme aujourd’hui. Je suis gentil, je vous ai épargné les noms des protocoles pour ces deux-là [Web et Mail]. Donc on va commencer par les DNS parce que c’est le premier des protocoles, c’est pas le plus ancien historiquement mais c’est un des plus intéressants et c’est celui qui est le plus central à l’heure actuelle sur Internet. Et ensuite on va travailler en alternance : d’abord le web, parce que c’est celui que tout le monde connaît, dans l’usage. Ensuite le mail, dont vous allez vous rendre compte que vous le connaissez relativement mal, ensuite ces deux là [MSN et XMPP] que je vais à peine survoler parce que je n’ai pas du tout envie de rentrer dans des détails techniques sur comment ils marchent : ce qui est intéressant, c’est les deux ou trois principes du mode de fonctionnement. Ensuite, on ne parlera pas du Peer-To-Peer, c’est pour ça que je l’ai mis dans la liste, et puis une conclusion. Ouais, normalement je dois tenir les temps à peu près.
Donc, on va commencer par le DNS.
Bien. Basiquement, on en avait un petit peu parlé la dernière fois : le DNS, c’est l’annuaire du réseau, c’est ce qui fait que vous pouvez retenir des noms plutôt que retenir des numéros. C’est un concept avec lequel vous êtes très familiers sous la forme d’un annuaire. Un annuaire, ça stocke des informations : qui, quelle information, la donnée correspondante. Bien évidemment, on peut stocker pour une personne plusieurs informations de nature potentiellement très différentes. C’est-à-dire qu’on regarde dans l’exemple que je donne (c’est tout des infos vraies ça, a priori, celui-là il est périmé) on a ici quatre natures d’informations, certaines sont très structurées et numériques, donc les ordinateurs vont avoir tendance à les stocker d’une manière bien compacte, d’autres sont brutalement du texte, je veux dire une adresse postale c’est… on ne peut pas plus bête, il n’y a rien de numérique là-dedans, il n’y a rien de structuré.
Et pour un type d’information donnée, il peut y avoir plusieurs entrées. Alors, je ne sais pas combien parmi vous ont plusieurs numéros de téléphone, mais ce n’est pas quelque chose de si rare. De même qu’on peut très couramment avoir le même numéro de téléphone associé à plusieurs personnes. Donc voilà, le principe d’un DNS, c’est de produire ça.
En plus vrai, ça va ressembler à ça.
Alors comment ça se lit ? Le cas le plus courant, celui que tout le monde connaît c’est : “à un nom de machine, j’associe une adresse IP”, ça c’est celui dont vous avez absolument besoin tout le temps. Vous vous en servez quand vous êtes face à un ordinateur plusieurs milliers ou dizaines de milliers de fois par jour. Juste, ça le fait tout seul. Le deuxième, on en parlera quand on traitera le mail, le troisième on en parlera un tout petit peu quand on parlera d’XMPP tout à la fin, et le quatrième, c’est juste parce que j’avais envie de trouver un quatrième cas. C’est en fait comme ça que fonctionne la résolution inverse, c’est-à-dire que quand vous donnez une adresse IP à une machine, elle est capable de retrouver un nom, c’est le principe de l’annuaire inversé. Et en fait, il faut savoir que l’annuaire inversé, c’est juste un annuaire rangé dans l’autre sens, mais c’est bien le même annuaire en fait. C’est juste une deuxième section du même annuaire.
Bien, ce qui est intéressant à retenir là dedans, c’est qu’on a beaucoup plus que simplement une traduction d’adresses IP, parce que ça [edgar.fdn.fr MX 20 mail.fdn.fr] c’est quand même un nom de machine qui est traduit en quelque chose qui a une gueule de nom de machine. Qui peut même être traduit en du texte qui peut contenir vraiment n’importe quoi, c’est-à-dire que si vous avez envie de mettre les deux premières pages de votre roman préféré, vous pouvez. Donc ça contient beaucoup plus qu’une adresse IP pour un nom de machine, ça peut contenir bien évidemment plusieurs enregistrements pour une même info, c’est-à-dire qu’il y a trois enregistrements PTR associés à cette info-là (et il y a vraiment trois enregistrements PTR). Plus intéressant, ce sont des informations récursives, c’est-à-dire qu’ici, si on regarde, à l’entrée edgar.fdn.fr est associée une entrée qui s’appelle MX 20 qui est elle-même un autre nom de machine auquel sera associé une autre information. D’accord ? Ça, c’est très courant dans le DNS, le fait de jouer sur la récurrence. C’est quelque-chose d’inhabituel dans les annuaires pour humains mais complètement standard dans les annuaires pour machines.
Comment ça marche ? c’est complètement hiérarchique et ça se lit de droite à gauche. Vous allez voir, ça se lit de droite à gauche et pourtant, on va le faire de gauche à droite.
La première question qu’on se pose c’est : qui est jmpl.fr.eu.org ? Qui est telle machine. Et j’en ai choisi exprès une où il y avait 4 niveaux, c’est plus rigolo qu’avec 2. Donc en fait, on cherche un champ A, donc une adresse associée à un nom de machine. Ça, cette question-là, c’est-à-dire : je veux le champ A associé à telle machine, c’est ce que votre PC à la maison envoie à son serveur DNS préféré. Qui lui, soit il connaît la réponse parce qu’on la lui a déjà demandée 3 min avant et il renvoie la réponse, soit il ne la connaît pas et il va se demander qui détient la vérité pour fr.eu.org : qui est le Name Server (DNS c’est Domain Name Server - Serveur de Nom de Domaine) de fr.eu.org. Soit il a l’information, quelque part, parce qu’il s’est posé la question il y a moins de vingt-quatre heures, et dans ce cas-là il sait qui est fr.eu.org et donc il pourra retrouver l’info, soit il ne sait pas, auquel cas il va regarder si des fois il saurait qui est eu.org, et s’il ne sait pas, il va chercher qui est .org. Au-delà il sait forcément, parce qu’au-delà on est arrivé à la racine. Et l’adresse du serveur DNS racine responsable de tout Internet, tout le monde la connaît. Elle est publique, tout le monde connaît l’adresse de cette machine. Je vous passe les détails techniques. Cette machine avec son adresse, elle est présente à peu près à 150 endroits sur Terre, c’est la même machine qui porte le même nom et le même numéro. Pour faire une comparaison avec le téléphone, imaginez ce qu’il se passe quand vous faites le 18 pour appeler les pompiers. Vous faites bien le même numéro où que vous soyez en France. Cependant, ça ne fait pas sonner le même téléphone. Le réseau amène cet appel au point qu’il juge être le plus proche qui sache traiter ce numéro-là. Exactement de la même manière, quand une machine cherche à joindre un de ces serveurs-là, comme ils sont présents en N exemplaires dans le réseau, le réseau va simplement acheminer la question vers l’exemplaire le plus proche, qui se chargera de répondre le plus naturellement du monde.
Donc ce serveur racine de tous les noms de domaine, dans la pratique, on ne l’interroge à peu près jamais, parce que votre serveur DNS, une fois qu’il va l’avoir interrogé pour savoir qui gère .org, il va garder l’info dans son cache et celle-là en général c’est 5 à 10 jours. Donc en fait, un serveur racine, ça traite un gros volume de trafic mais rien de délirant. En tout cas sans commune mesure avec les milliers de requêtes par jour que vous générez vous, individuellement. C’est votre serveur à vous, qui mange 1000 requêtes par jour, mais comme il ne repose pas la question quand il se souvient de la réponse, celui d’en dessous en mange statistiquement quelque chose comme 10 fois moins, et plus on descend dans les strates et moins il y en a. Enfin, une fois qu’on a traité ça, on remonte. C’est-à-dire que si mon serveur ne savait rien, il s’est posé toute ces questions-là, il a donc envoyé la question au serveur racine en disant “Qui est responsable de .org ?”, on lui a répondu une adresse IP. Puis il a demandé à Monsieur .org “qui est responsable de eu.org ?”, on lui a répondu une autre adresse IP qui n’a rien à voir, puis ben du coup il a contacté celui-là en disant “c’est qui fr.eu.org ?”, il a obtenu encore une autre adresse IP. Puis il a recontacté machin, il lui a dit “Dis-donc, c’est quoi l’adresse de jmpl.fr.eu.org ?” et là il a obtenu la réponse. Ça, ce sont des choses qui ont lieu plusieurs milliers de fois par jour dans votre dos. Et où basiquement, sans ça, Internet est pour vous totalement inutilisable. C’est curieux, parce que dans le monde du téléphone, vous vous en sortez très bien. Je veux dire, je présume que vous faites comme moi, vous notez là-dedans [Benjamin B montre son téléphone portable] les numéros de téléphone des gens que vous voulez appeler. Vous ne consultez pas un annuaire : vous avez votre petite copie locale de l’annuaire. Et plutôt que de garder votre petite copie locale des adresse IP dont vous avez besoin, vous interrogez en permanence le grand annuaire central de tout le monde et vous récupérez l’information. C’est un choix structurel dans la façon de fabriquer Internet qui est assez ancien, d’avoir décidé de mettre à disposition un annuaire complet et qui permette de répondre à des millions de questions par seconde sans difficulté. Simplement par ce fonctionnement hiérarchique.
Bien, le point clé à retenir là-dedans c’est que ça, c’est probablement l’application la plus centralisée d’Internet. Il y a bien un centre absolu qui est le serveur racine, c’est lui qui sait où se trouve Monsieur .org et c’est lui qui en décide. Ça, c’est quasiment le centre du monde sur Internet. Ce n’est pas facile à éteindre puisqu’il y en a plusieurs centaines. Ce n’est pas facile à contrôler, pour une raison très simple : il n’y a presque pas d’informations dedans. Il n’y a normalement dans ces serveurs que ce qu’on appelle les top level domain, c’est-à-dire les domaines de premier niveau (.com, .net, .org, .fr, .be, .de) ; il y en a à peu près 200 et tout le monde les connaît. Donc si à un moment, lui, il se met à répondre autre chose que ce qu’il doit, ça va immédiatement se voir. Les 200 noms qu’il sert et pour lesquels il fait autorité, qui sont la racine d’Internet, sont 200 noms connus et si lui, il se met à déconner, on sait cloner cette liste quasi instantanément. Donc on a bien un centre absolu et qui est pourtant totalement distribué. Il y a bien un seul endroit où on fait les mises à jour et il y a ensuite des centaines de machines sur lesquelles on réplique ces mises à jour, donc qui sont plus compliquées à éteindre, qui apportent à peu près la même solidité qu’un réseau comme on l’a vu la semaine dernière. Ensuite, tout est délégué, c’est-à-dire que le serveur qui gère .fr, il ne sait rien de ce qu’il se passe dans le domaine fdn.fr à part qu’il l’a délégué à quelqu’un d’autre. C’est assez important à comprendre dans la structure, c’est entièrement centralisé, c’est une structure complètement pyramidale avec un grand chef tout en haut, mais c’est dans le modèle hiérarchisé beaucoup plus réparti, beaucoup plus distribué que les modèles de réseaux anciens auxquels on a pu être habitué. Ça n’a par exemple aucun rapport avec le mode de fonctionnement d’autres systèmes centralisés, comme on va les voir plus tard, que sont, au hasard, Facebook ou MSN. Là-dedans, chacun est totalement maître de son petit bout de l’univers. C’est ça ce que j’appelle la délégation complète, c’est-à-dire que quand Monsieur .fr nous a délégué fdn.fr, il a cessé d’avoir quelque contrôle que ce soit dessus. Du coup, on a quelque chose qui est capable d’absorber une quantité de requêtes absolument délirante avec de l’informatique très simple. C’est-à-dire qu’il faut comprendre, le programme qui fait serveur DNS, il est un petit peu compliqué, il est à la portée d’un étudiant en deuxième année de DUT brillant en programmation, donc on n’est pas du tout du tout sur des choses extraordinairement complexes, on est sur du programme qu’il faut écrire comme il faut parce que c’est un peu sérieux, mais ce n’est pas très compliqué. C’est un peu trop compliqué pour quelqu’un qui sait juste faire du PHP pour ses pages perso : c’est la pointure un poil au-dessus. Donc, en fait, on a bien à faire à un système qui est parfaitement centralisé et qui pourtant peut gérer des charges énormes, ce qui est en général le plus gros défaut des systèmes centralisés.
Bien, si un jour vous cherchez un point central dans Internet il n’y a que celui-là, et plus exactement, il n’y a que le serveur racine, et comme on a vu tout à l’heure, le serveur racine, il peut se dupliquer en quelques minutes. C’est-à-dire : recréer un serveur racine différent parce que le serveur racine a l’air de raconter n’importe quoi, ça prend quelques minutes. Donc en fait, il est unique mais il est juste unique parce que tout le monde fait raisonnablement confiance aux gens qui s’en occupent. Exemple : si vous cherchez dans l’actualité, il y a deux semaines je crois, les Chinois se sont fait prendre les mains dans le pot de confiture ; chez eux, ils ont pris l’habitude d’intercepter les requêtes qui partent vers le serveur racine pour lui faire répondre des mensonges, parce qu’il y a l’un des 150 exemplaires du serveur racine qui est en Chine, et donc du coup on l’a éteint, puisque celui-là se mettait à répondre de la merde. Donc voilà, le système est suffisamment simple et suffisamment bête pour que quand on a éteint ce serveur-là, ça n’a posé de problème à personne.
Bien. Comment ça fonctionne, du web? Quand on veut afficher http://www.fdn.fr, la première chose que fait votre machine c’est de chercher qui est www.fdn.fr. C’est pour ça que j’ai commencé par le DNS, parce que tous les protocoles vont commencer par faire une résolution DNS du nom. Donc on traduit ça en une adresse IP et puis ensuite on a une connexion réseau exactement du modèle que j’ai indiqué la semaine dernière, c’est-à-dire qu’on envoie une requête assez simple en texte qui dit “je voudrais telle page sur ton site”, qui est en général sous la forme d’un nom de fichier, et le serveur renvoie le contenu du fichier. Tout ce que vous connaissez sur le web fonctionne comme ça. L’alpha et l’oméga du web, c’est ça : je cherche qui est responsable du domaine, je me connecte sur le port 80, je demande la page, j’obtiens ma réponse, je l’affiche. Tout le web se résume à ça. C’est probablement l’exemple le plus simple d’un protocole réseau applicatif. Ça fait partie des 3 ou 4 protocoles qu’on peut parler à la main, c’est-à-dire que vous pouvez, à la main, vous comporter comme se comporte votre navigateur web et écrire tout seul vos requêtes sans utiliser de navigateur et vous récupérerez en texte une belle page en HTML. Donc, structurellement, ce protocole n’impose absolument pas de centre puisque ce qui définit un site web, c’est un nom de domaine, que des noms de domaine, il en existe une infinité, et qu’on a vu que par le modèle hiérarchique des DNS, on peut donner des noms de domaines à n’importe qui, envoyant vers n’importe quelle machine. Je m’explique : si moi je gère benj.com, je peux déléguer à n’importe qui “machin.benj.com”, et ce n’importe qui pourra lui-même déléguer à qui il veut, potentiellement sur pas le même continent, “toto.machin.benj.com”, donc en fait n’importe qui peut obtenir gratuitement un nom de domaine. Puisqu’en achetant un nom de domaine à… c’est combien le cours sur le marché, en ce moment ? 6 ou 7 euros? Donc en achetant un nom de domaine à 7€, je peux en fournir à X centaines de copains, donc ça va nous y faire du 3 centimes par tête de pipe, qui eux-mêmes peuvent en donner à, à peu près autant de gens qu’ils veulent, donc on est en millièmes de centimes par tête de pipe, donc globalement gratuit. Juste ça fait des noms un peu longs, mais après tout c’est pas très grave, c’est toujours plus facile à retenir qu’un numéro. Donc le web qui se base, parce qu’il se base, sur le mécanisme du DNS, n’impose absolument pas de centre : quand vous allez sur un site web, vous allez en fait potentiellement sur n’importe quelle machine connectée à Internet. Si nos opérateurs mobiles faisaient leur boulot, et donc qu’on avait des adresses IP publiques là-dessus [BB montre son téléphone], c’est-à-dire si on était connecté à Internet, alors il pourrait y avoir une URL de site web qui ne soit joignable que quand mon téléphone est allumé, parce que le contenu en serait servi par mon téléphone.
Donc ça, c’est bien important à comprendre : il n’y a pas un grand site web racine qui délègue le web à tout le monde. Il y a bien un serveur DNS racine qui délègue les noms, mais le web est lui-même structurellement, par nature, distribué sur le réseau. Cependant, on crée artificiellement des centres : actuellement, s’il y avait un centre du web il s’appellerait Google. Mais ce n’est pas lié à la nature même du protocole, c’est lié à l’usage que nous en avons. Comme on n’est pas capable de se souvenir du nom des sites web sur lesquels on veut aller, on cherche un peu au hasard dans Google. Dans la pratique, ça donne à Google un pouvoir de censure faramineux. Ils peuvent décider de ne plus vous fournir telle réponse à la question. Mais il est très simple de reprendre ce pouvoir, il suffit de noter les adresses des sites sur lesquels vous voulez aller ; dans le premier navigateur venu, ça doit s’appeler bookmark, je ne sais pas comment c’est traduit en français, signet ? ou favori ? marque-page ? ça dépend des marques. Ça c’est essentiellement, en fait on crée des centres par les usages, on crée des centres par la façon dont on utilise les sites web. C’est une question d’éducation, c’est-à-dire que c’est une question d’habitude. Basiquement, moi, tous les sites web dont je me sers à peu près régulièrement, c’est mon navigateur qui les retient, voire ma mémoire. C’est-à-dire que quand je me retrouve sur un navigateur qui n’est pas le mien et où je n’ai pas mes bookmarks, les 20 ou 30 sites dont j’ai l’habitude, je connais leurs noms par cœur et j’y vais sans passer par Google. Ce n’est pas le cas de tout le monde en fait, j’ai constaté avec surprise qu’il y a beaucoup de gens qui croyaient que les URL ça se collait dans la barre de recherche de Google. Sans se moquer, il y a une vraie question d’éducation derrière. Il y a une question d’infrastructure aussi. Allez, on va faire des choses simples : combien d’entre vous ont un accès soit ADSL, soit câble ? Ça va, je dois avoir fait à peu près 100%. Donc, vous avez tous un accès fondamentalement, structurellement, asymétrique : qui est capable d’émettre très peu de données, et qui est capable d’en recevoir beaucoup. C’est ce qui fait que quand bien même vous le voudriez, vous ne pouvez qu’avec difficulté diffuser du contenu depuis chez vous. Donc vous avez structurellement avantage à ce que le contenu que vous diffusez soit stocké ailleurs. Le ailleurs en question crée artificiellement des centres. Exactement comme : à force de ne pas pouvoir faire pousser votre viande vous-mêmes, vous créez artificiellement des centres agricoles, de l’élevage intensif, etc., etc. Simplement parce que vous déportez le problème, vous créez des grumeaux dans la structure.
C’est à mon sens les deux questions clés sur “pourquoi un centre se crée sur le web” : pour des questions d’éducation et des questions d’infrastructure.
Après, il y a le fait qu’on ait développé des applications au dessus de HTTP. Je m’explique : Facebook, c’est un site web, c’est juste un site web. Je ne suis pas un grand utilisateur du truc parce que je n’y ai pas de compte, donc je me fie essentiellement aux racontards qu’on lit sur Internet sur la façon dont ça marche, mais dans la pratique, ça permet beaucoup plus qu’un simple site web. Ça ne se résume pas à un blog, il y a des tas de petits morceaux d’applications : ça permet de faire de la messagerie - ce qui devrait être le rôle du mail ; ça permet de faire de la messagerie instantanée - ce qui devrait être le rôle de la messagerie instantanée ; ça vous permet de publier des contenus - ce qui devrait être le rôle de votre site web. Cette approche-là tend à créer un système centralisé, ce n’est donc pas le web lui même qui tend à centraliser, c’est l’usage qu’on en fait et le développement des applications qu’on fait au-dessus. En général, ça correspond toujours à des défauts d’éducation : parce qu’on n’a pas appris aux gens à utiliser l’outil adéquat, ils utilisent l’outil qu’ils ont sous la main et dont ils voient comment se servir. Exactement comme un bricoleur qui n’est pas entraîné ne va pas savoir quel outil utiliser pour quel usage, c’est-à-dire savoir à quel moment on doit utiliser quel modèle exact de tournevis - je vous assure qu’il y a des fois où ce n’est pas clair. Donc voilà, ce n’est pas le web qui a créé un réseau centralisé, ce n’est en tout cas pas lié à sa nature technique.
Bien, si on regarde ce que c’est que le mail. Pour le comprendre, on va poser un petit peu de vocabulaire.
Ça c’est comme dans La Poste, l’enveloppe, c’est ce que les postiers se racontent pour comprendre où il faut transporter le courrier. Vous avez l’habitude dans La Poste, l’enveloppe, à l’avant il y a l’adresse du destinataire, à l’arrière il y a l’adresse de l’expéditeur. Dans le mail, c’est pareil : il y a forcément l’adresse du destinataire, sinon le mail finit dans la poubelle à octets la plus proche ; il y a potentiellement l’adresse de l’expéditeur pour le prévenir si on n’a pas pu délivrer le courrier. Exactement comme dans La Poste. Si vous mettez votre adresse d’expéditeur au dos, c’est juste pour que ça vous revienne si ce n’est pas distribué à l’autre bout. Les en-têtes, ce qui n’est pas la même chose, c’est les bobards que les machines racontent aux humains. Je vous donne un exemple assez simple (pareil dans La Poste), l’en-tête c’est ce qui dit sur le papier à lettres “Présidence de la République”. Je peux ,moi, avec mon imprimante jet-d’encre, imprimer du papier à lettres qui dise “Présidence de la République” et signer “Benjamin Bayart, Président de la République”. Je vais me faire engueuler a priori, mais ça a à peu près cette valeur-là, les en-têtes. Je peux sans trop de difficultés techniques vous envoyer un mail ayant comme expéditeur à peu près n’importe qui dans les en-têtes. Dans l’enveloppe c’est un tout petit peu plus compliqué. Donc, quand vous vous fiez aux en-têtes affichés par votre lecteur de mail, vous vous fiez au papier à lettres. En moyenne, c’est plutôt fiable parce que les gens sont honnêtes, mais ça peut donner des blagues assez amusantes.
Ce qu’on appelle un MTA, alors j’ai choisi l’acronyme anglais parce que je n’en ai pas trouvé de bon en français, c’est le Mail Transport Agent. Basiquement, c’est le programme qui reçoit du mail et qui décide comment le transporter. Toujours dans le parallèle postal, c’est le centre de tri postal.
Le MUA, c’est le Mail User Agent, ça c’est la partie que vous avez l’habitude d’utiliser. Pour les plus Windowsiens d’entre-vous, ça s’appelle Outlook, pour d’autres ça peut s’appeler Gmail, ça peut s’appeler… je ne sais même pas comment s’appelle celui qui est sur l’Iphone, il doit s’appeler Mail tout bêtement parce qu’il est de chez Apple. Donc ça c’est les lunettes pour permettre au non-voyant (ou au malvoyant) de lire. Voilà, ce sont les quatre concepts importants à comprendre quand on veut comprendre comment fonctionne le mail : il y a l’enveloppe qui est le seul morceau pertinent techniquement, ça [l’en-tête] c’est juste pour faire joli, et il y a ces deux éléments-là qui sont les deux programmes clés qui vont discuter entre eux pour transporter le mail.
Bien, si j’essaie de comprendre ce qu’il se passe quand j’écris un courrier à Monsieur nom@domaine.com. D’abord, en règle générale, mon courrier, je l’écris dans le MUA. Donc dans le programme client. Qui une fois que j’ai fini, le transmet le plus souvent de manière idiote à un MTA avec qui il est copain, il a un petit côté “moi le courrier j’y connais rien, j’ai fini la carte postale, je te la donne, tu y mets un timbre et tu iras la poster”. Ça se résume à peu près à ça. Si je prends l’exemple relativement classique de l’abonné standard du FAI normal : le MUA en moyenne, c’est Outlook Express, le MTA en moyenne, c’est smtp.orange.fr ou smtp.free.fr, je vous laisse décliner avec les autres.
Bien, ensuite, là, il se passe des trucs assez compliqués et que je ne peux pas vous décrire, parce qu’en fait c’est exactement comme si j’essayais de vous décrire le service du courrier interne d’une grande entreprise. Ça peut être trivialement simple, quand c’est la Benj Incorporated c’est simple, c’est-à-dire que moi j’ai écrit mon courrier avec mon porte-plume préféré, je l’ai mis tout seul dans l’enveloppe comme un grand garçon avec un timbre, je suis allé le mettre dans la boîte jaune. Maintenant, si vous essayez d’expliquer comment, par exemple, j’en sais rien moi, une grande administration centrale fait pour envoyer du courrier, vous allez voir que c’est un bordel qui n’est pas du tout le même : c’est-à-dire que vous mettez la lettre dans la bannette à tel endroit où il y a le pitou-pitou qui passe avec son chariot pour la récupérer, qui l’amène au service du courrier, où là il y a le brave gars qui pèse et qui passe dans la machine à timbrer, où ensuite il y a un monsieur de la Poste qui vient avec son grand sac pour récupérer le zinzin pour l’amener au Central, c’est un bordel indescriptible. D’où une chaîne opaque d’intermédiaires. Mais basiquement le transfert qui a lieu est toujours du même type que celui qui est là. En règle générale, c’est un transfert très linéaire sur “Moi j’avais mon petit boulot à faire : coller un timbre, rajouter le logo de la boîte sur l’enveloppe, enfin… des tâches très élémentaires, et où ensuite je passe à celui qui saura. Ensuite on rattaque le vrai moment où ça circule sur Internet. C’est-à-dire que dans le cas le plus simple qui serait celui qu’il y a chez moi : le Mail User Agent, c’est celui qu’il y a sur ma machine, le Mail Transport Agent, c’est celui que j’ai installé sur ma machine. Donc l’étape immédiatement après, le MTA qui est sur Internet, il cherche qui est la machine responsable du courrier pour domaine.com. Ça c’est une résolution DNS, par contre ce n’est pas le champ A. Il ne cherche pas l’adresse IP de domaine.com, ça c’est ce que fait le navigateur web. Il cherche qui est responsable du courrier. Qui est le Mail Exchanger de domaine.com. Donc, si je vous ressortais le transparent que j’ai montré au début sur les DNS, les enregistrements MX c’est ça. Ça dit :”Pour tel nom de domaine qui se trouve à droite du @, le serveur qui est responsable du courrier c’est : Untel". Ensuite, on établit une connexion du même type que celle qu’on avait ici entre le MTA sortant et celui qui est responsable de l’entrée du courrier. C’est-à-dire qu’en fait, ce qui serait l’équivalent de La Poste, c’est là. Une fois que ça c’est fait, basiquement le courrier est arrivé à bon port. Le reste c’est du détail. C’est-à-dire qu’il y a le même problème : quand j’écris à un fonctionnaire précis dans un ministère, le chemin suivi par le courrier pour lui parvenir est beaucoup plus compliqué que quand on m’écrit chez moi, mais ça relève du détail. Et le destinataire, lui, lira dans son MUA, par lequel il pourra répondre.
Donc ça, c’est la structure du mail. Qu’est-ce qui fait que c’est parfaitement a-centré ? c’est ce bout-là [Benjamin montre les points 4 et 5 de la slide] Le seul point intéressant est là, tout le reste c’est du détail.
Le point clé là-dedans, c’est qu’il y a pas de centralisation, exactement comme on peut avoir un nom de domaine par machine voire par personne voire plusieurs. Une fois que j’ai acheté benj.com, je vais faire telephone.benj.com, portable.benj.com, trois noms de domaine même par machine si j’ai envie, ça ne coûte rien. Pourquoi le mail ne crée pas de centralisation? Parce qu’une adresse mail, c’est une-partie-locale@le-nom-d’une-machine. Structurellement, une adresse mail c’est ça, et donc par définition il existe un infini d’ordre supérieur d’adresses mail, puisqu’on a vu qu’on pouvait produire autant de noms de domaine qu’on voulait et que chacun de ces noms de domaines peut gérer autant d’adresses qu’il en a envie. Je veux dire moi, sur ma machine, je gère plusieurs adresses mails, il y a la mienne évidemment, mais il y en a d’autres ! La seule limite qu’il y ait à cette décentralisation c’est l’usage qu’on en fait, là encore. Dans la pratique, pour des raisons qui ne sont pas des raisons d’ordre technique, le mail tend à se centraliser. C’est au moins aussi dangereux que sur le web. C’est-à-dire que vous tendez à laisser traîner votre courrier n’importe où. Vous n’accepteriez jamais de traiter votre courrier postal comme ça. Je ne sais pas combien il y en a chez vous qui ont pour habitude de laisser leur courrier - même après l’avoir lu - chez la gardienne de l’immeuble mais je pense que c’est à peu près personne. Une des particularités cependant, c’est qu’il n’y a pas d’applications dérivées du mail. Il y a bien des applications dérivées du web, je citais l’exemple de Facebook et des applications Facebook tout à l’heure, il n’y a pas, à ma connaissance, d’applications dérivées du mail ; le mail reste ce qu’il est depuis à peu près 30 ans, c’est-à-dire de l’échange de correspondances soit privées soit pas privées, mais basiquement tout le temps le même outil.
Donc là, on vient bien de voir deux applications assez distinctes qui ne sont ni l’une ni l’autre structurellement centralisées. Simplement, l’une qui est le web tend à se centraliser très fortement ; essentiellement pour des problèmes d’éducation et de méconnaissance de l’usage. C’est-à-dire qu’il y a très peu de gens qui savent qu’ils peuvent héberger un site web chez eux. L’autre, qui est le mail, se centralise moins vite, en grande partie parce qu’il n’y a pas d’applications dérivées et donc qu’il y a pas eu de business développé autour.
Là on va avoir un premier exemple de fonctionnement absolument, totalement, entièrement centralisé.
De ce que j’ai compris, parce qu’il faut savoir que le protocole Microsoft, c’est pas documenté officiellement, donc j’ai juste regardé un petit peu comment ça tournait en écoutant ce qui circulait sur le réseau, les discussions entre deux personnes transitent par un serveur central qui est chez Microsoft. c’est-à-dire que quand je dis “Bonjour” à mon pote, le message au sens réseau il va de ma machine à la machine de Microsoft qui le fait suivre à mon camarade. Alors que quand j’envoie un mail au même copain, le mail sort du serveur mail le plus proche de chez moi et rentre dans le serveur mail le plus proche de chez lui. Proche en terme de réseau, c’est-à-dire qu’il sort du serveur mail qui est responsable de mon domaine, pour rentrer dans le serveur mail qui est responsable de son domaine, ça ne transite pas par un point central. Là, sur MSN, tout le trafic transite par un point central aux États Unis. Pour la vidéo ils ont fait gaffe, ils n’ont pas fait comme ça, ça faisait trop de bande passante, donc pour la vidéo, quand les deux personnes veulent échanger un flux (soit de fichiers soit de webcam), il y a une mise en relation directe qui est faite, c’est-à-dire que toute la négociation sur machin demande à accéder au flux vidéo émis par votre webcam, acceptez-vous, refusez-vous etc., tout ça se fait en rebondissant sur les serveurs de Microsoft, par contre, le flux vidéo lui-même ira directement d’une machine à l’autre, ce serait trop lourd à centraliser. Mais c’est vraiment parce qu’ils n’ont pas pu le centraliser qu’ils ne l’ont pas fait. Donc là-dessus, il y a un annuaire central, il faut comprendre ce que ça veut dire, l’annuaire central, c’est pas seulement que Microsoft connaît les adresses de tout les abonnés à MSN, ce qui pourrait à l’extrême rigueur se comprendre, c’est que tu ne connais pas la liste de tes amis… je veux dire, combien parmi vous ont un compte MSN ? Alors vous me reprendrez si je me goure. Je prends votre PC perso, je le jette. Poubelle. J’en prends un tout neuf. Vous vous connectez à MSN avec votre identifiant habituel. La liste de vos contacts réapparaît. J’ai bon? Ça veut dire qu’elle est où? chez Microsoft ! Si Microsoft a décidé que vous n’étiez plus copain avec machin, il n’apparaît plus dans la liste. Funky ! Ils ont l’intégrale de vos discussions [rire]. Délicieux ! [rire] Je ne parle même pas du fait qu’ils peuvent intercepter et ne pas laisser passer tel ou tel morceau ! Ils peuvent enregistrer ce qu’ils veulent ! Moi j’ai connu ça quand j’était petit. C’était 3615 Machin, exactement ça ! Où on se connectait tous au même serveur central pour discuter entre nous en même temps. Alors juste, à l’époque, un minitel c’était pas bien rapide et le réseau n’était pas complètement international mais ça marchait très bien, et effectivement on se retrouvait entre bandes de potes sur le même serveur pour pouvoir bavarder. Ça c’est purement du minitel. Donc cet application-là, on sent très bien dans son architecture même qu’elle est radicalement, structurellement, profondément différente des deux premières qu’on a vu. Alors vous allez me dire “c’est normal, parce que pour faire de la messagerie instantanée il faut forcément qu’on soit deux connectés au même endroit pour discuter sans quoi ça ne marche pas !”. Hé bien non, ce n’est pas nécessaire.
XMPP, c’est le nom technique du protocole de messagerie instantanée qui s’appelle Jabber, que le grand public connaît peut être sous le nom de Google Talk puisque quand Google a fait son outil de messagerie instantanée, ils ont décidé d’adopter un protocole normalisé et ouvert qui s’appelle XMPP et dont le nom de guerre est Jabber. Je n’ai pas envie de rentrer dans les détails de comment c’est rangé etc. Pour permettre de décentraliser le mail, on a vu tout l’heure qu’il y avait un type d’enregistrement très particulier dans le DNS qui s’appelle un enregistrement “MX”. C’est-à-dire qu’il y a les types d’enregistrement A qui associent une adresse IP et il y a les types d’enregistrement MX qui disent qui est responsable du mail. Ça c’est presque une anomalie historique : il se trouve que le mail existait déjà quand le DNS a été inventé. Alors normalement, ça doit vous plonger dans des abîmes d’historique hein c’est… du temps où les dinosaures paissaient paisiblement dans les vertes prairies parisiennes. Le mail existait déjà, c’est-à-dire que les machines s’échangeaient du mail alors qu’il n’y avait pas moyen d’associer de manière raisonnablement simple une adresse IP à une machine. Ça donnait un merdier indescriptible en configuration du réseau. Les ingénieurs réseau connaissaient à peu près par cœur les adresses IP de toutes les machines du monde. Ça tombe bien, elles n’étaient pas nombreuses. Donc forcément, quand on a inventé le DNS, on lui a fait sa petite maison sur mesure au mail, dedans. Et pour tous les protocoles qui ont été inventés après, on n’a pas fait cette subtile modification. Cependant, comme je l’ai évoqué dans le transparent sur le DNS, il y a un champ, TXT, dans lequel je disais que vous pouviez mettre les deux premières pages de votre roman préféré, vous pouvez y mettre n’importe quoi. Et en particulier, dans le n’importe quoi, on peut dire qui est responsable du trafic Jabber, donc du trafic XMPP, pour le domaine en question. Exactement comme il y a un enregistrement MX qui dit qui est responsable du mail, il y a potentiellement dans l’enregistrement TXT un bout d’info qui dit qui est responsable du trafic Jabber. Un point qui a pu vous échapper : dans un enregistrement TXT on n’a pas le droit à des trucs très très longs, pour ça je disais deux pages de roman en espérant que ce soit de petites pages. Je vous l’ai bien précisé tout à l’heure, on a le droit de mettre plusieurs enregistrements du même type associé à un nom de domaine. Si je mets 600 enregistrements TXT associés à un nom de domaine, j’ai mis le roman dedans. Donc ce mécanisme qui consiste à dire “je vais ajouter des informations arbitrairement complexes pour n’importe quelle application nouvelle” dans le DNS est complètement extensible. Je peux bien rajouter un enregistrement TXT pour Jabber et puis ajouter un autre enregistrement TXT pour n’importe quelle autre application de messagerie instantanée. Du coup, effectivement, moi je suis bien connecté à mon serveur Jabber qui est potentiellement sur ma machine. Qui lui détient la liste de mes amis. Ce qui fait que si je détruis mon client Jabber je n’ai pas perdu la liste de mes contacts. La personne avec qui je veux discuter est connectée sur son serveur Jabber. Des serveurs Jabber, il peut y en avoir des milliers sur la planète, ce n’est pas un problème. Quand on voudra se mettre en relation l’un avec l’autre, soit pour savoir qui est en ligne, soit pour pouvoir discuter, la discussion aura lieu directement d’un serveur à l’autre, c’est-à-dire sans passer par un centre. Donc la messagerie instantanée ne suppose pas de centre. Le fait d’avoir décidé d’utiliser couramment un client de messagerie instantanée qui impose un centre, il y a certainement des tas de raisons historiques à ça, mais ce n’est pas une obligation technique. Le “seul mon serveur connaît mes amis”, c’est une vraie différence. Moi ce qui m’embête, ce n’est pas tellement que les informations soient stockées en dehors de ma machine strictement physique. C’est qu’on m’impose de les stocker chez quelqu’un que je n’ai pas choisi. C’est qu’on m’indique “Lui, là, ce sera ton intermédiaire de confiance et tu lui feras confiance. Il est gentil [rire dans la salle]. C’est obligé qu’il soit gentil, de toute façon il est tout seul”.
C’est une vraie différence. Une vraie différence, forte. c’est-à-dire qu’en fait, c’est toute la différence qu’il y a entre le minitel et Internet. C’est toute la différence qu’il y a entre un réseau centralisé qui fonctionnait avec de la commutation de circuit, où donc forcément vous n’étiez en connexion qu’avec un seul serveur, donc vous ne pouviez pas avoir des échanges multiples et variés ; et un réseau comme Internet, qui n’a pas de centre et où, structurellement, vous pouvez être en connexion avec autant de services que vous le souhaitez.
Exemple type : quand vous êtes sur Facebook vous pouvez tout faire sans sortir de Facebook. C’est typique de l’application minitel, qui fait tout et son contraire juste en navigant dans des menus. C’est structurellement à l’opposé de ce qu’est Internet. Et donc quand on parlera dans la prochaine conf, parce que là j’ai quasiment fini, des impacts politiques et sociétaux d’Internet, il faut bien comprendre : pour moi, Facebook ne fait pas partie d’Internet, précisément pour cette raison-là, et MSN n’en fait pas partie non plus, pour les mêmes raisons.
Bien, donc j’ai dit que je parlerais pas du Peer-To-Peer, du coup je ne vais pas en parler, parce qu’en fait c’est bien ce que j’avais prévu : il est 20h14, donc je vais essayer de finir dans moins de 10 minutes, et si je veux vous expliquer comment fonctionne le Peer-To-Peer, on en a pour une demi-heure, alors je vais me contenter de lancer des pistes et des idées pour que vous ayez à peu près une idée de comment ça marche.
Sachant que tous les protocoles de Peer-To-Peer sont différents les uns des autres, c’est-à-dire que Emule ne fonctionne pas du tout comme BitTorrent qui lui-même ne fonctionne pas comme fonctionnait Napster qui ne fonctionne pas comme foncti… enfin, voilà, tout ça est à chaque fois assez différent. On a affaire à un principe qui est celui du réseau à inondation. c’est-à-dire que plus il y a de gens qui viennent rejoindre le réseau, plus le réseau est puissant, puisque chacun, après avoir téléchargé une parcelle d’info, va la remettre à la disposition de tout le monde. Si vous aviez des accès à Internet symétriques, ce qui n’est pas le cas, quand vous téléchargez, vous vous retrouveriez à émettre plus de données que vous n’en téléchargez. Et c’est ce qui fait la puissance du phénomène. Puisqu’en fait on a quelque chose de complètement explosif : si je suis un à proposer un contenu au départ - par exemple, la vidéo de ma conférence ; je la mets en ligne chez moi, si personne ne la télécharge, il ne se passe rien, le réseau ne fait rien. Comme toujours en maths quand on met un zero il ne se passe rien. Si une personne télécharge la conférence, à partir du moment où elle a récupéré le premier tout petit bout de la vidéo alors nous sommes deux à proposer le contenu. Donc quand une deuxième personne se dira, tiens, qu’est-ce qu’il a raconté comme conneries Benj ce soir, cette deuxième personne disposera de deux sources : moi et l’autre ; même s’il n’a pas fini de télécharger, il peut déjà en proposer des bouts. Il y a donc structurellement, dans ce mécanisme de réseau à inondation, forcément autant d’émetteurs que de récepteurs. Simplement on n’est pas tous émetteurs des mêmes morceaux. Donc ça, ça tend à supprimer l’un des points de congestion très classiques dans les structures de réseaux. C’est-à-dire que pour ceux d’entre vous que le sujet intéresse et qui ont suivi d’une oreille distraite le colloque de l’ARCEP de la semaine dernière, toute la bataille qu’il y a en ce moment entre les marchands de réseaux et les marchands de culture en boîte (YouTube, Dailymotion etc.) c’est de savoir comment on fait pour transporter plein de vidéos vers plein de gens ; ça force à mettre des tuyaux énormes parce qu’il y a un gars qui émet plein de trucs et pleins de gens qui reçoivent plein de trucs. En Peer-To-Peer on n’a pas le problème : plus il y a de gens qui demandent le contenu, plus le contenu est disponible. Ensuite, on voit se produire des phénomènes dans ce mécano-là que les gens qui ont fait un peu de maths ou qui ont bu trop de caféine peuvent connaître sous des noms comme la percolation ou l’agglomération. C’est-à-dire qu’effectivement, si on demande tous le contenu en même temps, et que donc, du coup, on se met tous à le mettre à disposition en même temps, il y a bien un moment où le réseau ne pourra pas transporter tout ça, exactement comme si on décide tous de partir en vacances en même temps, même si on ne va pas tous au même endroit, le réseau routier ne va pas tenir. Donc on retrouve les mêmes phénomènes, c’est-à-dire qu’en dessous d’une certaine masse, si je suis vraiment le seul à proposer un contenu, personne ne le trouvera jamais, et au dessus d’une certaine masse, si on est trop nombreux à diffuser le contenu, on sature complètement le réseau ; le contenu se diffuse bien hein, c’est juste tout le reste d’Internet qui ne se diffuse plus. Il y a un côté viral. Donc on a bien ces deux phénomènes. On crée des bouchons soit par trop vite soit par trop plein, qui en moyenne se lissent très très vite. C’est-à-dire qu’effectivement, quand le dernier épisode de la série américaine vient d’être diffusé aux US, dans le quart d’heure qui suit la vidéo est mise en ligne, pendant à peu près 12h c’est le bordel, après : pfft. Une fois qu’il est présent sur suffisamment d’endroits répartis suffisamment bien sur la planète, ça se passe gentiment. Il y a un point intéressant dans le phénomène de Peer-To-Peer : tous les échanges se font par des connexions de proche en proche. C’est-à-dire que quand je cherche un contenu, je discute avec une quinzaine ou une trentaine, ou une cinquantaine ou une centaine de voisins qui font, je pense, tourner le même logiciel que moi de partage de contenu en Peer-To-Peer. Eux-mêmes vont être capables de me dire “tiens moi j’ai des voisins là là là là et là”. On va pouvoir éventuellement créer des petits bouts d’annuaire disant : “aujourd’hui, 20h19, tel fichier il a l’air d’être diffusé par tous ces gens-là”. Ce n’est pas vrai, ce n’est pas complet, c’est à moitié faux, ce n’est pas grave. On va leur demander, et à tous ceux qui répondront que oui, bah on prendra et puis tout ceux qui ne répondront pas, on les virera de la liste. Tout ça fonctionne sans DNS. C’est-à-dire que le seul tout petit point de centralisation qui restait dans les autres protocoles, sur celui-là, il à sauté. Donc de tous les protocoles applicatifs qu’il m’a été donné de voir depuis un petit moment déjà que je suis sur le net, c’est celui qui est le plus proche de la philosophie globale d’Internet. Qui n’est pas compliqué, qui est bêtement massif, et qui marche.
Du coup, on s’en sert quand même avec des annuaires. Combien parmi vous ont pratiqué un peu BitTorrent? Aaah un tout petit peu moins que ceux qui ont de l’ADSL. Pour les gens qui ne verront pas sur la vidéo, ça fait à peu près 98% quand même, mais j’ai bien vu qu’il y a au moins 2 ou 3 mains qui ne se sont pas levées. Quand vous récupérez un torrent, c’est-à-dire le petit bout de fichier qui vous donne la référence exacte du morceau que vous voulez télécharger, vous avez un bout d’annuaire qui dit “tel fichier, tel identifiant technique”, ensuite ce qu’on va aller chercher, ce sont des seeds qui sont en fait “pour tel identifiant technique voilà quelques centaines d’adresses IP qui prétendent en disposer”, ça, ça joue bien quelque part un espèce de rôle d’annuaire ou de DNS, c’est complètement a-centré. Il peut y en avoir plusieurs en parallèle, il y a les gens qui avaient l’habitude d’aller chercher les infos sur thepiratebay, il y en a d’autres qui ont l’habitude d’aller les chercher ailleurs. Des annuaires comme ça qui diffusent des torrents et qui diffusent des seeds, il y en a, quoi, quelques centaines? Quelques milliers? Exactement comme si on avait en parallèle plusieurs centaines ou plusieurs milliers d’annuaires au sens DNS qui ne se sont pas concertés, qui ne sont pas d’accord entre eux, qui contiennent tous un certain nombre d’infos fausses et qui, pourtant, fonctionne. C’est tout le jeu, d’ailleurs, de ce à quoi vont s’amuser les anti-Hadopi sitôt que la Hadopi sera en place : injecter de fausses info dans les annuaires qui traînent. C’est-à-dire que je suis absolument certain que l’adresse IP du Ministère de la Culture sera dans à peu près tous les carnets d’adresses de la planète, et je suis aussi parfaitement certain que, en bonne égalité républicaine, ils ne seront jamais emmerdés.
Bien, un petit bout de conclusion : on est bien d’accord, je n’ai pas parlé du Peer-To-Peer, vous ne savez toujours pas comment il marche. Ce qu’on a vu la semaine dernière, c’est un point clé, c’est que le réseau est totalement générique. Il transporte des paquets de données dont il ne sait pas ce que c’est. Il ne sait pas quel paquet de données est une question, quel paquet de données est une réponse. On pourrait se dire : quand y a un petit paquet puis un gros, c’est la question puis la réponse. Ben non il y a des fois où la question est plus grosse que la réponse. Vous vous imaginez la question standard qu’on pose à un politique “Blablablablablablablablablabla ?” à la fin il fait “Sans commentaires”. Si tu ne parles pas la langue, va identifier la question et la réponse. Ce qui est intéressant, c’est que ce réseau générique permet des applications inattendues : typiquement, de mémoire, le DNS ça a dû être inventé à peu près quinze ans après Internet. Le Web, je dirais aussi à peu près quinze ans après le DNS. On n’a pas remis en cause le DNS, le web s’en est très bien contenté. Jabber, qui est une invention fort récente, a repris les idées pour décentraliser qu’utilise le mail, à savoir quelques enregistrements DNS spécifiques sans modifier ni ce qu’est IP ni ce qu’est le mécanisme d’annuaire qu’est le DNS. Ces applications n’étaient pas prévues, elles sont possibles et elles ne sont possibles que parce que le réseau est générique. C’est bien l’élément important de la semaine dernière : le réseau transporte des données auxquelles il ne comprend rien, les applications seules en font quelque chose d’intelligent. Je tiens beaucoup à l’exemple que j’ai donné de MSN vs XMPP, même si moi personnellement je n’utilise aucun des deux. Il m’est arrivé d’utiliser MSN quand même pour pouvoir en dire du mal. Autant pour les trucs où on dit du bien c’est pas obligé, mais les trucs où on dit du mal, il vaut mieux avoir essayé. On peut très bien, pour la même application, la développer de deux manières : l’une qui suppose un centre, l’autre qui n’en suppose pas. En règle générale, la solution qui ne suppose pas de centre est plus simple puisqu’elle ne demandera pas d’avoir des ordinateurs d’une puissance infinie et une bande passante monstrueuse pour alimenter les ordinateurs en question. Elle demande par contre de réfléchir un petit peu plus pour chercher comment faire sauter le centre. Comment on fait pour enlever l’annuaire central, par exemple, dans de la messagerie instantanée. Et il faut savoir qu’en règle générale, ces problèmes ont déjà été résolus au moins une fois.
C’est-à-dire que, si vous cherchez, d’autres protocoles de réseaux qui permettent d’éviter les centres existent déjà ; il y a basiquement 3 modes : il y a la gestion par délégation, c’est ce que fait le DNS, c’est ce qui fait que le DNS racine qui porte tout le centre d’Internet mange globalement relativement peu de questions par rapport à ce qu’il y a comme nombre d’internautes. Vous avez la gestion en passant par l’annuaire, c’est ce que fait le mail. Et vous avez la gestion par un réseau d’inondation, c’est ce que fait le Peer-To-Peer. C’est les trois grandes réponses classiques. Enfin, les applications en elles mêmes, hormis quelques saletés comme MSN, ne sont pas structurellement dangereuses pour le réseau ; ce qui tend à dénaturer le réseau en le transformant en réseau centralisé, ce ne sont pas les applications en elles-mêmes du réseau. Ce n’est pas HTTP, donc le web, ou SMTP, donc le mail, qui tendent à centraliser le réseau, c’est le manque d’éducation des internautes et c’est un manque de connaissances de ce qu’est le réseau. Ce qui n’est pas choquant. Un des points par lesquels je commencerai la semaine prochaine sera probablement le fait qu’il y a une courbe d’apprentissage sur Internet. C’est-à-dire qu’il y a en France 18 millions, de mémoire, d’abonnements haut débit, là-dedans il y a un peu moins de 10% des gens qui savent à peu près convenablement comment se servir d’Internet, ce n’est pas choquant, ce n’est pas étonnant, c’est long à apprendre : il y a une courbe d’apprentissage qui commence au tout début par la vidéo du chat qui fait des galipettes dans YouTube, vous l’avez tous vue c’est à peu près le début, ah c’est marrant, c’est con. Un petit peu plus loin, il y a le moment où au lieu de juste regarder les débileries qu’envoient les copains on se met à discuter de choses un petit peu plus intéressantes que des débileries avec soit des copains, soit des amis, soit des collègues. Un tout petit peu après, il y a le fait qu’on commence à aller lire du contenu, c’est-à-dire qu’on se dit tiens, plutôt que de me contenter de la Pravda que je reçois dans la publicité le matin, je vais aller lire ce qu’écrivent d’autres gens ; puis on finit par trouver des sources d’information sur le net. Puis un petit peu plus loin, il y a un moment où on se met à écrire : on se dit “Mais non, non, non, il a écrit son papier, moi je le connais le sujet : je bosse dessus, c’est de la merde son truc, je vais lui dire quand même qu’il s’est gouré”. Puis après à force d’écrire des commentaires de 800 lignes, on se dit bon je vais arrêter d’en faire un commentaire, je vais ouvrir un site web, je vais le mettre moi. Là, on commence quand même sérieusement à s’approcher d’être un internaute expérimenté. Il y a une courbe d’apprentissage, c’est normal qu’il n’y ait qu’une relativement faible part de la population expérimentée sur le sujet. C’est très simple, il suffit de regarder qui a accès à Internet depuis plus de 10 ans. Les gens qui ont plus de 10 ans d’expérience, forcément, connaissent mieux et maîtrisent mieux l’outil que les gens qui ont moins de 3 ans d’expérience, donc il y a une courbe d’apprentissage.
C’est essentiellement ça, qui tend à centraliser le réseau : le fait qu’il y a en ce moment, de manière transitoire sur le réseau, une majorité d’ignorants, ce qui du coup entraîne des usages qui sont… dramatiques, le mot est trop fort. Dangereux. Parce qu’à l’heure actuelle, enfin non, il y a 10 ans, ce qui empêchait quelques grands groupes de vouloir s’accaparer le mail - il y en a qui ont essayé, c’est qu’ils obtenaient n’importe quoi. Un système de messagerie, ça devait être à peu près le cas chez AOL par exemple, où on ne pouvait tranquillement discuter qu’entre gens abonnés à AOL, il vous manquait 80% de la planète, donc forcément les gens, ils ont le choix entre un truc où on peut parler à un humain sur 5 et un truc où on peut parler à 4 humains sur 5, ben ils vont tous du côté où il y a 4 humains sur 5, ce qui a rapidement fait plus que 4 humains sur 5 du coup. Et donc ça c’est arbitré assez vite, ce genre de connerie. Maintenant, si Monsieur Facebook, il décide qu’il ne veut parler qu’à Monsieur Facebook ; s’il a 70% de la population, il s’en fout du reste. Alors lui tout seul il ne pourra pas, mais si les abonnés qui ont un compte hotmail peuvent discuter avec les abonnés qui ont un compte Gmail qui peuvent discuter avec les abonnés qui ont un compte Yahoo, on a là couvert une grande part de la population. Si on étend ça pas très loin, à à peu près 200 ou 300 en comptant les gros FAI, les très gros. On va dire par exemple que Free c’est trop petit. Donc on va étendre ça à à peu près 200 ou 300 opérateurs et on va avoir récréé un réseau entièrement centralisé qui perd essentiellement cette caractéristique-là. C’est bien parce qu’on n’avait rien prévu quand Internet à été inventé que tout a été inventé depuis. C’est ça la différence fondamentale entre le minitel et Internet. Le minitel, c’est fait pour faire du minitel et rien d’autre et curieusement on n’en a jamais rien fait d’autre. Internet, ce n’est pas fait pour quoi que ce soit, ça transporte des données, c’est trop bête pour faire quoi que ce soit, et du coup on a pu en faire tout ce qu’on voulait. En créant une centralisation, on va créer une spécialisation et donc perdre une capacité à innover. Donc voilà. Le vrai morceau intéressant, c’est que les applications spécifiquement Internet-like tendent à se développer en fait avec l’expérience des utilisateurs, c’est-à-dire que plus les utilisateurs sont expérimentés plus ils tendent à s’orienter vers des solutions autres simplement parce que bah on commence à voir ça, les gens qui découvrent alors qu’ils ont un compte Facebook depuis un an et demi que ça ne marche pas du tout comme ils croyaient, que “ah tiens ce n’est pas que des gentils, ce n’est pas une œuvre de bienfaisance”, enfin des tas de trucs. Les gens qui découvrent que Google ne fait pas forcément tout non plus par amour de l’humanité, donc voilà. Ça s’apprend, c’est comme tout. Il n’y a rien de… en fait, dans les applications actuellement utilisées sur le net, il n’y a pas grand chose qui tende structurellement à la centralisation. Il y a MSN quand même, mais c’est à peu près tout.
Voilà. Donc ça, c’est la fin du 2ème volet, je crois bien qu’il n’y a plus rien derrière. Ce qui fait que du coup, vous avez normalement maintenant une idée assez claire de ce que c’est qu’un réseau de transport et du fait que ça comprend rien à ce que ça fait quand ça marche bien. Vous devez avoir une vision assez claire de ce que sont des applications, de la différence qu’il y a entre une application centralisée et une application a-centrée, et ce sont les deux points clés dont on aura besoin la semaine prochaine pour parler des conséquences politiques d’Internet. Et je suis à peu près dans le délai que j’avais prévu. Si vous avez des questions…