Intégration CI/CD pour l'Accessibilité RGAA
Détectez les régressions d'accessibilité à chaque déploiement. Intégrez les audits RGAA directement dans votre pipeline CI/CD.
Le problème
Les régressions d'accessibilité passent souvent inaperçues jusqu'à ce qu'un utilisateur ou un audit externe les détecte. À ce moment-là, les corriger coûte plus cher et prend plus de temps.
- ✗Régressions non détectées en production
- ✗Corrections coûteuses après déploiement
- ✗Risque de non-conformité RGAA/EAA
La solution
Intégrez les audits RGAA dans votre pipeline CI/CD. Détectez automatiquement les problèmes d'accessibilité avant qu'ils n'arrivent en production.
- Audit automatique à chaque PR
- Bloquer les déploiements non conformes
- Rapports JUnit pour vos outils CI
Comment ça marche ?
Trois étapes simples pour automatiser vos audits d'accessibilité.
Créez une clé API
Depuis votre dashboard, générez une clé API sécurisée. Stockez-la dans les secrets de votre CI (RGAA_CHECKER_API_KEY).
Configurez votre pipeline
Ajoutez notre GitHub Action, CLI npm ou appel API REST dans votre workflow CI/CD.
Recevez les résultats
À chaque PR, obtenez le score RGAA et la liste des erreurs. Bloquez les déploiements si le seuil n'est pas atteint.
Pourquoi intégrer RGAA Checker dans votre CI ?
RGAA Checker scanne vos pages après déploiement sur un environnement de preview ou staging. Il teste le rendu final avec tout le JavaScript exécuté et le contenu réel.
Preview Deployments
Chaque Pull Request crée une preview (Vercel, Netlify, etc.). RGAA Checker scanne automatiquement cette URL et bloque le merge si le score baisse.
PR #42 → preview-pr-42.vercel.app → Scan → Score 85% ✓Contenu dynamique / CMS
Votre code peut être parfait, mais le contenu injecté par un CMS peut créer des problèmes : images sans alt, liens vides, contrastes insuffisants.
Strapi / Contentful / WordPress → Contenu réel testéDétection de régressions
Un développeur modifie un composant et casse l'accessibilité sans le savoir. Le build échoue avant que ça arrive en production.
Score 85% → Commit → Score 72% → Build FAILED ✗Workflow typique avec RGAA Checker
RGAA Checker intervient après le déploiement de votre preview pour tester la page réelle.
Exemple : Scanner automatiquement les previews Vercel
name: Accessibility Check
on:
deployment_status:
types: [success]
jobs:
rgaa-audit:
# Se déclenche uniquement quand le déploiement réussit
if: github.event.deployment_status.state == 'success'
runs-on: ubuntu-latest
steps:
- name: Audit RGAA
uses: rgaa-checker/action@v1
with:
api-key: ${{ secrets.RGAA_CHECKER_API_KEY }}
# Utilise l'URL de preview générée par Vercel/Netlify
url: ${{ github.event.deployment_status.target_url }}
threshold: 80Exemples d'intégration
Choisissez votre méthode d'intégration préférée.
name: Accessibility Check
on:
pull_request:
push:
branches: [main]
jobs:
rgaa-audit:
runs-on: ubuntu-latest
steps:
- uses: rgaa-checker/action@v1
with:
api-key: ${{ secrets.RGAA_CHECKER_API_KEY }}
url: https://staging.example.com
threshold: 80Format de réponse
{
"success": true,
"url": "https://example.com",
"score": 85,
"rgaaScore": 72,
"passed": true,
"threshold": 80,
"stats": {
"total": 106,
"pass": 45,
"fail": 8,
"manual": 18,
"na": 35
},
"issues": [
{
"criterion": "1.1",
"title": "Images",
"status": "fail",
"count": 3,
"samples": ["<img src='logo.png'>"]
}
],
"duration": 12500,
"timestamp": "2024-01-15T10:30:00Z"
}Documentation détaillée
Tout savoir sur l'installation, la configuration et les options disponibles.
Installation
Installez le CLI RGAA Checker via npm pour l'utiliser dans vos pipelines CI/CD ou en local.
Installation globale
npm install -g @rgaa-checker/cliUtilisation avec npx
npx @rgaa-checker/cli scan https://example.com# Ajouter comme dépendance de développement
npm install --save-dev @rgaa-checker/cli
# Puis utiliser via npm scripts dans package.json
{
"scripts": {
"test:a11y": "rgaa-checker scan https://localhost:3000 --threshold 80"
}
}Pré-requis
- • Node.js version 18 ou supérieure
- • Une clé API RGAA Checker (plan Découverte ou Pro)
Fichier de configuration .rgaachecker.json
Créez un fichier .rgaachecker.json à la racine de votre projet pour configurer les options par défaut du CLI.
{
"url": "https://staging.example.com",
"threshold": 80,
"timeout": 60000,
"auth": {
"type": "basic",
"username": "$BASIC_USER",
"password": "$BASIC_PASS"
}
}| Option | Type | Défaut | Description |
|---|---|---|---|
| url | string | - | URL à scanner par défaut |
| threshold | number | 80 | Score minimum requis (0-100) |
| timeout | number | 60000 | Timeout en millisecondes |
| auth | object | - | Configuration Basic Auth |
Note : Les arguments CLI (ex: --threshold 90) ont priorite sur le fichier de configuration.
Authentification Basic Auth
Scannez vos environnements de staging proteges par authentification HTTP Basic. Utilisez des variables d'environnement pour ne pas exposer vos identifiants.
Via le CLI
rgaa-checker scan https://staging.example.com \
--basic-user admin \
--basic-pass secret123Via l'API
{
"url": "https://staging.example.com",
"auth": {
"type": "basic",
"username": "admin",
"password": "secret123"
}
}Variables d'environnement
Dans le fichier .rgaachecker.json, prefixez les valeurs avec $ pour utiliser des variables d'environnement :
"auth": {
"type": "basic",
"username": "$STAGING_USER",
"password": "$STAGING_PASS"
}Rapports JUnit XML
Exportez les resultats au format JUnit XML pour les integrer a vos outils de CI (Jenkins, GitLab, Azure DevOps, etc.). Chaque critere RGAA echoue devient un test case.
# CLI - Exporter au format JUnit
rgaa-checker scan https://example.com --format junit > report.xml
# Ou avec un fichier de sortie
rgaa-checker scan https://example.com --format junit --output accessibility.xml<?xml version="1.0" encoding="UTF-8"?>
<testsuites name="RGAA Checker" tests="106" failures="8" time="12.500">
<testsuite name="RGAA Audit - https://example.com" tests="106" failures="8">
<testcase name="Overall Score" classname="RGAA">
<failure message="Score 75% is below threshold 80%">
The accessibility score does not meet the required threshold.
</failure>
</testcase>
<testcase name="[1.1] Images" classname="RGAA.1.1">
<failure message="3 issues found">
<img src="logo.png">
<img src="banner.jpg">
</failure>
</testcase>
</testsuite>
</testsuites>Rate Limiting et Quotas
L'API CI est soumise a des limites pour garantir la disponibilite du service pour tous les utilisateurs.
Rate Limit
Quotas mensuels
Important : Les scans CI et les scans web partagent le meme quota mensuel. Planifiez vos audits en consequence pour optimiser votre utilisation.
Reference des commandes CLI
rgaa-checker scan <url>
Lance un audit d'accessibilite sur l'URL specifiee.
| --threshold <n> | Score minimum requis (defaut: 80) |
| --timeout <ms> | Timeout en ms (defaut: 60000) |
| --format <type> | Format de sortie: text, json, junit |
| --output <file> | Fichier de sortie pour le rapport |
| --basic-user <user> | Nom d'utilisateur Basic Auth |
| --basic-pass <pass> | Mot de passe Basic Auth |
rgaa-checker auth set-key <key>
Configure votre cle API. Elle sera stockee dans ~/.rgaa-checker/config.json.
rgaa-checker init
Cree un fichier .rgaachecker.json avec une configuration par defaut.
Fonctionnalites
Tout ce dont vous avez besoin pour automatiser vos audits.
Score RGAA automatique
Obtenez un score de 0 a 100 base sur les 106 criteres RGAA testables automatiquement.
Seuil d'echec configurable
Definissez le score minimum acceptable. Bloquez les deploiements non conformes.
Commentaires PR configurables
Configurez des commentaires avec le score et les erreurs directement sur vos Pull Requests.
Rapports JUnit XML
Exportez les resultats au format JUnit pour une integration avec vos outils de reporting.
Support Basic Auth
Scannez vos environnements de staging proteges par authentification.
Rate limit genereux
30 requetes par minute pour supporter vos pipelines les plus actifs.
Questions frequentes
Comment creer une cle API ?
Connectez-vous a votre dashboard RGAA Checker, accedez a la section "Cles API" et cliquez sur "Nouvelle cle". Copiez la cle generee - elle ne sera affichee qu'une seule fois.
Combien coute l'integration CI/CD ?
L'integration CI/CD est incluse dans les plans Decouverte (69€/mois) et Pro (249€/mois). Les scans CI utilisent le meme quota que vos scans web.
Puis-je scanner des environnements de staging proteges ?
Oui, l'API CI supporte l'authentification Basic Auth. Vous pouvez configurer un nom d'utilisateur et mot de passe pour acceder a vos environnements proteges.
Comment configurer le seuil d'echec ?
Utilisez le parametre 'threshold' (0-100) pour definir le score minimum acceptable. Si le score est inferieur, le scan retourne passed: false, que votre CI peut utiliser pour faire echouer le build.
Le CLI supporte-t-il les monorepos ?
Oui, vous pouvez creer un fichier .rgaachecker.json a la racine de chaque sous-projet avec des configurations differentes (URL, seuils, options).
Inclus dans vos plans Decouverte et Pro
L'integration CI/CD utilise le meme quota que vos scans web. Pas de surcout, pas de plan separe.
Automatisez vos audits d'accessibilite
Detectez les regressions avant qu'elles n'arrivent en production.
Commencer l'integration