Scan gratuit

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: 90

Elle 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 1

4. 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

Pas encore de site surveillé ?

Testez d'abord une page gratuitement, sans compte.

Scan gratuit