public function AsyncAction(WebPage $oPage, $sCode, $aParameters)
    {
        switch ($sCode) {
            case 'check_graphviz':
                $sGraphvizPath = $aParameters['graphviz_path'];
                $oCheck = SetupUtils::CheckGraphviz($sGraphvizPath);
                $sMessage = json_encode($oCheck->sLabel);
                switch ($oCheck->iSeverity) {
                    case CheckResult::INFO:
                        $sStatus = 'ok';
                        $sMessage = json_encode('<img src="../images/validation_ok.png">&nbsp;' . $oCheck->sLabel);
                        break;
                    default:
                    case CheckResult::ERROR:
                    case CheckResult::WARNING:
                        $sStatus = 'ko';
                        $sMessage = json_encode('<img src="../images/error.png">&nbsp;' . $oCheck->sLabel);
                }
                $oPage->add_ready_script(<<<EOF
\t\$("#graphviz_status").html({$sMessage});
\t\$('#btn_next').attr('data-graphviz', '{$sStatus}');
EOF
);
                break;
        }
    }