MCP Workbench env : devEnvironnement courant de ce banc de tests. Les audits tournent contre le MCP Opquast et le rejeu serve locaux.
← Retour au pipelineRevenir au Banc de tests (liste des sites + lots) pour relancer ou comparer.

✓Statut du run : done Audit MCP du lot lot-20-parenthese

run c2932bd7Identifiant complet du run : c2932bd7-e3c5-493d-9947-eb6840236166 MCP Opquast basic v1.1.0Outil d'audit utilisé : serveur MCP Opquast « basic » (245 règles), version v1.1.0. prompt v1Version du prompt système/utilisateur servi à l'agent (prompt versionné, non modifié en place). modèle claude-opus-4-6Modèle Claude demandé pour cet audit (le modèle réellement servi figure dans la carte Configuration). le 2026-06-18 16:38 UTCDate et heure de lancement du run. capsule v— à venirVersion de la capsule auditée — disponible pour un audit de capsule versionnée (MCPWB-468). étalon v— à venirVersion de l'étalon de référence — disponible avec l'historique versionné (MCPWB-468).

lot-20-parenthese

Étalon intégré
① Capture
fourni
① Capture — capture fidèle de la page dans une capsule (WACZ) (fourni).
② Audit
terminé
② Audit — audit MCP Opquast de la capsule rejouée (terminé).
③ Comparaison
accord 0.89
③ Comparaison — accord des verdicts de l'agent avec l'étalon (accord 0.89).
✓ Étalon · intégré
↻ Relancer l'audit

Configuration du run ⓘParamètres figés au lancement de cet audit (vérité terrain : modèle servi et coût relus du transcript).

Modèle demandéModèle Claude demandé dans le formulaire d'audit. claude-opus-4-6
Modèle serviModèle réellement servi (relu du transcript) — peut différer du demandé. claude-opus-4-6claude-opus-4-6
Serveur MCPScope du MCP Opquast : basic ou extended (245 règles). basic
InspectionOutils d'inspection autorisés : curl, playwright ou libre. libre
Indices étalonCombien d'indices donnés à l'agent : aveugle (rien), mapping (règle par page), lot (union des règles). aveugle
Périmètre des règlesQuelles règles l'agent évalue : libre, checklist complète (245), ou sous-ensemble. Libre
PromptVersion du prompt versionné servi à l'agent. v1
CoûtCoût USD du run, relu du transcript (tokens × tarif du modèle servi). 2.1794 $

Métriques (vs étalon) ⓘAccord des verdicts de l'agent avec l'étalon, sur le périmètre réellement audité. « Positif » = violation détectée (« non respectée »).

Aucun verdict tranché (respectée / non respectée) sur le périmètre recouvert : la matrice de confusion reste masquée. Voir les agrégats ci-dessous.

Accord globalPart de verdicts de l'agent identiques à l'étalon, sur les règles recouvertes. 1.00 = parfait. 0.89
AbstentionRègles où l'agent a répondu « indéterminable » (hors matrice 2×2). 0 %
Faux « non conforme »FAUSSE ALERTE : agent « non respectée » mais page conforme pour l'étalon — l'agent invente une violation. 0
Faux « conforme »VIOLATION MANQUÉE : agent « respectée » mais au moins un bloc de la page en échec pour l'étalon — souvent l'écart le plus grave. 0
Recouvrement étalonCouples (URL, règle) couverts par l'étalon — base de la comparaison. 28
Durée · TokensDurée totale du run et tokens consommés (relus du transcript). 685 s · 37535

Une ligne par critère audité : verdict de l'agent (+ justification) croisé avec l'étalon de référence si disponible.

respectée non respectée NA / non applicable indéterminable

Colonne étalon « — » = l'étalon ne couvre pas (encore) ce critère (il n'existe qu'une fois la boucle ESM bouclée).

