Tester l’accessibilité dans votre intégration continue
À chaque mise en ligne, Odeet scanne les pages que vous choisissez, sur ordinateur et sur mobile, et fait échouer le pipeline si le score passe sous votre seuil. Le rapport complet reste dans votre tableau de bord.
Ce qu’il faut savoir
- Réservé au plan Pro : 300 scans CI sur 30 jours glissants, en plus des 100 audits.
- Seules les pages listées sont scannées, 20 au maximum ; sans liste, la page d’accueil seule.
- Le site doit être accessible depuis Internet : Odeet refuse les adresses de réseau privé.
- Le score Odeet est un indicateur technique, pas un taux de conformité RGAA.
1. Créer une clé API
- 1Dans Odeet, ouvrez Paramètres, section Intégrations, puis cliquez sur Créer une clé.
- 2Nommez-la d’après le projet ou le client, puis copiez-la : elle ne s’affiche qu’une fois.
- 3Enregistrez-la comme secret de votre CI sous le nom ODEET_API_KEY.
Le propriétaire et les admins de l’organisation créent et révoquent les clés. Une clé révoquée cesse de fonctionner immédiatement.
2. Ajouter l’étape au pipeline
name: Accessibilité
on:
push:
branches: [main]
jobs:
odeet:
runs-on: ubuntu-latest
steps:
- name: Accessibilité Odeet
run: |
curl --fail-with-body --max-time 1500 https://dashboard.odeet.fr/api/ci/gate \
-H "Authorization: Bearer ${{ secrets.ODEET_API_KEY }}" \
-H "Content-Type: application/json" \
-d '{"siteUrl":"https://preprod.example.com","urls":["/contact","/cart"],"minScore":80}'accessibility:
stage: test
image: curlimages/curl:8.11.1
script:
- >
curl --fail-with-body --max-time 1500 https://dashboard.odeet.fr/api/ci/gate
-H "Authorization: Bearer $ODEET_API_KEY"
-H "Content-Type: application/json"
-d '{"siteUrl":"https://preprod.example.com","minScore":80}'curl --fail-with-body --max-time 1500 https://dashboard.odeet.fr/api/ci/gate \
-H "Authorization: Bearer $ODEET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"siteUrl":"https://preprod.example.com","urls":["/contact"],"minScore":80}'L’appel attend la fin du scan, jusqu’à 20 minutes, puis répond. Avec --fail-with-body, curl échoue si le score est sous le seuil et affiche la réponse dans le journal du pipeline.
Paramètres
| Champ | Valeur |
|---|---|
| siteUrl | Adresse du site, obligatoire. |
| urls | Pages à scanner en plus de l’accueil, même domaine, 20 au maximum. |
| minScore | Seuil de réussite, de 0 à 100. 70 par défaut. |
| wait | false pour répondre tout de suite et suivre le scan à part. true par défaut. |
| locale | fr ou en : langue des messages d’erreur et du message Slack. |
Réponses
| Code | Signification |
|---|---|
| 200 | Scan terminé, score au moins égal au seuil. |
| 422 | Scan terminé, score sous le seuil : le pipeline échoue. |
| 202 | Scan encore en cours (wait à false ou attente dépassée) : suivez statusUrl. |
| 400 | Adresse invalide, injoignable ou hors du domaine. |
| 401 | Clé absente, invalide ou révoquée. |
| 403 | L’organisation n’a pas d’abonnement Pro actif. |
| 409 | Deux scans de l’organisation sont déjà en file : réessayez après Retry-After. |
| 429 | Quota de scans CI atteint, ou trop d’appels rapprochés. |
| 500 | Le scan n’a pas pu aboutir. |
{
"scanId": "…",
"auditId": "…",
"status": "completed",
"passed": true,
"score": 86,
"threshold": 80,
"level": "Bon",
"totalViolations": 4,
"counts": { "critical": 0, "serious": 1, "moderate": 2, "minor": 1 },
"reportUrl": "https://dashboard.odeet.fr/audit/…"
}Suivre un scan sans attendre
Si votre outil limite la durée d’une étape, lancez le scan avec "wait": false, puis interrogez l’adresse de suivi renvoyée.
# 1. Lancer sans attendre : réponse 202 avec statusUrl
curl https://dashboard.odeet.fr/api/ci/gate \
-H "Authorization: Bearer $ODEET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"siteUrl":"https://preprod.example.com","wait":false}'
# 2. Suivre : 202 tant que le scan tourne, puis 200 ou 422
curl --fail-with-body https://dashboard.odeet.fr/api/ci/scans/SCAN_ID \
-H "Authorization: Bearer $ODEET_API_KEY"Disponible avec le plan Pro
Intégration continue, Slack et monitoring, en plus de 100 audits sur 30 jours.
Voir l’offre Pro