Unitadtechnologystandards / Ad-Validator

1 stars 0 forks source link

README

About

Grundprinzip ist folgendermaßen:

Im Frontend laeuft eine Javascript/XHR/PHP Anwendung.

Der Benutzer gibt Parameter ein, diese werden via XHR an das Backend gesendet und dort in der PHP-Session aufbewahrt.

Es kann auch ein Zip-Archiv hochgeladen werden, dieses wird in einem temorären Arbeitsverzeichnis entpackt und der Verweis auf dieses Verzeichnis ebenfalls in der Session festgehalten.

Prüfvorgang

Startet der Benutzer den Prüfvorgang geschieht folgendes:

Erkennung ReadyState

Im Chrome-Remote-Interface kann nur das Dom-Ready und das Load-Event gemessen werden. Die Werbemittel reagieren jedoch auf das ReadyStateChange "complete" Event

In der Testseite wird ReadyStateChange "complete" UND Load-Event gemessen. Das Delta in Mikrosekunden wird vom außen gemessenen Load-Event abgezogen.

So ist es möglich zu erkennen, ob Werbemittel in Friendly-Iframes tatsächlich erst mit dem Sub-Load Teil beginnen, wenn sie es auch dürfen.

Diagramme

Das Frontend ist jederzeit in der Lage ein Ergebnis-Objekt auszuwerten und grafisch aufzubereiten:

PDF Export

Der Benutzer kann nun einen PDF-Export veranlassen:

Zurücksetzen

Die Funktion "Alle zurücksetzen" löscht das letzte Ergebnis, die Eingabe und auch die Arbeitsverzeichnisse.

Setup

Umgebung

Nur zur Installation:

Zwei zertifizierte (Sub-)Domains

Beispielweise:

https://ovk-advalidator.de

und dazugehörig

https://unfriendly.ovk-advalidator.de

Installation

  1. Repository clonen/exportieren
  2. Schreibzugriff auf /path/to/public/workdir, /path/to/var/* ermöglichen
  3. npm install
  4. gulp sass && gulp scripts && gulp fonts
  5. Vhost zeigt auf /path/to/public
  6. /index.html als Standard-Seite im Vhost

(Headless) Chrome

Unter /usr/bin/chromium wird ein browser erwartet.

Node

Unter /usr/bin/node wird ein Node erwartet, hiermit wird der laufende Chrome-Browser angesteuert.

Frontend

Das Frontend basiert auf

https://foundation.zurb.com/sites/docs/index.html

Das Frontend Javascript benutzt jquery

Für die Charts wird

https://www.chartjs.org/

benutzt

[/site]$ npm install
[/site]$ gulp sass
[/site]$ gulp scripts
[/site]$ gulp fonts

Backend

Reines PHP (7.2) mit composer-Autoloader

CRON

Reap old workdir files using:

find /path/to/public/workdir -type d -mmin +1800 -exec rm -rf {} +