diff --git a/Readme.md b/Readme.md
index 5c71f353dff523a3359499e52b6888c2a8808348..9d5867a8c06085ecb798b89f2558246bdf8ec6af 100644
--- a/Readme.md
+++ b/Readme.md
@@ -6,6 +6,9 @@ gitlab de Tetras Libre](https://gitlab.tetras-libre.fr/tetras-libre/Tetras-back)
 Tetras-back est un logiciel libe, conçu pour sauvegarder des serveurs d'auto
 hebergements sur des disques dur externes.
 
+
+Une [documentation complète](http://documentation.demo-tic.org/service_oel:systeme_de_sauvegardes) est trouvable sur le wiki de nos partenaires.
+
 ## Prérequis
 
 Tetras-Back a été testé sur debian Jessie et Testing, pour l'utiliser, vous
@@ -64,7 +67,7 @@ L'administrateur est notifié des sauvegardes et des echecs par email.
 
 ## Interface Web
 
-L'interface web n'est pas encore implémentée
+Voir [la documentation complète](http://documentation.demo-tic.org/service_oel:systeme_de_sauvegardes)
 
 ## Scripts de sauvegarde fournis
 
@@ -138,16 +141,16 @@ La device etant quelque chose du genre `/dev/sdb1`
 
 ### Todo
 
-+ [ ] Web interface
++ [x] Web interface
     + [X] Link to actions
     + [X] Actions
     + [X] Reverse + scroll for log
     + [x] htaccess / htpassword
-    + [ ] vhost apache2
+    + [x] vhost apache2
     + [X] CSS
-    + [ ] encodage
+    + [x] encodage
     + [ ] Bouton telecharger
-+ [ ] Verify reboot systemd
++ [x] Verify reboot systemd
 + [x] Sendmail after backup or on fail
 + [x] Daemon
 + [x] Udev rules
diff --git a/src/scripts/backup_nocloud.sh b/src/scripts/backup_nocloud.sh
index 05b5b58d05bc199bd99e1bc3c4f1cae27948b3dd..3121311879a777171672193e4f0a93ad776e0504 100755
--- a/src/scripts/backup_nocloud.sh
+++ b/src/scripts/backup_nocloud.sh
@@ -66,9 +66,27 @@ sauvegarde_serveur(){
         # the backup should be in /var/opt/gitlab/backups thus in srv_directories
         do_log "Creation de la sauvegarde gitlab"
         /usr/bin/gitlab-rake $voptminus gitlab:backup:create
+        backup_path=`grep "'backup_path'" /etc/gitlab/gitlab.rb  | sed 's/^.*= "\(.*\)"$/\1/'`
+        if [ -d "$backup_path" ]
+        then
+            /bin/ls -dt $backup_path/* | tail -n +11 | xargs rm -rf
+        else
+            do_log "Dossier de sauvegarde gitlab non trouvé, pensez à supprimer manuellement les anciennes sauvegardes"
+        fi
     fi
     do_log "Creation de l'archive configuration serveur"
+    [ ! -z "$SERVICES" ] && systemctl stop $SERVICES
     tar czf$vopt $dest/serveur.tgz $srv_directories
+    ret=$?
+    [ ! -z "$SERVICES" ] && systemctl start $SERVICES
+    if [ $ret -eq 1 ]
+    then
+        # only warn on tar return code 1
+        do_log "Attention: des fichiers on été modifié durant la sauvegarde de l'archive serveur"
+        return 0
+    else
+        return $ret
+    fi
 }
 
 sauvegarde_donnees(){
@@ -89,7 +107,7 @@ sauvegarde_seafile(){
 
 usage(){
     echo "Utilisation $0 [options] device"
-    echo "Device doit etre un disque non monte"
+    echo "Device doit etre un disque non monté"
     echo "Options"
     echo "  -h | --help             Affiche cette aide et quitte"
     echo "  -v | --verbose          Active le mode verbeux"
@@ -98,9 +116,14 @@ usage(){
     echo "  -m | --mysql            Sauvegarde mysql (implique --config)"
     echo "  -c | --config           Sauvegarde le serveur ($srv_directories)"
     echo "  -g | --gitlab           Sauvegarde gitlab (implique --config)"
-    echo "  -u | --unifi            Sauvegarde unifi (/var/lib/unifi, implique --config)"
+    echo "  -u | --unifi            Sauvegarde unifi (/var/lib/unifi, implique
+                                    --config)"
     echo "  -s | --seafile  host    Sauvegarde seafile host  (seafile fuse)"
-    echo "  -e | --encfs    pass    Use encfs protected directories with given password"
+    echo "  -e | --encfs    pass    Utilise des dossiers chiffrés encfs,
+                                    protégés par le mot de passe donné"
+    echo "  -i | --interrupt list   Interrompt les services donnés (liste
+                                    séparé par des virgules) durant la création
+                                    de l'archive tar."
 }
 
 dest=/mnt/backup
@@ -119,7 +142,7 @@ for arg in "$@"; do
   shift
   set -- "$@" `echo $arg | sed 's/^-\(-.\).*$/\1/'`
 done
-optspec=":hvdcgus:mpe:"
+optspec=":hvdcgus:mpe:i:"
 while getopts "$optspec" optchar; do
     case "${optchar}" in
         h)
@@ -160,6 +183,9 @@ while getopts "$optspec" optchar; do
             encfs=true
             ENCPASS="$OPTARG"
             ;;
+        i)
+            SERVICES="${OPTARG//,/ }"
+            ;;
         *)
             echo "Option inconnue -$optchar"
             usage
@@ -212,10 +238,15 @@ do
     ret=$?
     while [ $ret -ne 0 ]
     do
-        supprimer_anciennes_sauvegardes
-        test_and_fail $? "Plus d'espace sur le disque et pas d'ancienne sauvegarde a supprimer"
-        $action
-        ret=$?
+        if [ `df --output=avail .  | sed 1d` -lt $((1024*1024)) ]
+        then
+            supprimer_anciennes_sauvegardes
+            test_and_fail $? "Plus d'espace sur le disque et pas d'ancienne sauvegarde a supprimer"
+            $action
+            ret=$?
+        else
+            test_and_fail 1 "l'action '$action' a planté innopinement"
+        fi
     done
     nom=${action/_/ }
     do_log "$nom reussie"