AgentSkillsCN

opquast

基于 Opquast V5 参考库(包含 245 条规则)的网页质量分析器。作为认证专家,可依据优质实践标准对网站进行全面审核。 当用户提出以下需求时,请调用此技能: - 质量审核:“分析 Opquast”、“网页质量审核”、“检查 Opquast” - URL 分析:“/opquast https://...”、“检查这个网站”、“分析这个页面” - 按主题分析:“分析无障碍性”、“SEO 审核”、“安全检查” - 按板块分析:“检查表单”、“电商分析”、“导航审核” - 查询具体规则:“Opquast 第 42 条规则”、“展示第 125 条规则”、“查看规则详情” - 探索规则:“列出 Opquast 规则”、“搜索图片相关规则”、“关键规则一览”

SKILL.md
--- frontmatter
name: opquast
description: |
  Analyseur de qualité web basé sur le référentiel Opquast V5 (245 règles).
  Expert certifié pour auditer les sites selon les bonnes pratiques qualité.

  INVOKE THIS SKILL when user wants:
  - Audit qualité: "analyse opquast", "audit qualité web", "check opquast"
  - Analyse URL: "/opquast https://...", "vérifie ce site", "analyse cette page"
  - Par thématique: "analyse accessibilité", "audit SEO", "check sécurité"
  - Par rubrique: "vérifie les formulaires", "analyse e-commerce", "audit navigation"
  - Consulter règle: "règle opquast 42", "montre la règle 125", "détail règle"
  - Explorer règles: "liste règles opquast", "cherche règles images", "règles critiques"
allowed-tools:
  - "WebFetch(*)"
  - "Read(**/*)"
  - "Glob(**/*)"
  - "Grep(**/*)"

Opquast Checker

Analyseur de qualité web basé sur le référentiel Opquast V5 (245 règles)

Disclaimer (afficher une fois par session) :

Opquast Checker n'est pas édité par la société Opquast mais utilise ses contenus et recommandations. Pour approfondir la qualité web : certification Opquast.

Couverture et Limitations

Catégories de règles

CatégorieRèglesMéthodeAutomatisé
static160 (65%)WebFetch + analyse HTMLLLM
requires_dom33 (14%)DOM Analyzer (Playwright)32/33
requires_interaction44 (18%)Test manuelNon
content_quality8 (3%)Évaluation éditorialeNon

DOM Analyzer (Analyse Automatisée)

Le module scripts/dom-analyzer/ vérifie automatiquement 32 règles DOM via Playwright + axe-core:

TypeRèglesExemples
Axe-core mappings24Contraste (182), Alt images (111), Labels (67)
Custom Playwright8Focus visible (165), Taille cliquable (186), Tabindex (167)

Usage programmatique:

javascript
import { analyze } from './scripts/dom-analyzer/lib/analyzer.js';
const results = await analyze('https://example.com');

Usage CLI:

bash
node scripts/dom-analyzer/index.js https://example.com --json

Bridge Unifié

Le script scripts/bridge.js combine analyse static + DOM:

bash
node scripts/bridge.js https://example.com
# Output: DOM violations + guidance pour règles static

Couverture totale: 193/245 règles (79%) via static + DOM combinés.

Limitation WebFetch (SPAs et contenu dynamique)

Attention : WebFetch récupère uniquement le HTML source initial. Les sites utilisant du rendu côté client (React, Vue, Angular, SPAs) peuvent avoir un contenu incomplet.

Impact sur l'analyse :

  • Les éléments injectés par JavaScript ne seront pas visibles
  • Les données chargées via API (fetch/XHR) ne seront pas analysées
  • Certaines règles "static" peuvent être faussement non-conformes si le contenu réel dépend du JS

Recommandation : Pour les SPAs, demander à l'utilisateur de fournir le HTML rendu (via DevTools > Elements > Copy outer HTML) ou utiliser un outil headless externe.

Ressources

Règles structurées (JSON)

  • rules/opquast-v5.json : 245 règles enrichies avec :
    • id, title, category, rubrique, tags
    • objectives : Liste des objectifs de la règle
    • solution : Solution recommandée
    • verification : Méthode de vérification
    • severity : Niveau de sévérité (critical, major, minor)

Niveaux de sévérité

NiveauCritèresNombre
criticalAccessibilité, Sécurité, Données personnelles156
majorSEO, Basics, E-Commerce44
minorAutres rubriques45

Profils de sites

  • rules/site-profiles.json : Détection et filtrage par type de site

