docs: public static String run(String [] args) {
  		if (args.length < 4) {
  			return "Syntax error : args : " + " phpExec|default workingDirectory initPhpFile";
  		}
  		String [] l = new String[args.length - 1];
  		for(int i = 3; i < args.length; i ++) {
  			l[i - 1] = args[i];
  		}
  		l[0] = "--sud";
  		l[1] = PHPSud.class.getCanonicalName() + ";" + args[0] + ";" + args[1] + ";" + args[2];
  		StringBuilder cmd = new StringBuilder();
  		for(String s : l) {
  			cmd.append(s).append(" ");
  		}
  		System.out.println("Command line : " + cmd.toString());
  		try {
  			CommandLineRunner runner = new CommandLineRunner();
  			RecorderMonitor recorderMonitor = new RecorderMonitor();
  			LoggingMonitor loggingMonitor = new LoggingMonitor( System.out, System.err );
  			runner.setMonitor(new CompositeSpecificationRunnerMonitor(recorderMonitor, loggingMonitor));
  			runner.run(l);
  
  			if (recorderMonitor.getStatistics().hasFailed()) {
  				return "Some errors detected";
  			}
  			return "";
  		} catch (Exception e) {
  			return "Exception when executing tests " + e.toString();
  		}
  	}