diff --git a/howto/create_vm.md b/howto/create_vm.md
new file mode 100644
index 0000000..b338edd
--- /dev/null
+++ b/howto/create_vm.md
@@ -0,0 +1,155 @@
+# Création de machine virtuelle pour les adhérent⋅es
+Le crans propose un système de locations de vms dont vous pouvez retrouver les
+tarifs dans les annexes des statuts de l'association. J'en fournis un
+récapitulatif ici mais attention celui-ci peut ne pas être à jour et seul ce qui
+est marqué dans les statuts fait foi.
+
+|      Article                            | Tarifs |
+|:---------------------------------------:|:------:|
+| Service minimal                         | 10€    |
+| Connexion internet                      | 30€    |
+| Cœur additionnel                        | 5€     |
+| 2GB de RAM additionnel                  | 5€     |
+| Disque additionnel (par tranche de 16G) | 1€     |
+
+Le service minimal comprend :
+  - un disque de 8G
+  - un cœur
+  - 2G de ram
+
+Tous les services sont proposés pour une durée de 1 an.
+
+## Section nounous
+### LDAP
+Quand un⋅e adhérent⋅e vous demande de lui créer une vm, il faut au préalable læ
+rajouter dans le ldap des adhérent⋅es (qui n'est pas le même que le ldap re2o).
+Celui ci se situe sur flirt et à la structure suivante:
+```
+ou=users
+├── cn=toto
+└── cn=titi
+ou=clubs
+└── o=rover
+ou=hosts
+├── cn=voyager
+└── cn=curiosity
+```
+Pour référence ma configuration `shelldap` pour me connecter au ldap est
+la suivante :
+```
+# +---------------------------------+
+# | Connexion à flirt.adm.crans.org |
+# +---------------------------------+
+server: ldaps://flirt.adm.crans.org/
+promptpass: yes
+binddn: cn=admin,dc=adh,dc=crans,dc=org
+basedn: dc=adh,dc=crans,dc=org
+```
+et le mot de passe est disponible dans le password-store sous `ldap-adh`.
+
+#### Utilisateur⋅ices
+Les objets utilisateur⋅ices dispose des champs suivants :
+```
+dn: cn=toto,ou=users,dc=adh,dc=crans,dc=org
+objectClass: inetOrgPerson
+objectClass: organizationalPerson
+objectClass: person
+objectClass: top
+cn: toto
+description: birthDate:1998-01-08
+description: birthLocation:Cachan
+description: membershipStart:20xx-xx-xx
+description: membershipEnd:20xx-xx-xx
+description: re2oId:xxxxx
+givenName: Toto
+mail: nobody [AT] crans [DOT] org
+postalAddress: 60 rue camille desmoulins, 94230, Cachan
+sn: Passoir
+telephoneNumber: +336xxxxxxxx
+userPassword: {CRYPT}$6$…
+```
+Le script `addadherent` du repo
+[crans-ldap](https://gitlab.crans.org/nounous/crans-ldap) permet néanmoins de
+configurer la plupart des informations à renseigner :
+```
+[ _shirenn@flirt ] $ ./addadherent --re2o-id xxxxx toto
+Prénom: Toto
+NOM: Passoir
+Adresse email: nobody [AT] crans [DOT] org
+Adresse: 60 avenue camille desmoulins, 94230, Cachan
+Numéro de téléphone: +33600000000
+Date de naissance (YYYY-MM-DD): 1998-01-08
+Lieu de naissance: Cachan
+```
+
+Cela rajoutera automatiquement la date de début d'adhésion mais pas celle de fin
+d'adhésion, celle-ci doit être rajoutée à la main en utilisant votre client ldap
+favori.
+
+#### Club
+Les clubs sont des objets ldap très simple qui ne contiennent que le nom des
+adhérent⋅es qui gèrent le club :
+```
+dn: o=rover,ou=clubs,dc=adh,dc=crans,dc=org
+objectClass: organization
+objectClass: top
+description: toto
+o: rover
+```
+Similairement, un script permet de rajouter ces informations automatiquement au
+ldap :
+```
+[ _shirenn@flirt ]$ ./addclub rover
+Pseudo du responsable: toto
+Pseudo du responsable: titi
+Pseudo du responsable:
+```
+
+#### Machines
+Les machines sont des objets ldap qui répertorient des informations sur leur
+configuration et leurs propriétaires :
+```
+dn: cn=curiosity,ou=hosts,dc=adh,dc=crans,dc=org
+objectClass: top
+objectClass: device
+objectClass: ipHost
+objectClass: ieee802Device
+cn: curiosity
+description: ip.icmp.in,ip.icmp.out,ip6.icmpv6.in,ip6.icmpv6.out,ip.tcp.out:0-65535,ip6.tcp.out:0-65535,ip.udp.out:0-65535,ip6.udp.out:0-65535,ip.tcp.in:22,ip6.tcp.in:22
+ipHostNumber: 185.230.78.199
+macAddress: 02:a0:00:01:99:12
+owner: o=rover,ou=clubs,dc=adh,dc=crans,dc=org
+serialNumber: 199
+```
+Le script `addadherenthost` crée la machine dans le ldap
+```
+[ _shirenn@flirt ]$ ./addadherenthost --ip 185.230.78.199 --mac 02:a0:00:01:99:02 --vmid 199 --club rover curiosity
+```
+
+Le part-feu par défaut laisse passer tous les paquets icmp, tous les paquets en
+sortie et ne laisse rentrer que le port 22 en tcp, en ip legacy et en ipv6.
+
+Une fois l'adhérent⋅e ou le club et la machine rajoutée dans le ldap. Les
+scripts devraient mettre à jour la configuration du parefeu, du dhcp et de
+proxmox.
+
+### Proxmox
+Il faut maintenant aller sur le cluster constitué de gulp, odlyd et stitch pour
+créer la machine virtuelle. C'est du clic clic dans proxmox, vous êtes assez
+grand⋅es pour savoir lire des menus. (Par contre faites bien attention à créer
+les disques sur la pool `vm`).
+
+Ensuite, deux possibilités, soit l'adhérent⋅e vous a juste demandé de créer la
+machine virtuelle et à ce moment là c'est fini et iel peut aller la configurer
+seul⋅e (c.f. section suivante), soit iel vous a demandé si vous pouviez lui
+installer une distribution de son choix.
+
+Vous pouvez alors lui demander une clé publique ssh et après avoir installer la
+vm, vous la déposer dans `/root/.ssh/authorized_keys` (en faisant attention à
+créer le `.ssh` avec les bonnes permissions `mkdir -m 0700 /root/.ssh`) et vous
+supprimer les mots de passe que vous avez rentrer pendant l'installation `passwd
+-d root`).
+
+
+## Section utilisateur⋅ices
+Coming soon