Schéma de sortie

  • schemas/audit-report.json : Schéma JSON pour les rapports d'audit structurés

Règles détaillées (Markdown)

  • references/regles-v5/ : 245 règles individuelles (regle-001.md à regle-245.md)
  • references/V5/ : Fichiers par rubrique et dimension transversale

Rubriques (14)

FichierRubriqueRègles
01-opquast-contenus.mdContenus14
02-opquast-donnees-personnelles.mdDonnées personnelles15
03-opquast-e-commerce.mdE-Commerce39
04-opquast-formulaires.mdFormulaires30
05-opquast-identification-contact.mdIdentification et contact17
06-opquast-images-medias.mdImages et médias12
07-opquast-internationalisation.mdInternationalisation8
08-opquast-liens.mdLiens17
09-opquast-navigation.mdNavigation20
10-opquast-newsletter.mdNewsletter7
11-opquast-presentation.mdPrésentation17
12-opquast-securite.mdSécurité21
13-opquast-serveur-performances.mdServeur et performances13
14-opquast-structure-code.mdStructure et code15

Dimensions transversales (6)

FichierDimensionRègles
T1-accessibilite.mdAccessibilité128
T2-seo.mdSEO37
T3-donnees-personnelles.mdPrivacy21
T4-ecoconception.mdÉcoconception35
T5-mobile.mdMobile6
T6-basics.mdBasics65

Commandes

Analyse

CommandeAction
/opquast <URL>Analyse complète
/opquast <URL> --theme accessibilitePar thématique
/opquast <URL> --rubrique formulairesPar rubrique
/opquast --regle 42Consulter une règle

Explorateur de règles

CommandeAction
/opquast --listListe paginée des 245 règles
/opquast --list --page 2Page 2 (règles 21-40)
/opquast --search <mot>Recherche par mot-clé
/opquast --theme <theme>Règles d'une thématique
/opquast --rubrique <rubrique>Règles d'une rubrique
/opquast --severity criticalRègles par sévérité

Thématiques : accessibilite, seo, securite, privacy, ecoconception, mobile, basics

Rubriques : contenus, donnees-personnelles, e-commerce, formulaires, identification, images, internationalisation, liens, navigation, newsletter, presentation, securite, serveur, structure

Sévérités : critical (156), major (44), minor (45)

Exemples explorateur

Liste paginée (--list)

code
/opquast --list

# Règles Opquast V5 (1-20 sur 245)

| ID | Titre | Rubrique | Sévérité |
|----|-------|----------|----------|
| 1 | Il est possible de connaître les nouveaux contenus | Contenus | critical |
| 2 | Les droits de copie sont disponibles | Contenus | minor |
| 3 | Métadonnée description présente | Contenus | major |
| ... | ... | ... | ... |

Page 1/13 — `/opquast --list --page 2` pour la suite

Recherche (--search)

code
/opquast --search formulaire

# 30 règles contenant "formulaire"

| ID | Titre | Sévérité |
|----|-------|----------|
| 67 | Chaque champ est associé à une étiquette | critical |
| 68 | Les étiquettes sont visuellement proches | major |
| 69 | Les champs obligatoires sont indiqués | critical |
| ... | ... | ... |

Par thématique (--theme)

code
/opquast --theme accessibilite

# 128 règles Accessibilité

| ID | Titre | Rubrique | Sévérité |
|----|-------|----------|----------|
| 4 | Dates en format explicite | Contenus | critical |
| 5 | Abréviations expliquées | Contenus | critical |
| ... | ... | ... | ... |

Par rubrique (--rubrique)

code
/opquast --rubrique e-commerce

# 39 règles E-Commerce

| ID | Titre | Sévérité |
|----|-------|----------|
| 15 | Prix clairement indiqués | critical |
| 16 | Devise mentionnée | critical |
| 17 | Disponibilité indiquée | major |
| ... | ... | ... |

Intelligence contextuelle

Détection du type de site

Lors de l'analyse, détecter automatiquement le profil du site via rules/site-profiles.json :

ProfilIndicateurs clés
e-commercepanier, prix, checkout, product schema
saaslogin, dashboard, pricing, subscription
blogarticle, post, author, published date
vitrinecontact, about, services, team
institutionneldémarches, services publics, délibérations
newsletterformulaire newsletter, subscribe

Filtrage intelligent

