Diwall

Français
Télécharger 1.24.4

Comment un modèle voit une page

La même page web, de trois façons : telle que vous la voyez, telle qu'elle est numérotée pour un agent, et telle qu'elle se lit en texte. Captures produites par Diwall sur cette page même.

Un modèle de langage ne voit pas une page web. Il en reçoit une description, et la forme de cette description décide de ce qu’il peut faire ou non.

La page ci-dessous est l’accueil de ce site. Rien n’a été mis en scène pour la démonstration : les trois vues viennent d’une seule commande, lancée sur une page que vous pouvez ouvrir vous-même à l’instant.

Un — telle que vous la voyez

Capture de l'accueil de Diwall tel qu'affiché dans un navigateur : en-tête sombre, barre de navigation, deux cartes de contenu.
Une capture ordinaire. Tout ce qu'il faut à une personne, et presque rien sur quoi un agent puisse agir : pour cliquer sur Perception, il faudrait le désigner — par sélecteur CSS, par position, au jugé.

Deux — telle qu'elle est numérotée

La même page, chaque élément interactif entouré de rouge et numéroté de 1 à 12.
La même page, chaque élément interactif entouré et numéroté. C'est le Set-of-Mark.

Les numéros reviennent dans le JSON, à côté de l’image :

{"elements_som": [
  {"id": 1, "tag": "A", "texte": "Diwall"},
  {"id": 2, "tag": "SUMMARY", "texte": "Français"},
  {"id": 7, "tag": "A", "texte": "Perception"}
]}

Cliquer sur Perception, c’est donc {"type": "cliquer_som", "id": 7}. Aucun sélecteur, aucune description, aucune ambiguïté sur l’élément visé. Tout le mécanisme est là.

Trois — telle qu'elle se lit

La même page encore, en texte — l’arbre d’accessibilité que le navigateur construit lui-même, celui qu’utilise un lecteur d’écran :

- link "Aller au contenu":
  - /url: "#contenu"
- banner:
  - heading "Diwall" [level=1]:
    - link "Diwall":
      - /url: /fr/
  - group: Français
  - button "Basculer entre thème clair et thème sombre"
  - group: Télécharger 1.24.4 ▾
- navigation "Diwall":
  - link "Guides":
    - /url: /fr/guides/
  - link "Recettes":
    - /url: /fr/recettes/
  - link "Perception":
    - /url: /fr/perception/
  - link "Cas d'usage":
    - /url: /fr/cas-d-usage/
  - link "Architecture":
    - /url: /fr/architecture/
  - link "Journal":
    - /url: /fr/journal/
  - link "Agents":
    - /url: /fr/agents/
  - link "Le projet":
    - /url: /fr/projet/
- main:
  - paragraph: Vous décrivez l’écran à votre modèle. Il répond avec…

Cette vue ne coûte presque rien en tokens et porte la structure qu’une image ne peut pas porter : ce qui est un titre, ce qui est une navigation, où mène chaque lien. C’est aussi la vue qui révèle ce qu’une image dissimule.

Ce sur quoi les trois vues ne s'accordent pas

Regardez le menu de langue. Sur la capture, c’est un bouton. Sur la vue numérotée, c’est l’élément 2. Sur la vue texte, c’est group: Français — et les quatre langues qu’il contient sont absentes des trois.

Elles sont pourtant dans le HTML. Elles sont simplement fermées : le menu est un élément <details> natif, et un navigateur ne rend pas ce qui n’est pas ouvert. Une personne clique et les voit. Un agent doit cliquer d’abord, lui aussi, puis regarder de nouveau.

Ce n’est pas un défaut à cacher, c’est la réponse honnête à la question que pose cette page. Ce qu’un modèle perçoit, c’est ce qui est rendu, pas ce qui existe dans le fichier. Celui qui écrit la page décide lequel des deux un agent reçoit.

La première version de cette page l’a prouvé à la dure. Le menu était fermé mais restait mesurable : Diwall a donc numéroté quatre éléments sans le moindre texte — {"id": 10, "texte": ""}, quatre fois. Inutilisables pour un agent, invisibles pour un humain, et repérés seulement parce que nous avons pointé l’outil sur notre propre page. Une ligne de CSS l’a corrigé, et la capture ci-dessus est celle d’après.

Refaites-le

diwall-shot --url https://diwall.davalan.fr/fr/ --som --a11y --guide-version 1.3

Une seule commande renvoie les trois : la capture, la surcouche numérotée et l’arbre d’accessibilité. Les images de cette page en sont la sortie, sans retouche — la capture ordinaire est recadrée au même cadre que la capture numérotée, qui saisit la fenêtre visible et non la page entière.

Relevé du 26 septembre 2026 Produit avec Diwall 1.24.4 sur l'accueil de ce site. Si la page change, celui-ci est refait — une preuve qui cesse de correspondre à son sujet est pire que pas de preuve du tout.