diff --git a/source/vscode/index.rst b/source/vscode/index.rst
index 6f74923b138e6d38f7b544398216d164b079904b..28958a122ebbc48666ba86fd3d3776628dd6d8fa 100644
--- a/source/vscode/index.rst
+++ b/source/vscode/index.rst
@@ -16,4 +16,5 @@ Visual Studio Code est l'IDE utilisé par les développeurs de Veremes pour trav
 
    presentation.md
    extensions_obligatoires.md
-   extensions_utiles.md
\ No newline at end of file
+   extensions_utiles.md
+   raccourcis_astuces.md
\ No newline at end of file
diff --git a/source/vscode/presentation.md b/source/vscode/presentation.md
index 2b9a46bae96f65a05a50158a89923078c0661dd2..3e28f316e60297b5eaabcffffc4d2d0eda19d27d 100644
--- a/source/vscode/presentation.md
+++ b/source/vscode/presentation.md
@@ -3,50 +3,6 @@
 [Visual Studio Code ou VS Code](https://code.visualstudio.com/) est un IDE édité par Microsoft, s'appuyant sur la librairie [Monaco](https://microsoft.github.io/monaco-editor/) également utilisée dans Vitis. \
 C'est une application développée avec électron, d'ailleurs une [version Web](https://vscode.dev/) existe aussi qui peut parfois dépanner sur les serveurs Windows.
 
-## Raccourcis et astuces
-
-Certains raccourcis pourront être erronés, une partie de l'équipe utilisant une extension pour reprendre les raccourcis de l'IDE Atom anciennement utilisé.
-
-### Créer un snippet personnalisé
-
-Un snippet est un raccourcis qui va vous permettre de pré-générer du code.
-
-Il est possible d'en partager dans le dépot ou de les définir localement pour votre vscode.
-
-Pour définir un snippet, il faut aller dans `File > Preferences > Configure User Snippets`, il faudra saisir un nom pour le fichier générique la première fois.
-
-Ci-dessous un exemple de syntaxe pour définir un snippet : 
-```json
-{
-	"ajax promise" : {
-		"scope": "javascript,typescript",
-		"prefix": "v-ajaxp",
-		"body": [
-			"this.vitisRequest.ajaxRequestPromise({",
-			"\tmethod: '',",
-			"\turl: env.properties.app_api_url + '/',",
-			"}).then((resp) => {});"]
-	}
-}
-```
-
-La clé sert de nom pour le snippet, le prefixe est ce qu'il faudra saisir pour déclencher la génération de code.
-
-Avec cet exemple si je tape `v-ajaxp` dans un fichier js ou ts je récupérerai le code suivant : 
-```js
-this.vitisRequest.ajaxRequestPromise({
-  method: '',
-  url: env.properties.app_api_url + '/',
-}).then((resp) => {});
-```
-
-Je n'ai plus qu'à le personnaliser, remplacer le this par services dans certains cas, ...
-
-Il y a plein d'utilisations possibles, génération de code récurent pour logguer, débugguer par exemple.
-
-pour avoir plus d'information sur le sujet la documentation est disponible via [ce lien](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_create-your-own-snippets).
-
-
 ## Configuration
 
 Pour accéder au fichier de configuration JSON de vscode Il faut passer par la palette de commande `CTRL+MAJ+P` et choisir `Preferences : Open User Settings (JSON)`.
diff --git a/source/vscode/raccourcis_astuces.md b/source/vscode/raccourcis_astuces.md
new file mode 100644
index 0000000000000000000000000000000000000000..a23a6864a57ba95399b6ff05d16f24178f11b791
--- /dev/null
+++ b/source/vscode/raccourcis_astuces.md
@@ -0,0 +1,236 @@
+<style>
+    img {
+        margin: 0px !important;
+    }
+</style>
+
+# Raccourcis & astuces
+
+## Snippets
+
+Les snippets permettent de générer du code en tapant que quelques caractères.
+
+Par exemple sur un fichier JS lorsque j'écris `log` puis j’appuie sur la touche `tab` j'obtiens le code ci-après avec le curseur au bon endroit.
+```js
+console.log('');
+```
+
+Pour définir un snippet, il faut aller dans `File > Preferences > Configure User Snippets`.
+La première fois il faudra cliquer sur `New global snippets file` et saisir un nom.
+Les autres fois il suffira simplement d'éditer le fichier.
+
+Plus d'informations sur le sujet sont disponibles sur la documentation via [ce lien](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_create-your-own-snippets).
+
+#### Exemple : logs
+
+Les snippets qui sont pour moi les plus utilisés sont ceux des logs sur les différents langages.
+
+Personnellement j'utilise `log` pour écrire un message et `logv` pour écrire la valeur d'une variable.
+
+```json
+{
+    "Print to console JS": {
+        "scope": "javascript,typescript",
+        "prefix": "log",
+        "body": [
+            "console.log('$1');"
+        ],
+        "description": "Log output to console"
+    },
+    "Print to console python": {
+        "scope": "python",
+        "prefix": "log",
+        "body": [
+            "print(str('$1'))"
+        ],
+        "description": "Log output to console"
+    },
+    "Print to console php": {
+        "scope": "php",
+        "prefix": "log",
+        "body": [
+            "error_log('$1');"
+        ],
+        "description": "Log output to console"
+    },
+    "Print variable to console JS": {
+        "scope": "javascript,typescript",
+        "prefix": "logv",
+        "body": [
+            "console.log('$1', $1);"
+        ],
+        "description": "Log output value to console"
+    },
+    "Print to variable console python": {
+        "scope": "python",
+        "prefix": "logv",
+        "body": [
+            "print('$1 : ' + str($1))"
+        ],
+        "description": "Log output value to console"
+    },
+    "Print to variable console php": {
+        "scope": "php",
+        "prefix": "logv",
+        "body": [
+            "error_log('$1 :' . print_r($1, true));"
+        ],
+        "description": "Log output value to console"
+    }
+}
+```
+
+#### Exemple : ajaxRequest
+
+Insère les fonctions permettant de faire des requêtes http via ajaxRequestPromise en tapant `ajaxget`, `ajaxput`, `ajaxpost`
+
+```json
+{
+    "ajax get": {
+		"scope": "javascript,typescript",
+		"prefix": "ajaxget",
+		"body": [
+			"this.vitisRequest.ajaxRequestPromise({",
+			"  method: 'GET',",
+			"  url: environment.properties.app_api_url + '/$1',",
+			"  params: {}",
+			"}).then((resp: any) => {",
+			"  ",
+			"});"
+		],
+		"description": "AjaxRequest for GET"
+	},
+	"ajax post": {
+		"scope": "javascript,typescript",
+		"prefix": "ajaxpost",
+		"body": [
+			"this.vitisRequest.ajaxRequestPromise({",
+			"  method: 'POST',",
+			"  url: environment.properties.app_api_url + '/$1',",
+			"  data: {}",
+			"}).then((resp: any) => {",
+			"  ",
+			"});"
+		],
+		"description": "AjaxRequest for POST"
+	},
+	"ajax put": {
+		"scope": "javascript,typescript",
+		"prefix": "ajaxput",
+		"body": [
+			"this.vitisRequest.ajaxRequestPromise({",
+			"  method: 'PUT',",
+			"  url: environment.properties.app_api_url + '/$1',",
+			"  data: {}",
+			"}).then((resp: any) => {",
+			"  ",
+			"});"
+		],
+		"description": "AjaxRequest for PUT"
+	}
+}
+```
+
+#### Exemple : Promesse JS
+
+En JavaScript / TypeScript qui est un langage asynchrone par défaut il est souvent nécessaire d'utiliser les promesses.
+
+Pour cela j'ai un snippet `promise` qui en génère une.
+
+```json
+{
+    "Promise": {
+		"scope": "javascript,typescript",
+		"prefix": "promise",
+		"body": [
+			"return new Promise((resolve, reject) => {",
+			"  $1",
+			"});"
+		],
+		"description": "Log output to console"
+	},
+}
+```
+
+## Raccourcis clavier
+
+Au moment où j'écris ce document j'utilise l'extension **Atom keymap**, il se peut donc que les raccourcis cités ne fonctionnent pas s'il n'est pas installé.
+
+#### Fonctions de recherche
+
+* `CTRL + F` : permet de faire une recherche dans un fichier
+* `CTRL + MAJ + F` : permet de faire une recherche dans un dossier
+* `CTRL + H` : permet de faire un remplacement dans un fichier
+* `CTRL + MAJ + H` : permet de faire un remplacement dans un dossier
+
+#### Déplacement du curseur par mot
+
+* `CTRL + flèche gauche/droite` : déplace la curseur mot par mot.
+* `CTRL + MAJ + flèche gauche/droite` : déplace la sélection mot par mot.
+
+#### Commandes VSCode
+
+* `CTRL + MAJ + P` : affiche une prompt sur lequel je peux écrire librement et qui va m'ouvrir les différents menus de VSCode comme si je passais par fichier etc..
+* `CTRL + ²` : affiche / cache le terminal (non prévu par défaut, il faudra le créer). Équivalent à `CTRL + P + create new terminal`.
+
+#### Fold
+
+Ces raccourcis pemettent de replier le conde en fonction de l'indentation, pour se faire j'autilise `CTRL + K + [numéro]` où `[numéro]` est l'index d'indentation.
+
+Prenons exemple sur ce code
+
+```html
+<div>
+    <ul>
+        <li>
+            <a>
+                mon contenu 1
+            </a>
+        </li>
+    </ul>
+    <ul>
+        <li>
+            <a>
+                mon contenu 2
+            </a>
+        </li>
+    </ul>
+</div>
+```
+
+Si je fais `CTRL + K + 2` j'obtiens quelque chose comme ça
+
+```html
+<div>
+    <ul>
+    </ul>
+    <ul>
+    </ul>
+</div>
+```
+
+Si je fais `CTRL + K + 3` j'obtiens quelque chose comme ça
+
+```html
+<div>
+    <ul>
+        <li>
+        </li>
+    </ul>
+    <ul>
+        <li>
+        </li>
+    </ul>
+</div>
+```
+
+#### Multi curseur
+
+C'est quelque chose que j'utilise beaucoup et qui me fait parfois gagner beaucoup de temps.
+
+* `MAJ + ALT + Flèche haut/bas` : permet de placer plusieurs curseurs à la verticale.
+
+C'est très utile mais parfois à cause de l'indentation ça peut être problématique.
+
+* `CTRL + click` : me permet alors de les placer manuellement, on peut aussi double clic pour sélectionner un mot en entier.
+* `CTRL + D` : c'est un peu comme si on mixait le précédent avec `CTRL + F`, après avoir sélectionné un mot ça permet de placer un multi-curseur sur le prochain mot identique.