private synchronized Element send(String request) {
		System.out.println(request);
		
		if (request!=null ) {
			long current = System.currentTimeMillis();
			long past = current - this.lastRequestTime;
			System.out.println("current:"+current+",past:"+past+ ((past < this.timeBetweenRequest) ? ",wait:"+(this.timeBetweenRequest - past) : "") );
			if (past < this.timeBetweenRequest) {
				try {
					Thread.sleep(this.timeBetweenRequest - past);
				} catch (InterruptedException e) {
					System.out.println("# erreur : Thread.sleep()");
					return null;
				}
			}
			this.lastRequestTime = current;
			
			InputStream is = null;
			Document document = null;
			try {
				URL address = new URL(request);
				is = address.openStream();
				DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
				DocumentBuilder builder = factory.newDocumentBuilder();
				document = builder.parse(is);
			} catch (Exception e) {
				System.out.println("# erreur : dans new URL(), openStream() ou parse()");
				return null;
			} finally {
	            try {
	                is.close();
	            } catch (Exception e) {
	            	System.out.println("# erreur : is.close()");
	            	return null;
	            }
			}
			return document.getDocumentElement();
		}
		return null;
	}