Pour chaque profil, le fichier définit :

  • rubriques_prioritaires : rubriques à vérifier en priorité
  • regles_critiques : règles incontournables pour ce type
  • regles_exclues : règles non pertinentes (ex: e-commerce sur un blog)
  • pages_a_analyser : pages recommandées pour l'audit

Utilisation

  1. Analyser le HTML récupéré
  2. Chercher les indicateurs de détection (keywords, elements, urls, meta)
  3. Sélectionner le profil correspondant
  4. Adapter l'audit aux règles pertinentes
  5. Mentionner le profil détecté dans le rapport

Méthodologie

1. Récupération

  • Utiliser WebFetch pour la page principale
  • Explorer : contact, formulaires, panier, mentions légales, CGV

2. Détection du profil

  • Charger rules/site-profiles.json
  • Analyser le HTML pour détecter le type de site
  • Appliquer le profil ou utiliser vitrine par défaut

3. Vérification

Pour chaque règle applicable :

  1. Charger rules/opquast-v5.json pour les métadonnées enrichies
  2. Filtrer par category: "static" (règles vérifiables)
  3. Exclure les regles_exclues du profil détecté
  4. Prioriser les regles_critiques du profil
  5. Utiliser verification pour la méthode de test
  6. Utiliser solution pour les recommandations

4. Pages à analyser

Selon le profil détecté, analyser les pages définies dans pages_a_analyser. Par défaut :

  • Page d'accueil
  • Contact / Identification
  • Mentions légales / CGV / Confidentialité

Format de sortie

markdown
# Analyse Opquast : [Nom du site]

**URL** : [url]
**Date** : [date]
**Profil détecté** : [e-commerce|saas|blog|vitrine|institutionnel]
**Scope** : [thématique/rubrique ou "adapté au profil"]

## Couverture

| Statut | Nombre |
|--------|--------|
| Conformes | X |
| Non conformes | Y |
| Non vérifiables (DOM) | Z |
| Non applicables | W |

---

## Quick Wins

> Corrections rapides à fort impact

| Règle | Problème | Solution | Impact |
|-------|----------|----------|--------|
| 191 | Texte justifié détecté | Supprimer `text-align: justify` | Accessibilité |
| 237 | Copie bloquée | Retirer `user-select: none` | Accessibilité |
| 139 | Soulignement sur non-liens | Utiliser autre style que underline | Accessibilité |

---

## Non-conformités par priorité

### Accessibilité (priorité haute)

#### Règle [N] : [Titre]
**Impact** : Accessibilité
**Pages** : [URL 1], [URL 2]
**Solution** : [Extrait du champ solution de la règle]
[Voir la règle](https://checklists.opquast.com/fr/qualite-numerique/[N])

### SEO (priorité moyenne)

#### Règle [N] : [Titre]
...

### UX/Performance (priorité standard)

#### Règle [N] : [Titre]
...

---

## Règles non vérifiables

Les règles suivantes nécessitent une analyse DOM/CSS :
- Règle 182 : Contraste [Nécessite analyse DOM]
- Règle 165 : Focus clavier [Nécessite analyse DOM]

Ordre de priorité

  1. Accessibilité : Impact utilisateurs en situation de handicap
  2. SEO : Impact référencement et découvrabilité
  3. UX/Performance : Impact expérience utilisateur générale

Section Quick Wins

Afficher les règles CSS-détectables avec correction simple :

  • Règles avec static_verification_method dans le JSON
  • Solutions en une ligne (ex: "Supprimer text-align: justify")
  • Toujours en premier pour action immédiate

Règles d'affichage

  • NE PAS afficher les règles conformes
  • NE PAS afficher les règles non applicables
  • Grouper par tag principal (Accessibilité > SEO > autres)
  • Afficher la section "Règles non vérifiables" avec les règles requires_dom
  • Si tout OK : "Toutes les règles sont respectées."

URL inaccessible

Si WebFetch échoue :

  1. Proposer des captures d'écran
  2. Préciser que certaines règles ne pourront pas être vérifiées
  3. Demander de vérifier l'URL

Workflow

  1. Afficher disclaimer (première fois)
  2. Récupérer page avec WebFetch
  3. Détecter le profil via rules/site-profiles.json
  4. Charger rules/opquast-v5.json (règles enrichies)
  5. Filtrer selon profil et scope demandé
  6. Analyser les pages recommandées
  7. Générer rapport avec profil détecté
  8. Proposer analyse complémentaire

Opquast V5 (Qualité Numérique) — 245 règles