diff --git a/divers/manuel_Asus_KGPN_D16.pdf b/divers/manuel_Asus_KGPN_D16.pdf
new file mode 100644
index 0000000..ad166a8
Binary files /dev/null and b/divers/manuel_Asus_KGPN_D16.pdf differ
diff --git a/images/Carte_de_France.svg b/images/Carte_de_France.svg
new file mode 100644
index 0000000..76a7d63
--- /dev/null
+++ b/images/Carte_de_France.svg
@@ -0,0 +1,118 @@
+
+
+
+
\ No newline at end of file
diff --git a/images/Carte_infra.xopp b/images/Carte_infra.xopp
new file mode 100644
index 0000000..0f2ae15
Binary files /dev/null and b/images/Carte_infra.xopp differ
diff --git a/images/image_carte_infra.png b/images/image_carte_infra.png
new file mode 100644
index 0000000..daf9d91
Binary files /dev/null and b/images/image_carte_infra.png differ
diff --git a/procédures/acces_serveurs.md b/procédures/acces_serveurs.md
new file mode 100644
index 0000000..7c3f152
--- /dev/null
+++ b/procédures/acces_serveurs.md
@@ -0,0 +1,50 @@
+## Accès aux serveurs physiques de l'infrastructure
+
+### Configuration SSH côté infra
+
+Pour un administrateur d'infrastructure, l'accès aux serveurs de l'infra se fait sur le compte sudoer `admin666` via le compte `cominfra`, authentifié par clé SSH.
+Pour qu'un nouvel administrateur puisse accéder aux serveurs, il faut :
+
+- Sur `mother`, ajouter la clé publique (ssh) du nouvel admin dans `/home/cominfra/.ssh/authorized_keys` et `/home/admin666/.ssh/authorized_keys`
+
+- Sur `aunt`, ajouter la clé publique (ssh) du nouvel admin dans `/home/cominfra/.ssh/authorized_keys` et `/home/admin666/.ssh/authorized_keys`
+
+### Configuration SSH client
+
+ host mother.libre-en-communs.org
+ User cominfra
+ Port 222
+ SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
+
+ host mother666.libre-en-communs.org
+ User admin666
+ Hostname mother.libre-en-communs.org
+ Port 222
+ ProxyCommand ssh -q -W %h:%p mother.libre-en-communs.org
+ SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
+
+ host aunt.libre-en-communs.org
+ User cominfra
+ Port 223
+ SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
+
+ host aunt666.libre-en-communs.org
+ User admin666
+ Hostname aunt.libre-en-communs.org
+ Port 223
+ ProxyCommand ssh -q -W %h:%p aunt.libre-en-communs.org
+ SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
+
+### Procédure de connexion avec config dans ~/.ssh/config
+
+Le nouvel admin n'a plus qu'à utiliser `ssh mother666.libre-en-communs.org` pour accéder au serveur `mother`
+
+### Procédure de connexion sans config
+
+Le nouvel admin peut utiliser `ssh -i 'CLE_PRIV' -J cominfra@mother.libre-en-communs.org:222 admin666@localhost -p 222` pour accéder au serveur `mother`
+
+### Accès aux machines virtuelles
+
+Si besoin, l'administrateur d'infrastructure peut accéder aux machines virtuelles qui tournent sur les serveurs, et ce depuis le compte `admin666` de n'importe quel serveur. Il suffira d'utiliser la commande `ssh `.
+
+Par exemple, pour accéder à la machine `dns` : `ssh dns`
diff --git a/procédures/acces_vm.md b/procédures/acces_vm.md
new file mode 100644
index 0000000..c099f13
--- /dev/null
+++ b/procédures/acces_vm.md
@@ -0,0 +1,76 @@
+## Accès aux machines virtuelles de l'infrastructure
+
+### Configuration SSH côté infra
+
+En règle générale, l'accès aux machines virtuelles ne se fait pas directement. Il faut passer par `mother` ou `aunt`.
+Pour qu'un nouvel administrateur puisse accéder à des machines, il faut :
+
+- Sur `mother` ou `aunt`, ajouter la clé publique (ssh) du nouvel admin dans `/home/cominfra/.ssh/authorized_keys`
+
+- Sur chaque machine virtuelle concernée, ajouter la clé publique (ssh) du nouvel admin dans `/home/admin666/.ssh/authorized_keys`
+
+Note : en IPV6, la connexion directe peut être possible. A voir au cas par cas.
+
+**Attention** : les noms de machines virtuelles de Chalec contiennent ".chalec.org" en suffixe.
+
+### Configuration SSH client
+
+Soit en passant par `mother`
+
+ host mother.libre-en-communs.org
+ User cominfra
+ Port 222
+ SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
+
+ match host *.a-lec.org
+ User admin666
+ Hostname %h
+ Port 22
+ ProxyJump mother.libre-en-communs.org
+ SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
+
+ host *.chalec.org
+ User admin666
+ Port 22
+ ProxyJump mother.libre-en-communs.org
+ SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
+
+Ou bien en passant par `aunt`
+
+ host aunt.libre-en-communs.org
+ User cominfra
+ Port 223
+ SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
+
+ match host *.a-lec.org
+ User admin666
+ Hostname %h
+ Port 22
+ ProxyJump aunt.libre-en-communs.org
+ SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
+
+ host *.chalec.org
+ User admin666
+ Port 22
+ ProxyJump aunt.libre-en-communs.org
+ SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
+
+Pour fixer les variables Git directement dans la conf, ajouter un `SetEnv` avant `SendEnv` :
+```
+SetEnv GIT_AUTHOR_NAME="Moi" GIT_AUTHOR_EMAIL="moncourriel"
+```
+
+Note : avoir les deux configurations peut être utile en cas de panne de l'un ou l'autre des serveurs.
+
+
+### Procédure de connexion avec config dans ~/.ssh/config
+
+Le nouvel admin n'a plus qu'à utiliser `ssh NOM_DE_VM.a-lec.org` pour accéder à la machine virtuelle
+
+### Procédure de connexion sans config
+
+Le nouvel admin peut utiliser au choix :
+
+- `ssh -i 'CLE_PRIV' -J cominfra@mother.libre-en-communs.org:222 admin666@NOM_DE_VM.a-lec.org -p 22`
+
+- `ssh -i 'CLE_PRIV' -J cominfra@aunt.libre-en-communs.org:223 admin666@NOM_DE_VM.a-lec.org -p 22`
diff --git a/procédures/création_pm.md b/procédures/création_pm.md
new file mode 100644
index 0000000..c39ab50
--- /dev/null
+++ b/procédures/création_pm.md
@@ -0,0 +1,40 @@
+# Création d'une nouvelle machine physique
+
+Le but est d'intégrer une nouvelle machine physique dans le SI.
+
+Configurer la machine :
+- installer une Debian stable ;
+ - premier compte : admin666,
+- la mettre à jour ;
+
+Remplacer le noyau par Linux-libre-lts :
+- TODO
+
+
+Installer les paquets de base :
+```
+sudo apt install etckeeper mollyguard tig lm-sensors fancontrol screen emacs-nox vrms needrestart iotop htop curl ncdu iptraf tig unzip
+```
+
+Mettre l'IPV6 statique à l'image de l'IPV4 choisie :
+- éditer ̀`/etc/network/interfaces`.
+
+Nommer la machine :
+```
+sudo hostnamectl set-hostname NOM
+```
+
+Configurer le courriel :
+- TODO
+
+
+Configuration du routage :
+- aller sur https://routeur.libre-en-communs.org/cgi-bin/luci/admin/network/dhcp
+- onglet Static Leases, bouton Add :
+ - Hostname : nom de PM en domaine,
+ - MAC : dispo sur la machine,
+ - IPv4 : choisir entre :
+ - un 192.168.0.x pour infra générale (si pas un service que des commissions vont utiliser),
+ - un 192.168.1.x pour infra,
+ - un 192.168.2.x pour Chalec,
+- valider les changements.
diff --git a/procédures/création_vm.md b/procédures/création_vm.md
new file mode 100644
index 0000000..c433d18
--- /dev/null
+++ b/procédures/création_vm.md
@@ -0,0 +1,43 @@
+# Création d'une nouvelle machine virtuelle
+
+- Creation de la VM par clonage de generic ou generic.chalec.org
+
+- Aller sur https://routeur.libre-en-communs.org/cgi-bin/luci/admin/network/dhcp
+
+ + Onglet Static Leases, bouton Add
+
+ - Hostname : nom de VM en domaine
+
+ - MAC : dispo dans virt-manager
+
+
+ - IPv4 : choisir entre :
+
+ + un 192.168.0.x pour infra générale
+
+ + un 192.168.1.x pour infra
+
+ + un 192.168.2.x pour chalec
+
+ + Valider les changements
+
+
+- sudo virsh console NOM_DE_VM
+
+ + login = admin666
+
+ + sudo nano /etc/network/interfaces
+
+ - Changer l'IPv6 statique à l'image de l'IPv4 choisie
+
+ - Changer les hostnames (chaque nano signifie qu'il faut remplacer le generic ou generic.chalec.org par NOM_DE_VM)
+
+ + sudo hostnamectl set-hostname NOM_DE_VM
+
+ + sudo nano /etc/postfix/virtual && sudo postmap /etc/postfix/virtual
+
+ + sudo nano /etc/mailname
+
+ + sudo nano /etc/postfix/main.cf && sudo postfix reload
+
+ + sudo reboot
diff --git a/procédures/migration_vm.md b/procédures/migration_vm.md
new file mode 100644
index 0000000..e27b152
--- /dev/null
+++ b/procédures/migration_vm.md
@@ -0,0 +1,30 @@
+# Migration de machines virtuelles entre machines physiques
+
+Il y a plusieurs méthodes de migration de machines virtuelles en mother et aunt
+
+## Migration "normale" d'une machine par son nom
+
+Pour migrer une machine de mother à aunt :
+
+ /opt/sharedfs/outils/migrate_to_aunt.sh NOM_DE_VM
+
+Pour migrer une machine de aunt à mother :
+
+ /opt/sharedfs/outils/migrate_to_mother.sh NOM_DE_VM
+
+## Migration "normale" d'un groupe de machine par nombre
+
+Pour migrer X machines de mother vers aunt :
+
+ /opt/sharedfs/outils/migrate_many_to_aunt.sh X
+
+Pour migrer X machines de aunt vers mother :
+
+ /opt/sharedfs/outils/migrate_many_to_mother.sh X
+
+## Migration d'urgence (P2P) de aunt vers mother (sans DRBD)
+
+Pour migrer une machine de aunt vers mother lorsque DRBD ne fonctionne pas :
+
+ /opt/sharedfs/outils/migrate_to_mother_p2p.sh NOM_DE_VM
+
diff --git a/procédures/reboot_physique.md b/procédures/reboot_physique.md
new file mode 100644
index 0000000..681eb2a
--- /dev/null
+++ b/procédures/reboot_physique.md
@@ -0,0 +1,45 @@
+# Redémarrages de machines physiques
+
+## Annoncer le downtime
+
+Il faut annoncer le downtime sur isengard (cf [la procédure dédiée](supervision.md#activation-dun-downtime)).
+
+## Migrer les machines virtuelles présentes sur l'hôte physique vers un autre hôte
+
+Utiliser les instructions de la [procédure dédiée](migration_vm.md).
+
+## Lancer le redémarrage
+
+Lancer le redémarrage avec :
+
+ sudo systemctl start kexec.target
+
+*Ne pas utiliser la commande reboot sauf nécessité absolue*
+
+*Ne pas utiliser la commande shutdown sauf nécessité absolue*
+
+## Vérifier l'état de DRBD après redémarrage
+
+Avec la commande :
+
+ sudo cat /proc/drbd
+
+Et vérifier que l'état est _cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate_
+
+## Monter la partition DRBD
+
+Avec la commande :
+
+ sudo mount /opt/sharedfs
+
+## Vérifier le bon fonctionnement
+
+Avec :
+
+ sudo systemctl status
+
+en vérifiant que le statut est _running_ et qu'aucun job n'est en fail.
+
+## Migrer les machines virtuelles depuis l'autre hôte vers le présent hôte physique à présent prêt
+
+Utiliser les instructions de la [procédure dédiée](migration_vm.md).
diff --git a/procédures/reboot_vm.md b/procédures/reboot_vm.md
new file mode 100644
index 0000000..0911238
--- /dev/null
+++ b/procédures/reboot_vm.md
@@ -0,0 +1,22 @@
+# Redémarrages de machines virtuelles
+
+## Annoncer le downtime
+
+Il faut annoncer le downtime sur isengard (cf [la procédure dédiée](supervision.md#activation-dun-downtime)).
+
+## Lancer le redémarrage
+
+Lancer le redémarrage avec :
+
+ sudo reboot
+
+`mollyguard` va demander de confirmer le nom d'hôte de la machine à redémarrer.
+
+## Vérifier le bon fonctionnement après redémarrage
+
+Avec :
+
+ sudo systemctl status
+
+en vérifiant que le statut est _running_ et qu'aucun job n'est en fail.
+
diff --git a/procédures/sauvegardes.md b/procédures/sauvegardes.md
new file mode 100644
index 0000000..bf502c1
--- /dev/null
+++ b/procédures/sauvegardes.md
@@ -0,0 +1,40 @@
+# Gestion des sauvegardes l'infrastructure
+
+Pour les sauvegardes, nous utilisons au sein de notre infrastructure les logiciels suivants :
+
+- rsync pour les machines physiques
+- [virt-backup](https://pypi.org/project/virt-backup/) pour les machines virtuelles
+- les [scripts d'administration](https://git.a-lec.org/a-lec/commissions/infrastructure/infra-generale)
+
+Les sauvegardes sont configurées comme indiqués dans le [dépôt dédié](https://git.a-lec.org/a-lec/commissions/infrastructure/sauvegardes)
+
+## Sauvegarde des machines virtuelles
+
+Sur une des machines physiques (ex: mother ou aunt).
+
+### Lister les sauvegardes
+
+Pour lister le résumé des sauvegardes :
+
+ sudo virt-backup list
+
+Pour lister les sauvegardes d'une machine particulière :
+
+ sudo virt-backup list -D NOM_DE_VM
+
+### Pour réaliser une sauvegarde de toutes les machines d'un hôte physique
+
+Il n'est pas possible de réaliser une sauvegarde d'une machine isolée.
+
+ sudo virt-backup backup
+
+### Pour restorer une sauvegarde
+
+Nous avons un script spécial pour restaurer une sauvegarde :
+
+ sudo /opt/sharedfs/restore.sh NOM_DE_VM DATE_DE_SAUVEGARDE NOM_DE_DISQUE CHEMIN_CIBLE
+
+### Nettoyer les sauvegardes
+
+ sudo virt-backup clean
+
diff --git a/procédures/supervision.md b/procédures/supervision.md
new file mode 100644
index 0000000..bdf0081
--- /dev/null
+++ b/procédures/supervision.md
@@ -0,0 +1,210 @@
+# Installation de la supervision sur une machine virtuelle
+
+## Générer un ticket sur isengard.libre-en-communs.org
+
+ sudo icinga2 pki ticket --cn NOM_DE_DOMAINE_DE_VM
+
+On obtient un ticket à noter dans l'issue. Il sera redemandé plus tard.
+
+## En SSH sur la machine virtuelle, installer l'agent de supervision
+
+ sudo apt install icinga2 monitoring-plugins monitoring-plugins-contrib
+
+## Modifier la configuration de la sonde de mémoire vive (pour corriger un bug)
+
+
+/usr/share/icinga2/include/plugins-contrib.d/operating-system.conf
+
+ object CheckCommand "mem" {
+ command = [ PluginContribDir + "/check_memory" ]
+
+ arguments = {
+ "-u" = {
+ set_if = "$mem_used$"
+ description = "Check USED memory"
+ }
+ "-f" = {
+ set_if = "$mem_free$"
+ description = "Check FREE memory"
+ }
+ "-C" = {
+ set_if = "$mem_cache$"
+ description = "Count OS caches as FREE memory"
+ }
+ "-w" = {
+ value = "$mem_warning$"
+ description = "Percent free/used when to warn"
+ }
+ "-c" = {
+ value = "$mem_critical$"
+ description = "Percent free/used when critical"
+ }
+ }
+
+ vars.mem_used = false
+ vars.mem_free = false
+ vars.mem_cache = false
+ }
+
+
+
+## Connecter notre agent au serveur de supervision
+
+ sudo icinga2 node wizard
+
+
+On réalise la configuration interactive suivante:
+
+ Welcome to the Icinga 2 Setup Wizard!
+
+ We will guide you through all required configuration details.
+
+ Please specify if this is an agent/satellite setup ('n' installs a master setup) [Y/n]:
+
+ Starting the Agent/Satellite setup routine...
+
+ Please specify the common name (CN) [NOM_DE_DOMAINE_DE_VM]:
+
+ Please specify the parent endpoint(s) (master or satellite) where this node should connect to:
+ Master/Satellite Common Name (CN from your master/satellite node): isengard.libre-en-communs.org
+
+ Do you want to establish a connection to the parent node from this node? [Y/n]:
+ Please specify the master/satellite connection information:
+ Master/Satellite endpoint host (IP address or FQDN): isengard.libre-en-communs.org
+ Master/Satellite endpoint port [5665]:
+
+ Add more master/satellite endpoints? [y/N]:
+ Parent certificate information:
+
+ Version: 3
+ Subject: CN = isengard.libre-en-communs.org
+ Issuer: CN = Icinga CA
+ Valid From: Dec 9 14:36:07 2021 GMT
+ Valid Until: Dec 5 14:36:07 2036 GMT
+ Serial: c4:3f:53:b2:cf:09:f7:b5:2e:88:39:03:e9:96:c8:fc:99:a1:ca:3a
+
+ Signature Algorithm: sha256WithRSAEncryption
+ Subject Alt Names: isengard.libre-en-communs.org
+ Fingerprint: 54 78 22 83 24 22 3A A7 FD 00 01 E4 10 67 71 B6 CA 3E A2 71 93 63 F8 64 29 E9 45 1F D1 35 A9 95
+
+ Is this information correct? [y/N]: y
+
+ Please specify the request ticket generated on your Icinga 2 master (optional).
+ (Hint: # icinga2 pki ticket --cn 'NOM_DE_DOMAINE_DE_VM'): INSERER_NUMERO_DE_TICKET_ICI
+ Please specify the API bind host/port (optional):
+ Bind Host []:
+ Bind Port []:
+
+ Accept config from parent node? [y/N]: y
+ Accept commands from parent node? [y/N]: y
+
+ Reconfiguring Icinga...
+ Disabling feature notification. Make sure to restart Icinga 2 for these changes to take effect.
+ Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
+
+ Local zone name [NOM_DE_DOMAINE_DE_VM]:
+ Parent zone name [master]:
+
+ Default global zones: global-templates director-global
+ Do you want to specify additional global zones? [y/N]:
+
+ Do you want to disable the inclusion of the conf.d directory [Y/n]:
+ Disabling the inclusion of the conf.d directory...
+
+ Done.
+
+ Now restart your Icinga 2 daemon to finish the installation!
+
+
+
+## Créer le fichier de zone pour la nouvelle machine dans isengard.libre-en-communs.org
+
+
+/etc/icinga2/zones.d/master/NOM_DE_DOMAINE_DE_VM.conf
+
+ object Endpoint "NOM_DE_DOMAINE_DE_VM" {
+ }
+
+ object Zone "NOM_DE_DOMAINE_DE_VM" {
+ endpoints = [ "NOM_DE_DOMAINE_DE_VM" ]
+ parent = "master"
+ }
+
+ object Host "NOM_DE_DOMAINE_DE_VM" {
+ import "generic-host"
+ address = "NOM_DE_DOMAINE_DE_VM"
+ address6 = "NOM_DE_DOMAINE_DE_VM"
+ vars.os = "GNU/Linux"
+ vars.client_endpoint = name
+
+ vars.notification["mail"] = {
+ groups = [ "icingaadmins" ]
+ }
+
+ }
+
+
+
+# Interface web d'Isengard
+
+Site web : https://isengard.libre-en-communs.org/
+
+## Activation d'un downtime
+
+Downtimer :
+- Menu gauche > Overview > Hosts
+- sélectionner la vm visée
+- partie droite > Schedule downtime
+- Comment : mettre la raison du downtime, exemple : reboot noyal
+- End time : par défaut 1h
+- All services : coché
+- Child Hosts : Schedule triggered downtime for all child hosts (/!\ utile ?)
+- cliquer sur Schedule downtime
+
+## Ajout d'une entrée de menu pour ses vm
+
+Ajout :
+- Menu gauche > Overview > Hosts ;
+- sélectionner les vm désirées (Ctrl + clique gauche)
+- partie droite > menu > chevron bas (à droite de History) > Add to menu
+- Name : mettre le nom qui apparaîtra dans le menu
+- Target : Single Column
+- cliquer Save Changes
+
+## Ajout d'une entrée de menu ses services
+
+Ajout :
+- Menu gauche > Overview > Services ;
+- cliquer sur l'icone filtre à droite de la zone de recherche
+- première case : Host (Case insensitive)
+- deuxième case : =
+- troisième case : le nom de votre vm, exemple : audio.chalec.org
+- cliquer sur + et sélectionner OR
+- recommencer autant de fois que voulu
+- cliquer sur Apply
+- menu du haut > chevron bas (à droite de Service) > Add to menu
+- Name : mettre le nom qui apparaîtra dans le menu
+- Target : Single Column
+- cliquer Save Changes
+
+## Éditer une entrée personnalisée de menu
+
+Pour éditer une entrée personnalisée du menu :
+- Menu gauche > vous@a-lec.org > My account > Navigation
+- dans la liste, cliquer sur l'entrée à éditer.
+
+## Supprimer une entrée de menu personnalisée
+
+Pour supprimer une entrée personnalisée du menu :
+- Menu gauche > vous@a-lec.org > My account > Navigation
+- dans la liste, cliquer sur l'entrée à éditer
+- cliquer sur l'icone croix rouge ;
+
+## Downtime de tous ses services en 2 clics
+
+Prérequis : avoir créer une entrée personnalisée du menu pour ses vm.
+
+Downtimer ses services :
+- Menu gauche > entrée personnalisée de vos vm
+- cliquer sur « Schedule downtimes »
+- …