Intégrer Conformly à votre pipeline
Bloquez les régressions d'accessibilité RGAA avant la production : déclenchez un scan à chaque déploiement et faites échouer le build si le score passe sous un seuil. Un garde-fou automatique, au même titre que vos tests.
Le plus rapide : l'Action GitHub, sans compte
Une étape suffit. L'Action scanne une page publique et fait échouer le job sous le seuil ; le score s'affiche dans le résumé du job. Aucune clé n'est nécessaire.
- name: Accessibilité RGAA
uses: SeifBouarada/conformly-cli@v1
with:
url: https://votre-site.fr
threshold: 90Elle mesure la page à l'instant du scan, sans historique. Pour suivre un site dans le temps (alertes de régression, preuves horodatées), utilisez l'API avec une clé, ci-dessous. Code source et options : SeifBouarada/conformly-cli.
1. Créer une clé API
Dans votre tableau de bord, ouvrez le détail du site, section Intégration CI/CD, et générez une clé (préfixe cfy_). Elle est site-scopée : elle ne peut déclencher des scans que pour ce site. Stockez-la comme secret de pipeline, par ex. CONFORMLY_TOKEN.
2. GitHub Actions
name: Accessibilité RGAA
on: [push]
jobs:
a11y:
runs-on: ubuntu-latest
steps:
- name: Scan Conformly (échoue sous 90)
env:
TOKEN: ${{ secrets.CONFORMLY_TOKEN }}
run: |
RUN=$(curl -s -X POST "https://conformly.online/api/v1/scans" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"threshold":90}')
ID=$(echo "$RUN" | jq -r .id)
echo "Scan $ID déclenché…"
for i in $(seq 1 60); do
sleep 10
RES=$(curl -s "https://conformly.online/api/v1/scans/$ID" -H "Authorization: Bearer $TOKEN")
[ "$(echo "$RES" | jq -r .status)" = "done" ] && break
done
echo "$RES" | jq .
[ "$(echo "$RES" | jq -r .pass)" = "true" ] || { echo "Score sous le seuil"; exit 1; }3. GitLab CI
accessibilite:
image: alpine
script:
- apk add --no-cache curl jq
- |
RUN=$(curl -s -X POST "https://conformly.online/api/v1/scans" \
-H "Authorization: Bearer $CONFORMLY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"threshold":90}')
ID=$(echo "$RUN" | jq -r .id)
for i in $(seq 1 60); do
sleep 10
RES=$(curl -s "https://conformly.online/api/v1/scans/$ID" -H "Authorization: Bearer $CONFORMLY_TOKEN")
[ "$(echo "$RES" | jq -r .status)" = "done" ] && break
done
echo "$RES" | jq .
[ "$(echo "$RES" | jq -r .pass)" = "true" ] || exit 14. N'importe quel CI (curl)
L'API REST fonctionne partout (Jenkins, CircleCI, scripts). Authentification par en-tête Authorization: Bearer cfy_….
# 1. Déclencher un scan (seuil de conformité 90/100)
curl -X POST "https://conformly.online/api/v1/scans" \
-H "Authorization: Bearer cfy_votre_cle" \
-H "Content-Type: application/json" \
-d '{"threshold":90}'
# -> 202 { "id": "...", "status": "pending", "statusUrl": "https://conformly.online/api/v1/scans/{id}" }
# 2. Interroger le statut jusqu'à "done"
curl "https://conformly.online/api/v1/scans/{id}" -H "Authorization: Bearer cfy_votre_cle"
# -> { "status": "done", "score": 92, "threshold": 90, "pass": true, ... }Bon à savoir
- Seuil :
threshold(0–100) définit le verdictpass= score ≥ seuil. - Quota : 60 requêtes/minute et par clé ; les réponses portent les en-têtes
X-RateLimit-*(429 +Retry-Afterau-delà). - Isolation : une clé ne voit que les scans de son propre site.
- Le statut expose aussi
scanIdetviolationsUrlpour récupérer le détail des anomalies.
Pas encore de site surveillé ?
Testez d'abord une page gratuitement, sans compte.
Scan gratuit