diff --git a/index.rst b/index.rst
index bcdecae..943b92d 100644
--- a/index.rst
+++ b/index.rst
@@ -20,7 +20,9 @@
:caption: Configuration côté utilisateur
:glob:
- xorg/*
+ xorg/urxvt/*
+ xorg/vscodium/*
+ xorg/kvmwindowspartboot/*
.. toctree::
:maxdepth: 2
@@ -123,4 +125,4 @@ Iptables
~~~~~~~~
Tout au long des manipulations, je vais créer les règles iptables pour sécuriser les outils que je mettrai en place.
-Tout ce qu'il y a à connaitre sera reporté dans une documentation consacrée à iptables
\ No newline at end of file
+Tout ce qu'il y a à connaitre sera reporté dans une documentation consacrée à iptables
diff --git a/live-reload.sh b/live-reload.sh
deleted file mode 100755
index 9490027..0000000
--- a/live-reload.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-
-rm -fr /tmp/sphinx-livereload/
-sphinx-reload --build-dir /tmp/sphinx-livereload/ ./
diff --git a/xorg/kvmwindowspartboot/calculatesizeinsector.png b/xorg/kvmwindowspartboot/calculatesizeinsector.png
new file mode 100644
index 0000000..9df2916
Binary files /dev/null and b/xorg/kvmwindowspartboot/calculatesizeinsector.png differ
diff --git a/xorg/kvmwindowspartboot/kvmwindowspartboot.rst b/xorg/kvmwindowspartboot/kvmwindowspartboot.rst
new file mode 100644
index 0000000..81440a4
--- /dev/null
+++ b/xorg/kvmwindowspartboot/kvmwindowspartboot.rst
@@ -0,0 +1,209 @@
+Booter une partition windows avec KVM
+=====================================
+
+Pour booter sur une partition windows depuis KVM, nous allons passer
+par trois étapes :
+
+#. Créer un disque à l'aide de ``mdadm`` enagrégeant des images au format ``raw``
+ et la partition, afin de recréer la table des partitions et la partition de boot.
+#. Booter sur le disque créé et réinstaller la partition de boot à l'aide d'une
+ image d'installation Windows
+#. Installer et paramétrer les drivers kvm pour Windows
+
+
+Pour ce tutoriel, je me suis grandement inspiré de `ce tutoriel `_.
+
+Installation des prérequis
+--------------------------
+
+On installe d'abord les paquets nécessaires à la virtualisation et ceux à la création des disques :
+
+.. code-block:: bash
+
+ pacman -S qemu-full virt-manager dnsmasq mdadm dosfstools
+
+Création du disque mdadm :
+
+On se place dans le répertoire des images libvirt :
+
+.. code-block:: bash
+
+ cd /var/lib/libvirt/images/
+
+
+On créer ensuite les fichiers ``raw`` qui vont être agrégés à notre partition :
+
+.. code-block:: bash
+
+ dd if=/dev/zero of=efi1 bs=1M count=200
+ dd if=/dev/zero of=efi2 bs=1M count=1
+
+On identifie ensuite notre partition windows, par exemple ``/dev/nvme0n1p3``.
+
+On vérifie que les modes nécessaires sont bien chargés, sinon on les démarre à la main :
+
+.. code-block:: bash
+
+ lsmod | grep loop
+ lsmod | grep linear
+ # On charge les modules si nécessaire :
+ modprobe loop
+ modprobe linear
+
+On regarde le device loop disponible et on monte ensuite les images en loopback :
+
+.. code-block:: bash
+
+ losetup -f
+ losetup /dev/loop0 /var/lib/libvirt/images/efi1
+ losetup -f
+ losetup /dev/loop1 /var/lib/libvirt/images/efi2
+
+Pour finir on créer le disque md0 qui agrège les deux loop et notre partition.
+
+.. code-block:: bash
+
+ mdadm --build --verbose /dev/md0 --chunk=512 --level=linear --raid-devices=3 /dev/loop0 /dev/nvme0n1p3 /dev/loop1
+
+Pour supprimer le disque, on utilise les commandes suivantes :
+
+.. code-block:: bash
+
+ mdadm --stop /dev/md0
+ losetup -d /dev/loop0 /dev/loop1
+
+Création de la table des partitions
+-----------------------------------
+
+Pour définir ou commence et ou finissent les partitions, il va falloir utiliser gparted avec les unités en secteur
+et calculer la taille de nos fichiers raw en secteur.
+
+On récupère la taille en bytes avec la commande ls -la, et on la divise par 512, la taille des secteurs que l'on a
+choisie quand on à créé le disque ``mdadm`` avec l'option ``--chunk=512``.
+
+.. image:: ./calculatesizeinsector.png
+ :width: 600px
+
+On créer ensuite la table des partitions et la partiticon de boot :
+
+.. code-block:: bash
+
+ parted /dev/md0
+ (parted) unit s # use sector size
+ (parted) mktable gpt
+ (parted) mkpart EFI fat32 2048 409599 # depends on size of efi1 file
+ (parted) mkpart Windows ntfs 409600 -2049 # depends on size of efi1 and efi2 files
+ (parted) set 1 boot on
+ (parted) set 1 esp on
+ (parted) set 2 msftdata on
+ (parted) quit
+
+Pour être sur que notre table des partitions est bien alignée sur la partition windows, on peut la monter :
+
+.. code-block:: bash
+
+ mount /dev/md0p2 /mnt
+ ls -lha /mnt
+ umount /mnt
+
+Pour finir, on formate notre partition efi en fat 32 :
+
+.. code-block:: bash
+
+ mkfs.fat -F 32 /dev/md0p1
+
+Premier boot et installation de la partition de démarrage Windows
+-----------------------------------------------------------------
+
+On peut télécharger l'iso d'installation de Windows `ici `_
+
+Lancement de la machine virtuelle et boot sur l'iso d'installation :
+
+.. code-block:: bash
+
+ qemu-system-x86_64 \
+ -bios /usr/share/ovmf/x64/OVMF_CODE.fd \
+ -drive file=/dev/md0,media=disk,format=raw \
+ -cpu host -enable-kvm -m 4G \
+ -cdrom /root/Downloads/Win10_22H2_English_x64v1.iso
+
+On peut ensuite lancer une invite de commande pour installer la partition de boot Windows :
+
+.. code-block:: msdos
+
+ diskpart
+ DISKPART> list disk
+ DISKPART> select disk 0 # Select the disk
+ DISKPART> list volume # Find EFI volume (partition) number
+ DISKPART> select volume 2 # Select EFI volume
+ DISKPART> assign letter=B # Assign B: to EFI volume
+ DISKPART> exit
+ bcdboot C:\Windows /s B: /f ALL
+ exit
+
+On peut éteindre l'ordinateur et redémarrer sans l'iso d'installation pour être sur que tout
+fonctionne bien :
+
+.. code-block:: bash
+
+ qemu-system-x86_64 \
+ -bios /usr/share/ovmf/x64/OVMF_CODE.fd \
+ -drive file=/dev/md0,media=disk,format=raw \
+ -cpu host -enable-kvm -m 4G
+
+Création de la machine virtuelle dans virt-manager :
+----------------------------------------------------
+
+Création d'un script pour créer et supprimer ``/dev/md0``
+---------------------------------------------------------
+
+Pour faciliter la création et la suppression du volume mdadm, on peut utiliser un script tel que celui ci :
+
+.. code-block:: bash
+
+ #!/bin/bash
+
+ _WINPART="/dev/nvme0n1p3"
+ cd $(dirname "$0") || exit 1
+ _EFIDIR=$(pwd)
+ _LOOP1=""
+ _LOOP2=""
+
+ _start() {
+ set -e
+ #Do nothing if md0 exist
+ [[ -e /dev/md0 ]] && printf "/dev/md0 already exists" && exit 1
+ # Enable modules if not loaded
+ lsmod | grep loop || modprobe loop
+ lsmod | grep linear || modprobe linear
+ _LOOP1=$(losetup -f)
+ losetup "$_LOOP1" "$_EFIDIR/efi1"
+ _LOOP2=$(losetup -f)
+ losetup "$_LOOP2" "$_EFIDIR/efi2"
+ mdadm --build --verbose /dev/md0 --chunk=512 --level=linear \
+ --raid-devices=3 "$_LOOP1" "$_WINPART" "$_LOOP2"
+ echo "$_LOOP1 $_LOOP2" > .loop-devices
+ }
+
+ _stop() {
+ mdadm --stop /dev/md0
+ xargs losetup -d < .loop-devices
+ }
+
+ _usage() {
+ cat << EOF
+ usage :
+ md0.sh start Create md0 device
+ md0.sh stop Destroy md0 device
+ EOF
+ }
+
+ [[ "$1" == "start" ]] && _start
+ [[ "$1" == "stop" ]] && _stop
+ [[ "$1" == "usage" ]] && _usage
+
+
+
+
+
+
diff --git a/xorg/urxvt.rst b/xorg/urxvt/urxvt.rst
similarity index 100%
rename from xorg/urxvt.rst
rename to xorg/urxvt/urxvt.rst
diff --git a/images/atom_dark_theme_extension.png b/xorg/vscodium/atom_dark_theme_extension.png
similarity index 100%
rename from images/atom_dark_theme_extension.png
rename to xorg/vscodium/atom_dark_theme_extension.png
diff --git a/images/emoji_extension.png b/xorg/vscodium/emoji_extension.png
similarity index 100%
rename from images/emoji_extension.png
rename to xorg/vscodium/emoji_extension.png
diff --git a/images/reStructuredText_extension.png b/xorg/vscodium/reStructuredText_extension.png
similarity index 100%
rename from images/reStructuredText_extension.png
rename to xorg/vscodium/reStructuredText_extension.png
diff --git a/xorg/vscodium.rst b/xorg/vscodium/vscodium.rst
similarity index 93%
rename from xorg/vscodium.rst
rename to xorg/vscodium/vscodium.rst
index e2883b1..4dc7ea5 100644
--- a/xorg/vscodium.rst
+++ b/xorg/vscodium/vscodium.rst
@@ -49,18 +49,18 @@ Un thème sombre mais avec des contrastes meilleurs que celui de base.
C'est le thème de base de l'éditeur Atom.
Il est dans le store, il suffit de tapper dark thème
-.. image:: ../images/atom_dark_theme_extension.png
+.. image:: ./atom_dark_theme_extension.png
reStructuredText Syntax highlighting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Très pratique pour la documentation avec Sphinx. Disponible dans le store.
-.. image:: ../images/reStructuredText_extension.png
+.. image:: ./reStructuredText_extension.png
emojisense
~~~~~~~~~~
Très pratique à utiliser avec sphinx pour agrémenter notre documentation de
petits emoji 😃. on lance l'intellisense avec ``Ctrl+i``.
-.. image:: ../images/emoji_extension.png
+.. image:: ./emoji_extension.png