Parallèlement à l'arrêt de Google Reader, on parle beaucoup
de RSS. Par exemple, un commentateur a un de mes billets a dit : "Oui il faut pas confondre google reader et flux RSS car
même si le RSS n'a pas eu le succès escompté mais c'est un outil indispensable
pour faire sa veille." Le hic : RSS n'est pas un outil. C'est un
format de fichier. Les gens évoquent RSS mais ne savent pas ce que c'est... Ils
utilisent des mots sans savoir ce qu’il y a derrière. Je dois avouer que j'ai
eu beaucoup de mal à comprendre, retroussons les manches... Et reprenons à la base.
Tu permets que je te tutoie ?
Quand, dans ton navigateur, tu cliques sur un lien, tu choisis un favori ou tu
tapes l'adresse de mon blog, tu envoie, en fait, une requête http. C'est un peu
comme si tu faisais un numéro de téléphone.
Il va donc partir sur le réseau http://www.aubistrogeek.com avec un pas
d'autres informations (où tu es, quel navigateur tu utilises, comment tu es
arrivé sur le site, par exemple). Ton fournisseur d'accès va envoyer tout ça à
un serveur de routage (les machins DNS) qui va savoir où est le serveur qui
gère aubistrogeek.com pour lui envoyer tout ce bordel.
En fait aubistrogeek.com est un pseudo pour jegweb.blogspot.com. C'est donc le
serveur blogspot.com qui va recevoir la demande. Blogspot est le machin qui
héberge les blogs Blogger, la filiale de Google qui gère les blogs. D'autres
blogueurs ont fait des choix différents des miens. Ils peuvent, par exemple,
avoir leurs propres serveurs chez eux. Le machin DNS saura où envoyer la
demande (il va convertir le nom de domaine en adresse IP, mais je ne vais pas
descendre jusque là).
Nous en étions au moment où blogspot.com reçoit la demande pour jegweb.blogspot.com.
Il va se dire : "tiens ! Un appel pour le blog jegweb." Et
transmettre tout ça à l'application qui gère mon bordel.
Celle-ci va alors préparer une page HTML que le serveur va renvoyer à votre
navigateur pour lui donner des instructions. Notre navigateur va recevoir çà et
sous votre regard émerveillé mon blog va s'afficher...
Que va contenir la page HTML ?
Tu peux regarder toi-même, si tu veux. Par
exemple, si tu es avec Firefox, tu trouveras dans les menus une option
"outil pour les développeurs" puis "afficher le code
source". Tu n'y comprends rien ? C'est normal... Mais il y a 10 ou 12 ans,
c'est ce genre de merdier qu'il nous fallait taper si on voulait gérer un
serveur web.
La page HTML va contenir, globalement des instructions d'affichage, du texte à
afficher, des adresses d'images à afficher, des bouts de
"scripts",...
Par exemple, pour mon blog, il y aura l'instruction : "Hé ! Banane !
Affiche donc en haut à gauche et en gros : Partageons l'addiction" puis
"Hé ! Banane ! Affiche donc en dessous le slogan du blog mais en plus
petit".
Ces instructions sont appelées : balises html. Il va y en avoir pour un tas de
trucs, comme afficher du texte, insérer un lien, afficher une image à aller
chercher sur un serveur, exécuter un bout de programme,...
T'as vu ? En haut à droite, j'ai un machin avec les cercles Google+. Je suppose
que dans la page HTML, j'ai un bout de commande qui dit : vas donc voir sur les
serveurs de Google+ ce qu'il faut faire pour "le comptoir de Jegoun".
Le serveur Google+ enverra alors des instructions à ton navigateur...
Tu as bien suivi ?
Je résume... Tu tapes http://www.aubistrogeek.com. Le réseau envoie ça à un
serveur Blogspot dont une application va transmettre une page html avec des
instructions pour ton aviateur qui, dans la joie et la bonne humeur, exécutera
ces instructions pour que tu puisses voir mon blog.
Je vais m'attarder un peu sur le HTML. C'est important. C'est une norme qui
permet, globalement, à un serveur de parler dans une langue connue par le
navigateur. La norme évolue sans cesse. Elle est définie par le W3C (World Wide
Web Consortium) qui est un organisme à but non lucratif, composé des
industriels, des gens qui font des navigateurs. Les anciennes versions étaient
très lourdes et on a vu éclore des tas de machins qui se sont greffés dessus,
comme le Javascript qui s’est greffé dessus pour nous faire des machins comme
on voit actuellement. Nous en sommes à HTML 5 qui est commence à voir le jour.
Elle permet un tas de nouveaux trucs, comme l'affichage de vidéos en streaming sans
passer par des serveurs comme YouTube et sans Flash ce qui sera bien pratique
mais on s’en fout, à ce stade.
Bref, comme dit
Wikipedia :
«
L’Hypertext Markup Language, généralement abrégé
HTML, est le format de données conçu pour représenter les pages web. »
Je répète : c’est la base ; ça permet à un serveur de parler à un
navigateur.
Tant que je parle de normes, il me faut évoquer XML. C’est
aussi un machin défini par le W3C. C’est ce qui permet de transporter des
données sur le web. Hier, par exemple, à propos de la disparition de Google
Reader, on disait qu’on pouvait télécharger la liste des blogs auxquels on est
abonné. Je te disais comment le faire… Si tu l’as fait, regarde le fichier
vite-fait. C’est important que des gugusses fassent ce genre de normes, sinon
on serait toujours à échanger des 0 et des 1 sans savoir quoi en faire… Il y a
plein de normes, comme ça ! Par exemple, IMAP est la norme qui vous permet
de récupérer les messages dans une messagerie.
Revenons aux blogs. Votre navigateur ne sait pas ce qu’est
un blog. C’est donc le serveur web qui va lui envoyer les instructions en HTML,
voire des données en XML (ou un mix des deux, le langage XHMTL).
Qu’est-ce que le serveur de blog ?
C'est, d'un côté, ce que je vais appeler une application,
c'est-à-dire un ensemble de logiciels et, de l'autre côté, une base de données,
soit un ensemble de fichiers. L'application va utiliser ces données pour
préparer une page HTML pour ton navigateur.
Cette base de données à plusieurs volet : la description du blog, les billets
et les machins comme les images qui sont affichées dans les billets.
La description du blog est ce qui permet sa mise en page, la couleur du fond,
le contenu des colonnes, la police de caractères, le détail de la blogroll,...
Appelle-ça comme tu veux : feuille de style, CMS,... peu importe. Pour des
lascars comme moi, qui gèrent leurs blogs avec Blogger, tout cela est presque
transparent.
Les "billets" est la partie qui évolue au quotidien est qui contient
la description des billets : le titre, le texte, la présentation, la position
des images (stockées à part dans ce que j'appelais "les machins",
ci-dessus).
Je résume à nouveau. Pour l'affichage d'un blog, nous avons trois trucs qui
interviennent : ton navigateur, le serveur web et la base de données.
Le serveur web est très fort : il va pouvoir préparer les pages html de
différentes manières selon que tu consultes le blog d'un ordinateur ou d'un
smartphone.
On a donc 3 machins, le navigateur, le serveur et la base. On appelle ça une
architecture 3 tiers ("tier" est un mot anglais qui veut dire niveau,
ce que je sais depuis peu). Ceci a peu d'importance dans le cadre du présent
billet mais c'est pour ta culture générale parce que c'est la base de
l'informatique actuelle. Prends l’exemple de ta banque. Pour consulter tes
comptes tu as un navigateur, un serveur et une base de données. Ton conseiller
financier aussi. Le navigateur et la base de données seront les mêmes. Seul le
serveur change... Réfléchis bien à ça. La standardisation par les normes est
importante. Vos navigateurs vont parler le même langage, HTML, aux deux
serveurs différents qui parleront avec le même langage à la base de données.
Deux serveurs différents ? Pour les blogs, c'est pareil. Par exemple, pour voir
mon blog, j'utilise (et toi aussi) un serveur blogspot.com (redirigé à partir
de aubistrogeek.com). Pour gérer mon blog, j'utilise un autre serveur, blogger.com.
En fait, ce sont plus précisément trois serveurs : un pour la consultation sur
ordinateur, un, très proche, pour la consultation sur smartphone, un pour la
gestion du blog. Pour la banque, c'est pareil. Tu auras un serveur pour
consulter tes comptes sur ton PC et un autre pour consulter ton compte à partir
d'un automate de type « distributeur de billets ».
Revenons à nos moutons.
Je disais qu'un blog est avant tout une base de données. Ça te troue peut-être
le cul mais c'est comme ça. Les gens qui ont un blog "Wordpress.org"
le savent très bien.
Cette base de données est composée de trois machins, disais-je... J'ai oublié
quelques détails. Par exemple, elle contient aussi les commentaires aux
billets.
Et les flux RSS ?
Ils font partis des machins que j'ai oubliés. Le fameux flux RSS ! C'est en
fait un petit fichier à côté du blog. Tiens ! On parle parfois de flux ATOM.
C'est à peu près pareil. Ce sont deux standards différents mais tous les deux
basés sur la norme XML que j'évoquais plus haut.
Le flux RSS est un fichier qui est mis à jour quand on publie un nouveau
billet, notamment. Il contient une description rapide du blog et les derniers
billets, soit complets, soit tronqués. S'ils sont complets, ils peuvent avoir
le même format que les billets. D'ailleurs, si tu consultes un de mes billets,
il aura la même tronche dans Google Reader que sur mon blog.
L'intérêt du fichier RSS est qu'il est tout petit et "statique" alors
que le blog lui même contient un tas de saloperies diverses (bannière, image de
fond, blogroll, les commentaires, le soft pour gérer les commentaires...). Le
fichier HTML est généré à chaque affichage du blog.
Si tu utilises Netvibes ou une application sur smartphone, tu auras remarqué
que l'affichage prend quelques temps : il faut que le serveur qui gère ça aille
voir si les flux RSS de chaque blog ont été modifiés depuis la dernière fois
puis, le ça échéant, le télécharge. Si besoin, il va le traduire en HTML pour
que ton navigateur l'affiche.
Autour des flux RSS, il y a une espèce de double malentendu. D'une part, la
notion de flux est un peu abusive. Ça vient probablement de l'anglais ou d'un
vieil usage dans l'informatique. D'autre part, l'abonnement aux flux ne vient
pas du fait qu'on s'abonne à un blog mais qu'autrefois il fallait être abonné
pour pouvoir lire un flux. Vous vous abonniez à un blog dans votre agrégateur
et, lui, s'abonnait au flux pour avoir l'autorisation de le lire.
Avec le terme abonnement, on avait l'impression que c'est l'abonné
(l'agrégateur) qui recevait automatiquement l'information (comme on reçoit dans
notre boîte à lettres un journal auquel on est abonnés) alors que c'est bien
l'agrégateur qui va chercher le fichier avec ce qu'on appelle un flux.
L'utilisation quasi obligatoire à une époque de feedburner rendait cette notion
d'abonnement plus réelle. Comme Google Reader et Feedburner étaient dans la
même boutique, ça facilitait la chose.
Bon...
Il n'y a pas que les agrégateurs ou lecteurs de flux qui utilisent les flux
RSS. Par exemple, les billets de ce blogs sont publiés automatiquement sur mon
compte Twitter et ma page Facebook. Pour ce faire, j'utilise dlvr.it qui va
vérifier périodiquement le flux de mon blog pour voir s'il y a du neuf.
Tous les dix minutes, dlvr.it appelle Blogspot : "hé ho ! Y'a du neuf chez
aubistrogeek.com ?", Blogspot renverra la question à Blogger qui renverra
la question à Feedburner... Vous imaginez le bordel !
Autre exemple... Vous voyez en haut de ma colonne la plus à droite. Il y a une
blogroll dynamique. Les blogs y sont affichés avec le dernier billet de chacun.
C'est basé sur les flux.
Allez sur mon blog politique. Je ne sais plus combien de blogs sont présentés.
Disons 150. A chaque fois qu'une andouille ouvre mon blog, il faut que blogueur
aille voir les flux de chacun d'entre eux pour aller voir les billets de chacun
(et ne présente que les 25 derniers). Vous avez vu ce bordel ? 8 ou 900 fois
par jour, il va interroger 150 blogs, tout ça pour quelques loustics qui
cliquent...
Je résume. Le flux RSS et son concurrent, le flux ATOM, sont des petits
fichiers à côté des blogs que vont périodiquement mais fréquemment consulter
des applications pour demander : "alors, quoi de neuf sur ce site ?".
La réponse est négative dans 100% des cas.
J'espère que vous avez tout compris jusque là ! Des puristes pourront apporter
des précisions si je me plante. Qu'ils ne focalisent pas sur les détails, je ne
fais que vulgariser. Merde, quoi. Vive la vulgarisation.
Un dernier détail. Les flux RSS ne sont pas dédiés aux blogs ou aux sites web.
Par exemple, si vous suivez le compte Twitter @leftblogs, il contient tous les
billets de notre groupe de blogueurs gauchistes. Il est diffusé par dlvr.it sur
la base d'un flux RSS qui agrège les flux RSS des blogs de tous les membres du
groupe. Autre exemple, vous pouvez vous abonner à un flux RSS avec l'ensemble
des tweets que vous avez marqué comme favoris.
Il existe, ainsi, des centaines de millions, probablement des milliards de flux
RSS. C'est le bordel.
Bref…
Quand j’ai commencé à bloguer, fin 95, on ne parlait pas des
flux RSS. On allait dans les blogs à la main, de blogroll en blogroll. La
notion a commencé à se développer par la suite, j’ai appris que j’avais moi-même
un flux RSS et que tous les blogs en avaient.
Techniquement, ça restait un peu du chinois. Les gens
parlaient de syndication ou de mots compliqués comme ça. On y comprenait que
dalle. C’est en 2007 qu’on a commencé à comprendre que la « syndication de
contenu » était très importante et l’avenir du web.
On a commencé à s’abonner aux blogs dans Netvibes, qu’on
aimait bien, c’était un truc Français. Il est sorti en 2005, trois semaines
avant que Google ne sorte son service… On est passé à Google Reader pour
différentes raisons, notamment qu’il offrait des services complémentaires.
RSS ne mourra pas. Google Reader sera repris par Feedly, ils
ont vraisemblablement des accords. Google Reader n’avait plus aucun intérêt
pour Google qui développe une autre approche du web.
C'est quoi RSS ?
Il faut que je réponde à mon commentateur. Ce n'est pas un outil.
C'est un petit fichier, annexé aux sites web, qui décrit les dernières modifications de celui-ci. Pourquoi voudriez-vous que ça disparaisse ?