diff --git a/README.md b/README.md
index 11864a44a84acb26bd93ee2c969dfe16f33184b6..1791039d93c47442a87fe0ae5308f9d10af64eef 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,13 @@
 # GTF
 
-## Install dev version (linux)
+## Install dev version
 
 To install the dev version of this project run the following steps:
 
 - Install the app via the VAI setup on var/www/[app name]
-- Clone this repo on var/wwww/[app name]\_dev
-- Run install.sh and give the var/www/[app name] path when asked to build your tree structure
-- Now you have the correct versioned tree structure, rename var/www/[app name] as var/www/[app name]\_vai and var/www/[app name]\_dev as var/www/[app name]
-- Run `git pull` and `git push` to update/post the project and his dependencies
+- Rename var/www/[app name] by var/www/[app name]\_vai
+- Clone this repo on var/wwww/[app name]
+- Run install.sh (linux) or install.bat (windows) and give the var/www/[app name]\_vai path when asked
+- Now you have the correct versioned tree structure, and your app should run
+- Linux : run `git pull` and `git push` to update/post the project and his dependencies
+- Windows : run update.bat to update the app
diff --git a/conf/properties.json b/conf/properties.json
new file mode 100644
index 0000000000000000000000000000000000000000..3b281952fae5eedd9653077bb6cd5e63db9f299b
--- /dev/null
+++ b/conf/properties.json
@@ -0,0 +1,10 @@
+{
+    "services_alias": "rest[ENV]",
+    "web_server_name": "https://[hostname]:[PORT]/",
+    "version": "[VERSION]",
+    "build": "[BUILD]",
+    "status": "unstable",
+    "month_year": "[MONTH_YEAR]",
+    "application": "gtf",
+    "environment": "[ENV]"
+}
diff --git a/push_subtrees.sh b/push_subtrees.sh
old mode 100644
new mode 100755
diff --git a/src/vitis/.gitignore b/src/vitis/.gitignore
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..fb23a1f31378cce575900e083e4179591effa425 100644
--- a/src/vitis/.gitignore
+++ b/src/vitis/.gitignore
@@ -0,0 +1,6 @@
+vas/rest/class/*
+vas/rest/class/!*/
+vas/rest/class/!*.*
+vas/sql/*
+vas/sql/!*/
+vas/sql/!*.*
diff --git a/src/vitis/vas/rest/ws/vitis/Properties.class.inc b/src/vitis/vas/rest/ws/vitis/Properties.class.inc
index 0e5faa3b59c434e84d4d45447b10139446866eaf..de3df97056d73d1b2e7eb75f9fb1eaf60478447e 100755
--- a/src/vitis/vas/rest/ws/vitis/Properties.class.inc
+++ b/src/vitis/vas/rest/ws/vitis/Properties.class.inc
@@ -91,6 +91,7 @@ class Properties extends Vitis {
         } else {
             $this->aFields = $this->aProperties;
         }
