diff --git a/gitlab/applications_vitis/applications_vitis.md b/gitlab/applications_vitis/applications_vitis.md
new file mode 100644
index 0000000000000000000000000000000000000000..78cd0cd8aa0114a96ae158b216c94bc532569349
--- /dev/null
+++ b/gitlab/applications_vitis/applications_vitis.md
@@ -0,0 +1,148 @@
+# [Procédure] Applications Vitis
+
+## 1. Submodules
+
+### 1.1. Definition
+
+Les applications Vitis sont des ensemble de modules composés potentiellement eux mêmes de SQL, Backend et Frontend, chaque application ainsi que chaque module doivent être versionnés, tagués et mis à jour en permanence, comme vous pouvez l’imaginer tout ceci rend l’opération particulièrement difficile à versionner.
+
+Pour faire ceci le plus simplement possible, nous utiliserons des submodules, un submodule est clairement un dépôt contenu dans un dépôt mais en gardant un certain lien.
+
+![](images/submodules-1.jpg)
+
+L'image ci-dessus est l'exemple du dossier src/ de vMap, on retrouve dans ce dossier l'ensemble des modules et autres dépendances utilisées par l'application :
+
+* closure : utilisé pour la compilation
+* module_anc : module anc
+* module_cadastre : module cadastre
+* module_cadastreV2 : module cadastreV2
+* module_vm4ms : module vm4ms
+* module_vmap : module vMap
+* vitis : framework Vitis
+
+Vous remarquerez sur cette image que chaque submodule inscrit après son nom une référence :
+
+![](images/submodules-2.jpg)
+
+Cette référence correspont à un commit, il est très important de comprendre que **un submodule contient un depôt non sur sa version en cours mais sur un commit précis**.
+
+Gitkraken gère parfaitement les submodules, en ouvrant le projet il va directement détecter l'ensemble des submodules utiliés, puis il permettra de les administrer facilement.
+
+Sur l'image ci-dessous on voit le projet vMap contenant les différents submodules.
+
+![](images/submodules-3.jpg)
+
+
+
+### 2.1. Effectuer une correction / évolution
+
+#### 2.1.1. GitLab
+
+Chaque issue est répertoriée dans un premier lieu au niveau de l'application, lorsqu'elle sera identifiée l'administrateur la copiera dans le(s) module(s) impacté.
+
+Lors de la copie il mentionnera l'URL de l'issue de l'application, ainsi un lien sera crée entre les deux.
+
+| ![](images/submodules-4.jpg) | ![](images/submodules-5.jpg) |
+|:----------------------------:|:----------------------------:|
+| Application                  | Module                       |
+
+Pour commencer le correctif, le développeur créera **depuis l'issue de la branche** une merge request ce qui aura pour effet de créer également la branche associée.
+
+#### 2.2.1. GitKraken
+
+#### Avant correction / évolution
+
+Pour faire une correction ou une évolution il va falloir modifier le contenu d'un des modules, dans notre exemple il s'agit du module_vmap.
+
+En doublecliquant sur le submodule GitKraken me propose de l'ouvrir.
+
+| ![](images/submodules-6.jpg) | ![](images/submodules-7.jpg) |
+|:----------------------------:|:----------------------------:|
+| Application                  | Module                       |
+
+
+Une fois dedans deux détails sont importants à remarquer.
+
+* Sur le bandeau du haut on voit bien qu'on se situe sur le submodule, plus précisément sur une branche **HEAD**.
+* Parmis les branches disponibles, on me propose la branche correspondant à l'issue que je veux corriger.
+
+Pour commencer le correctif, double-cliquer sur la branche en question pour se placer dessus.
+
+**Vous pouvez désormais effectuer vos correctifs directement dans le répertoire src/ de l'application.**
+
+#### Après correction / évolution
+
+Une fois les développements effectués vous pourrez commiter sur la branche impliquée, faire le push, puis assigner le responsable de projet à la merge request pour qu'il l'accepte et que les changements se retrouvent sur master/next_version.
+
+Une fois la merge request acceptée, GitKraken nous indique que nous devons faire un pull sur next_version (car sur l'exemple il s'agit d'une évolution).
+
+![](images/submodules-9.jpg)
+
+Il ne restara qu'à re-passer master/next_version puis faire un pull pour rapatrier les modifications précédament effectuées pour que le module soit à jour.
+
+
+L'application quand à elle pointe toujours sur le même commit qui lui sert de référence.
+
+Quand on remote d'un cran sur GitKraken on remarque donc qu'il y a eut des modifications sur module_vmap.
+
+En faisant un clic droit et en cliquant sur **Commit changes** on modifie le commit de référence par le nouveau, désormais lorsque quelqu'un fera un clone il disposera de la nouvelle feature.
+
+![](images/submodules-10.jpg)
+
+
+
+
+
+## 2. Publier une version
+
+On peut facilement publier une version en 4 étapes à l'aide d'outils automatisés, on distinguera deux types de versions, les **versions mineures** correspondant à des corrections de bugs qui seront taguées en changeant uniquement le dernier nombre (ex: 2018.01.**xx**), les **versions majeures** correspondent à des évolutions apportées au produit, elles seront taguées en changeant le nombre du milieu (ex: 2018.**xx**.00).
+
+### 3.1. Versionner les modules impactés
+
+La première chose à faire c'est de versionner les modules modifiés, pour cela on va  aller sur la branche impactée pour créer une branche qui portera comme nom le nom **pre-2018.xx.xx**.
+
+Dans notre exemple on veut créer une version mineure, la version en cours est la 2018.03.01 on créera donc une branche pre-2018.03.02
+
+La deuxième chose à faire c'est de versionner l'application, pour cela on créera une branche portant le nom de la version à générer, puis on modifiera le fichier **conf/\_install/dependency.xml** pour utiliser les branches de pre-production et enfin on utilisera GitKraken pour rapatrier les nouvelles branches sur l'application.
+
+![](images/publier_version_1.jpg)
+
+### 3.2. Générer une version pre-prod et effectuer les tests
+
+Maintenant que la structure est versionnée il faudra générer un setup et effectuer les tests, pour cela il suffit de ce rendre sur http://jenkins.veremes.net/ et lancer un job de type **Generate un and test app**.
+Ce dernier va générer un setup, le poser sur S3, démarrer une machine AWS, installer la version dessus et lancer les tests API-REST.
+
+Pour lancer le job il faudra saisir les paramètres suivants:
+
+* **APP_NAME** : nom de l’application à générer
+* **OS** : le ou les OS sur lesquels installer
+* **VERSION** : numéro de version à générer
+* **RUN TEST** : cocher la case pour lancer les tests API-REST (en cours de développement)
+
+![](images/publier_version_2.jpg)
+
+Une fois le job terminé vous pouvez récupérer l'url de l'application générée en cliquant sur l'étape "*Run app on ...*" puis aller tester manuellement l'application.
+
+![](images/publier_version_3.jpg)
+
+**Il est important d'effectuer également des tests en mise à jour**, aucun job n'a été développé pour l'instant donc il faudra effectuer le test manuellement.
+
+
+### 3.3. Créer les tags associés
+
+Une fois que les tests sont concluants on pourra créer les tags associés pour ceci il faudra sur chacune des branches modifiées appliquer la procédure suivante :
+
+1. Faire un merge vers master
+1. Créer un tag à partir de la branche pre-prod
+
+Pour l'application la procédure est légèrement différente :
+
+1. Modifier dependency.xml pour utiliser les tags créés précédemment
+1. Utiliser GitKraken pour tester localement la configuration
+1. Créer un tag à partir de la branche pre-prod
+
+### 3.4. Générer une version de production
+
+La dernière étape consiste à rejouer l'étape 2.2 puis récupérer le setup généré sur https://s3.console.aws.amazon.com/s3/buckets/veremes-dev-ressources/builds/
+
+Une fois que tout est ok, on peut supprimer les branches de pré-production
diff --git a/gitlab/images/publier_version_1.jpg b/gitlab/applications_vitis/images/publier_version_1.jpg
similarity index 100%
rename from gitlab/images/publier_version_1.jpg
rename to gitlab/applications_vitis/images/publier_version_1.jpg
diff --git a/gitlab/images/publier_version_2.jpg b/gitlab/applications_vitis/images/publier_version_2.jpg
similarity index 100%
rename from gitlab/images/publier_version_2.jpg
rename to gitlab/applications_vitis/images/publier_version_2.jpg
diff --git a/gitlab/images/publier_version_3.jpg b/gitlab/applications_vitis/images/publier_version_3.jpg
similarity index 100%
rename from gitlab/images/publier_version_3.jpg
rename to gitlab/applications_vitis/images/publier_version_3.jpg
diff --git a/gitlab/applications_vitis/images/submodules-1.jpg b/gitlab/applications_vitis/images/submodules-1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..37167d3da393b8f789690af86004011ce7e57eaf
Binary files /dev/null and b/gitlab/applications_vitis/images/submodules-1.jpg differ
diff --git a/gitlab/applications_vitis/images/submodules-10.jpg b/gitlab/applications_vitis/images/submodules-10.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e1514c5f5cc7ef07602e50b3901c84ab05e3d566
Binary files /dev/null and b/gitlab/applications_vitis/images/submodules-10.jpg differ
diff --git a/gitlab/applications_vitis/images/submodules-2.jpg b/gitlab/applications_vitis/images/submodules-2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c6b6bb14ba54e4c38663c62e67b3a1f27d7e3a27
Binary files /dev/null and b/gitlab/applications_vitis/images/submodules-2.jpg differ
diff --git a/gitlab/applications_vitis/images/submodules-3.jpg b/gitlab/applications_vitis/images/submodules-3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d1d79c290054ebcb5e87400ae1e2a552bc039c2e
Binary files /dev/null and b/gitlab/applications_vitis/images/submodules-3.jpg differ
diff --git a/gitlab/applications_vitis/images/submodules-4.jpg b/gitlab/applications_vitis/images/submodules-4.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..448ee733224910f09d3e74d59dfe39fd4e0a57bd
Binary files /dev/null and b/gitlab/applications_vitis/images/submodules-4.jpg differ
diff --git a/gitlab/applications_vitis/images/submodules-5.jpg b/gitlab/applications_vitis/images/submodules-5.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5487b967eddcc303653b17a4e067477d2e71ece5
Binary files /dev/null and b/gitlab/applications_vitis/images/submodules-5.jpg differ
diff --git a/gitlab/applications_vitis/images/submodules-6.jpg b/gitlab/applications_vitis/images/submodules-6.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..918b7a9d8b1f37e7a602509679804ed9ed02fe7c
Binary files /dev/null and b/gitlab/applications_vitis/images/submodules-6.jpg differ
diff --git a/gitlab/applications_vitis/images/submodules-7.jpg b/gitlab/applications_vitis/images/submodules-7.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..75406e343ef6802e594ce2b2697c997aa302fa5e
Binary files /dev/null and b/gitlab/applications_vitis/images/submodules-7.jpg differ
diff --git a/gitlab/applications_vitis/images/submodules-8.jpg b/gitlab/applications_vitis/images/submodules-8.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..96caa8a1c1b0f7ed6dd3d7ed7fa9c8775d1b1199
Binary files /dev/null and b/gitlab/applications_vitis/images/submodules-8.jpg differ
diff --git a/gitlab/applications_vitis/images/submodules-9.jpg b/gitlab/applications_vitis/images/submodules-9.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5cefa0b7d93c9d759e15bfdbd580f89dc4898409
Binary files /dev/null and b/gitlab/applications_vitis/images/submodules-9.jpg differ
diff --git a/gitlab/applications_vitis.md b/gitlab/applications_vitis/publier_application.md
similarity index 75%
rename from gitlab/applications_vitis.md
rename to gitlab/applications_vitis/publier_application.md
index 9a27292654f2dccd2b5bf45477408abe57f8e532..9fc8c6e118124a01e42cf126a53e0c5166c9f602 100644
--- a/gitlab/applications_vitis.md
+++ b/gitlab/applications_vitis/publier_application.md
@@ -1,59 +1,3 @@
-# [Procédure] Applications Vitis
-
-## 1. Structure
-
-### 1.1. Subtrees
-
-#### 1.1.1. Définition
-
-Les applications Vitis sont des ensemble de modules composés potentiellement eux mêmes de SQL, Backend et Frontend, chaque application ainsi que chaque module doivent être versionnés, tagués et mis à jour en permanence, comme vous pouvez l'imaginer tout ceci rend l'opération particulièrement difficile à versionner.
-
-Pour faire ceci le plus simplement possible, nous utiliserons des [subtrees](https://www.atlassian.com/blog/git/alternatives-to-git-submodule-git-subtree), un subtree est clairement un dépôt contenu dans un dépôt mais en gardant un certain lien :
-
-* Quand dans Repo1 on crée le subtree de Repo2 une copie des fichiers de Repo2 est effectuée dans Repo1
-* Si on commite sur Repo2 les modifications ne sont pas impliquées directement dans Repo1, il faudra utiliser pull_subtrees.sh sur Repo1 pour se faire.
-* Si on comite sur Repo1 les modifications ne sont pas impliquées directement dans Repo2, il faudra utiliser push_subtrees.sh sur Repo1 pour se faire.
-
-![subtree](images/subtrees_1.png)
-
-#### 1.1.2. Subtrees dans les applications
-
-Plusieurs fichiers utilitaires sont disponibles sur les applications pour agir sur les subtrees :
-- **pull_subtrees.sh** : permet de mettre à jour l'ensemble des subtrees
-- **push_subtrees.sh** : fait un push sur chacun des subtrees pour affecter les modifications sur les dépôts de modules correspondants
-- **utils/init_subtrees.sh** : permet de créer l'ensemble des subtrees dans le dossier src/ de l'application
-
-L'ensemble des dépendances sont définies sur le fichier **conf/\_install/dependency.xml**.
-
-![subtree](images/subtrees_3.jpg)
-
-Pour éviter les conflits il est préférable de câbler les applications sur des branches, ainsi l'application vMap qui contient vitis utilisera les branches **app_vmap** et **next_app_vmap** utilisées respectivement sur les branches master et next_version de l'application.
-
-![subtree](images/subtrees_2.png)
-
-Quand on crée une branche pour effectuer un correctif ou une évolution pas besoin de s'inquiéter à propos des subtrees : comme il s'agit d'une copie des fichiers les modifications feront partie du merge et seront rapatriés sur master ou next_version.
-
-L'utilisation de **pull_subtrees.sh** et **push_subtrees.sh** se fera uniquement depuis les branches **master** et **next_version**.
-
-### 1.2. Installation locale
-
-Pour utiliser une application versionnée localement, il faudra l'installer car l'architecture proposée avec les dépendances dans le dossier src/ ne convient pas, pour ce faire nous utiliserons des liens symboliques sur linux et des copies de fichiers sous windows.
-
-Pour créer ces liens de manière automatique on peut utiliser la procédure suivante :
-
-1. Installer l'application avec un installeur VAI de manière à mettre en place properties et autres services en fonction des paramètres de votre machine.
-2. Cloner l'application puis lancer insall.sh, ce dernier vous demandera le chemin vers une application déjà installée sur la machine de manière à copier properties et autres services paramétrés précédemment.
-3. Placer l'application clonée au même endroit que l'application précédement installée avec VAI.
-
-Une fois ceci fait les dossiers client/ et vas/ seront créés et vous pourrez modifier directement les fichiers dans le dossier src/ ou directement dans client/ et vas/.
-
-Sur **windows** les liens symboliques ne permettent pas leur utilisation dans ce contexte, il faudra donc éditer dans **src/** puis lancer **update.bat** pour appliquer les modifications.
-
-
-
-
-
-
 
 ## 2. Publier une application
 
@@ -699,62 +643,4 @@ call utils/update_tree.bat
 cd client/conf
 call grunt
 
-pause
-```
-
-
-
-## 3. Publier une version
-
-On peut facilement publier une version en 4 étapes à l'aide d'outils automatisés, on distinguera deux types de versions, les **versions mineures** correspondant à des corrections de bugs qui seront taguées en changeant uniquement le dernier nombre (ex: 2018.01.**xx**), les **versions majeures** correspondent à des évolutions apportées au produit, elles seront taguées en changeant le nombre du milieu (ex: 2018.**xx**.00).
-
-### 3.1. Versionner les modules impactés
-
-La première chose à faire c'est de versionner les modules modifiés, pour cela on va envoyer les modifications au module en utilisant **push_subtrees.sh**, puis aller sur la branche impactée pour créer une branche qui portera comme nom le nom **pre-2018.xx.xx**.
-
-Dans notre exemple on veut créer une version mineure, la version en cours est la 2018.03.01 on créera donc une branche pre-2018.03.02
-
-![](images/publier_version_1.jpg)
-
-La deuxième chose à faire c'est de versionner l'application, pour cela on créera une branche portant le nom de la version à générer, puis on modifiera le fichier **conf/\_install/dependency.xml** pour utiliser les branches de pre-production et enfin on utilisera **pull_subtrees.sh** pour rapatrier les nouvelles branches sur l'application.
-
-
-### 3.2. Générer une version pre-prod et effectuer les tests
-
-Maintenant que la structure est versionnée il faudra générer un setup et effectuer les tests, pour cela il suffit de ce rendre sur http://jenkins.veremes.net/ et lancer un job de type **Generate un and test app**.
-Ce dernier va générer un setup, le poser sur S3, démarrer une machine AWS, installer la version dessus et lancer les tests API-REST.
-
-Pour lancer le job il faudra saisir les paramètres suivants:
-
-* **APP_NAME** : nom de l’application à générer
-* **OS** : le ou les OS sur lesquels installer
-* **VERSION** : numéro de version à générer
-* **RUN TEST** : cocher la case pour lancer les tests API-REST (en cours de développement)
-
-![](images/publier_version_2.jpg)
-
-Une fois le job terminé vous pouvez récupérer l'url de l'application générée en cliquant sur l'étape "*Run app on ...*" puis aller tester manuellement l'application.
-
-![](images/publier_version_3.jpg)
-
-**Il est important d'effectuer également des tests en mise à jour**, aucun job n'a été développé pour l'instant donc il faudra effectuer le test manuellement.
-
-
-### 3.3. Créer les tags associés
-
-Une fois que les tests sont concluants on pourra créer les tags associés pour ceci il faudra sur chacune des branches modifiées appliquer la procédure suivante :
-
-1. Faire un merge vers master
-1. Créer un tag à partir de la branche pre-prod
-
-Pour l'application la procédure est légèrement différente :
-
-1. Modifier dependency.xml pour utiliser les tags créés précédemment
-1. Utiliser pull_subtrees.sh pour être sur d'avoir intégré toutes les modifications
-1. Créer un tag à partir de la branche pre-prod
-
-### 3.4. Générer une version de production
-
-La dernière étape consiste à rejouer l'étape 2.2 puis récupérer le setup généré sur https://s3.console.aws.amazon.com/s3/buckets/veremes-dev-ressources/builds/
-
-Une fois que tout est ok, on peut supprimer les branches de pré-production
+pause
\ No newline at end of file
diff --git a/gitlab/index.rst b/gitlab/index.rst
index bfac8a5052a43aaf9a4750682386c20f43dd64f4..23b52415e01af06c7c14f9dbe0c36e5b2834adf7 100644
--- a/gitlab/index.rst
+++ b/gitlab/index.rst
@@ -7,4 +7,4 @@ GitLab
    notions_git/index.rst
    architecture_projets
    correctifs_evolutions
-   applications_vitis
+   applications_vitis/applications_vitis