4 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Une spécification indépendante de la plateforme qui récapitule les fonctionnalités techniques qu’un bon site web doit posséder, de <title> à llms.txt
  • Elle s’adresse à la fois aux humains et aux agents, et s’appuie sur des références issues des standards web modernes comme WHATWG, W3C, les RFC de l’IETF, WCAG et MDN
  • Que le site soit déployé avec WordPress, Next.js, une app Django ou en HTML pur, la spécification elle-même reste identique et inclut aussi des pistes d’implémentation
  • L’ensemble est divisé en 10 domaines comme Foundations, SEO, Accessibility, Security ou Performance, chacun mappé à des standards largement adoptés
  • Un serveur MCP public, un Agent Skill, /llms.txt et des réponses en Markdown permettent aux agents et aux exploitants de s’en servir pour des workflows d’audit, d’apprentissage et d’amélioration

Une spécification indépendante de la plateforme pour de bons sites web

  • The Website Specification est une spécification indépendante de la plateforme qui récapitule les fonctionnalités techniques qu’un bon site web doit posséder, de <title> à /.well-known/security.txt, du contraste WCAG à llms.txt
  • Elle s’adresse à la fois aux humains et aux agents, et chaque sujet renvoie à des sources issues des standards web modernes comme WHATWG, W3C, IETF RFCs, WCAG, MDN
  • Que le site soit déployé avec WordPress, Drupal, TYPO3, Next.js, Astro, Hugo, une app Django ou en HTML pur, la spécification elle-même reste identique, les pistes d’implémentation venant ensuite
  • Chaque page propose un lien Edit on GitHub, accepte les PR et affiche ses sources
  • Domaines couverts

    • Les sujets complets sont répartis en 10 domaines mappés à des standards largement adoptés
    • Foundations : 14 éléments couvrant HTML, le head et les éléments de base du document
    • SEO : 13 éléments incluant robots.txt, les sitemaps, les balises canonical, les données structurées et autres facteurs de visibilité dans les moteurs de recherche
    • Accessibility : 20 éléments proposant des règles fondées sur les WCAG afin que des utilisateurs de toutes capacités puissent utiliser le site
    • Security : 12 éléments couvrant les en-têtes, le transport et les politiques qui protègent les visiteurs
    • Well-Known URIs : 9 éléments récapitulant les chemins standardisés sous /.well-known/
    • Agent Readiness : 18 éléments portant sur ce qui permet aux agents IA et aux crawlers de lire le site
    • Performance : 19 éléments couvrant les Core Web Vitals, le cache, les images, les polices et le comportement réseau
    • Privacy : 6 éléments couvrant le consentement, les signaux et le respect des choix des visiteurs
    • Resilience : 5 éléments sur les échecs gérés avec élégance, comme les pages d’erreur, le mode hors ligne et les redirections
    • Internationalisation : 12 éléments couvrant la langue, la locale, la direction du texte et les contenus traduits

Comment l’utiliser pour les agents et les opérateurs de site

  • La spécification complète est fournie via un serveur MCP public, en lecture seule et sans authentification
  • Un Agent Skill est publié pour indiquer aux agents compatibles quand et comment utiliser la spécification
  • Chaque URL de spécification fournit un Markdown page par page via /llms.txt et Accept: text/markdown
  • Exemple de configuration du serveur MCP :
{  
  "mcpServers": {  
    "specification-website": {  
      "transport": "http",  
      "url": "https://mcp.specification.website/mcp";  
    }  
  }  
}  
  • Workflow d’usage

    • Audit : parcourir la checklist et vérifier chaque point sous la forme « le site fait-il cela — oui/non ? »
    • Learn : pour chaque point, comprendre ce que c’est, pourquoi c’est important et comment l’implémenter
    • Improve : s’il manque des éléments, si des informations sont obsolètes ou si un sujet a été oublié, il est possible d’ouvrir une PR en y joignant les sources

