CI/CD — Intégrer l'audit RGAA dans votre pipeline
Vérifiez automatiquement la conformité RGAA à chaque déploiement
GitHub Action
Ajoutez un audit RGAA automatique sur chaque Pull Request. L'action vérifie que le score d'accessibilité ne descend pas sous le seuil défini.
Créez le fichier .github/workflows/rgaa.yml :
name: RGAA Check
on: [pull_request]
jobs:
rgaa:
runs-on: ubuntu-latest
steps:
- uses: rgaaudit/action@v1
with:
url: ${{ env.PREVIEW_URL }}
threshold: 70Paramètres disponibles :
url— URL de la preview à auditer (obligatoire)threshold— Score minimum requis, de 0 à 100 (défaut : 70)api-key— Clé API RGAAudit (via un secret GitHub)fail-on-error— Échouer le job si le seuil n'est pas atteint (défaut : true)
Outputs disponibles :
score,violations,conformity— Métriques classiquesbroken-links— Nombre de liens cassés (404) détectés sur la pageerror-pages— Nombre de pages en erreur (timeout, Cloudflare, etc.)report-json— Rapport JSON complet avec diagnostics (liens cassés, erreurs)
GitLab CI
Ajoutez ce stage dans votre fichier .gitlab-ci.yml :
rgaa-audit:
image: node:20
stage: test
script:
- |
RESULT=$(curl -s -X POST https://rgaaudit.fr/api/ci/scan \
-H "Content-Type: application/json" \
-H "X-API-Key: $RGAAUDIT_API_KEY" \
-d "{\"url\": \"$CI_ENVIRONMENT_URL\", \"threshold\": 70, \"diagnostics\": true}")
echo "$RESULT" | jq .
SCORE=$(echo "$RESULT" | jq -r '.score')
BROKEN=$(echo "$RESULT" | jq -r '.diagnostics.brokenLinks | length')
echo "Score RGAA : $SCORE/100 — Liens cassés : $BROKEN"
if [ "$SCORE" -lt 70 ]; then
echo "Score RGAA insuffisant : $SCORE/100"
exit 1
fi
if [ "$BROKEN" -gt 0 ]; then
echo "⚠️ $BROKEN lien(s) cassé(s) détecté(s)"
fi
only:
- merge_requests Ajoutez la variable RGAAUDIT_API_KEY dans Settings > CI/CD > Variables de votre projet GitLab.
Audit authentifié
Pour auditer les pages protégées par authentification (dashboard, admin, paramètres...), passez les cookies de session dans le body de la requête :
curl -X POST https://rgaaudit.fr/api/ci/scan \
-H "Content-Type: application/json" \
-H "X-API-Key: $RGAAUDIT_API_KEY" \
-d '{
"url": "https://monapp.fr",
"cookies": [
{ "name": "session", "value": "abc123", "domain": "monapp.fr" }
],
"threshold": 70
}'Ce que ça change :
- Les cookies sont injectés dans le navigateur lors de la découverte et de l'analyse
- Les pages nécessitant une authentification sont détectées et marquées avec un badge Protégée
- Le champ
authPagesest ajouté au résumé de la réponse - Le badge SVG affiche un suffixe ✦ si des pages protégées sont incluses
Le paramètre cookies accepte un tableau d'objets avec les champs name, value, domain (optionnel) et path (optionnel, défaut : « / »).
Badge README
Affichez le score RGAA de votre site directement dans votre README :
Le badge se met à jour automatiquement après chaque audit. Formats supportés :
Markdown
HTML
<img src="https://rgaaudit.fr/api/ci/badge/monsite.fr" alt="RGAA Score" />reStructuredText
.. image:: https://rgaaudit.fr/api/ci/badge/monsite.frRésultats sur les Pull Requests
L'action GitHub ajoute automatiquement un commentaire sur la PR avec le résultat de l'audit :
Exemple de commentaire :
Audit RGAA — Score : 78/100
| Critère | Impact | Occurrences |
|---|---|---|
| 1.1 — Images alternatives | Critique | 3 |
| 3.1 — Contraste texte | Sérieux | 7 |
| 8.2 — Langue par défaut | Modéré | 1 |
Le commentaire inclut un lien vers le rapport complet sur RGAAudit, avec les détails de chaque violation et les suggestions de correction.
Clé API
Pour utiliser l'intégration CI/CD, vous devez générer une clé API dédiée depuis votre compte RGAAudit.
Pour générer votre clé :
- Connectez-vous à votre tableau de bord RGAAudit
- Allez dans Paramètres > API
- Cliquez sur Générer une clé CI/CD
- Copiez la clé affichée (elle ne sera plus visible ensuite)
Les clés CI/CD sont préfixées par rga_ (par exemple rga_k7x9m2...). Stockez-la dans un secret GitHub ou une variable CI protégée :
# GitHub Actions — ajouter le secret dans Settings > Secrets
- uses: rgaaudit/action@v1
with:
url: ${{ env.PREVIEW_URL }}
api-key: ${{ secrets.RGAAUDIT_API_KEY }}
threshold: 70Limites par plan
L'accès à l'API CI/CD dépend de votre plan RGAAudit :
Quotas de requêtes API mensuels :
- Découverte (gratuit) — CI/CD non disponible (génération de clé bloquée)
- Freelance — 100 requêtes / mois
- Agence — 500 requêtes / mois
- Organisation — Illimité
Au-delà du quota, l'API retourne une erreur 403 Forbidden. Le compteur se réinitialise le 1er de chaque mois. Vous pouvez suivre votre consommation dans Paramètres > API.
Badge dynamique
Le badge RGAA se met à jour automatiquement après chaque audit CI/CD ou audit lancé depuis l'interface web. Il affiche le dernier score connu pour votre domaine.
La couleur du badge reflète le niveau de conformité :
| Score | Couleur | Niveau |
|---|---|---|
| ≥ 90 | Vert | Excellent |
| ≥ 70 | Jaune | Bon |
| ≥ 50 | Orange | À améliorer |
| < 50 | Rouge | Insuffisant |
Aucune authentification requise pour afficher le badge : l'endpoint GET /api/ci/badge/:siteKey est public. Intégrez-le dans votre README, votre documentation ou votre site vitrine.
Si le dernier audit inclut des pages protégées par authentification, le badge affiche un suffixe ✦ après le niveau de conformité (ex : « Conforme ✦ »), indiquant une couverture étendue.