Et si on faisait du web comme en 1999, ou presque ?

1999

Il est 22h. Dans la nuit guadeloupéenne bruyante des chants des insectes et autres crapauds – et pour combien de temps encore ? – je sors de ma chambre en tirant un fil de téléphone pour aller le brancher dans le salon. Je fais ça presque tous les soirs, à cet horaire précis, car c’est à moitié prix. Un nouveau chant retentit dans la nuit tropicale, celui-ci plutôt robotique : « Rrrrrrr Sccccrrrrr Tan ! Tan ! Rrrrrrrr Sccccrrrr ». La connexion se fait après quelques secondes interminables et c’est parti, à la vitesse supersonique de 33,6 kilobits par seconde !

Je lance le logiciel de messagerie instantanée ICQ (I seek you), je fais coucou à mes contacts canadiens, car ils sont les seuls connectés à cette heure-là, sur ce même fuseau horaire. Tout passe par l’écrit. On partage une ou deux photos quand le réseau veut bien laisser passer. « Uh oh ». Je reçois un nouveau message. Les émojis n’existent pas encore. On utilise les smileys, simples et efficaces. Ce sont aussi les premiers amours virtuels et longues distances.

Je lance Altavista ou bien Yahoo ! et je fais une recherche. Je lance Napster pour tenter de télécharger un titre de musique, en toute illégalité bien sûr, mais j’achète encore des CD. Le téléchargement prendra fin le lendemain ou le surlendemain.

Dancing baby, l'un des tous premiers mème des Internets
Dancing baby, l’un des tous premiers mème des Internets

Netflix n’était pas encore un service connu en dehors des USA d’autant plus que ce n’était qu’un service de location de cassettes vidéo. Google n’était pas encore ce qu’il est devenu et affichait fièrement sa devise : Don’t be evil (Ne soyez pas malveillants).

Deux ans auparavant, un jour de 1997, dans un magazine dédié à Internet et aux sites web, était mentionné le site web du film « Le Cinquième Élément ». Pour y accéder, il fallait télécharger et installer une extension pour la lecture du contenu Flash. Je n’avais pas encore Internet à la maison. Je fonce au cybercafé dans les faubourgs de Pointe-à-Pitre et me connecte. Je me rappelle avoir été scotché puis subjugué par les possibilités qu’offrait Flash pour animer un site web, faire des jeux vidéo, etc. Mais rien n’était possible sans HTML.

Pour replonger dans les entrailles du web d’avant, une adresse : Internet Artifacts (attention le contenu derrière ce lien nuira à votre productivité).

HTML

Nous ne connaissions pas Tim Berners Lee, l’inventeur du web, et pourtant avec Hari et Dimitri, mes camarades, nous nous sommes lancés dans la création du site web de notre Lycée. C’était en 1996 ou 1997. Photos scannées, gif animé du logo du lycée reconstitué en 3D et tournant à l’infini, fond d’écran kitsch. Du contenu dans des balises <center>, <font>, <blink>, <marquee>, des tableaux dans des tableaux dans des tableaux. Tout y est pour faire nos premiers pas dans ce nouveau monde inexploré qu’est la « toile ».

À propos de la balise <marquee>, permettant de faire défiler du texte, j’ai eu la surprise d’apprendre qu’elle est toujours supportée (au moins sur Firefox) et que Google en a fait un easter egg (le voyez vous dans cette page de résultat ?).

L’hébergeur associatif Mygale (devenu ensuite Multimania) offrait alors un accès gratuit et une liberté de publier des contenus sur Internet. On utilisait (et on utilise toujours parfois) un logiciel de FTP pour téléverser les pages HTML et les contenus.

Internet à la fin des années 1990, c’est une promesse de village planétaire, où l’on rêve de pouvoir discuter et échanger des savoirs avec des gens du monde entier. C’est aussi et surtout le web pas encore dominé par les plateformes des big tech, la publicité et les traceurs. Un espace d’explorations et d’expérimentations. François Houste, auteur des Mikrodystopies, propose sur Mastodon une exploration des sites web référencés dans un guide paru en 2000.

Mais c’est aussi la peur du bug de l’an 2000, des avions qui vont s’écraser, les banques qui vont faire banqueroute, la bourse qui se crashe, la crainte de l’effondrement total de notre jeune civilisation informatisée (qui n’aura pas lieu). Les premiers cabinets de consultants informatiques ont pu faire leur beurre et sont entrés plus en forme que jamais dans ce début de XXIème siècle, qui va s’annoncer, malgré l’éclatement de la « bulle internet », comme l’ère de l’accélération de la numérisation. Un grand chamboulement va arriver un peu plus tard, vers 2008, avec le déploiement massif de l’Internet mobile.

