From f3e5f7b9efd7d2b82e0b3487fbf3d79207c26f20 Mon Sep 17 00:00:00 2001 From: William Petit Date: Mon, 10 Aug 2020 15:15:32 +0200 Subject: [PATCH] =?UTF-8?q?Librairie=20d'audit=20d'accessibilit=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 2 ++ resources/com/cadoles/pa11y/Dockerfile | 2 +- resources/com/cadoles/pa11y/run-audit.sh | 4 +--- vars/pa11y.groovy | 22 ++++++++++++++++++++-- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 918b37e..ca43026 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,7 @@ W3AF_COMMAND ?= LIGHTHOUSE_COMMAND ?= LIGHTHOUSE_URL ?= PA11Y_URL ?= +PA11Y_REPORTER ?= image-w3af: docker build \ @@ -71,6 +72,7 @@ pa11y: -e http_proxy=$(http_proxy) \ -e https_proxy=$(https_proxy) \ -e PA11Y_URL='$(PA11Y_URL)' \ + -e PA11Y_REPORTER='$(PA11Y_REPORTER)' \ -u $(shell id -u $(USER)):$(shell id -g $(USER)) \ -v "$(PWD)/data/pa11y/reports:/home/pa11y/reports" \ $(DOCKER_ARGS) \ diff --git a/resources/com/cadoles/pa11y/Dockerfile b/resources/com/cadoles/pa11y/Dockerfile index c150872..24ab7fb 100644 --- a/resources/com/cadoles/pa11y/Dockerfile +++ b/resources/com/cadoles/pa11y/Dockerfile @@ -35,7 +35,7 @@ RUN apk add --no-cache \ chromium \ bash -RUN PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 npm install -g pa11y@next pa11y-reporter-html +RUN PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 npm install -g pa11y pa11y-reporter-html@^1.0.0 pa11y-reporter-junit RUN adduser -D pa11y diff --git a/resources/com/cadoles/pa11y/run-audit.sh b/resources/com/cadoles/pa11y/run-audit.sh index 0b4c70e..dca6d8a 100644 --- a/resources/com/cadoles/pa11y/run-audit.sh +++ b/resources/com/cadoles/pa11y/run-audit.sh @@ -1,7 +1,5 @@ #!/bin/bash -set -x - envtpl -o patty.json /home/pa11y/patty.json.tmpl mkdir -p reports @@ -17,4 +15,4 @@ pa11y \ --include-warnings \ --include-notices \ --reporter "${PA11Y_REPORTER}" \ - "$PA11Y_URL" > "pa11y.report.${PA11Y_REPORTER}" || exit 0 + "$PA11Y_URL" || exit 0 diff --git a/vars/pa11y.groovy b/vars/pa11y.groovy index 10d16cb..4e0b667 100644 --- a/vars/pa11y.groovy +++ b/vars/pa11y.groovy @@ -1,7 +1,25 @@ -def audit(url: String) { - +def audit(String url, Map params = [:]) { + def reporter = params.reporter ? params.reporter : 'html' + def pa11yImage = buildDockerImage() + + def dockerArgs = """ + -e PA11Y_REPORTER='${reporter}' + -e PA11Y_URL='${url}' + """ + + pa11yImage.inside(dockerArgs) { + sh 'chown -R pa11y: ./' + def report = sh( + script: 'su pa11y - /usr/local/bin/run-audit', + returnStdout: true + ) + + return report + } } + + def buildDockerImage() { dir ('.pa11y') { def resourceFiles = [