diff --git a/README.md b/README.md
index b1935dcada84ba1589d44064966a9a4e26409252..f5c48248f662ca649c0c1509dace180685a0c5a4 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,9 @@
 # vMap
 
 vMap is a powerful webmapping application based on the newest open-source libraries (OpenLayers 3, Google-Closure, AngularJS, Bootstrap…).
+
 It can use external map services, local data files produced in many formats (WMS, WMTS, Bing, OSM, GPX, GeoJSON, KML, TopoJSON...) or publish WMS services using MapServer.
+
 vMap is able to manage business objects while using WMS producing server software like MapServer, GeoServer or ArcGis Server.
 
 
diff --git a/src/closure/.gitignore b/src/closure/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..240fb1c7a110d9396c846279e61665984d8fede0
--- /dev/null
+++ b/src/closure/.gitignore
@@ -0,0 +1 @@
+conf/depswriter/*.pyc
diff --git a/src/module_vmap/module/javascript/app/vmap/map/mapcompare.js b/src/module_vmap/module/javascript/app/vmap/map/mapcompare.js
index b3304a3c7800e0e991cc42b0c80bd0a11e4ee882..54e49269cbbaf97404ab2076d7dcbeed043a3028 100644
--- a/src/module_vmap/module/javascript/app/vmap/map/mapcompare.js
+++ b/src/module_vmap/module/javascript/app/vmap/map/mapcompare.js
@@ -592,11 +592,11 @@ nsVmap.MapCompare.prototype.mapCompareController.prototype.synchronizeMap = func
     var this_ = this;
 
     // Synchro Échelle
-    this_.map.getTargetElement().addEventListener('mouseleave', function(){
+    $(this_.map.getTargetElement()).on('mouseleave', function(){
         oVmap.getMap().getOLMap().on("moveend", this_.updateCompareScaleMap, this_);
         this_.map.un("moveend", this_.updateScaleMap, this_);
     });
-    this_.map.getTargetElement().addEventListener('mouseenter', function(){
+    $(this_.map.getTargetElement()).on('mouseenter', function(){
       oVmap.getMap().getOLMap().un("moveend", this_.updateCompareScaleMap, this_);
       this_.map.on("moveend", this_.updateScaleMap, this_);
     });
@@ -664,13 +664,20 @@ nsVmap.MapCompare.prototype.mapCompareController.prototype.synchronizeMap = func
 
       this_.targetOverlay_.setPosition(convertCoord);
     });
+
+    // Si la souris n'est pas sur la carte comparée, déclenche un mouseleave
+    if (!$(this_.map.getTargetElement()).is(':hover')) {
+        $(this_.map.getTargetElement()).trigger('mouseleave');
+    }
 };
 
 /**
  * Update the map extent with animation
  * @returns {undefined}
  */
