Photo : Kari Shea sur Unsplash
Ce site pèse moins qu'une photo, et ce n'est pas un exploit
La page que vous lisez est un fichier HTML posé sur un disque, servi tel quel. Pas de base de données interrogée à votre arrivée, pas de rendu à la volée, pas de framework à télécharger avant de pouvoir lire un paragraphe. Le tout pèse moins qu’une photo prise avec un téléphone récent. Je le dis sans fierté particulière : c’était la solution la plus simple, et la simplicité a eu des effets secondaires agréables.
Ce qu’il y a dans une page moderne
Les mesures publiées par HTTP Archive donnent une idée assez brutale de l’état du web : le poids médian d’une page se compte en mégaoctets, et la part de JavaScript y a crû de façon continue. L’essentiel de ce poids n’est pas du contenu. C’est de la police de caractères chargée en cinq graisses, des images non redimensionnées, un lecteur vidéo pour un encart de dix secondes, et surtout des scripts tiers.
Ces scripts tiers sont le vrai sujet. Analytics, régie publicitaire, bandeau de consentement, chat d’assistance, pixel de suivi, test A/B. Chacun ajoute quelques dizaines de kilo-octets et une requête réseau vers un serveur qui n’est pas celui du site. Un article de blog qui charge plus de code que le premier système d’exploitation graphique n’est pas un accident isolé, c’est la configuration par défaut de la plupart des outils de publication.
Ce que le statique enlève
Générer le site à la compilation supprime des couches entières. Il n’y a pas de serveur applicatif à maintenir, donc pas de processus qui tourne en attendant une visite, pas de cache applicatif à invalider, pas de version de langage à faire monter tous les six mois pour raison de sécurité. Les fichiers partent sur un réseau de diffusion et sont servis depuis le point le plus proche.
Le générateur que j’utilise n’envoie du JavaScript que pour les composants qui en réclament, et rien pour les autres. Le résultat concret : une page d’article ne transporte pratiquement que son texte, ses images en format moderne et une feuille de style courte. Le premier affichage tombe sous la seconde, y compris sur une connexion mobile médiocre, ce qui est la seule métrique de performance qui m’intéresse vraiment.
L’effet de bord que je n’attendais pas, c’est la durée de vie. Un site statique de 2015 fonctionne encore. Une application de 2015 avec ses dépendances ne s’installe même plus.
Je ne vends pas ça comme un geste écologique
C’est là que je préfère être précis. Un site léger consomme moins de bande passante et fait moins travailler l’appareil qui l’affiche, donc moins de batterie et moins de calcul serveur. Ce n’est pas rien, et à l’échelle d’un site à fort trafic ça compte. À l’échelle du mien, l’économie réalisée est proche du bruit de fond.
L’impact du numérique se joue sur la fabrication des appareils, sur les infrastructures et sur les usages massifs, pas sur le poids de mon blog. Présenter un choix technique confortable comme une contribution environnementale serait une forme de comptabilité créative, et le web ne manque pas de gens qui la pratiquent avec des rapports en PDF de trente mégaoctets.
Ce que je peux dire honnêtement : mon site est léger parce que le lourd ne servait personne ici, ni moi ni vous. La sobriété n’était pas un objectif, elle est ce qui reste quand on retire ce qui n’était là que pour mesurer votre passage.
Articles liés
Dégoogliser un Android : ce que j'ai gagné et ce qui casse
LineageOS, GrapheneOS, F-Droid : retour concret sur un téléphone Android sans services Google, ce qui fonctionne au quotidien et ce qui coince vraiment.
Lire l'article →
Obsolescence logicielle : le matériel, lui, marche encore
Une machine ne tombe plus en panne, elle cesse d'être supportée. La mise à jour a remplacé l'usure, et l'appareil part au recyclage en parfait état de marche.
Lire l'article →Sources
Ce que j'ai lu, regardé ou vérifié pour écrire cet article.
- HTTP Archive. Web Almanac / Page Weight Report : poids médian des pages web et répartition par type de ressource httparchive.org (ouvre dans un nouvel onglet)
- The Green Web Foundation. Travaux sur l'empreinte carbone du web et l'hébergement alimenté en énergie renouvelable thegreenwebfoundation.org (ouvre dans un nouvel onglet)
- Astro. Documentation officielle : génération statique, hydratation partielle et envoi de JavaScript minimal docs.astro.build (ouvre dans un nouvel onglet)