diff --git a/apps/maarch_entreprise/actions/sendFileWS.php b/apps/maarch_entreprise/actions/sendFileWS.php
index e10b955bd046f4bc089e98b41ecbe267d9a0da9f..6cb45dfc20d9defe06f29a8f7563ece917c012ab 100644
--- a/apps/maarch_entreprise/actions/sendFileWS.php
+++ b/apps/maarch_entreprise/actions/sendFileWS.php
@@ -10,7 +10,7 @@ function manage_send($aId)
 
     foreach ($aId as $resId) {
         $document = \Resource\models\ResModel::getById(['resId' => $resId, 'select' => ['res_id', 'format', 'path', 'filename']]);
-        $docserver = \Core\Models\DocserverModel::getByCollId(['collId' => 'letterbox_coll', 'priority' => true, 'select' => ['path_template']]);
+        $docserver = \SrcCore\models\DocserverModel::getByCollId(['collId' => 'letterbox_coll', 'priority' => true, 'select' => ['path_template']]);
 
         $file = file_get_contents($docserver['path_template'] . str_replace('#', '/', $document['path']) . $document['filename']);
         $encodedFile = base64_encode($file);
diff --git a/apps/maarch_entreprise/indexing_searching/change_category.php b/apps/maarch_entreprise/indexing_searching/change_category.php
index 925b8f50e71ca8838621c976dae2099897135676..88f69960bd156a9c6357428524c33cfca5fd6899 100755
--- a/apps/maarch_entreprise/indexing_searching/change_category.php
+++ b/apps/maarch_entreprise/indexing_searching/change_category.php
@@ -46,7 +46,7 @@ $doc_date = '';
 if ($_SESSION['category_id'] == 'outgoing') {
 	$doc_date = ', doc_date : "' . date('d-m-Y') . '"';
 	$destination = ', destination : "'.$_SESSION['user']['primaryentity']['id']. '"';
-	$_SESSION['indexing']['diff_list']['dest']['user'] = '';
+	$_SESSION['indexing']['diff_list']['dest']['user'] = array();
 	$diffListOutgoing = array(
 							'user_id' => $_SESSION['user']['FirstName'],
 							'lastname' => $_SESSION['user']['LastName'],
diff --git a/apps/maarch_entreprise/js/indexing.js b/apps/maarch_entreprise/js/indexing.js
index 9d660876dc6329a0bb3448f692f22df9cb7f3616..7cb9e1a67f7ebe34aefd89c4d7165c531e66136d 100755
--- a/apps/maarch_entreprise/js/indexing.js
+++ b/apps/maarch_entreprise/js/indexing.js
@@ -875,7 +875,7 @@ function change_category(cat_id, display_value_tr, path_manage_script,get_js_scr
                     if(origin != 'init'){
                         document.getElementById("diff_list_tr").style.display='table-row';
                         document.getElementById("destination").onchange();
-                        Event.fire($("destination"), "chosen:updated");
+                        $j("#destination").trigger("chosen:updated");
                     }
 
                     var path_scripts = '';
@@ -898,7 +898,7 @@ function change_category(cat_id, display_value_tr, path_manage_script,get_js_scr
                                 scripts : path_scripts
                             },
                              onSuccess: function(answer){
-                                 //console.log(answer.responseText+call_func);
+                                //console.log(answer.responseText+call_func);
                                 eval(answer.responseText+call_func);
                             }
                         });
@@ -947,7 +947,7 @@ function process_category(category, display_value_tr, params_cat)
         {
             var item = $(category[i]['id']);
             if(item != null)
-            {
+            {                
                 if(category[i]['state'] == 'hide' )
                 {
                     Element.setStyle(item, {display : 'none'});
diff --git a/core/Controllers/UserController.php b/core/Controllers/UserController.php
index b6e9b196c4eb9320cc0afb47d75ded4cfefe23d1..7ce2c3774b3a1078f43e2ca31da264269c254ea9 100755
--- a/core/Controllers/UserController.php
+++ b/core/Controllers/UserController.php
@@ -30,7 +30,7 @@ use Respect\Validation\Validator;
 use Slim\Http\Request;
 use Slim\Http\Response;
 use SrcCore\models\CoreConfigModel;
-
+use SrcCore\controllers\StoreController;
 
 class UserController
 {
diff --git a/core/Test/DocserverControllerTest.php b/core/Test/DocserverControllerTest.php
index 4f17b98b27fe7f7607acec0b3f9206b9d0292e1e..73f93ccae6a9759995c1b27d8ada48d33ba534c3 100755
--- a/core/Test/DocserverControllerTest.php
+++ b/core/Test/DocserverControllerTest.php
@@ -15,7 +15,7 @@ class DocserverControllerTest extends TestCase
 {
     public function testGetList()
     {
-        $action = new \Core\Controllers\DocserverController();
+        $action = new \SrcCore\controllers\DocserverController();
 
         $environment = \Slim\Http\Environment::mock(
             [
@@ -34,7 +34,7 @@ class DocserverControllerTest extends TestCase
 
     /*public function testGetById()
     {
-        $action = new \Core\Controllers\DocserverController();
+        $action = new \SrcCore\controllers\DocserverController();
 
         $environment = \Slim\Http\Environment::mock(
             [
@@ -59,7 +59,7 @@ class DocserverControllerTest extends TestCase
 
     // public function testCreate()
     // {
-    //     $action = new \Core\Controllers\DocserverController();
+    //     $action = new \SrcCore\controllers\DocserverController();
 
     //     $query  = 'id=TEST&';
     //     $query .= 'label_status=TEST';
@@ -89,7 +89,7 @@ class DocserverControllerTest extends TestCase
 
     // public function testUpdate()
     // {
-    //     $action = new \Core\Controllers\DocserverController();
+    //     $action = new \SrcCore\controllers\DocserverController();
 
     //     $query  = 'id=TEST&';
     //     $query .= 'label_status=TEST AFTER UP';
@@ -119,7 +119,7 @@ class DocserverControllerTest extends TestCase
 
     // public function testDelete()
     // {
-    //     $action = new \Core\Controllers\DocserverController();
+    //     $action = new \SrcCore\controllers\DocserverController();
 
     //     $environment = \Slim\Http\Environment::mock(
     //         [
@@ -140,7 +140,7 @@ class DocserverControllerTest extends TestCase
 
     public function testGetDocserverToInsert()
     {
-        $action = new \Core\Controllers\DocserverController();
+        $action = new \SrcCore\controllers\DocserverController();
 
         $aArgs = [
             'collId' => 'letterbox_coll'
@@ -156,7 +156,7 @@ class DocserverControllerTest extends TestCase
 
     public function testCheckSize()
     {
-        $action = new \Core\Controllers\DocserverController();
+        $action = new \SrcCore\controllers\DocserverController();
 
         $aArgs = [
             'collId' => 'letterbox_coll'
@@ -176,7 +176,7 @@ class DocserverControllerTest extends TestCase
 
     public function testSetSize()
     {
-        $action = new \Core\Controllers\DocserverController();
+        $action = new \SrcCore\controllers\DocserverController();
 
         $aArgs = [
             'collId' => 'letterbox_coll'
@@ -196,7 +196,7 @@ class DocserverControllerTest extends TestCase
 
     public function testGetNextFileNameInDocserver()
     {
-        $action = new \Core\Controllers\DocserverController();
+        $action = new \SrcCore\controllers\DocserverController();
 
         $aArgs = [
             'pathOnDocserver' => '/opt/maarch/new_docservers/MaarchCourrierGit/manual/2017/02/'
@@ -209,7 +209,7 @@ class DocserverControllerTest extends TestCase
 
     public function testStoreResourceOnDocserver()
     {
-        $action = new \Core\Controllers\DocserverController();
+        $action = new \SrcCore\controllers\DocserverController();
 
         $path = $_SESSION['config']['tmppath'] . '/test/';
 
diff --git a/core/Test/DocserverToolsControllerTest.php b/core/Test/DocserverToolsControllerTest.php
index 4505917121510540b916861805e731adb10d5d4a..e362dc48f4dd9771c441c5fab1b432e6379d6265 100755
--- a/core/Test/DocserverToolsControllerTest.php
+++ b/core/Test/DocserverToolsControllerTest.php
@@ -15,7 +15,7 @@ class DocserverToolsControllerTest extends TestCase
 {
     public function testSetRights()
     {
-        $action = new \Core\Controllers\DocserverToolsController();
+        $action = new \SrcCore\controllers\DocserverToolsController();
 
         $aArgs = [
             'path' => '/opt/maarch/docservers/'
@@ -28,7 +28,7 @@ class DocserverToolsControllerTest extends TestCase
 
     public function testDoFingerprint()
     {
-        $action = new \Core\Controllers\DocserverToolsController();
+        $action = new \SrcCore\controllers\DocserverToolsController();
 
         $path = $_SESSION['config']['tmppath'] . '/test/';
 
@@ -55,7 +55,7 @@ class DocserverToolsControllerTest extends TestCase
 
     public function testControlFingerprint()
     {
-        $action = new \Core\Controllers\DocserverToolsController();
+        $action = new \SrcCore\controllers\DocserverToolsController();
 
         $path = $_SESSION['config']['tmppath'] . '/test/';
 
@@ -82,7 +82,7 @@ class DocserverToolsControllerTest extends TestCase
 
     public function testCopyOnDocserver()
     {
-        $action = new \Core\Controllers\DocserverToolsController();
+        $action = new \SrcCore\controllers\DocserverToolsController();
 
         $path = $_SESSION['config']['tmppath'] . '/test/';
 
@@ -111,7 +111,7 @@ class DocserverToolsControllerTest extends TestCase
 
     public function testWashTmp()
     {
-        $action = new \Core\Controllers\DocserverToolsController();
+        $action = new \SrcCore\controllers\DocserverToolsController();
 
         $path = $_SESSION['config']['tmppath'] . '/test/';
         
@@ -131,7 +131,7 @@ class DocserverToolsControllerTest extends TestCase
 
     public function testCreatePathOnDocServer()
     {
-        $action = new \Core\Controllers\DocserverToolsController();
+        $action = new \SrcCore\controllers\DocserverToolsController();
 
         $aArgs = [
             'path' => '/opt/maarch/new_docservers/MaarchCourrierGit/manual/'
diff --git a/core/Test/DocserverTypeControllerTest.php b/core/Test/DocserverTypeControllerTest.php
index 5da82ffc4cd4885a159d18c48f7b0132734745f2..ccea9206475f413677f0b76432397532cbcee8fd 100755
--- a/core/Test/DocserverTypeControllerTest.php
+++ b/core/Test/DocserverTypeControllerTest.php
@@ -14,7 +14,7 @@ class DocserverTypeControllerTest extends TestCase
 {
     public function testGetList()
     {
-        $action = new \Core\Controllers\DocserverTypeController();
+        $action = new \SrcCore\controllers\DocserverTypeController();
 
         $environment = \Slim\Http\Environment::mock(
             [
@@ -33,7 +33,7 @@ class DocserverTypeControllerTest extends TestCase
 
     public function testGetById()
     {
-        $action = new \Core\Controllers\DocserverTypeController();
+        $action = new \SrcCore\controllers\DocserverTypeController();
 
         $environment = \Slim\Http\Environment::mock(
             [
@@ -61,7 +61,7 @@ class DocserverTypeControllerTest extends TestCase
 
     public function testCreate()
     {
-        $action = new \Core\Controllers\DocserverTypeController();
+        $action = new \SrcCore\controllers\DocserverTypeController();
 
         $query  = 'docserver_type_id=TEST&';
         $query .= 'docserver_type_label=TEST&';
@@ -101,7 +101,7 @@ class DocserverTypeControllerTest extends TestCase
 
     public function testUpdate()
     {
-        $action = new \Core\Controllers\DocserverTypeController();
+        $action = new \SrcCore\controllers\DocserverTypeController();
 
         $query  = 'docserver_type_id=TEST&';
         $query .= 'docserver_type_label=TEST&';
@@ -141,7 +141,7 @@ class DocserverTypeControllerTest extends TestCase
 
     public function testDelete()
     {
-        $action = new \Core\Controllers\DocserverTypeController();
+        $action = new \SrcCore\controllers\DocserverTypeController();
 
         $environment = \Slim\Http\Environment::mock(
             [
diff --git a/modules/attachments/Controllers/AttachmentsController.php b/modules/attachments/Controllers/AttachmentsController.php
index 64e0e5c55097b12e914f94c39c4a22640ca887ff..4073beffb0ff0bd1b383b8407d9be286dfdb7ac4 100755
--- a/modules/attachments/Controllers/AttachmentsController.php
+++ b/modules/attachments/Controllers/AttachmentsController.php
@@ -15,7 +15,7 @@
 
 namespace Attachments\Controllers;
 
-use Core\Controllers\StoreController;
+use SrcCore\controllers\StoreController;
 use Psr\Http\Message\RequestInterface;
 use Psr\Http\Message\ResponseInterface;
 use Respect\Validation\Validator;
diff --git a/modules/attachments/Controllers/ReconciliationController.php b/modules/attachments/Controllers/ReconciliationController.php
index 81505ed0e4c7e4f0244ba65c9a1bc85fd177cc72..7eabd7c8255605dd441932af35a6bfe65e0fbcdf 100755
--- a/modules/attachments/Controllers/ReconciliationController.php
+++ b/modules/attachments/Controllers/ReconciliationController.php
@@ -6,11 +6,11 @@ use Psr\Http\Message\RequestInterface;
 use Psr\Http\Message\ResponseInterface;
 use Respect\Validation\Validator;
 use Attachments\Models\AttachmentsModel;
-use Core\Controllers\ResController;
-use Core\Models\DocserverModel;
-use Core\Models\DocserverTypeModel;
-use Core\Controllers\DocserverController;
-use Core\Controllers\DocserverToolsController;
+use Resource\controllers\ResController;
+use SrcCore\models\DocserverModel;
+use SrcCore\models\DocserverTypeModel;
+use SrcCore\controllers\DocserverController;
+use SrcCore\controllers\DocserverToolsController;
 use Core\Models\ResModel;
 
 
diff --git a/modules/convert/Controllers/ProcessConvertController.php b/modules/convert/Controllers/ProcessConvertController.php
index b4bca9d8a8fd77d13d95004a44226e4e61042013..9e680e687fb7f32af270822f0835d67b7633a1f0 100644
--- a/modules/convert/Controllers/ProcessConvertController.php
+++ b/modules/convert/Controllers/ProcessConvertController.php
@@ -29,10 +29,10 @@ use Psr\Http\Message\ResponseInterface;
 use Resource\models\ResModel;
 use Respect\Validation\Validator;
 use Convert\Models\ProcessConvertModel;
-use Core\Models\DocserverModel;
-use Core\Models\ResDocserverModel;
-use Core\Controllers\LogsController;
-use Core\Controllers\StoreController;
+use SrcCore\models\DocserverModel;
+use SrcCore\models\ResDocserverModel;
+use SrcCore\controllers\LogsController;
+use SrcCore\controllers\StoreController;
 
 class ProcessConvertController
 {
diff --git a/modules/convert/Controllers/ProcessFulltextController.php b/modules/convert/Controllers/ProcessFulltextController.php
index 974c8e8a485e43da9888e8a63ffb0696f214b9f8..07025212aaa0a2b14011d56f4af463b3501c2e4f 100644
--- a/modules/convert/Controllers/ProcessFulltextController.php
+++ b/modules/convert/Controllers/ProcessFulltextController.php
@@ -29,10 +29,10 @@ use Psr\Http\Message\ResponseInterface;
 use Resource\models\ResModel;
 use Respect\Validation\Validator;
 use Convert\Models\ProcessFulltextModel;
-use Core\Models\DocserverModel;
-use Core\Models\ResDocserverModel;
-use Core\Controllers\LogsController;
-use Core\Controllers\StoreController;
+use SrcCore\models\DocserverModel;
+use SrcCore\models\ResDocserverModel;
+use SrcCore\controllers\LogsController;
+use SrcCore\controllers\StoreController;
 
 
 //include_once('html2text/html2text.php');
diff --git a/modules/convert/Controllers/ProcessManageConvertController.php b/modules/convert/Controllers/ProcessManageConvertController.php
index 0c0afa889f2565a9d719af1886222c7614f3ad6a..3b85205b81684a5f55acf8c3e82651820e1f4d15 100644
--- a/modules/convert/Controllers/ProcessManageConvertController.php
+++ b/modules/convert/Controllers/ProcessManageConvertController.php
@@ -29,7 +29,7 @@ use Respect\Validation\Validator;
 use Convert\Controllers\ProcessConvertController;
 use Convert\Controllers\ProcessFulltextController;
 use Convert\Controllers\ProcessThumbnailsController;
-use Core\Controllers\LogsController;
+use SrcCore\controllers\LogsController;
 
 class ProcessManageConvertController
 {
diff --git a/modules/convert/Controllers/ProcessThumbnailsController.php b/modules/convert/Controllers/ProcessThumbnailsController.php
index c7717d72702a87bebeca9c599f999a2d8811dc10..173459f1173c9cb34ad0ff89dbc25d91a534c9df 100644
--- a/modules/convert/Controllers/ProcessThumbnailsController.php
+++ b/modules/convert/Controllers/ProcessThumbnailsController.php
@@ -29,10 +29,10 @@ use Psr\Http\Message\ResponseInterface;
 use Resource\models\ResModel;
 use Respect\Validation\Validator;
 use Convert\Models\ProcessThumbnailsModel;
-use Core\Models\DocserverModel;
-use Core\Models\ResDocserverModel;
-use Core\Controllers\LogsController;
-use Core\Controllers\StoreController;
+use SrcCore\models\DocserverModel;
+use SrcCore\models\ResDocserverModel;
+use SrcCore\controllers\LogsController;
+use SrcCore\controllers\StoreController;
 
 class ProcessThumbnailsController
 {
diff --git a/modules/visa/Controllers/VisaController.php b/modules/visa/Controllers/VisaController.php
index 627ffb75f427d59ed92640151ecd51c64ca2a37c..8d94b535aaa69da50d3f78d72cf6ae912d0c6968 100755
--- a/modules/visa/Controllers/VisaController.php
+++ b/modules/visa/Controllers/VisaController.php
@@ -17,10 +17,10 @@ use Attachments\Models\AttachmentsModel;
 use Basket\models\BasketModel;
 use Action\models\ActionModel;
 use Core\Models\ContactModel;
-use Core\Models\LinkModel;
+use SrcCore\models\LinkModel;
 use Core\Models\UserModel;
 use Core\Models\LangModel;
-use Core\Models\DocserverModel;
+use SrcCore\models\DocserverModel;
 use Core\Models\ServiceModel;
 use Entity\models\ListInstanceModel;
 use Notes\Models\NoteModel;
diff --git a/modules/visa/sign_file.php b/modules/visa/sign_file.php
index 38b25e6b42f8cb0843e0f02aa93870ce4a6caeb8..ebbdd40e20bc22d73bc901b40c436db2eb8503df 100755
--- a/modules/visa/sign_file.php
+++ b/modules/visa/sign_file.php
@@ -37,7 +37,7 @@ if (!empty($_REQUEST['id']) && !empty($_REQUEST['collId'])) {
 			exit;
 		}
 
-		$docserver = \Core\Models\DocserverModel::getByTypeId(['docserver_type_id' => 'TEMPLATES', 'select' => ['path_template']]);
+		$docserver = \SrcCore\models\DocserverModel::getByTypeId(['docserver_type_id' => 'TEMPLATES', 'select' => ['path_template']]);
 		$pathToWantedSignature = $docserver['path_template'] . str_replace('#', '/', $signature->signature_path) . $signature->signature_file_name;
 	} else {
 		$pathToWantedSignature = $_SESSION['user']['pathToSignature'][0];
diff --git a/rest/index.php b/rest/index.php
index 9b9edb0faa9008541bfb3494487fb2d5468c152c..ac679a67a4df8ecaa18159d4894aa21475cc4479 100755
--- a/rest/index.php
+++ b/rest/index.php
@@ -107,10 +107,10 @@ $app = new \Slim\App(['settings' => ['displayErrorDetails' => true]]);
 
 
 //Initialize
-$app->post('/initialize', \Core\Controllers\CoreController::class . ':initialize');
+$app->post('/initialize', \SrcCore\controllers\CoreController::class . ':initialize');
 
 //Administration
-$app->get('/administration', \Core\Controllers\CoreController::class . ':getAdministration');
+$app->get('/administration', \SrcCore\controllers\CoreController::class . ':getAdministration');
 $app->get('/administration/users', \Core\Controllers\UserController::class . ':getUsersForAdministration');
 $app->get('/administration/users/new', \Core\Controllers\UserController::class . ':getNewUserForAdministration');
 $app->get('/administration/users/{id}', \Core\Controllers\UserController::class . ':getUserForAdministration');
@@ -148,12 +148,12 @@ $app->put('/groups/{id}/services/{serviceId}', \Core\Controllers\GroupController
 $app->put('/groups/{id}/reassign/{newGroupId}', \Core\Controllers\GroupController::class . ':reassignUsers');
 
 //Docservers
-$app->get('/docservers', \Core\Controllers\DocserverController::class . ':get');
-$app->get('/docservers/{id}', \Core\Controllers\DocserverController::class . ':getById');
+$app->get('/docservers', \SrcCore\controllers\DocserverController::class . ':get');
+$app->get('/docservers/{id}', \SrcCore\controllers\DocserverController::class . ':getById');
 
 //DocserverTypes
-$app->get('/docserverTypes', \core\Controllers\DocserverTypeController::class . ':get');
-$app->get('/docserverTypes/{id}', \core\Controllers\DocserverTypeController::class . ':getById');
+$app->get('/docserverTypes', \SrcCore\controllers\DocserverTypeController::class . ':get');
+$app->get('/docserverTypes/{id}', \SrcCore\controllers\DocserverTypeController::class . ':getById');
 
 //ListModels
 $app->get('/listModels/itemId/{itemId}/itemMode/{itemMode}/objectType/{objectType}', \Entities\Controllers\ListModelsController::class . ':getListModelsDiffListDestByUserId');
@@ -267,7 +267,7 @@ $app->post('/contacts', \Contact\controllers\ContactController::class . ':create
 $app->post('/templates/{id}/duplicate', \Template\controllers\TemplateController::class . ':duplicate');
 
 //Links
-$app->get('/links/resId/{resId}', \Core\Controllers\LinkController::class . ':getByResId');
+$app->get('/links/resId/{resId}', \SrcCore\controllers\LinkController::class . ':getByResId');
 
 //liste documents
 $app->get('/res/listDocs/{clause}/{select}', \Resource\controllers\ResController::class . ':getListDocs');//TODO No clause
diff --git a/src/app/basket/models/BasketModel.php b/src/app/basket/models/BasketModel.php
index 02775ad8fe150a8d9031a347ad0ffd0428e13ca1..e35d8bb7512bf43cd663e9a416e2637c92be4811 100644
--- a/src/app/basket/models/BasketModel.php
+++ b/src/app/basket/models/BasketModel.php
@@ -21,6 +21,7 @@
 
 namespace Basket\models;
 
-class BasketModel extends BasketModelAbstract {
+class BasketModel extends BasketModelAbstract
+{
     // Do your stuff in this class
-}
\ No newline at end of file
+}
diff --git a/src/app/resource/controllers/ResController.php b/src/app/resource/controllers/ResController.php
index 0272a314cb6ec18f0831c268b6a5deb8b6f89193..b3728b79c28f3992c06ffd167dcc1cc8bedbd169 100755
--- a/src/app/resource/controllers/ResController.php
+++ b/src/app/resource/controllers/ResController.php
@@ -15,7 +15,7 @@
 namespace Resource\controllers;
 
 use Basket\models\BasketModel;
-use Core\Controllers\StoreController;
+use SrcCore\controllers\StoreController;
 use Core\Models\ServiceModel;
 use Status\models\StatusModel;
 use Core\Models\UserModel;
diff --git a/src/app/template/controllers/TemplateController.php b/src/app/template/controllers/TemplateController.php
index 0ac119773b2fdba1d2f5eea2641d163346b19593..9ee8c5ccebb319476c82228b62f3d4094ed09338 100644
--- a/src/app/template/controllers/TemplateController.php
+++ b/src/app/template/controllers/TemplateController.php
@@ -14,8 +14,8 @@
 
 namespace Template\controllers;
 
-use Core\Controllers\DocserverController;
-use Core\Models\DocserverModel;
+use SrcCore\controllers\DocserverController;
+use SrcCore\models\DocserverModel;
 use Slim\Http\Request;
 use Slim\Http\Response;
 use Template\models\TemplateModel;
diff --git a/core/Controllers/CoreController.php b/src/core/controllers/CoreController.php
old mode 100755
new mode 100644
similarity index 97%
rename from core/Controllers/CoreController.php
rename to src/core/controllers/CoreController.php
index ab73b6a2b6a9b6c543e5b7db91712c9b1ef0fef3..f8be34fe34d13721e5819b8f605b32a1262a269a
--- a/core/Controllers/CoreController.php
+++ b/src/core/controllers/CoreController.php
@@ -10,10 +10,10 @@
 /**
  * @brief Core Controller
  * @author dev@maarch.org
- * @ingroup core
+ * @ingroup Core
  */
 
-namespace Core\Controllers;
+namespace SrcCore\controllers;
 
 use Psr\Http\Message\RequestInterface;
 use Psr\Http\Message\ResponseInterface;
diff --git a/core/Controllers/DocserverController.php b/src/core/controllers/DocserverController.php
old mode 100755
new mode 100644
similarity index 99%
rename from core/Controllers/DocserverController.php
rename to src/core/controllers/DocserverController.php
index b011be2edcd145afe37197d84f48c3632d2c4198..a466e000cf98c8d5a656953d363355c8046dc0cc
--- a/core/Controllers/DocserverController.php
+++ b/src/core/controllers/DocserverController.php
@@ -13,13 +13,13 @@
 * @ingroup core
 */
 
-namespace Core\Controllers;
+namespace SrcCore\controllers;
 
 use Core\Models\ServiceModel;
 use Core\Models\ValidatorModel;
 use Psr\Http\Message\RequestInterface;
 use Psr\Http\Message\ResponseInterface;
-use Core\Models\DocserverModel;
+use SrcCore\models\DocserverModel;
 
 class DocserverController
 {
diff --git a/core/Controllers/DocserverToolsController.php b/src/core/controllers/DocserverToolsController.php
old mode 100755
new mode 100644
similarity index 99%
rename from core/Controllers/DocserverToolsController.php
rename to src/core/controllers/DocserverToolsController.php
index a8b05ea723d0388b746004476b55a3ff5b1b8d40..c95cf0fd7d9dc94972458d8954addfd8d60ac48e
--- a/core/Controllers/DocserverToolsController.php
+++ b/src/core/controllers/DocserverToolsController.php
@@ -13,12 +13,12 @@
 * @ingroup core
 */
 
-namespace Core\Controllers;
+namespace SrcCore\controllers;
 
 use Psr\Http\Message\RequestInterface;
 use Psr\Http\Message\ResponseInterface;
 use Respect\Validation\Validator;
-use Core\Models\DocserverModel;
+use SrcCore\models\DocserverModel;
 
 class DocserverToolsController
 {
diff --git a/core/Controllers/DocserverTypeController.php b/src/core/controllers/DocserverTypeController.php
old mode 100755
new mode 100644
similarity index 98%
rename from core/Controllers/DocserverTypeController.php
rename to src/core/controllers/DocserverTypeController.php
index ad55e9f0a8f4bb0bf01bc17747ac558ff741fe02..a4f87f329f700371b97bbf80d30ff2020f867fff
--- a/core/Controllers/DocserverTypeController.php
+++ b/src/core/controllers/DocserverTypeController.php
@@ -13,13 +13,13 @@
 * @ingroup core
 */
 
-namespace Core\Controllers;
+namespace SrcCore\controllers;
 
 use Core\Models\ServiceModel;
 use Psr\Http\Message\RequestInterface;
 use Psr\Http\Message\ResponseInterface;
 use Respect\Validation\Validator;
-use Core\Models\DocserverTypeModel;
+use SrcCore\models\DocserverTypeModel;
 
 class DocserverTypeController
 {
diff --git a/core/Controllers/LinkController.php b/src/core/controllers/LinkController.php
similarity index 92%
rename from core/Controllers/LinkController.php
rename to src/core/controllers/LinkController.php
index 9bbf6d35b41b4d733439c9b4b0900e727738af29..d400b1b3955ef0ecc61c1ab9bcb0c61dc08734a3 100644
--- a/core/Controllers/LinkController.php
+++ b/src/core/controllers/LinkController.php
@@ -13,14 +13,13 @@
  * @ingroup core
  */
 
-namespace Core\Controllers;
+namespace SrcCore\controllers;
 
-use Core\Models\LinkModel;
+use SrcCore\models\LinkModel;
 use Psr\Http\Message\RequestInterface;
 use Psr\Http\Message\ResponseInterface;
 use Respect\Validation\Validator;
 
-
 class LinkController
 {
     public function getByResId(RequestInterface $request, ResponseInterface $response, $aArgs)
diff --git a/core/Controllers/LogsController.php b/src/core/controllers/LogsController.php
similarity index 99%
rename from core/Controllers/LogsController.php
rename to src/core/controllers/LogsController.php
index 3728cf8a2168d6e50a210e35137d424822ca52ed..3d55082827bdf60389ef4a0f7a25fa200ab644d9 100644
--- a/core/Controllers/LogsController.php
+++ b/src/core/controllers/LogsController.php
@@ -13,7 +13,7 @@
 * @ingroup core
 */
 
-namespace Core\Controllers;
+namespace SrcCore\controllers;
 
 use Core\Models\TextFormatModel;
 use Psr\Http\Message\RequestInterface;
diff --git a/src/core/controllers/PreparedClauseController.php b/src/core/controllers/PreparedClauseController.php
index 76d87be1d62b8c6f7cf8599f00b8c219c3ff9231..0c544a9c43f3ae5c4dc34d10c3b121935a2a2732 100644
--- a/src/core/controllers/PreparedClauseController.php
+++ b/src/core/controllers/PreparedClauseController.php
@@ -14,7 +14,6 @@
 
 namespace SrcCore\controllers;
 
-
 use Core\Models\UserModel;
 use Core\Models\ValidatorModel;
 use Entity\models\EntityModel;
diff --git a/core/Controllers/StoreController.php b/src/core/controllers/StoreController.php
similarity index 99%
rename from core/Controllers/StoreController.php
rename to src/core/controllers/StoreController.php
index ce150e179486fe15c57e2a97b9b1d2ac13de8563..383029d17073bbeca2f82930742103fc472db889 100644
--- a/core/Controllers/StoreController.php
+++ b/src/core/controllers/StoreController.php
@@ -13,13 +13,13 @@
  * @ingroup core
  */
 
-namespace Core\Controllers;
+namespace SrcCore\controllers;
 
 use Attachments\Models\AttachmentsModel;
 use Core\Models\ChronoModel;
 use Core\Models\ContactModel;
-use Core\Models\DocserverModel;
-use Core\Models\DocserverTypeModel;
+use SrcCore\models\DocserverModel;
+use SrcCore\models\DocserverTypeModel;
 use Core\Models\ResExtModel;
 use Core\Models\UserModel;
 use Core\Models\ValidatorModel;
diff --git a/core/Models/DocserverModel.php b/src/core/models/DocserverModel.php
old mode 100755
new mode 100644
similarity index 80%
rename from core/Models/DocserverModel.php
rename to src/core/models/DocserverModel.php
index 666fec6c71319aff7e56837d16ac9cac4cf3a7f3..c6c1a192f19a55bebf51152917c465b32d781a3e
--- a/core/Models/DocserverModel.php
+++ b/src/core/models/DocserverModel.php
@@ -12,9 +12,7 @@
 * @author dev@maarch.org
 * @ingroup core
 */
-namespace Core\Models;
-
-require_once 'core/Models/DocserverModelAbstract.php';
+namespace SrcCore\models;
 
 class DocserverModel extends DocserverModelAbstract
 {
diff --git a/core/Models/DocserverModelAbstract.php b/src/core/models/DocserverModelAbstract.php
old mode 100755
new mode 100644
similarity index 99%
rename from core/Models/DocserverModelAbstract.php
rename to src/core/models/DocserverModelAbstract.php
index a76646081920133cc75152cd8b60962014c21814..595067ea59a2fa6bd5c410f466420905288ebd3f
--- a/core/Models/DocserverModelAbstract.php
+++ b/src/core/models/DocserverModelAbstract.php
@@ -13,7 +13,7 @@
 * @ingroup core
 */
 
-namespace Core\Models;
+namespace SrcCore\models;
 
 use SrcCore\models\DatabaseModel;
 
diff --git a/core/Models/DocserverTypeModel.php b/src/core/models/DocserverTypeModel.php
old mode 100755
new mode 100644
similarity index 80%
rename from core/Models/DocserverTypeModel.php
rename to src/core/models/DocserverTypeModel.php
index d759c5803f36b1e77748500ffe546e65a8dc31a4..99267d85a4e11993e3d5424566f163bbb949e0b0
--- a/core/Models/DocserverTypeModel.php
+++ b/src/core/models/DocserverTypeModel.php
@@ -12,9 +12,7 @@
 * @author dev@maarch.org
 * @ingroup core
 */
-namespace Core\Models;
-
-require_once 'core/Models/DocserverTypeModelAbstract.php';
+namespace SrcCore\models;
 
 class DocserverTypeModel extends DocserverTypeModelAbstract
 {
diff --git a/core/Models/DocserverTypeModelAbstract.php b/src/core/models/DocserverTypeModelAbstract.php
old mode 100755
new mode 100644
similarity index 98%
rename from core/Models/DocserverTypeModelAbstract.php
rename to src/core/models/DocserverTypeModelAbstract.php
index 56978f3e9c6d225a23f7ece25e7dd93d62e60d21..6915d03e5c911da00a4d64d66e700a56d5c35806
--- a/core/Models/DocserverTypeModelAbstract.php
+++ b/src/core/models/DocserverTypeModelAbstract.php
@@ -13,7 +13,7 @@
 * @ingroup core
 */
 
-namespace Core\Models;
+namespace SrcCore\models;
 
 use SrcCore\models\DatabaseModel;
 
diff --git a/core/Models/LinkModel.php b/src/core/models/LinkModel.php
similarity index 91%
rename from core/Models/LinkModel.php
rename to src/core/models/LinkModel.php
index 124be828167f4e4d28ba1ffb40a54eb1544c57bc..8af8b7d89affcf198a3c0d285a4d7320177a4543 100644
--- a/core/Models/LinkModel.php
+++ b/src/core/models/LinkModel.php
@@ -13,8 +13,9 @@
  * @ingroup core
  */
 
-namespace Core\Models;
+namespace SrcCore\models;
 
 class LinkModel extends LinkModelAbstract
 {
+
 }
diff --git a/core/Models/LinkModelAbstract.php b/src/core/models/LinkModelAbstract.php
similarity index 96%
rename from core/Models/LinkModelAbstract.php
rename to src/core/models/LinkModelAbstract.php
index c06c857aa148677948f1bad2a7ca8d6d84e5bdcc..12487491a2586bbae3ae76e42b7f19b6e2cd90d3 100644
--- a/core/Models/LinkModelAbstract.php
+++ b/src/core/models/LinkModelAbstract.php
@@ -13,8 +13,7 @@
  * @ingroup core
  */
 
-namespace Core\Models;
-
+namespace SrcCore\models;
 
 use SrcCore\models\DatabaseModel;
 
diff --git a/core/Models/ResDocserverModel.php b/src/core/models/ResDocserverModel.php
similarity index 93%
rename from core/Models/ResDocserverModel.php
rename to src/core/models/ResDocserverModel.php
index 7b7bfcb9104e0917a0c8868688efbb3cc085cbba..9dd6a128b363438691e7a6eeeace5996a51ffbce 100644
--- a/core/Models/ResDocserverModel.php
+++ b/src/core/models/ResDocserverModel.php
@@ -13,7 +13,7 @@
 * @ingroup core
 */
 
-namespace Core\Models;
+namespace SrcCore\models;
 
 class ResDocserverModel extends ResDocserverModelAbstract
 {
diff --git a/core/Models/ResDocserverModelAbstract.php b/src/core/models/ResDocserverModelAbstract.php
similarity index 99%
rename from core/Models/ResDocserverModelAbstract.php
rename to src/core/models/ResDocserverModelAbstract.php
index 9023c6e28adf445981093b9eb56eac9cb4c825d0..8b385aa772d11686d84574744d9eedc2a6f237cb 100644
--- a/core/Models/ResDocserverModelAbstract.php
+++ b/src/core/models/ResDocserverModelAbstract.php
@@ -13,7 +13,7 @@
 * @ingroup core
 */
 
-namespace Core\Models;
+namespace SrcCore\models;
 
 use SrcCore\models\DatabaseModel;
 
diff --git a/src/core/models/ValidatorModel.php b/src/core/models/ValidatorModel.php
new file mode 100644
index 0000000000000000000000000000000000000000..7ba5ba2010297d38e5c677e6a43193a5efda8ccf
--- /dev/null
+++ b/src/core/models/ValidatorModel.php
@@ -0,0 +1,94 @@
+<?php
+
+/**
+* Copyright Maarch since 2008 under licence GPLv3.
+* See LICENCE.txt file at the root folder for more details.
+* This file is part of Maarch software.
+*
+*/
+
+/**
+* @brief Validator Model
+* @author dev@maarch.org
+* @ingroup core
+*/
+
+namespace SrcCore\models;
+
+use Respect\Validation\Validator;
+
+class ValidatorModel
+{
+    public static function notEmpty(array $aArgs, $aKeys)
+    {
+        if (!Validator::arrayType()->notEmpty()->validate($aArgs)) {
+            throw new \Exception('First argument must be a non empty array');
+        }
+        foreach ($aKeys as $key) {
+            if (!Validator::notEmpty()->validate($aArgs[$key])) {
+                throw new \Exception("Argument {$key} is empty");
+            }
+        }
+    }
+
+    public static function intVal(array $aArgs, $aKeys)
+    {
+        foreach ($aKeys as $key) {
+            if (empty($aArgs[$key])) {
+                continue;
+            }
+            if (!Validator::intVal()->validate($aArgs[$key])) {
+                throw new \Exception("Argument {$key} is not an integer (value)");
+            }
+        }
+    }
+
+    public static function intType(array $aArgs, $aKeys)
+    {
+        foreach ($aKeys as $key) {
+            if (empty($aArgs[$key])) {
+                continue;
+            }
+            if (!Validator::intType()->validate($aArgs[$key])) {
+                throw new \Exception("Argument {$key} is not an integer (type)");
+            }
+        }
+    }
+
+    public static function stringType(array $aArgs, $aKeys)
+    {
+        foreach ($aKeys as $key) {
+            if (empty($aArgs[$key])) {
+                continue;
+            }
+            if (!Validator::stringType()->validate($aArgs[$key])) {
+                throw new \Exception("Argument {$key} is not a string (type)");
+            }
+        }
+    }
+
+    public static function arrayType(array $aArgs, $aKeys)
+    {
+        foreach ($aKeys as $key) {
+            if (empty($aArgs[$key])) {
+                continue;
+            }
+            if (!Validator::arrayType()->validate($aArgs[$key])) {
+                throw new \Exception("Argument {$key} is not an array (type)");
+            }
+        }
+    }
+
+    public static function boolType(array $aArgs, $aKeys)
+    {
+        foreach ($aKeys as $key) {
+            if (empty($aArgs[$key])) {
+                continue;
+            }
+            if (!Validator::boolType()->validate($aArgs[$key])) {
+                throw new \Exception("Argument {$key} is not a boolean (type)");
+            }
+        }
+    }
+
+}