1 commentaires

 
GN⁺ 4 시간 전
Avis sur Hacker News
  • Agent Readiness a de fortes chances de devenir embarrassant avec le temps, comme « Web 4.0 Blockchain Integration »
    Non pas parce que les agents deviendraient inutiles, mais parce que, même s’ils gagnent en importance, obliger les sites à gérer des cas particuliers pour eux irait à l’encontre de l’objectif initial
    Au final, cela servira surtout aux acteurs malveillants à montrer une chose aux agents et une autre aux humains, donc ça finira probablement par être délibérément ignoré

    • J’aimerais revenir aux années 2000. À l’époque, la base c’était simplement du HTML pur avec un peu de CSS, et la feuille de style par défaut du navigateur suffisait déjà à produire une mise en page quasi responsive, du texte lisible et une interface conviviale
      Aujourd’hui, sur les sites web, tout est composant. Même une simple liste déroulante avec un nombre fini d’options a son propre loader et envoie 10 requêtes fetch sans raison. Ce n’est pas une exagération, il suffit de regarder les versions web d’Instagram et de Facebook
      Qu’on laisse tomber toutes ces spécifications et qu’on me donne plutôt le HTML brut d’origine, non obscurci par des trucs comme React qui prétendent qu’un nouveau framework JS va révolutionner le secteur
    • J’allais répondre par un désaccord, mais après réflexion je suis d’accord avec la conclusion. Simplement, mes raisons diffèrent un peu
      Le web est fondamentalement un environnement hostile, et je considère qu’une grande partie des opérateurs de sites sont eux-mêmes des acteurs malveillants. Les sites utiliseront délibérément le fait de montrer quelque chose de différent aux humains et aux agents, exactement comme ils l’ont fait pour les moteurs de recherche
      Si « Agent Readiness » ne durera pas, c’est parce que les exploitants de sites vont vite se rappeler qu’un agent est en pratique de l’automatisation d’accès. Et c’est précisément ce contre quoi ils luttent depuis toujours, parce que cela menace leur capacité de monétisation
    • Vu à quel point les sites sont devenus énormes et remplis de pubs, j’aimerais qu’il existe aussi une version texte brut pour les humains. Je préférerais laisser les agents gérer la complexité destinée aux personnes
      Cela dit, je doute que cela arrive vraiment. Le problème des acteurs malveillants existe depuis longtemps. Par exemple, certains servaient aux crawlers des moteurs de recherche un contenu différent de celui affiché à l’utilisateur après clic. Si je me souviens bien, Google a même pénalisé ce genre de sites à une époque
    • L’idée générale du site est bonne, mais si vous n’aimez pas le blabla IA/blockchain, ce type de checklist est assez courant. Depuis quelques années, ma préférée est celle-ci
      https://frontendchecklist.io/rules
    • Agent readiness me semble être une étape réellement utile. Sur mon site web, les humains n’utilisent pas la blockchain, mais ils utilisent bien l’IA, et l’IA n’a pas besoin d’utiliser un site web comme un humain
      Les humains veulent un site agréable à regarder, et on peut très bien l’obtenir en HTML pur. Les agents n’ont même pas besoin de cela ; idéalement, il leur suffirait de voir le contenu de la page en Markdown
      Pourquoi ne pas avoir une version pour agents ? Cela ferait gagner du temps et de l’argent à l’agent côté client comme à l’hébergeur du site
      Ce serait bien d’avoir un standard comme llms.txt qui indiquerait : « agents, allez plutôt visiter ce miroir qui est la version Markdown brute de ce que voient les humains »
      Une partie de l’agent readiness de ce site relève du SEO pour l’IA. À l’inverse, pour les sites qui ne veulent pas de crawling par l’IA, cela joue aussi le rôle opposé
  • Ce serait bien d’avoir des bonnes pratiques pour des zones comme les formulaires de connexion. Par exemple : utiliser des noms de champs standard reconnus par les gestionnaires de mots de passe, désactiver l’autocomplétion et la mise en majuscule automatique sur les champs de connexion, utiliser le bon type de champ HTML5 pour les adresses e-mail, éviter les formulaires qui forcent d’abord la saisie de l’e-mail puis un second clic avant de pouvoir entrer le mot de passe, suivre le NIST SP 800-53 en évitant la 2FA par SMS ainsi que les changements périodiques arbitraires de mot de passe ou les règles de composition artificielles
    Il y a aussi beaucoup trop de sites qui ne mettent pas automatiquement le focus quand un formulaire ne contient qu’un seul champ

    • J’ai trouvé assez intéressant de lire les bonnes pratiques sur les formulaires sur le blog d’Adam Silver
      https://adamsilver.io/blog/form-design-from-zero-to-hero-all...
      Il a continué à publier beaucoup de nouveaux articles depuis, et c’est peut-être l’une des meilleures ressources UX du web
    • Le fait de soumettre d’abord uniquement l’e-mail de connexion est en réalité pratiquement nécessaire dès qu’on a un système d’authentification un tant soit peu sérieux
      Tant que l’identifiant n’a pas été soumis, on ne peut pas savoir si cet utilisateur se connecte avec un mot de passe ou avec une autre méthode
    • J’utilise frontendchecklist depuis des années, et il y a justement ce genre de règles et de compilations de bonnes pratiques. C’est dommage que le site semble récemment avoir basculé vers l’ai-readiness, mais les règles sont toujours là
      https://frontendchecklist.io/rules/html/input-types
      J’aime aussi vraiment beaucoup ce site quand je crée des composants UI from scratch
      https://component.gallery/
      Il renvoie vers des composants issus de nombreux design systems, dont beaucoup couvrent aussi en profondeur des recommandations sur l’accessibilité, l’internationalisation, etc. Parmi les exemples particulièrement bien documentés, il y a le Lightning Design System de Salesforce et Stacks de StackOverflow
      https://www.lightningdesignsystem.com/2e1ef8501/p/99642e-car...
      https://stackoverflow.design/system/forms/checkbox
    • Le fait de ne pas mettre automatiquement le focus sur un formulaire à champ unique est un bon exemple de la manière dont la stack web attend que chaque site réimplémente lui-même des fonctionnalités qui étaient fournies par défaut dans les toolkits UI natifs
      Du coup, la plupart des sites ne considèrent pas ça comme une priorité, voire ne savent même pas que c’est quelque chose à prévoir, et on se retrouve avec l’état actuel
    • J’ai l’impression que les formulaires de connexion où l’on saisit d’abord uniquement l’e-mail se multiplient, surtout sur les sites des grandes entreprises tech. Personnellement, ça m’agace aussi
      J’ai toujours pensé qu’il devait y avoir une raison à ce changement de pattern sur les sites. Par exemple, une meilleure défense contre les bots. Je serais curieux d’avoir l’avis de quelqu’un qui en sait plus
  • À première vue, cela ressemble presque entièrement à du contenu généré par IA, donc la manière de faire passer le message risque de ne pas prendre. Cela dit, quand on lit plusieurs rubriques, en dehors de la section Agent, le reste transmet assez clairement une bonne hygiène web bien solide, donc je pense qu’on peut sans problème l’envoyer à un développeur web en pleine progression.
    Cela dit, c’est ironique que le site lui-même n’applique même pas les pratiques qu’il dit « obligatoires »

    • « Compression (gzip, brotli, zstd): required » et « cache-control: required » : c’est de la bouillie IA d’un bout à l’autre
  • https://validator.w3.org/nu/?doc=https%3A%2F%2Fspecification...
    Je ne comprends pas l’objectif de ce site web. Il se présente comme une spécification, mais je ne vois pas bien ce qu’il spécifie au juste.
    Tous les éléments prennent comme source une autre « source de vérité »

    • C’est un recueil de bonnes pratiques, et en tant que checklist centralisée, ça a de la valeur
    • J’ai vu passer ça sur LinkedIn[1], et l’auteur écrivait ceci
      « J’en avais assez de devoir pointer vers six sources pour étayer une seule recommandation. Pour le HTML, c’était WHATWG, pour l’accessibilité WCAG, pour les en-têtes IETF, pour les données structurées schema.org, et pour le reste MDN, web.dev et Google Search Central.
      Il n’existait pas de spécification unique, assumée et neutre vis-à-vis des plateformes sur ce que les sites web modernes doivent réellement faire.
      Alors j’en ai écrit une »
      [1] https://www.linkedin.com/posts/jdevalk_the-website-specifica...
  • Je me demande à quel point ce qu’il y a ici est courant. /.well-known/change-password serait bien à avoir, mais si on regarde https://news.ycombinator.com/.well-known/change-password et google.com/.well-known/change-password, ça n’a pas l’air implémenté

  • On dirait que ça sort d’une usine à bouillie. « SEO », « Agent-readiness »… exactement le genre de choses qu’un bon site web ne devrait pas faire.
    Sans surprise, c’est l’œuvre d’un expert WordPress en « SEO » et investisseur individuel qui utilise Claude LLM. Quelqu’un qui s’est enrichi en détruisant l’internet qu’on aimait avec de la bouillie publicitaire veut maintenant ruiner ce qu’il en reste avec de la bouillie LLM

    • Les tirets longs, les tournures de phrase du genre « non pas X mais Y » et les contenus redondants me signalent presque à coup sûr du généré par IA.
      Le fait d’avoir classé « stable URLs » dans « agent readiness » me paraît indiquer que l’auteur se soucie plus de l’IA que des humains. Je vais mettre ce domaine sur une liste de blocage. On voit déjà que ça va empirer la recherche d’informations sur le développement web
    • La page about (https://specification.website/about/) dit ceci
      « Ce n’est pas un framework. Ce n’est pas un guide. C’est une spécification — ce qui est obligatoire, ce qui est recommandé et ce qu’il faut éviter. »
      Il est difficile de dire quelle part du site relève de la bouillie LLM, mais certaines formulations en donnent clairement l’impression
    • Ça ressemble à de la pure bouillie IA. J’utilise https://tropes.fyi/vetter
    • La spécification complète en une seule page ressemble à l’affiche emblématique du développement web en bouillie IA actuel
      https://specification.website/llms-full.txt
    • Chez moi aussi, tous les voyants « bouillie » s’allument
      D’abord, les petites étiquettes colorées comme required, optional, recommended
      Ensuite, une quantité délirante de contenu que personne ne lira
      Enfin, une progression qui pousse une idée faible dans un niveau de détail douloureusement excessif
  • J’avais pensé fabriquer quelque chose comme ça moi-même, mais en collant ça dans n’importe quel chat d’agent, ça marche très bien
    Je viens justement d’utiliser un modèle local (Qwen3.6 27B / pi) pour dresser la liste des standards indispensables manquants sur un vieux site Hugo, produire une liste de tâches, puis les traiter une par une en me laissant revoir chaque changement
    Il m’a même généré le favicon manquant en découpant un symbole du logo, et le résultat est plutôt bon

    • Je suis curieux de savoir jusqu’où tu as joué avec pi. J’aime bien la sensation de zéro friction avec un prompt d’agent/système court, mais si on lui confie juste une tâche arbitraire, j’ai l’impression qu’il peut y avoir pas mal d’attente et d’impasses
  • J’ai ouvert le site sur un MacBook et l’utilisation CPU a dépassé 50 %
    C’est assez ironique, vu qu’il s’agit d’une spécification sur ce qu’un site web devrait être

    • Je ne vois pas le même phénomène ici. Ça vaudrait le coup de vérifier ce qui se passe côté utilisateur
  • Une partie du contenu est plutôt bonne, mais j’espère que le fait de tout normaliser en checklist de 128 éléments ne va pas faire peur aux gens qui veulent créer des sites web

  • Ma spécification préférée, c’est la spécification hallucinée. Bravo, j’imagine
    J’attends déjà avec impatience l’alternative ISO pilotée par agent ou la machine à sous opérée par LLM