diff --git a/doc/Kadeploy.pdf b/doc/Kadeploy.pdf
index cd9eb0c418407127ebfc6b14325c6bb7de6d6b6a..5edc635ae7b7ef9eb898c21f5e367b44c3c268e7 100644
Binary files a/doc/Kadeploy.pdf and b/doc/Kadeploy.pdf differ
diff --git a/doc/Kadeploy.tex b/doc/Kadeploy.tex
index d90d9d83da5b3eac1ad88879f92e8eda88979d8d..b7df17ce2149263c6538fba600e3ff0a3a37bafe 100644
--- a/doc/Kadeploy.tex
+++ b/doc/Kadeploy.tex
@@ -601,6 +601,7 @@ environments:
     extraction_dir: /mnt/dest
     tarball_dir: /tmp
     rambin_dir: /rambin
+  allowed_name_regex: '[A-Za-z0-9\-\_]+'
   max_postinstall_size: 10
   max_preinstall_size: 10
 pxe:
@@ -768,6 +769,7 @@ external:
 
   \item \ypath{/environments}
   \begin{itemize}
+    \item \yfieldd{allowed\_name\_regex}{String} A regex that control how an environement should be name.
     \item \yfieldd{max\_preinstall\_size}{Integer}{20} maximum size (MB) of the preinstall files
     \item \yfieldd{max\_postinstall\_size}{Integer}{20} maximum size (MB) of the postinstall files
   \end{itemize}
@@ -981,13 +983,12 @@ To define the specific configuration of a cluster, you must create a specific fi
 \begin{verbatim}
 ---
 partitioning:
-  block_device: /dev/sda
-  partitions:
-    swap: 1
-    prod: 2
-    deploy: 3
-    tmp: 5
   script: parted_sample
+  formating_script: formating.sh
+  deploy_label: DEPLOY
+  block_device: disk0
+  disk_path:
+    disk0: /dev/disk/by-path/pci-0000:00:0d.0-ata-1
 trusted_deployment:
   user: deploy
   partition: "/dev/sda3"
@@ -1133,17 +1134,12 @@ automata:
 \begin{itemize}
   \item \ypath{/partitioning}
   \begin{itemize}
-    \item \yfield{block\_device}{String}block device of the disk used on the nodes
+    \item \yfield{block\_device}{String}default disk used on the nodes
+    \item \yfield{deploy\_label}{String}default label used on the nodes
     \item \yfieldd{disable\_swap}{Boolean}{false} disable the swap partition on the disk
     \item \yfield{script}{String} Path to a script that creates the partition table on the nodes. You can use Kadeploy3 environment variables (see section \ref{sec:env_vars}) in this script. Please refer to section \ref{sec:partscript}) for further informations.
-  \end{itemize}
-
-  \item \ypath{/partitioning/partitions}
-  \begin{itemize}
-    \item \yfieldd{swap}{Integer}{1} number of the swap partition on the disk
-    \item \yfieldd{prod}{Integer}{-1} number of the production partition on the disk
-    \item \yfieldd{deploy}{Integer}{2} number of the deployment partition on the disk
-    \item \yfieldd{tmp}{Integer}{-1} number of the tmp partition on the disk
+    \item \yfield{formating\_script}{String} Path to a script that is used to format the partitions. You can use Kadeploy3 environment variables (see section \ref{sec:env_vars}) in this script. Please refer to section \ref{sec:formatscript}) for further informations.
+    \item \yfield{disk\_path}{Hash} Map the disks name to the real path on the nodes.
   \end{itemize}
 
   \item \ypath{/trusted\_deployment}
@@ -1367,6 +1363,8 @@ Here is the list of the macro-step and their implementation:
     \item format\_tmp\_part \texttt{[only if non-multipart]}
     \item format\_swap\_part \texttt{[only if non-multipart]}
     \end{itemize}
+  \item \texttt{SetDeploymentTrusted} \\
+    Check if the environement is trusted based on the cluster configuration if so, use \texttt{SetDeploymentEnvKexec} else use \texttt{SetDeploymentEnvUntrusted}.
   \item \texttt{SetDeploymentEnvUntrustedCustomPreInstall}
     \begin{itemize}
     \item switch\_pxe
@@ -1509,12 +1507,19 @@ A partitioning script must be provided for each cluster.
 
 You can use the Kadeploy3 environment variables in your script (see section \ref{sec:env_vars}). The tools you can use in your script are the ones that are installed in your deployment environment (see section \ref{sec:deployenv}).
 
