Premiers pas avec le développement à l'aide d'Axe DevTools Linter

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Un guide pour commencer à utiliser les services API REST fournis par Axe DevTools Linter

Free Trial
Not for use with personal data

Cet article décrit comment commencer à utiliser les services API REST fournis par l'édition sur site d'Axe DevTools Linter ou Axe DevTools Linter SaaS. Les services sont fournis par des endpoints REST, il est donc nécessaire d'avoir une expérience avec un outil REST tel que Postman, CocoaRestClient ou l'extension REST Client de VS Code. Vous pouvez également accéder aux services avec un langage de programmation tel que Python.

Les différences entre les deux éditions d'Axe DevTools Linter (Axe DevTools Linter SaaS contre le serveur sur site) sont que l'offre SaaS nécessite une autorisation via une API pour chaque requête de linter (le point de terminaison /lint-source).

tip

Plus d'informations générales sur les endpoints exposés par le service REST d'Axe DevTools Linter sont décrites dans la Référence des API REST.

Premiers Pas

Si vous utilisez l'édition SaaS du serveur Axe DevTools Linter, vous devez d'abord obtenir une clé API. Vous pouvez trouver les étapes nécessaires pour obtenir la clé dans Obtenir une clé API Axe DevTools Linter SaaS.

note

Si vous souhaitez vérifier la connectivité avec Axe DevTools Linter SaaS, vous pouvez accéder à certains des endpoints REST sans clé API. Ce cas est traité dans la section suivante.

Pour la version sur site du serveur Axe DevTools Linter, vous devrez l'installer (comme décrit dans Installation du serveur Axe DevTools Linter sur site) puis obtenir l'adresse IP du serveur. Vous aurez également besoin du port sur lequel le serveur écoute (le port par défaut est 3000).

Tester votre connexion avec curl

Deux des endpoints REST d'Axe DevTools Linter SaaS ne nécessitent pas d'authentification, vous pouvez donc tester votre connexion avant d'obtenir une clé API.

Si vous souhaitez effectuer un test simple pour vérifier votre capacité à accéder au serveur, vous pouvez utiliser curl (ou un navigateur web). L'exemple de curl suivant montre comment utiliser le point de terminaison status d'Axe DevTools Linter SaaS :

curl https://axe-linter.deque.com/status
note

Vous devez spécifier https au lieu de http lorsque vous vous connectez à Axe DevTools Linter SaaS.

Pour la version sur site, vous devriez taper ce qui suit :

curl http://<server IP address>:<server port>/status

Vous devez remplacer les <adresse IP du serveur> et <port du serveur> dans la commande ci-dessus.

Si le serveur est disponible, il répondra avec :

Ok

Vous pouvez également visiter la même URL (par exemple, https://axe-linter.deque.com/status) avec un navigateur web et devriez voir le même résultat.

L'exemple suivant montre comment accéder au endpoint healthcheck :

curl https://axe-linter.deque.com/healthcheck

Le serveur devrait répondre avec ce qui suit :

{
  "version": "4.4.0"
}

Comme avec le point de terminaison status, vous pouvez également visiter https://axe-linter.deque.com/healthcheck avec un navigateur web et obtenir le même résultat qu'avec curl.

Pour vérifier la source d'éventuelles erreurs d'accessibilité, vous devez créer une requête POST. Vous pouvez utiliser curl ou un outil tel que Postman.

Dans Postman ou un autre outil REST, vous devez créer un en-tête comme celui montré ci-dessous :

POST https://axe-linter.deque.com/lint-source
content-type: application/json
authorization: <YOUR API KEY>

Si vous utilisez Axe DevTools Linter SaaS, vous devez remplacer par votre clé API. Si vous utilisez le serveur sur site, vous n'avez pas besoin d'utiliser l'en-tête authorization, mais vous devez changer l'URL pour l'adresse IP et le port de votre serveur sur site.

Avec curl l'en-tête équivalent à celui montré ci-dessus serait :

curl --request POST --url https://axe-linter.deque.com/lint-source \
  --header 'content-type: application/json' \
  --header 'authorization: <YOUR API KEY>'

Vous devez également spécifier un corps de requête sous forme d'objet JSON avant que la requête ne soit complète :

{
  "source": "# Heading\n### Another Heading\n",
  "filename": "file.md"
}

La commande complète curl est :

curl --request POST --url https://axe-linter.deque.com/lint-source \
  --header 'content-type: application/json' \
  --header 'authorization: <YOUR API KEY>'
  --data '{ "source": "# Heading\n### Another Heading\n",
    "filename": "file.md" }'

Pour le serveur sur site, vous devez changer l'argument --url et enlever la ligne --header 'authorization: <VOTRE CLÉ API>'.

L'exemple suivant montre une réponse à la requête ci-dessus :

HTTP/1.1 200 OK
Date: Mon, 14 Mar 2022 14:04:19 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 419
Connection: close
X-Powered-By: Express
Surrogate-Control: no-store
Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate
Pragma: no-cache
Expires: 0
ETag: W/"1a3-cfgZ30xjvW815mLDpbjoGXreu2o"

{
  "report": {
    "errors": [
      {
        "ruleId": "heading-order",
        "helpURL": "https://dequeuniversity.com/rules/axe/4.4/heading-order?application=axe-linter",
        "description": "Ensures the order of headings is semantically correct",
        "lineContent": "### Another heading",
        "lineNumber": 2,
        "linterType": "md",
        "column": 1,
        "endColumn": 20
      }
    ]
  }
}

Comme cet exemple présente un problème d'accessibilité, vous avez reçu une réponse qui contient un objet report contenant un tableau erreurs d'objets erreur. Voir Réponse pour plus d'informations sur cet objet de réponse.

Si votre clé API n'existe pas lorsque vous utilisez Axe DevTools Linter SaaS, vous recevrez une réponse de ce type :

HTTP/1.1 404 Not Found
Date: Fri, 11 Mar 2022 22:38:51 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 33
Connection: close
X-Powered-By: Express
Surrogate-Control: no-store
Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate
Pragma: no-cache
Expires: 0
ETag: W/"21-HAVNeHb+a8RfOcMl419aKM67S20"

{
  "error": "No API key found"
}

Dans ce cas, vous pouvez essayer de recréer votre clé API ou contacter le service d'assistance Deque pour obtenir de l'aide.

Voir aussi