Web perverti

De web 1.0, nous allons passer à un web 2.0, un web participatif mais qui va se révéler être un web centralisé dominé par les plateformes des big tech. Dans le manifeste de Yesterweb, collectif nostalgique du web des années 1990, on peut y lire :

Le cœur du web est l’expérience internet « par défaut » pour tous les êtres humains, largement définie par des plateformes monopolistiques et capitalistes comme Facebook, Twitter, TikTok, Reddit, et d’autres. Google, Microsoft et Amazon fournissent en grande partie les fondations qui définissent les frontières (souples mais perceptibles) de la mégapole centrale grâce à leurs moteurs de recherche et à leurs services d’hébergement. En d’autres termes, la plupart des internautes sont confinés dans les limites de ce qu’ils peuvent rechercher et de ce qui leur est présenté. L’expérience du web est optimisée par le profit, en gardant les individus au sein de leurs plateformes et services et sensibles à leurs médias afin de maximiser la publicité, les ventes et la collecte de données.

En effet, nous nous sommes laissés enfermer dans une seule vision du web, marchande, centralisée, violente, alors que les possibilités d’émancipation sont infinies.

Et si on rebroussait chemin ?

L’humanité a produit assez de biens matériels (vêtements, meubles, objets électroniques…) et même immatériels (cinéma ou jeux vidéo par exemple), qu’elle pourrait arrêter d’en produire et s’occuper de les entretenir, les réemployer, les faire perdurer dans le temps, pour ensuite les léguer de génération en génération.

De la même manière, pour le web, on pourrait imaginer que les technologies, API et standards arrêtent d’évoluer. À ParisWeb 2023, Maxime Bréhin invitait à réfléchir à une décroissance numérique et à un « Web stationnaire ». L’idée est peut-être d’arrêter d’ajouter de la complexité à des technologies déjà complexes. Personne aujourd’hui ne peut réellement maîtriser toutes les technologies servant au bon fonctionnement d’une simple page web. Par exemple, de CSS 1 à CSS 3, nous sommes passés de 53 à 363 propriétés.

Un panneau publicitaire pour la 5G en haut d'un immeuble vétuste. Contraste saisissant.
Un panneau publicitaire pour la 5G en haut d’un immeuble vétuste. Contraste saisissant.

Dès lors que des packages JavaScript sont utilisés, on se retrouve avec un dossier node_modules lesté de plusieurs centaines de Mo. Les applications deviennent alors dépendantes d’une multitude de composants et de sous-composants, avec un risque certain de fragilité. En 2016, la dé-publication de LeftPad, un tout petit package JavaScript, a bloqué de nombreuses applications qui ne pouvaient plus être mises à jour. De nombreuses voix s’élèvent pour dénoncer une « Javascript-fatigue » ou bien un accélérationnisme insoutenable. De plus, en tenant compte de la gourmandise des technologies toujours plus nombreuses et complexes, un ordinateur performant et changé régulièrement est généralement nécessaire pour coder dans de bonnes conditions.

Le web a dérivé au point que des cadres et référentiels sont définis pour tenter de ne pas se faire déborder : référentiel d’écoconception, guide de conception sans dark patterns, cadre pour un Numérique d’intérêt général ou les contours d’un numérique acceptable.

Votre attention est en train de baisser, non ? Vous avez le droit à une pause ludique. Petit message à caractère publicitaire, pour vous signaler ce Jeu de l’écoconception 100% anti-greenwashing disponible également en anglais. Ce quiz concocté par votre serviteur et la communauté du podcast Techologie vous invite à répondre à 16 questions pour savoir si vous êtes green, super green tout en évitant de tomber dans les pièges du greenwashing !

Ceci n’est pas une page web

Finalement, de quoi avons nous besoin pour publier un site web aujourd’hui, comme en 1999 ? J’espère apporter de l’eau au moulin dans la lignée des articles parus dans 24 jours de web 2022 : Et si la sobriété passait par un retour aux sources ? par Lætitia Avrot et Arrêtez de faire des sites dynamiques par Arnaud Ligny, articles que je vous invite vraiment à lire ou à redécouvrir.

This is a motherfucking website est une proposition singulière (et trash) d’une page web minimaliste sans CSS. And it’s fucking perfect. Et c’est parfait (ou presque, car vous noterez au passage que l’auteur a quand même mis un traceur Google Analytics). En dehors de l’aspect brut de décoffrage, la proposition mérite de faire réfléchir. L’auteur affirme, en résumé, qu’il ne faut rien ajouter à une page web pour avoir du sens, qu’elle soit légère et qu’elle s’adapte à toute taille d’écran (responsive).

