diff --git a/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java b/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java
index ab911484f97c847d02862389b3a9a982f1922e91..f66b7d40f74a432818de6e8b88fcff359e711373 100644
--- a/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java
+++ b/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2012
+ * Copyright (C) INRIA, 2006-2013
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -115,6 +115,7 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
 	MIME_HTML = "text/html",
 	MIME_XML = "text/xml",
 	MIME_JSON = "application/json",
+	MIME_RDFXML = "application/rdf+xml",
 	MIME_DEFAULT_BINARY = "application/octet-stream";
 
     public static final int MAX_FILE_SIZE = 10000;
@@ -330,6 +331,15 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
 	    }
 	} else if ( oper.equals( "admin" ) ){ // HTML/HTTP administration
 	    return adminAnswer( uri, uri.substring(start), header, params );
+	// Returns RDF or HTML depending on the header
+	} else if ( oper.equals( "alid" ) ){
+	    String accept = header.getProperty( "Accept" );
+	    if ( accept == null ) accept = header.getProperty( "accept" );
+	    if ( accept != null && accept.contains( "rdf+xml" ) ) {
+		return returnAlignment( uri, true );
+	    } else {
+		return returnAlignment( uri, false );
+	    }
 	} else if ( oper.equals( "html" ) ){ // HTML/HTTP interface
 	    return htmlAnswer( uri, uri.substring(start), header, params );
 	} else if ( oper.equals( "rest" ) ){ // REST/HTTP
@@ -354,9 +364,6 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
 		    return new Response( HTTP_OK, MIME_XML, "<SystemErrorMsg>No service launched</SystemErrorMsg>" );
 		}
 	    }
-	    // This already seems RESTful
-	} else if ( oper.equals( "alid" ) ){
-	    return returnAlignment( uri );
 	} else if ( oper.equals( "wsdl" ) ){
 	    return wsdlAnswer(uri, uri.substring(start), header, params);
 	} else {
@@ -368,7 +375,7 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
     protected String about() {
 	return "<h1>Alignment server</h1><center>"+AlignmentService.class.getPackage().getImplementationTitle()+" "+AlignmentService.class.getPackage().getImplementationVersion()+"<br />"
 	    + "<center><a href=\"html/\">Access</a></center>"
-	    + "(C) INRIA, 2006-2012<br />"
+	    + "(C) INRIA, 2006-2013<br />"
 	    + "<a href=\"http://alignapi.gforge.inria.fr\">http://alignapi.gforge.inria.fr</a><br />"
 	    + "</center>";
     }
@@ -453,15 +460,25 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
     /**
      * Returns the alignment in RDF/XML
      */
-    public Response returnAlignment( String uri ) {
+    public Response returnAlignment( String uri, boolean rdf ) {
 	Properties params = new Properties();
 	params.setProperty("id", manager.serverURL()+uri);
-	params.setProperty( "method", "fr.inrialpes.exmo.align.impl.renderer.RDFRendererVisitor" );
-	Message answer = manager.render( new Message(newId(),(Message)null,myId,serverId,"", params) );
-	if ( answer instanceof ErrorMsg ) {
-	    return new Response( HTTP_NOTFOUND, MIME_PLAINTEXT, "Alignment server: unknown alignment : "+answer.getContent() );
+	if ( rdf ) {
+	    params.setProperty( "method", "fr.inrialpes.exmo.align.impl.renderer.RDFRendererVisitor" );
+	    Message answer = manager.render( new Message(newId(),(Message)null,myId,serverId,"", params) );
+	    if ( answer instanceof ErrorMsg ) {
+		return new Response( HTTP_NOTFOUND, MIME_PLAINTEXT, "Alignment server: unknown alignment : "+answer.getContent() );
+	    } else {
+		return new Response( HTTP_OK, MIME_XML, answer.getContent() );
+	    }
 	} else {
-	    return new Response( HTTP_OK, MIME_XML, answer.getContent() );
+	    params.setProperty( "method", "fr.inrialpes.exmo.align.impl.renderer.HTMLRendererVisitor" );
+	    Message answer = manager.render( new Message(newId(),(Message)null,myId,serverId,"", params) );
+	    if ( answer instanceof ErrorMsg ) {
+		return new Response( HTTP_NOTFOUND, MIME_PLAINTEXT, "Alignment server: unknown alignment : "+answer.getContent() );
+	    } else {
+		return new Response( HTTP_OK, MIME_HTML, answer.getContent() );
+	    }
 	}
     }