-nsVmap.MapCompare.prototype.mapCompareController.prototype.updateCompareScaleMap = function(e) { console.log('updateCompareScaleMap');
+nsVmap.MapCompare.prototype.mapCompareController.prototype.updateCompareScaleMap = function(e) {
+    oVmap.log('nsVmap.MapCompare.updateCompareScaleMap');
+
     var this_ = this
     this_.updateCenterCompareMap();
     oVmap.getMapCompare().setScale(oVmap.getMap().getScale());
@@ -682,7 +689,9 @@ nsVmap.MapCompare.prototype.mapCompareController.prototype.updateCompareScaleMap
  * Update the map extent with animation
  * @returns {undefined}
  */
-nsVmap.MapCompare.prototype.mapCompareController.prototype.updateScaleMap = function(e) { console.log('updateScaleMap');
+nsVmap.MapCompare.prototype.mapCompareController.prototype.updateScaleMap = function(e) {
+    oVmap.log('nsVmap.MapCompare.updateScaleMap');
+
     var this_ = this
     this_.updateCenterMap();
     oVmap.getMap().setScale(oVmap.getMapCompare().getScale());
diff --git a/utils/init_subtrees.sh b/utils/init_subtrees.sh
index 9f47310273b19096c1984d681688d7c6e676c8f2..66d74a6b70a4f656ef9938af503b8158b006938a 100755
--- a/utils/init_subtrees.sh
+++ b/utils/init_subtrees.sh
@@ -36,7 +36,7 @@ if [[ $depsCount > 0 ]]; then
 	git subtree add --prefix src/closure "git@gitlab.veremes.net:Development/vitis_apps/sources/closure.git" master
 
 	# Modules
-	for (( i=1; i <= $depsCount; i++ )); do
+	for (( i=1; i < $depsCount; i++ )); do
 		if [ ${aDeps[$i, nature]} == "modules" ]; then
 			echo "---- Init ${aDeps[$i, name]} : ${aDeps[$i, version]}----"
 
diff --git a/utils/pull_subtrees.sh b/utils/pull_subtrees.sh
index e2fb1abc223714463f4a9408dfedcee27cbb4d9e..78eedaccf751e89a345a5c5af5df0ea2776f0846 100755
--- a/utils/pull_subtrees.sh
+++ b/utils/pull_subtrees.sh
@@ -17,16 +17,16 @@ cd ..
 
 # Vitis
 echo "---- Pull vitis ----"
-git subtree pull --prefix src/vitis "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" $vitisVersion
+git subtree pull --prefix src/vitis -m "pull vitis $vitisVersion"  "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" $vitisVersion
 
 # Modules
 if [[ $depsCount > 0 ]]; then
-	for (( i=1; i <= $depsCount; i++ )); do
+	for (( i=1; i < $depsCount; i++ )); do
 		if [ ${aDeps[$i, nature]} == "modules" ]; then
 			echo "---- Pull ${aDeps[$i, name]} ----"
 
 			# Ajoute le dépôt
-			git subtree pull --prefix src/${aDeps[$i, name]} "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" ${aDeps[$i, version]}
+			git subtree pull --prefix src/${aDeps[$i, name]} -m "pull ${aDeps[$i, name]} ${aDeps[$i, version]}" "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 18a9d3bdac1f0d8d3f6af3e16af06d7337ddf9f6..290a0defe9880c5fb052a1e93f2f9966f1017bd6 100755
--- a/utils/push_subtrees.sh
+++ b/utils/push_subtrees.sh
@@ -25,7 +25,7 @@ echo "---- Push vitis ----"
 
 # Modules
 if [[ $depsCount > 0 ]]; then
-	for (( i=1; i <= $depsCount; i++ )); do
+	for (( i=1; i < $depsCount; i++ )); do
 		if [ ${aDeps[$i, nature]} == "modules" ]; then
 			echo "---- Push ${aDeps[$i, name]} ----"
 
diff --git a/utils/reinit_ubtrees.sh b/utils/reinit_ubtrees.sh
new file mode 100755
index 0000000000000000000000000000000000000000..5f86abdd04d6d2477e4e37b1d7c40992b58384f2
--- /dev/null
+++ b/utils/reinit_ubtrees.sh
@@ -0,0 +1,58 @@
+#!/bin/bash
+#
+#
+# 	Script d'initialisation d'un dépot vMap versionné sous git
+#	Initislise l'ensemble des dépendances sous forme de subtrees
+#
+#	Nécessite xmllint : sudo apt install libxml2-utils
+#
+
+# Récupère la liste des dépendances
+. ./get_deps.sh
+
+cd ..
+
+if [[ $depsCount > 0 ]]; then
+
+	# Vitis
+	read -p "Reinit vitis? (y/n)" -n 1 -r
+	echo "---- Reinit vitis ----"
+	if [[ $REPLY =~ ^[Yy]$ ]]
+	then
+		if [ -d "src/vitis" ]; then
+			git rm -r src/vitis
+			git commit -m "Remove vitis subtree"
+		fi
+		git subtree add --prefix src/vitis -m "Add vitis subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" $vitisVersion
+	fi
+
+	read -p "Reinit conf? (y/n)" -n 1 -r
+	echo "---- Reinit conf ----"
+	if [[ $REPLY =~ ^[Yy]$ ]]
+	then
+		echo "---- Reinit conf ----"
+		if [ -d "src/closure" ]; then
+			git rm -r src/closure
+			git commit -m "Remove closure subtree"
+		fi
+		git subtree add --prefix src/closure -m "Add closure subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/closure.git" master
+	fi
+
+	# Modules
+	for (( i=1; i < $depsCount; i++ )); do
+		if [ ${aDeps[$i, nature]} == "modules" ]; then
+
+			read -p "Reinit ${aDeps[$i, name]}? (y/n)" -n 1 -r
+			echo "---- Reinit ${aDeps[$i, name]} ----"
+			if [[ $REPLY =~ ^[Yy]$ ]]
+				then
+				echo "---- Reinit ${aDeps[$i, name]} : ${aDeps[$i, version]}----"
+				if [ -d "src/${aDeps[$i, name]}" ]; then
+					git rm -r src/${aDeps[$i, name]}
+					git commit -m "Remove ${aDeps[$i, name]} subtree"
+				fi
+				git subtree add --prefix src/${aDeps[$i, name]} -m "Add ${aDeps[$i, name]} subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" ${aDeps[$i, version]}
+			fi
+		fi
+	done
+fi