diff --git a/core/trunk/core/class/web_service/class_rest_server.php b/core/trunk/core/class/web_service/class_rest_server.php
index 7cef174b4a1348d878de5b47792144e437fd9c8f..c4f9b9248929d0fc2a8d36a5f8b9497d556edd54 100644
--- a/core/trunk/core/class/web_service/class_rest_server.php
+++ b/core/trunk/core/class/web_service/class_rest_server.php
@@ -117,4 +117,22 @@ class MyRestServer extends webService
         echo 'requested resource id : ' . $this->requestedResourceId . '<br>';
         echo 'result of the function call : ' . $this->call();
     }
+    
+    /**
+     * generate REST server
+     */
+    function makeCMISCatalog()
+    {
+        /*echo '<pre>';
+        var_dump($_SERVER);
+        var_dump($this->dispatchMap);
+        echo '</pre>';*/
+        //echo 'method ? ' . $this->crudMethod . '<br>';
+        /*echo 'requested resource : ' . $this->requestedResource . '<br>';
+        echo 'requested resource id : ' . $this->requestedResourceId . '<br>';
+        echo 'result of the function call : ' . $this->call();*/
+        //$cmis = new Maarch_SOAP_DISCO_Server($server, 'MySoapServer');
+        header("Content-type: text/xml");
+        readfile('core/class/web_service/cmisCatalog.xml');
+    }
 }
diff --git a/core/trunk/core/class/web_service/class_web_service.php b/core/trunk/core/class/web_service/class_web_service.php
index 7097c27b54144f2580e4a1c37e32ba2c852e2723..82594c228c8ba1c47def4ad0fa8a0428cfb07f6c 100644
--- a/core/trunk/core/class/web_service/class_web_service.php
+++ b/core/trunk/core/class/web_service/class_web_service.php
@@ -210,8 +210,14 @@ class webService {
             isset($wsMode)
             && strcasecmp($wsMode,'rest') == 0
         ) {
-            //REST
+            //CMIS
             $restServer->makeRESTServer();
+        } elseif (
+            isset($wsMode)
+            && strcasecmp($wsMode,'cmis') == 0
+        ) {
+            //REST
+            $restServer->makeCMISCatalog();
         } else {
             //SOAP BY DEFAULT
             if (
diff --git a/core/trunk/core/class/web_service/cmisCatalog.xml b/core/trunk/core/class/web_service/cmisCatalog.xml
new file mode 100644
index 0000000000000000000000000000000000000000..575c2d70a14e57a0dc6e81ad104d2956044e0b9f
--- /dev/null
+++ b/core/trunk/core/class/web_service/cmisCatalog.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<app:service xmlns:app="http://www.w3.org/2007/app"
+xmlns:atom="http://www.w3.org/2005/Atom"
+xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"
+xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/">
+    <app:workspace>
+        <atom:title>Maarch main Repository</atom:title>
+        <cmisra:repositoryInfo>
+            <cmis:repositoryId>e1125a70-33c0-11e2-81c1-0800200c9a66</cmis:repositoryId>
+            <cmis:repositoryName>Maarch main Repository</cmis:repositoryName>
+            <cmis:repositoryDescription>Maarch main Repository</cmis:repositoryDescription>
+            <cmis:vendorName>Maarch</cmis:vendorName>
+            <cmis:productName>Maarch Entreprise</cmis:productName>
+            <cmis:productVersion>1.4.0</cmis:productVersion>
+            <cmis:rootFolderId>workspace://</cmis:rootFolderId>
+            <cmis:capabilities>
+                <cmis:capabilityACL>none</cmis:capabilityACL>
+                <cmis:capabilityAllVersionsSearchable>false</cmis:capabilityAllVersionsSearchable>
+                <cmis:capabilityChanges>none</cmis:capabilityChanges>
+                <cmis:capabilityContentStreamUpdatability>none</cmis:capabilityContentStreamUpdatability>
+                <cmis:capabilityGetDescendants>true</cmis:capabilityGetDescendants>
+                <cmis:capabilityGetFolderTree>false</cmis:capabilityGetFolderTree>
+                <cmis:capabilityMultifiling>false</cmis:capabilityMultifiling>
+                <cmis:capabilityPWCSearchable>false</cmis:capabilityPWCSearchable>
+                <cmis:capabilityPWCUpdatable>false</cmis:capabilityPWCUpdatable>
+                <cmis:capabilityQuery>metadataonly</cmis:capabilityQuery>
+                <cmis:capabilityRenditions>none</cmis:capabilityRenditions>
+                <cmis:capabilityUnfiling>true</cmis:capabilityUnfiling>
+                <cmis:capabilityVersionSpecificFiling>false</cmis:capabilityVersionSpecificFiling>
+                <cmis:capabilityJoin>none</cmis:capabilityJoin>
+            </cmis:capabilities>
+            <cmis:cmisVersionSupported>1.0</cmis:cmisVersionSupported>
+        </cmisra:repositoryInfo>
+    </app:workspace>
+</app:service>
diff --git a/core/trunk/core/class/web_service/cmis_test/test_rest.php b/core/trunk/core/class/web_service/cmis_test/test_rest.php
index e39f790388f90e7b15eb18a167934bbbacb717ae..dc3ad5887b79867df73a974b437e3b74e33012c3 100644
--- a/core/trunk/core/class/web_service/cmis_test/test_rest.php
+++ b/core/trunk/core/class/web_service/cmis_test/test_rest.php
@@ -1,5 +1,6 @@
 <?php
 
+include_once ('../../../init.php');
 if (!isset($_REQUEST['resource'])) {
     $_REQUEST['resource']  = 'folder';
 }
@@ -13,7 +14,7 @@ curl_setopt($curl, CURLOPT_USERPWD, 'bblier:maarch');
 //curl_setopt($curl, CURLOPT_USERPWD, 'pparker:maarch');
 
 //WS URL
-$url = 'http://127.0.0.1/maarch_entreprise/ws_server.php?REST';
+$url = $_SESSION['config']['coreurl'] . 'ws_server.php?REST';
 if (isset($_REQUEST['resource']) && !empty($_REQUEST['resource'])) {
     $url .= '/' . $_REQUEST['resource'];
 }
@@ -23,13 +24,13 @@ if (isset($_REQUEST['idResource']) && !empty($_REQUEST['idResource'])) {
 curl_setopt($curl, CURLOPT_URL, $url . '/');
 
 if (($_REQUEST['method'] == 'post' || !isset($_REQUEST['method']))&& isset($_REQUEST['xmlFile'])) {
-	$xmlAtomFileContent = file_get_contents($_REQUEST['xmlFile']);
-	curl_setopt($curl, CURLOPT_POSTFIELDS, 'atomFileContent=' . $xmlAtomFileContent);
-	curl_setopt($curl, CURLOPT_POST, 1);
+    $xmlAtomFileContent = file_get_contents($_REQUEST['xmlFile']);
+    curl_setopt($curl, CURLOPT_POSTFIELDS, 'atomFileContent=' . $xmlAtomFileContent);
+    curl_setopt($curl, CURLOPT_POST, 1);
 }
 else {
-	//GET, PUT, DELETE METHOD
-	curl_setopt($curl, CURLOPT_CUSTOMREQUEST, strtoupper($_REQUEST['method']));
+    //GET, PUT, DELETE METHOD
+    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, strtoupper($_REQUEST['method']));
 }
 
 //POST CONTENT