+        require_once dirname($_SERVER['SCRIPT_FILENAME']) . "/conf/version.inc";
 
         require_once dirname($_SERVER['SCRIPT_FILENAME']) . "/conf/version.inc";
         if (VM_STATUS != "STABLE") {
diff --git a/utils/copy_hooks.bat b/utils/copy_hooks.bat
new file mode 100644
index 0000000000000000000000000000000000000000..a24ac68b0f099047b546b33d77a4fab3d99c0247
--- /dev/null
+++ b/utils/copy_hooks.bat
@@ -0,0 +1,3 @@
+
+
+robocopy "githooks" "../.git/hooks" /E /NFL /NDL /NJH /NJS /nc /ns /np
diff --git a/utils/get_deps.sh b/utils/get_deps.sh
index 92b0273980ef5ae8db6eea7268fd3a5c406243b9..0a26177f9d9a4d746b39799eff421477c4d6ebd8 100755
--- a/utils/get_deps.sh
+++ b/utils/get_deps.sh
@@ -1,24 +1,23 @@
 #!/bin/bash
 #
 #	Récupère l'ensemble des dépendances depuis conf/_install/dependency.xml
-#	Nécessite xmllint : sudo apt install libxml2-utils
 #
 #
 #
 #
 
-
 if [ "../conf/_install/dependency.xml" ]; then
 
-	let depsCount=$(xmllint --xpath 'count(//dependenciesCollection/dependency/name)' ../conf/_install/dependency.xml)
 	declare -A aDeps
 	vitisVersion=master
+	depsCount=0
+	dependencies=($(cat "../conf/_install/dependency.xml" | tr -d '\040\011\012\015' | grep -oP '<dependency>([\s\S]*?)<\/dependency>'))
 
-	for (( i=1; i <= $depsCount; i++ )); do
+	for i in ${!dependencies[*]}; do
 
-		sName="$(xmllint --xpath 'string(//dependenciesCollection/dependency['$i']/name)' ../conf/_install/dependency.xml)"
-		sVersion="$(xmllint --xpath 'string(//dependenciesCollection/dependency['$i']/version)' ../conf/_install/dependency.xml)"
-		sNature="$(xmllint --xpath 'string(//dependenciesCollection/dependency['$i']/nature)' ../conf/_install/dependency.xml)"
+		sName=$(grep -oP '(?<=name>)[^<]+' <<< ${dependencies[$i]})
+		sVersion=$(grep -oP '(?<=version>)[^<]+' <<< ${dependencies[$i]})
+		sNature=$(grep -oP '(?<=nature>)[^<]+' <<< ${dependencies[$i]})
 
 		if [ $sName == "vitis" ]; then
 			vitisVersion=$sVersion
@@ -27,22 +26,22 @@ if [ "../conf/_install/dependency.xml" ]; then
 			aDeps[$i, name]=$sName
 			aDeps[$i, version]=$sVersion
 			aDeps[$i, nature]=$sNature
+			let depsCount++
 		fi
 
 	done
 
 	echo "[INFO] dependencies:"
 	echo "vitis : $vitisVersion"
-	for (( i=1; i <= $depsCount; i++ )); do
-
-		echo "name: ${aDeps[$i, name]}"
-		echo "version: ${aDeps[$i, version]}"
-
+	for i in ${!dependencies[*]}; do
+		echo "(${aDeps[$i, nature]}) ${aDeps[$i, name]} : ${aDeps[$i, version]}"
 	done
+	echo "depsCount : ${depsCount}"
 
 	export vitisVersion
 	export depsCount
 	export aDeps
+
 else
 	echo "[ERROR] ../conf/_install/dependency.xml not found"
 fi
diff --git a/utils/init_symlinks.sh b/utils/init_symlinks.sh
index c98ed30e162c2d81c8b90e5b6755bb5602941b5e..f073ab46f032a47293d4090920fd5d34000d5ae1 100755
--- a/utils/init_symlinks.sh
+++ b/utils/init_symlinks.sh
@@ -19,23 +19,69 @@ read APP_EXISTING_PATH
 
 cd ..
 
+# Supprime les anciens symlinks
+if [ -d "client" ]; then
+	rm -Rf client
+fi
+if [ -d "vas" ]; then
+	rm -Rf vas
+fi
+find src/vitis/client -type l -delete
+find src/vitis/vas/sql -type l -delete
+find src/vitis/vas/rest -type l -delete
+
 # Vitis
 echo "---- Link vitis ----"
 if ! [ -e "$(pwd)/client" ]; then
-	echo "---- Link vitis 2 ----"
-	ln -rsf src/vitis/client client
+
+	mkdir client
+	mkdir client/javascript
+	mkdir client/modules
+	ln -rsf src/vitis/client/css client/css
+	ln -rsf src/vitis/client/forms client/forms
+	ln -rsf src/vitis/client/images client/images
+	ln -rsf src/vitis/client/javascript/app client/javascript/app
+	ln -rsf src/vitis/client/javascript/externs client/javascript/externs
+	ln -rsf src/vitis/client/javascript/require client/javascript/require
+	ln -rsf src/vitis/client/lang client/lang
+	ln -rsf src/vitis/client/less client/less
+	ln -rsf src/vitis/client/modules/vitis client/modules/vitis
+	ln -rsf src/vitis/client/templates client/templates
+	ln -rsf src/vitis/client/.htaccess client/.htaccess
+	ln -rsf src/vitis/client/index.html client/index.html
 fi
 if ! [ -e "$(pwd)/vas" ]; then
-	ln -rsf src/vitis/vas vas
+
+	mkdir vas
+	mkdir vas/rest
+	mkdir vas/rest/ws
+	ln -rsf src/vitis/vas/doc vas/doc
+	ln -rsf src/vitis/vas/rest/class vas/rest/class
+	ln -rsf src/vitis/vas/rest/inc vas/rest/inc
+	ln -rsf src/vitis/vas/rest/ws/vitis vas/rest/ws/vitis
+	ln -rsf src/vitis/vas/rest/index.phtml vas/rest/index.phtml
+	ln -rsf src/vitis/vas/rest/index.vhtml vas/rest/index.vhtml
+	ln -rsf src/vitis/vas/sql vas/sql
+	ln -rsf src/vitis/vas/util vas/util
 fi
 
 # Conf
 echo "---- Link conf ----"
 if ! [ -e "src/vitis/client/conf" ]; then
-	ln -rsf conf src/vitis/client/conf
+	# ln -rsf conf client/conf
+
+	mkdir client/conf
+	for elem in $( ls "conf"); do
+		if [[ $elem != 'properties.json' ]]; then
+			if [[ -d "conf/${elem}" || -f "conf/${elem}" ]]; then
+				echo "---- Link conf/$elem"
+				ln -rsf conf/$elem client/conf/$elem
+			fi
+		fi
+	done
 fi
 if ! [ -e "conf/closure" ]; then
-	ln -rsf src/closure/conf conf/closure
+	ln -rsf src/closure/conf client/conf/closure
 fi
 
 # Modules
@@ -47,22 +93,17 @@ if [[ $depsCount > 0 ]]; then
 				echo "---- Link module_${module} ----"
 				if [ -d "$(pwd)/src/module_${module}/module" ]; then
 					if ! [ -e "src/vitis/client/modules/${module}" ]; then
-						ln -rsf src/module_${module}/module src/vitis/client/modules/${module}
+						ln -rsf src/module_${module}/module client/modules/${module}
 					fi
 				fi
 				if [ -d "$(pwd)/src/module_${module}/web_service/ws" ]; then
 					if ! [ -e "src/vitis/vas/rest/ws/${module}" ]; then
-						ln -rsf src/module_${module}/web_service/ws src/vitis/vas/rest/ws/${module}
-					fi
-				fi
-				if [ -d "$(pwd)/src/module_${module}/web_service/conf" ]; then
-					if ! [ -e "src/vitis/vas/rest/conf/${module}" ]; then
-						ln -rsf src/module_${module}/web_service/conf src/vitis/vas/rest/conf/${module}
+						ln -rsf src/module_${module}/web_service/ws vas/rest/ws/${module}
 					fi
 				fi
 				if [ -d "$(pwd)/src/module_${module}/web_service/sql" ]; then
 					if ! [ -e "src/vitis/vas/sql/${module}" ]; then
-						ln -rsf src/module_${module}/web_service/sql src/vitis/vas/sql/${module}
+						ln -rsf src/module_${module}/web_service/sql vas/sql/${module}
 					fi
 				fi
 				if [ -d "$(pwd)/src/module_${module}/web_service/class" ]; then
@@ -70,7 +111,7 @@ if [[ $depsCount > 0 ]]; then
 						if [ -d "$(pwd)/src/module_${module}/web_service/class/${class_dir}" ]; then
 							echo "---- Link module_${module}/${class_dir} ----"
 							if ! [ -e "src/vitis/vas/rest/class/${class_dir}" ]; then
-								ln -rsf src/module_${module}/web_service/class/${class_dir} src/vitis/vas/rest/class/${class_dir}
+								ln -rsf src/module_${module}/web_service/class/${class_dir} vas/rest/class/${class_dir}
 							fi
 						fi
 					done
@@ -84,6 +125,7 @@ if [[ $depsCount > 0 ]]; then
 		echo "---- Link exixting app ${APP_EXISTING_PATH} ----"
 
 		declare -a existing_folders_path=("vas/server"
+		                "vas/rest/conf"
 		                "vas/log"
 						"vas/public"
 						"vas/shared"
@@ -99,11 +141,6 @@ if [[ $depsCount > 0 ]]; then
 		done
 
 		declare -a existing_files_path=("client/conf/properties.json"
-										"vas/rest/conf/properties.inc"
-										"vas/rest/conf/properties_domain.inc"
-										"vas/rest/conf/properties_post.inc"
-										"vas/rest/conf/properties_server.inc"
-										"vas/rest/conf/version.inc"
 										"vas/rest/.htaccess")
 		for file_path in "${existing_files_path[@]}"; do
 			if [ -f "${APP_EXISTING_PATH}/$file_path" ]; then
@@ -114,15 +151,8 @@ if [[ $depsCount > 0 ]]; then
 
 		for properties_dir in $( ls "${APP_EXISTING_PATH}/vas/rest/conf"); do
 			if [ -d "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}" ]; then
-				if [ -d "$(pwd)/vas/rest/conf/${properties_dir}" ]; then
-					for properties_file in $( ls "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}"); do
-						# if [ ${properties_file:0:10}=="properties"  ||  ${properties_file}=="version.inc" ]; then
-						if [[ $properties_file == "properties"* ]] || [[ $properties_file == "version.inc" ]]; then
-							echo "copy vas/rest/conf/${properties_dir}/${properties_file}"
-							cp -f "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}/${properties_file}" "$(pwd)/vas/rest/conf/${properties_dir}/${properties_file}"
-						fi
-					done
-				fi
+				echo "copy ${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}/ > $(pwd)/vas/rest/conf/"
+				cp -Rf "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}/" "$(pwd)/vas/rest/conf/"
 			fi
 		done
 	fi
diff --git a/utils/init_tree.bat b/utils/init_tree.bat
new file mode 100644
index 0000000000000000000000000000000000000000..d8e6956ca21d8e9e7a4d4d46c77657f1153fb8b9
--- /dev/null
+++ b/utils/init_tree.bat
@@ -0,0 +1,99 @@
+@echo off
+title Install Vitis App
+setlocal EnableDelayedExpansion
+
+cd ..
+
+set /p existing_path="Existing app path: "
+
+REM Client Dir
+echo Create client directory
+if exist "client" (
+  rmdir /S /Q "client"
+)
+echo copy client
+robocopy "src/vitis/client" "client" /E /NFL /NDL /NJH /NJS /nc /ns /np
+echo copy client/conf
+robocopy "conf" "client/conf" /E /NFL /NDL /NJH /NJS /nc /ns /np
+echo copy client/conf/closure
+robocopy "src/closure/conf" "client/conf/closure" /E /NFL /NDL /NJH /NJS /nc /ns /np
+
+echo Copy client modules
+for /d %%g in ("src/module_*") do (
+  set x=%%g
+  echo !x:~7!
+  if exist "src/%%g/module" (
+    echo copy client/modules/!x:~7!
+    robocopy "src/%%g/module" "client/modules/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+)
+
+REM VAS dir
+echo Create vas directory
+echo Create client directory
+if exist "vas" (
+  rmdir /S /Q "vas"
+)
+echo copy vas
+robocopy "src/vitis/vas" "vas" /E /NFL /NDL /NJH /NJS /nc /ns /np
+
+echo Copy vas web_services
+for /d %%g in ("src/module_*") do (
+  set x=%%g
+  echo !x:~7!
+  if exist "src/%%g/web_service/conf" (
+    echo copy vas/rest/conf/!x:~7!
+    robocopy "src/%%g/web_service/conf" "vas/rest/conf/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "src/%%g/web_service/sql" (
+    echo copy vas/sql/!x:~7!
+    robocopy "src/%%g/web_service/sql" "vas/sql/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "src/%%g/web_service/ws" (
+    echo copy vas/rest/ws/!x:~7!
+    robocopy "src/%%g/web_service/ws" "vas/rest/ws/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "src/%%g/web_service/class" (
+    echo copy vas/rest/class
+    robocopy "src/%%g/web_service/class" "vas/rest/class" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "src/%%g/web_service/ws_data" (
+    echo copy vas/ws_data
+    robocopy "src/%%g/web_service/ws_data" "vas/ws_data" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "src/%%g/web_service/public" (
+    echo copy vas/public
+    robocopy "src/%%g/web_service/public" "vas/public" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "src/%%g/web_service/upload" (
+    echo copy vas/upload
+    robocopy "src/%%g/web_service/upload" "vas/upload" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+)
+
+REM Copy from existing path
+if exist %existing_path% (
+  echo copy properties from %existing_path%
+
+  for %%G in (vas\server,vas\rest\conf,vas\log,vas\public,vas\shared,vas\tmp,vas\upload,vas\ws_data) do (
+    echo %%G
+    if exist %existing_path%\%%G (
+      echo copy %%G
+      robocopy "%existing_path%\%%G" "%%G" /E /NFL /NDL /NJH /NJS /nc /ns /np
+    )
+  )
+
+  if exist %existing_path%\client\conf\properties.json (
+    echo copy properties.json
+    robocopy "%existing_path%\client\conf" "client\conf" "properties.json" /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist %existing_path%\vas\rest\.htaccess (
+    echo copy .htaccess
+    robocopy "%existing_path%\vas\rest" "vas\rest" ".htaccess" /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+
+  if exist "%existing_path%\vas\rest\conf" (
+    echo copy vas\rest\conf
+    robocopy "%existing_path%\vas\rest\conf" "vas\rest\conf" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+)
diff --git a/utils/pull_subtrees.sh b/utils/pull_subtrees.sh
index c2793f2ee9ad6e0f53da243fb1b6d26dd9baa20b..5cac1ba0c4a626761809103e822793ec694068a4 100755
--- a/utils/pull_subtrees.sh
+++ b/utils/pull_subtrees.sh
@@ -17,17 +17,7 @@ cd ..
 
 # Vitis
 echo "---- Pull vitis ----"
-git subtree pull --prefix src/vitis --squash -m "pull subtree"  "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" master
-
-# fichiers à ignorer
-git update-index --assume-unchanged conf/properties.json
-git update-index --assume-unchanged conf/package.json
-git update-index --assume-unchanged src/vitis/vas/rest/.htaccess
-git update-index --assume-unchanged src/vitis/vas/rest/conf/properties.inc
-git update-index --assume-unchanged src/vitis/vas/rest/conf/properties_domain.inc
-git update-index --assume-unchanged src/vitis/vas/rest/conf/properties_post.inc
-git update-index --assume-unchanged src/vitis/vas/rest/conf/properties_server.inc
-git update-index --assume-unchanged src/vitis/vas/rest/conf/version.inc
+git subtree pull --prefix src/vitis --squash -m "pull subtree"  "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" $vitisVersion
 
 # Modules
 if [[ $depsCount > 0 ]]; then
@@ -36,11 +26,7 @@ if [[ $depsCount > 0 ]]; then
 			echo "---- Pull ${aDeps[$i, name]} ----"
 
 			# Ajoute le dépôt
-			git subtree pull --prefix src/${aDeps[$i, name]} --squash -m "pull subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" master
-			# fichiers à ignorer
-			git update-index --assume-unchanged src/${aDeps[$i, name]}/web_service/conf/properties.inc
-			git update-index --assume-unchanged src/${aDeps[$i, name]}/web_service/conf/properties_server.inc
-			git update-index --assume-unchanged src/${aDeps[$i, name]}/web_service/conf/version.inc
+			git subtree pull --prefix src/${aDeps[$i, name]} --squash -m "pull subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" ${aDeps[$i, version]}
 		fi
 	done
 fi
diff --git a/utils/push_subtrees.sh b/utils/push_subtrees.sh
index b4949ea2dca1465c2cc0282d59442c158d7138e1..18a9d3bdac1f0d8d3f6af3e16af06d7337ddf9f6 100755
--- a/utils/push_subtrees.sh
+++ b/utils/push_subtrees.sh
@@ -17,7 +17,11 @@ cd ..
 
 # Vitis
 echo "---- Push vitis ----"
-git subtree push --prefix src/vitis "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" master
+{ # 'try' block
+	git subtree push --prefix src/vitis "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" $vitisVersion
+} || { # 'catch' block
+	echo "could not push vitis"
+}
 
 # Modules
 if [[ $depsCount > 0 ]]; then
@@ -28,7 +32,7 @@ if [[ $depsCount > 0 ]]; then
 			# Push le dépôt
 
 			{ # 'try' block
-				git subtree push --prefix src/${aDeps[$i, name]} "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" master
+				git subtree push --prefix src/${aDeps[$i, name]} "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" ${aDeps[$i, version]}
 			} || { # 'catch' block
 			    echo "could not push ${aDeps[$i, name]}"
 			}
diff --git a/utils/update_tree.bat b/utils/update_tree.bat
new file mode 100644
index 0000000000000000000000000000000000000000..3c3c5dc356d7cc5922c046ea95f6787f80faa363
--- /dev/null
+++ b/utils/update_tree.bat
@@ -0,0 +1,80 @@
+@echo off
+title Update Vitis tree
+echo Update Vitis tree
+setlocal EnableDelayedExpansion
+
+cd utils
+
+REM Pull repo
+"C:\Program Files\Git\bin\sh.exe" --login -i -c "git pull"
+
+REM Pull subtrees
+"C:\Program Files\Git\bin\sh.exe" --login -i -c "./pull_subtrees.sh"
+
+REM Save important files
+if exist "../vas/rest/sql" (
+  robocopy "../vas/rest/sql" "../vas/rest/sql_bak" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+if exist "../vas/rest/conf" (
+  robocopy "../vas/rest/conf" "../vas/rest/conf_bak" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+
+REM Replace Vitis files
+for /d %%g in ("../src/vitis/client/*") do (
+  set x=%%g
+  echo copy client/!x!
+  rmdir /S /Q "../client/!x!"
+  robocopy "../src/vitis/client/!x!" "../client/!x!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+for /d %%g in ("../src/vitis/vas/sql") do (
+  echo copy vas/sql
+  rmdir /S /Q "../vas/sql"
+  robocopy "../src/vitis/vas/sql" "../vas/sql" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+for /d %%g in ("../src/vitis/vas/rest/class") do (
+  echo copy vas/rest/class
+  rmdir /S /Q "../vas/rest/class"
+  robocopy "../src/vitis/vas/rest/class" "../vas/rest/class" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+for /d %%g in ("../src/vitis/vas/rest/conf") do (
+  echo copy vas/rest/conf
+  robocopy "../src/vitis/vas/rest/conf" "../vas/rest/conf_veremes" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+for /d %%g in ("../src/vitis/vas/rest/inc") do (
+  echo copy vas/rest/inc
+  rmdir /S /Q "../vas/rest/inc"
+  robocopy "../src/vitis/vas/rest/inc" "../vas/rest/inc" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+for /d %%g in ("../src/vitis/vas/rest/ws") do (
+  echo copy vas/rest/ws
+  rmdir /S /Q "../vas/rest/ws"
+  robocopy "../src/vitis/vas/rest/ws" "../vas/rest/ws" /E /NFL /NDL /NJH /NJS /nc /ns /np
+)
+
+REM Replace modules files
+for /d %%g in ("../src/module_*") do (
+  set x=%%g
+  if exist "../src/%%g/module" (
+    echo copy client/modules/!x:~7!
+    robocopy "../src/%%g/module" "../client/modules/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "../src/%%g/web_service/conf" (
+    echo copy vas/rest/conf_veremes/!x:~7!
+    robocopy "../src/%%g/web_service/conf" "../vas/rest/conf_veremes/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "../src/%%g/web_service/sql" (
+    echo copy vas/sql/!x:~7!
+    robocopy "../src/%%g/web_service/sql" "../vas/sql/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "../src/%%g/web_service/ws" (
+    echo copy vas/rest/ws/!x:~7!
+    robocopy "../src/%%g/web_service/ws" "../vas/rest/ws/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+  if exist "../src/%%g/web_service/class" (
+    echo copy vas/rest/class
+    robocopy "../src/%%g/web_service/class" "../vas/rest/class" /E /NFL /NDL /NJH /NJS /nc /ns /np
+  )
+)
+
+
+cd ..