This is still a motherfucking website est une contre-proposition avec un minimum de CSS (7 déclarations) pour rendre la page web un minimum lisible. And it’s more fucking perfect than the last guy’s. Elle est encore plus parfaite que celle de l’autre gars (ou presque, car vous noterez que l’auteur a lui aussi mis un traceur Google Analytics).

D’autres propositions vont beaucoup plus loin. C’est le cas de Gemini, tout à la fois format et protocole (gemini://). Il est nécessaire d’utiliser un autre outil qu’un navigateur web pour pouvoir accéder au geminispace : ligne de commande ou logiciels à installer. Le contenu est exclusivement du texte formaté par une version simplifiée de Markdown. Quelques autres contraintes : pas d’entête, donc pas de cookies, et un maximum de un lien par ligne. Il est possible aussi de monter son propre serveur Gemini, léger. C’est une proposition de cyberespace allégé, apaisé, simple et sûr, mais dépourvu de considération esthétique.
C’est brut, et donc potentiellement uniquement utilisé par les plus geeks d’entre nous.

À ce sujet, on ne peut pas dire non plus que l’esthétisme général du web soit waow. Tout s’est « flat-designé » dès lors que Microsoft s’y est mis. Apple a suivi. Le web a perdu du relief, s’est vautré dans un conformisme esthétique imposé par les big tech. Et parfois, derrière une URL, une belle surprise, on tombe sur un site léger et magnifié, ici en ASCII-art.

Pour revenir à Gemini, cela invite à la réflexion et à revenir vers un web basé sur l’écrit, pas sur les interfaces (UIuser interface), ni les images et les vidéos.

Prenons un site web simple, un site vitrine, un blog. Quel outil vais-je utiliser pour générer ces pages ? Les générateurs de sites statiques sont plutôt intéressants pour cela (même si je dois avouer que j’ai jamais vraiment aimé l’expression « site statique »). Cela permet d’avoir le générateur uniquement sur le poste de développement et les utilisateurs ne voient que des pages HTML générées par l’outil. On peut citer par exemple Kirby (en PHP), Hugo (en Go) ou Eleventy (en JavaScript).

Et pourquoi ne pas faire sans générateur de site statique ? Quels seraient les avantages et inconvénients ? Un des gros avantages, c’est d’éviter une forte dépendance à un outil, même si cela peut s’atténuer en produisant les contenus en format Markdown, c’est-à-dire potentiellement réutilisable par un autre générateur. C’est le principe de séparer le contenu de sa présentation. En théorie, bien sûr.

Mème du chien qui tapote au clavier d'ordinateur avec le message affiché suivant : "I have no idea what I'm doing"
Je n’ai aucune idée de ce que je fais.

Quant aux inconvénients, ils sont multiples. Il s’agit de produire manuellement chaque page HTML avec toute sa structure. Les contenus identiques présents sur toutes les pages (entête, menu, pied de page…) devront être reproduits sur chaque page, ce qui n’est pas génial en termes de maintenance. Pour tenter d’éliminer ce problème, pourquoi ne pas faire une entête de page très simple minimisant ainsi la maintenance. Et se passer d’un pied de page ? Pour le menu, plaçons le sur une page dédiée, comme le propose le template wordpress Susty. Démo ? J’ai appliqué tout cela sur mon site web.

Un autre problème demeure. Il s’agit des mises à jour de CSS et l’invalidation du cache navigateur. Une solution simple pour forcer le rechargement des fichiers CSS au détriment du cache navigateur consiste à mettre un paramètre changeant en suffixe dans l’URL par exemple styles.css?v=1. Mais il s’agit de le changer sur toutes les pages. Si l’hébergeur le permet, on peut plutôt utiliser des directives de cache ou de redirection dans un fichier htaccess. Ce problème n’en est finalement pas un si les CSS sont plutôt stables et donc modifiées rarement.

C’est politique

Depuis ma Guadeloupe natale, depuis mon petit cybercafé des faubourgs de Pointe-à-Pitre, depuis mon Lycée Jardin d’Essai aux Abymes, depuis ma chambre d’ado avec le câble RJ11, qui traîne dans le couloir du modem jusqu’au salon, je tâtonnais, j’expérimentais et je m’émerveillais des possibilités de ces nouvelles technologies. Je n’avais pas encore conscience que l’Internet et le web, c’est politique et que des bouleversements majeurs allaient se produire : sociaux, économiques et environnementaux.

Face à la profitation et les logiques coloniales, l’accaparement des ressources et l’exploitation des personnes par les big tech capitalistes, à nous d’avoir la volonté, parfois l’audace, de reconstruire un web, espace d’expérimentations aux possibilités infinies, espace d’échange convivial, apaisé, accessible, inclusif, décentralisé, non-conformiste et nécessairement subversif, en assumant un caractère alter-web et alter-numérique, où il y a de place pour la beauté, l’art, le tout comme un acte de résistance.

6 commentaires sur cet article

  1. Paul Nizan, le mercredi 20 décembre 2023 à 07:58

    Merci pour ce beau billet. Un détail toutefois, il me semble que Kirby tourne sur le serveur (en utilisant, certes, des fichiers statiques comme sources) alors que Hugo ou Eleventy créent tout le site en local.

  2. Florimond Manca, le mercredi 20 décembre 2023 à 09:06

    Richard,

    Sais-tu le nombre de gens qui, comme toi, rêvent d’avoir *en HTML* un moyen simple d’inclure des morceaux communs comme une navigation ou un footer ?

    Les « HTML Imports » (https://www.w3.org/TR/html-imports/) ont été rejetés. Ce qui en a déçu beaucoup : https://github.com/WICG/webcomponents/issues/677.

    Très bizarrement, le working group du W3C semble n’avoir pas considéré que le cas d’usage était de composer des pages de façon native, mais… d’importer des « composants ». Vers 2014–2016, on était en plein boom du tout-JavaScript. On n’en est pas vraiment sortis, car la discussion qui a remplacé les « HTML Imports » sont les « HTML Modules », donc bel et bien pour une utilisation JS-first : https://github.com/WICG/webcomponents/issues/645.

    Et donc à la place la communauté a développé exclusivement les Web Components (https://developer.mozilla.org/en-US/docs/Web/API/Web_components).

    Les Web Components sont très bien, je ne dis pas le contraire. J’ai découvert les Custom elements récemment, le morceau le plus utile des Web Components selon moi. C’est parfait pour ajouter un peu (voire beaucoup !) d’interactivité de façon standard, portable et durable, car ne dépendant d’aucun framework et, si on le veut, d’aucun processus de build.

    Mais avoir abandonné les HTML Imports… Comme tu l’écris dans cet article dont je partage l’esprit, c’est LE chaînon manquant pour pouvoir faire les sites les plus basiques de façon pratique avec juste les technologies standards du Web, sans avoir passé par un templating au runtime (PHP, ou autre) ou au buildtime (Hugo, ou autre).

    Une solution intermédiaire, ça pourrait être un petit outil local qui va détecter un <!-- import "common/footer.html" --> ... <!-- endimport --> et « synchroniser » statiquement (en modifiant le fichier) ce qu’il y a entre ces commentaires.

  3. Olivier Fredon, le mercredi 20 décembre 2023 à 10:03

    Merci beaucoup pour cet article. Tellement de souvenirs qui remontent. J’avoue sans mal être parfois nostalgique de la créativité et de l’espace d’expérimentation qu’était le Web. Même avec une techno propriétaire comme Flash. Cette époque de la Team Chman entre autre.

  4. maxim, le mercredi 20 décembre 2023 à 17:22

    Un peu comme les « Server Side Includes – SSI » en somme
    https://httpd.apache.org/docs/2.4/howto/ssi.html

  5. Lord, le mercredi 27 décembre 2023 à 15:44

    Je vais prononcer une horreur mais si tu fais tout à la main, tu peux juste utiliser une iframe. C’est pas la mode et tout mais bon ça reste fonctionnel.

    J’ai commencé mon blog comme ça en pur html à la main sauf qu’au bout d’un moment ça devient galère, notamment si tu veux proposer un joli flux rss à tes visiteurs. Se retrouver à manuellement éditer le rss pour matcher avec le contenu du site est d’une chiantise absolue. Bref je suis passé à un générateur statique et maintenant je publie cent fois plus qu’avant ;-)

  6. Sébastien COLLET, le samedi 6 janvier 2024 à 18:14

    Merci pour cet article. Je suis en pleine reflexion sur ce sujet après 20 ans de pratique (Dreamweaver > SPIP > WordPress > WordPress + Divi > WordPress + Gutenberg …)

Laisser un commentaire

Les commentaires sont modérés manuellement. Merci de respecter : la personne qui a écrit l'article, les autres participant(e)s à la discussion, et la langue française. Vous pouvez suivre les réponses par flux RSS.