Premiers pas dans le développement avec axe DevTools Linter

Link to Premiers pas dans le développement avec axe DevTools Linter copied to clipboard
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 d'axe DevTools Linter SaaS. Les services sont fournis par des points de terminaison REST, vous avez donc besoin d'expérience avec un outil REST tel que Postman, CocoaRestClient ou l'extension VS Code REST Client. 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 et le serveur sur site) sont que l'offre SaaS nécessite une autorisation à l'aide d'une API avec chaque requête de linter (l'endpoint /lint-source).

tip

Des informations plus générales sur les points de terminaison exposés par le service REST axe DevTools Linter sont décrites dans la Référence des API REST.

Premiers pas

Si vous utilisez l'édition SaaS d'axe DevTools Linter Server, vous devez d'abord obtenir une clé API. Vous pouvez trouver les étapes nécessaires pour obtenir la clé dans Obtention d'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 points de terminaison REST sans clé API. Ce cas est traité dans la section suivante.

Pour la version sur site du serveur axe DevTools Linter, vous devrez le configurer (comme détaillé 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 le port 3000).

Tester votre connexion avec curl

Deux des extrémités REST d'axe DevTools Linter SaaS ne nécessitent pas d'authentification afin que vous puissiez tester votre connexion avant d'obtenir une clé API.

Si vous souhaitez exécuter un test simple pour savoir si vous pouvez accéder au serveur, vous pouvez utiliser curl (ou un navigateur Web). L'exemple curl suivant montre comment utiliser l'extrémité status de axe DevTools Linter SaaS :

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

Vous devez spécifier https au lieu de http lors de la connexion à axe DevTools Linter SaaS.

Pour la version sur site, vous taperiez ce qui suit :

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

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

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

Ok

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

L'exemple suivant montre comment accéder au point de terminaison healthcheck :

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

Le serveur doit répondre avec ce qui suit :

{
  "version": "4.4.0"
}

Comme pour le point de terminaison statut , 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 pour des 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 illustré 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 avec 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 modifier l'URL en adresse IP et port de votre serveur sur site.

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

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 terminée :

{
  "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 modifier l'argument --url et supprimer l'en-tête --header 'authorization : <YOUR API KEY>' ligne.

Voici un exemple de réponse à la demande 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
      }
    ]
  }
}

Étant donné que cet exemple présente un problème d'accessibilité, vous avez reçu une réponse contenant un objet rapport qui contient un tableau d'erreurs composé 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 comme celle-ci :

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 de contacter le service d'assistance Deque pour obtenir de l'aide.

Voir aussi