-Be careful to write the partition type on MSDOS partitions, some bootloaders will fail to boot unless this information is written in the partition table.
+The script must write GPT label on each partition use by Kadeploy3. The label must be prefixed by \texttt{KDPL\_} and end by the disk name (which is given by the \texttt{KADEPLOY\_DISK\_NAME} environment variable).
+For exemple, \texttt{KDPL\_SWAP\_disk0} is a valid label.
+The \texttt{SWAP} and \texttt{TMP} label are used to identify the swap and tmp partition. The default deploy partition is specify in the cluster configuration of Kadeploy3.
 
 You should also use the \emph{/sbin/partprobe} at the end of your script to inform the OS (deployment environment) of partition table changes.
 
 Examples of scripts are provided in the distribution (in the directory \texttt{scripts/partitioning/}).
 
+\section{Formating script}\label{sec:formatscript}
+A formating script can be provided for each cluster. You can use the Kadeploy3 environment variables in your script (see section \ref{sec:env_vars}).
+
+The same script is used for all the formating operations (swap, tmp and deploy partitions). The \texttt{KADEPLOY\_FORMAT\_PART} environment variable allow you to distinguish each operation.
+
 \section{Specific commands configuration files}
 In the part~\ref{sec:specific_config} we saw that generic commands can be given to all the nodes that belong to a cluster. It is also possible to override these generic values for some specific nodes. To do this, you must fill the file named \texttt{command.conf} in the configuration directory.
 
@@ -2313,12 +2318,11 @@ When writing a script for an admin pre-install, an admin/user post-install or so
 \item \texttt{KADEPLOY\_ENV\_KERNEL\_PARAMS} : the deployed environment kernel parameters
 \item \texttt{KADEPLOY\_ENV\_HYPERVISOR} : the path to the hypervisor's kernel file inside the deployed environment directory (usefull when deploying a Xen environment for example)
 \item \texttt{KADEPLOY\_ENV\_HYPERVISOR\_PARAMS} : the deployed environment hypervisor parameters
-\item \texttt{KADEPLOY\_DEPLOY\_PART} : deployment partition
-\item \texttt{KADEPLOY\_BLOCK\_DEVICE} : the block device used in deployment
-\item \texttt{KADEPLOY\_DEPLOY\_PART\_NUM} : the deployment parition number
-\item \texttt{KADEPLOY\_SWAP\_PART\_NUM} : the swap partition number
-\item \texttt{KADEPLOY\_PROD\_PART\_NUM} : the production partition number
-\item \texttt{KADEPLOY\_TMP\_PART\_NUM} : the tmp partition number
+\item \texttt{KADEPLOY\_DEPLOY\_PART} : path to the deployment partition
+\item \texttt{KADEPLOY\_TMP\_PART} : path to the tmp partition
+\item \texttt{KADEPLOY\_SWAP\_PART} : path to the swap partition
+\item \texttt{KADEPLOY\_DISK\_NAME} : the Kadeploy3 name of the disk used in deployment
+\item \texttt{KADEPLOY\_BLOCK\_DEVICE} : the path to the block device used in deployment
 \item \texttt{KADEPLOY\_ENV\_EXTRACTION\_DIR} : path where the environment tarball is extracted
 \item \texttt{KADEPLOY\_PREPOST\_EXTRACTION\_DIR} : path where the pre/post tarball are extracted
 \item \texttt{KADEPLOY\_TMP\_DIR} : a temporary directory (to be used for your scripts)
@@ -2327,6 +2331,7 @@ When writing a script for an admin pre-install, an admin/user post-install or so
 \item \texttt{KADEPLOY\_FS\_TYPE} : the filesystem format of the deployment partition (the value of the \emph{filesystem} field of the environment description)
 \item \texttt{KADEPLOY\_FS\_TYPE\_TMP} : the filesystem format of the tmp partition (if the tmp partition is reformated with the option --reformat-tmp)
 \item \texttt{KADEPLOY\_KEXEC\_KIND} : used for kexec script. Specify what kind of kexec is happening. value are \emph{to\_deployed\_env} or \emph{to\_deploy\_kernel}
+\item \texttt{KADEPLOY\_FORMAT\_PART} : used for formating script. Specify what disk is being formated. value are \emph{DEPLOY},\emph{TMP} or \emph{SWAP}
 \item \texttt{KADEPLOY\_DEPLOY\_ENV\_KERNEL\_PARAMS} : the deployment kernel kernel parameters
 \item \texttt{KADEPLOY\_ENV\_KEXEC\_REPOSITORY} : the location where deploy kernel are copied for kexec purpose
 \end{itemize}