Critère URL Statut agent Justification (LLM) Statut étalon Commentaire étalon
R004 /sp-f7d5e204/page.html non respectée Le bloc 2 affiche « Mis à jour le 8 mars 24 » : l'année à deux chiffres (« 24 ») est ambiguë (2024 ? 1924 ?). Les blocs 3 et 4 utilisent des formats explicites sans ambiguïté (« 1er février 2025 », « 12 décembre 2024 »). Le bloc 1 utilise le format ISO « 2025-03-08 », techniquement non ambigu mais peu lisible pour le grand public.
📍 Bloc 2
— —
R007 /sp-f5136c7a/page.html non respectée Un glossaire est disponible (lien en navigation). Le bloc 1 renvoie correctement tous ses termes techniques vers le glossaire. Cependant le bloc 2 ne lie que « débit de filtration glomérulaire » au glossaire, laissant « clairance de la créatinine » et « protéinurie » — termes médicaux spécialisés — sans accès à une explication.
📍 Bloc 2
— —
R012 /sp-5b802771/page.html non respectée Les graphiques sont accompagnés de tableaux dont les données numériques ne correspondent pas à celles de l'alternative textuelle des images. Bloc 2 : T4 affiché 90 dans le tableau vs 175 dans l'alt. Bloc 3 : T3 affiché 69 vs 96. Bloc 4 : T2 affiché 14,8 vs 148. Le bloc 1 est cohérent. Le bloc 5 présente les bonnes valeurs mais dans un ordre différent (T3, T1, T4, T2 au lieu de T1, T2, T3, T4).
📍 Blocs 2, 3 et 4
— —
R014 /sp-173c0ffa/page.html non respectée Le bloc 2 utilise des caractères Unicode Mathematical Bold (U+1D5E3 et suivants : 𝗣𝗿𝗼𝗺𝗼𝘁𝗶𝗼𝗻 𝗲𝘅𝗰𝗲𝗽𝘁𝗶𝗼𝗻𝗻𝗲𝗹𝗹𝗲) pour simuler du texte en gras, au lieu du balisage HTML <strong> ou <b> utilisé correctement dans le bloc 1.
📍 Bloc 2
— —
R065 /sp-3cb3fac7/page.html non respectée L'article « Plaid Nordic » du bloc 2 est visuellement atténué (opacity: 0.4) mais ne comporte aucune indication textuelle d'indisponibilité. La règle exige une différenciation à la fois visuelle ET textuelle. Le bloc 1 respecte cette exigence pour « Lampe Aura » (symbole ⊘ avec aria-label="Produit indisponible" et texte barré).
📍 Bloc 2, article « Plaid Nordic »
— —
R069 /sp-cdfd599e/page.html non respectée Bloc 1 : le <label for="email-pro"> pointe vers un id inexistant (l'input a id="champ-1"), l'association label/champ est rompue. Bloc 2 : le champ téléphone utilise un <span> au lieu d'un <label>, et son aria-label (« Code de parrainage ») ne correspond pas au libellé visible (« Téléphone »). Seul le bloc 3 associe correctement étiquette et champ par englobement.
📍 Blocs 1 et 2
— —
R071 /sp-2e6c50e5/page.html non respectée Le champ « Code postal » du bloc 2 possède l'attribut HTML required mais son étiquette ne comporte ni astérisque ni mention signalant le caractère obligatoire de la saisie. Le bloc 1 indique correctement les champs obligatoires via une note explicative et des astérisques (*) dans les étiquettes.
📍 Bloc 2, champ « Code postal »
— —
R114 /sp-59f4d894/page.html respectée Le bloc 1 identifie la directrice de la publication (Claire Vasseur) avec une adresse de contact (redaction@exemple.fr). Le bloc 3 nomme le service responsable des contenus (Service de la communication) avec son courriel. — —
R117 /sp-3e97bb6f/page.html non respectée Le lien vers /partage/facebook contient uniquement une image (fb.svg) dont l'alternative textuelle est vide (alt=""). Pour une image-lien, l'alt devrait décrire la fonction du lien (par ex. « Partager sur Facebook »).
📍 Bloc 2, image-lien vers /partage/facebook
— —
R118 /sp-4c3bf297/page.html respectée Le bloc 1 fournit une image <img> avec un attribut alt descriptif (« Aperçu du produit »). Le bloc 2 utilise un SVG inline avec role="img" et aria-label="Logo de la marque", offrant une alternative textuelle appropriée pour chaque image porteuse d'information. — —
R126 /sp-de25adbc/page.html non respectée Les blocs 2 et 4 contiennent des animations CSS en boucle infinie (glissement horizontal) sans aucun mécanisme de pause ou d'arrêt. Le bloc 1 propose correctement un bouton « Lecture / Pause » qui contrôle l'animation. Le bloc 3 est un visuel fixe sans animation.
📍 Blocs 2 et 4
— —
R132 /sp-f9f4042a/page.html non respectée Le bloc 2 insère la citation anglaise « less is more » directement dans le texte français sans aucun attribut lang pour signaler le changement de langue. Le bloc 1 balise correctement sa citation anglaise avec <span lang="en">the medium is the message</span>.
📍 Bloc 2
— —
R134 /sp-4a1bc0ba/page.html non respectée Les liens vers les versions traduites du bloc 2 sont rédigés en français (« Version anglaise », « Version allemande ») au lieu de la langue cible. Le bloc 1 utilise correctement les langues cibles : « English version » (lang="en"), « Deutsche Fassung » (lang="de"), « Versión en español » (lang="es").
📍 Bloc 2
— —
R136 /sp-3e97bb6f/page.html non respectée Le lien <a href="/partage/x"></a> du bloc 2 est totalement vide : ni texte, ni image, ni aucun contenu fournissant un intitulé accessible.
📍 Bloc 2, lien <a href="/partage/x">
— —
R164 /sp-a7a278a8/page-1.html respectée Deux liens d'accès rapide (« Aller au menu » pointant vers #menu, « Aller au contenu » pointant vers #contenu) sont placés au tout début du code source. Leurs cibles existent : <nav id="menu"> et <main id="contenu">. — —
R164 /sp-a7a278a8/page-2.html non respectée La page comporte une barre de navigation à 6 liens mais ne propose aucun lien d'accès rapide au début du code source pour permettre de la sauter. — —
R164 /sp-a7a278a8/page-3.html NA La page « Mentions légales » ne comporte aucune barre de navigation ni structure complexe à contourner. Elle est composée uniquement d'un en-tête et d'un bloc de contenu principal court. — —
R164 /sp-a7a278a8/page-4.html non respectée Les liens d'accès rapide (« Aller au menu » vers #menu, « Aller au contenu » vers #contenu) sont présents au début du code source mais leurs cibles n'existent pas : <nav> n'a pas d'attribut id="menu" et <main> n'a pas d'attribut id="contenu". Les liens sont donc non fonctionnels. — —
R180 /sp-159c2fa3/page-1.html respectée La charte graphique (en-tête vert #1b5e20, police Georgia serif, navigation horizontale en haut) est cohérente avec celle de la page-2 du même site Atelier Bois. — —
R180 /sp-159c2fa3/page-2.html respectée La charte graphique (en-tête vert, police Georgia, structure de navigation en haut) est identique à celle de la page-1 du même site. — —
R180 /sp-159c2fa3/page-3.html non respectée La charte graphique de cette page (Comic Sans MS, fond jaune #fffde7, barre rouge #b71c1c en bas, navigation alignée à droite) diverge totalement de celle des pages 1 et 2 du même site (Georgia serif, en-tête vert #1b5e20, navigation horizontale en haut). — —
R182 /sp-7984843c/page.html non respectée Les textes des blocs 1 (#909090), 2 (#808080), 3 (#7a7a7a) et 5 (#9c9c9c) sur fond blanc (#fff) n'atteignent pas le ratio de contraste de 4,5:1 requis pour du texte de taille standard (16px). Le bloc 4 (#727272, ratio ~4,8:1) est conforme. Le bloc 6 (#909090, 24px) est conforme au seuil de 3:1 applicable au texte de grande taille.
📍 Blocs 1, 2, 3 et 5
— —
R184 /sp-ee5a45d4/page.html non respectée Le bloc 2 désigne un élément interactif uniquement par sa couleur et sa position : « le bouton vert situé en haut à droite de la page », sans mentionner son libellé. Le bloc 1 identifie correctement le bouton par son nom (« Exporter ») et sa localisation dans le menu Outils, avec une figure descriptive à l'appui.
📍 Bloc 2
— —
R186 /sp-d609a7a6/page.html non respectée Les boutons du bloc 1 mesurent 40×40 px, en dessous du seuil recommandé de 44×44 px. Le lien « détail » du bloc 4 (font-size: 11px, padding: 2px 3px) offre une zone cliquable très réduite. Les blocs 2 (44×44 px) et 3 (47×47 px) sont conformes.
📍 Bloc 1 (boutons 40×40 px) et Bloc 4 (lien en 11 px)
— —
R232 /sp-1267ed2d/page-1.html respectée La page contient une balise <meta charset="utf-8"> dans le <head>, déclarant correctement le jeu de caractères.
📍 <meta charset="utf-8"> dans <head>
— —
R232 /sp-1267ed2d/page-2.html non respectée Le <head> ne contient aucune balise <meta charset>. Le jeu de caractères n'est pas déclaré via une métadonnée, contrairement à la page-1 du même slug qui inclut <meta charset="utf-8">.
📍 <head>
— —
R236 /sp-7f93a59e/page-1.html respectée Tous les identifiants HTML de la page (navigation-principale, contenu, titre-page, section-resume) sont uniques. — —
R236 /sp-7f93a59e/page-2.html non respectée L'identifiant « bloc » est utilisé deux fois sur la même page : sur l'élément <nav> et sur un élément <section>, en violation de l'unicité requise des identifiants HTML.
📍 id="bloc" sur <nav> et <section>
— —
R236 /sp-7f93a59e/page-3.html respectée La page ne contient aucun attribut id. Il n'y a donc aucun doublon d'identifiant ; la règle est satisfaite. — —