]> gitweb.pimeys.fr Git - config-20-100.git/commitdiff
Merge branch 'master' into perso
authorVincent Le Gallic <legallic@crans.org>
Mon, 8 Sep 2014 15:27:29 +0000 (17:27 +0200)
committerVincent Le Gallic <legallic@crans.org>
Mon, 8 Sep 2014 15:27:29 +0000 (17:27 +0200)
Conflicts:
.ssh/config

Au passage j'ai viré les machines d'ulm

.bashrc
.screenrc
.ssh/config

diff --git a/.bashrc b/.bashrc
index aa33f36183c4c0c696fed7613e63a1fb749bcff7..a5398597a697d5b59ffadcddf061fe05b0eead50 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -5,7 +5,7 @@
 # Licence : WTFPL
 
 # Les sections commentées par #~# sont des features qui ne sont pas activées
-# par défaut. Sentez-vous libre de les décommenter pour les utiliser. 
+# par défaut. Sentez-vous libre de les décommenter pour les utiliser.
 
 #------------------------------------------------------------------------------
 
@@ -36,7 +36,6 @@ fi
 # ils seront chargés par la ligne suivante
 [ -d ~/.bash_completion.d/ ] && for f in ~/.bash_completion.d/*; do source $f; done
 
-
 # +-----+
 # | VCS |
 # +-----+
@@ -44,57 +43,383 @@ fi
 # Définition de fonction pour pouvoir afficher dans le prompt
 # des infos quand on est dans un dépôt versionné
 
-find_up () {
-    local path normalized_path normalized_ret
-    path="$1"
-    shift 1
-    normalized_path=`readlink -f -- "$path"`
-    normalized_ret=$?
-    while [[ "$normalized_path" != "/" ]] && [ $normalized_ret -eq 0 ];
-    do
-        find "$path"  -maxdepth 1 -mindepth 1 "$@"
-        path=${path}/..
-        normalized_path=`readlink -f -- "$path"`
-        normalized_ret=$?
-    done
+# Checks if the command provided is in the commands list and is
+# executable
+check_command(){
+    [[ -n ${commands[$1]} ]] && [ -x ${commands[$1]} ] && return 0
+    return 1
 }
 
-get_vcs_info () {
-    # Donne les infos sur le dépôt VCS courant.
-    local LBRANCH LTYPE BRANCH TYPE DIR
-    declare -a DIR
-    declare -A TYPE
-    declare -A BRANCH
-    DIR[0]=".git"
-    DIR[1]=".hg"
-    DIR[2]="_darcs"
-    DIR[3]=".svn"
-    TYPE[.git]="git"
-    TYPE[.hg]="mercurial"
-    TYPE[_darcs]="darcs"
-    TYPE[.svn]="svn"
-    BRANCH[.git]='git branch 2>/dev/null | sed -r "s/^[^*].*$//" | paste -s -d "" | sed -r "s/^[*] //"'
-    BRANCH[.hg]='hg branch 2>/dev/null'
-    BRANCH[_darcs]="darcs show repo 2>/dev/null| egrep '^ *Cache' | sed 's@.*/\([^/]*\),.*@\1@'"
-    BRANCH[.svn]="svn info 2>/dev/null | head -n 6 | tail -n 1"
-
-    DIR=$(eval "find_up \"$PWD\" -name \"\"$(printf -- ' -o -name "%s"' "${DIR[@]}") | head -n 1")
-    if [ -n "$DIR" ]; then
-        DIR=$(basename "$DIR")
-        LBRANCH=$(eval "${BRANCH[$DIR]}")
-        LTYPE="${TYPE[$DIR]}"
-        if [ "$color_prompt" = yes ]; then
-            VCS_info="${nocolor_prompt}${vcs_symbols_color}(${vcs_type_color}$LTYPE${vcs_symbols_color})-${vcs_symbols_color}[${vcs_branch_color}$LBRANCH${vcs_symbols_color}]${nocolor_prompt}"
+# If name should be overwritten (eg for git-svn), do it.
+vcs_adjust(){
+    [[ -n ${vcs_comm[overwrite_name]} ]] && vcs=${vcs_comm[overwrite_name]}
+    return 0
+}
+
+# Formats two VCS_info messages, one with colors, and one without
+vcs_formats(){
+    local action=$1 branch=$2 base=$3 rev=$4
+    local msg
+    local -i i
+
+    # printf is for readability (it's easier to find %s)
+    msg="(%s)${MINUS_CHAR}[%s/%s"
+    msg=$(printf $msg $vcs ${base/*\/} $branch)
+
+    # If there is a revnumber, print it
+    if [ ! -z ${rev} ]; then
+        msg="${msg}:%s"
+        msg=$(printf $msg $rev)
+    fi
+
+    # Print the current cvs action state
+    if [ ! -z ${action} ] ; then
+        msg="${msg}|%s"
+        msg=$(printf $msg $action)
+    fi
+    msg="${msg}]${MINUS_CHAR}"
+
+    msgs[1]=$msg
+
+    # Same shit with colors
+    msg="${nocolor_prompt}${vcs_symbols_color}(${vcs_type_color}%s${vcs_symbols_color})${vcs_sep_color}${MINUS_CHAR}${vcs_symbols_color}[${vcs_repo_color}%s${vcs_sep_color}/${vcs_branch_color}%s"
+    msg=$(printf $msg $vcs ${base/*\/} $branch)
+    if [ ! -z ${rev} ]; then
+        msg="${msg}${vcs_colon_color}:${vcs_rev_color}%s"
+        msg=$(printf $msg $rev)
+    fi
+    if [[ ! -z ${action} ]] ; then
+        msg="${msg}${nocolor_prompt}|${vcs_action_color}%s"
+        msg=$(printf $msg $action)
+    fi
+    msg="${msg}${vcs_symbols_color}]${nocolor_prompt}${MINUS_CHAR}"
+    msgs[0]=$msg
+
+    return 0
+}
+
+# Uses -P option for cd in order to resolve symlinks
+vcs_realpath(){
+    (
+        cd -P $1 2>/dev/null && pwd
+    )
+}
+
+# Feature to detect a special dir, at the top of
+# the current repo
+detect_by_dir(){
+    local dirname=$1
+    local basedir="." realbasedir
+
+    realbasedir="$(vcs_realpath ${basedir})"
+    while [[ ${realbasedir} != '/' ]]; do
+        [[ -r ${realbasedir} ]] || return 1
+
+        # Tries to find detect_need_file (eg formats) in the dir
+        if [[ -n ${vcs_comm[detect_need_file]} ]] ; then
+            [[ -d ${basedir}/${dirname} ]] && \
+            [[ -e ${basedir}/${dirname}/${vcs_comm[detect_need_file]} ]] && \
+                break
         else
-            VCS_info="($LTYPE)-[$LBRANCH]"
+            [[ -d ${basedir}/${dirname} ]] && break
+        fi
+
+        basedir=${basedir}/..
+        realbasedir="$(vcs_realpath ${basedir})"
+    done
+
+    [[ ${realbasedir} == "/" ]] && return 1
+    vcs_comm[basedir]=${realbasedir}
+    return 0
+}
+
+# Git is powerfull
+git_detect(){
+    if check_command git && git rev-parse --is-inside-work-tree &> /dev/null; then
+        vcs_comm[gitdir]="$(git rev-parse --git-dir 2> /dev/null)" || return 1
+        if   [[ -d ${vcs_comm[gitdir]}/svn ]]             ; then vcs_comm[overwrite_name]='git-svn'
+        elif [[ -d ${vcs_comm[gitdir]}/refs/remotes/p4 ]] ; then vcs_comm[overwrite_name]='git-p4' ; fi
+        return 0
+    fi
+    return 1
+}
+
+# Mercurial isn't
+hg_detect(){
+    check_command hg || return 1
+    vcs_comm[detect_need_file]=store
+    detect_by_dir '.hg'
+    return $?
+}
+
+# .svn in each directories
+svn_detect() {
+    check_command svn || return 1
+    [[ -d ".svn" ]] && return 0
+    return 1
+}
+
+bzr_detect(){
+    check_command bzr || return 1
+    vcs_comm[detect_need_file]=branch/format
+    detect_by_dir '.bzr'
+    return $?
+}
+
+cdv_detect(){
+    check_command cdv || return 1
+    vcs_comm[detect_need_file]=format
+    detect_by_dir '.cdv'
+    return $?
+}
+
+cvs_detect(){
+    check_command svn || return 1
+    [[ -d "./CVS" ]] && [[ -r "./CVS/Repository" ]] && return 0
+    return 1
+}
+
+darcs_detect(){
+    check_command darcs || return 1
+    # darcs diff seems a good choice since big diff is not the
+    # common state
+    darcs diff 2> /dev/null || return 1
+    vcs_comm[basedir]=$(darcs show repo |awk '{if($1 == "Root:") print $2}')
+    return 0
+}
+
+# Find git's branch
+git_getbranch (){
+    local gitbranch gitdir=$1 tmp actiondir
+    local gitsymref='git symbolic-ref HEAD'
+
+    # In certain circumstances, we have to take into account
+    # actions
+    actiondir=''
+    for tmp in "${gitdir}/rebase-apply" \
+               "${gitdir}/rebase"       \
+               "${gitdir}/../.dotest"; do
+        if [[ -d ${tmp} ]]; then
+            actiondir=${tmp}
+            break
         fi
-        VCS_size=$((${#LTYPE}+${#LBRANCH}+5))
+    done
+    if [[ -n ${actiondir} ]]; then
+        gitbranch="$(${gitsymref} 2> /dev/null)"
+        [[ -z ${gitbranch} ]] && [[ -r ${actiondir}/head-name ]] \
+            && gitbranch="$(< ${actiondir}/head-name)"
+
+    # MERGE_HEAD state
+    elif [[ -f "${gitdir}/MERGE_HEAD" ]] ; then
+        gitbranch="$(eval $gitsymref 2> /dev/null)"
+        [[ -z ${gitbranch} ]] && gitbranch="$(< ${gitdir}/MERGE_HEAD)"
+
+    # rebase
+    elif [[ -d "${gitdir}/rebase-merge" ]] ; then
+        gitbranch="$(< ${gitdir}/rebase-merge/head-name)"
+
+    # dotest
+    elif [[ -d "${gitdir}/.dotest-merge" ]] ; then
+        gitbranch="$(< ${gitdir}/.dotest-merge/head-name)"
+
+    # Normal case
     else
-        VCS_info=""
-        VCS_size=0
+        gitbranch="$(eval $gitsymref 2> /dev/null)"
+
+        # shit happens
+        if [[ $? -ne 0 ]] ; then
+            gitbranch="refs/tags/$(git describe --exact-match HEAD 2>/dev/null)"
+
+            # big shit happens
+            if [[ $? -ne 0 ]] ; then
+                gitbranch=$(< $gitdir/HEAD)
+                gitbranch="${gitbranch:0:7}..."
+            fi
+        fi
+    fi
+
+    # keep only the last part of gitbranch
+    printf '%s' "${gitbranch#refs/[^/]*/}"
+    return 0
+}
+
+git_getaction(){
+    local gitaction='' gitdir=$1
+    local tmp
+
+    for tmp in "${gitdir}/rebase-apply" \
+               "${gitdir}/rebase"       \
+               "${gitdir}/../.dotest" ; do
+        if [[ -d ${tmp} ]] ; then
+            if   [[ -f "${tmp}/rebasing" ]] ; then
+                gitaction="rebase"
+            elif [[ -f "${tmp}/applying" ]] ; then
+                gitaction="am"
+            else
+                gitaction="am/rebase"
+            fi
+            printf '%s' ${gitaction}
+            return 0
+        fi
+    done
+
+    for tmp in "${gitdir}/rebase-merge/interactive" \
+               "${gitdir}/.dotest-merge/interactive" ; do
+        if [[ -f "${tmp}" ]] ; then
+            printf '%s' "rebase-i"
+            return 0
+        fi
+    done
+
+    for tmp in "${gitdir}/rebase-merge" \
+               "${gitdir}/.dotest-merge" ; do
+        if [[ -d "${tmp}" ]] ; then
+            printf '%s' "rebase-m"
+            return 0
+        fi
+    done
+
+    if [[ -f "${gitdir}/MERGE_HEAD" ]] ; then
+        printf '%s' "merge"
+        return 0
+    fi
+
+    if [[ -f "${gitdir}/BISECT_LOG" ]] ; then
+        printf '%s' "bisect"
+        return 0
     fi
+    return 1
 }
 
+git_get_data(){
+    local gitdir gitbase gitbranch gitaction
+
+    gitdir=${vcs_comm[gitdir]}
+    gitbranch="$(git_getbranch ${gitdir})"
+
+    if [[ -z ${gitdir} ]] || [[ -z ${gitbranch} ]] ; then
+        return 1
+    fi
+
+    vcs_adjust
+    gitaction="$(git_getaction ${gitdir})"
+    gitprefix=$(git rev-parse --show-prefix)
+    gitbase=${PWD%/${gitprefix%/}}
+    vcs_formats "${gitaction}" "${gitbranch}" "${gitbase}" ''
+    return 0
+}
+
+hg_get_data(){
+    local hgbranch hgbase file
+
+    hgbase=${vcs_comm[basedir]}
+
+    # Check if hg branch is efficient
+    hgbranch=$(hg branch)
+
+    vcs_formats '' "${hgbranch}" "${hgbase}" ''
+    return 0
+}
+
+svn_get_data(){
+    local svnbase svnbranch
+    local -a svninfo
+
+    svnbase="."
+    while [[ -d "${svnbase}/../.svn" ]]; do
+        svnbase="${svnbase}/.."
+    done
+    svnbase="$(vcs_realpath ${svnbase})"
+    svnrev=$(svn info | awk '{if($1 == "Révision :") print $2}')
+    svnbranch=$(svn info | awk '{if($1 == "URL :") print $2}'|awk -F "/" '{ print $NF }')
+
+    vcs_formats '' "${svnbranch}" "${svnbase}" "${svnrev}"
+    return 0
+}
+
+bzr_get_data(){
+    local bzrbase bzrrev bzrbranch bzrinfo
+
+    bzrbase=$(bzr info|awk '{if ($1 == "branch" && $2 == "root:") print $3}')
+    bzrbase="$(vcs_realpath ${bzrbase})"
+    bzrinfo=$(bzr version-info|awk '{if ($1 == "branch-nick:"||$1 == "revno:") print $2}')
+    bzrrev=$(echo $bzrinfo|awk '{print $1}')
+    bzrbranch=$(echo $bzrinfo|awk '{print $2}')
+
+    vcs_formats '' "${bzrbranch}" "${bzrbase}" "${bzrrev}"
+    return 0
+}
+
+cdv_get_data(){
+    local cdvbase
+
+    cdvbase=${vcs_comm[basedir]}
+    vcs_formats '' "${cdvbase/*\/}" "${cdvbase}" ''
+    return 0
+}
+
+cvs_get_data(){
+    local cvsbranch cvsbase basename
+
+    cvsbase="."
+    while [[ -d "${cvsbase}/../CVS" ]]; do
+        cvsbase="${cvsbase}/.."
+    done
+    cvsbase="$(vcs_realpath ${cvsbase})"
+    cvsbranch=$(< ./CVS/Repository)
+    basename=${cvsbase/*\/}
+    cvsbranch=${cvsbranch#${basename}/}
+
+    [[ -z ${cvsbranch} ]] && cvsbranch=${basename}
+    vcs_formats '' "${cvsbranch}" "${cvsbase}" ''
+    return 0
+}
+
+darcs_get_data(){
+    local darcsbase
+
+    darcsbase=${vcs_comm[basedir]}
+    vcs_formats '' "${darcsbase/*\/}" "${darcsbase}" ''
+    return 0
+}
+
+vcs_info(){
+    local -i found
+    local -ax msgs
+    local -Ax vcs_comm commands
+    local -x vcs
+    local -a vcss
+    local -A disabled
+
+    vcs="init"
+    vcss=(git hg darcs svn bzr cvs cdv)
+    disabled[cdv]=1
+    disabled[cvs]=1
+    disabled[bzr]=1
+    for i in $(seq 0 $(( ${#vcss[*]} - 1 ))); do
+        if [[ disabled[${vcss[$i]}] -eq 1 ]]; then
+            continue
+        fi
+        commands[${vcss[$i]}]=$(which ${vcss[$i]});
+    done;
+
+    found=0
+    for vcs in ${vcss[*]}; do
+        if [[ disabled[${vcs}] -eq 1 ]]; then
+            continue
+        fi
+        ${vcs}_detect && found=1 && break
+    done
+
+    (( found == 1 )) && ${vcs}_get_data
+
+    if [ ${color_prompt} = "yes" ]; then
+        VCS_info=${msgs[0]}
+    else
+        VCS_info=${msgs[1]}
+    fi
+    VCS_size=${#msgs[1]}
+}
 
 # Pour avoir le bon umask en fonction du dossier où on se trouve
 # L'umask définit avec quel droits un fichier est créé.
@@ -151,30 +476,6 @@ blanc_prompt="\[${blanc}\]"
 blanc_thin_prompt="\[${blanc_thin}\]"
 nocolor_prompt="\[${nocolor}\]"
 
-if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
-    # support de la couleur
-    color_prompt=yes
-    # Couleurs dans "user@host $"
-    username_color=${rouge_prompt}
-    host_color=${bleu_prompt}
-    symbols_color=${vert_prompt}
-    # Couleur de la ligne séparatrice de prompt
-    line_color=${cyan}
-    line_color_prompt=${cyan_prompt}
-    # Couleur du path actuel
-    pwd_color=${jaune_prompt}
-    # Couleur de la date (à chaque affichage du prompt)
-    date_color=${violet_prompt}
-    # Couleur de la date au premier affichage (à l'ouverture du terminal)
-    announce_date_color=${blanc}
-    # Couleur d'affichage de vcs_info
-    vcs_symbols_color=${violet_thin_prompt}
-    vcs_type_color=${jaune_thin_prompt}
-    vcs_branch_color=${vert_thin_prompt}
-else
-    # pas de support de la couleur
-    color_prompt=no
-fi
 
 # Est-ce qu'on veut que le prompt affiche les information sur l'éventuel dépôt
 # versionné dans lequel on se trouve
@@ -215,7 +516,7 @@ function prompt_command
     # À décommenter si on veut afficher des infos
     # quand on se trouve dans un dépôt versionné
     if [ "$display_vcs_info" = yes ]; then
-        get_vcs_info
+        vcs_info
     fi
     
     # Chemin courant, en faisant attention à la largeur de la fenêtre
@@ -247,16 +548,46 @@ function prompt_command
         # Attention "\\\$" devient \$, c'est-à-dire # pour root, $ pour les autres
         PROMPT="${username_color}\u${symbols_color}@${host_color}\h ${symbols_color}\\\$ ${nocolor_prompt}"
         # On fusionne tout ça
-        PS1=$TITLE${line_color_prompt}$MINUS_CHAR$DATE$MINUS_CHAR$DIR$MINUS_CHAR$VCS_info${line_color_prompt}$POST_DIR$ERR'\n'$PROMPT
+        PS1=$TITLE${line_color_prompt}$MINUS_CHAR$DATE$MINUS_CHAR$DIR$MINUS_CHAR${line_color_prompt}$POST_DIR$VCS_info$ERR'\n'$PROMPT
     else
         DIR="< "$DIR" >"
         ERR='[ $? ]'$MINUS_CHAR
         DATE="( \D{%H:%M:%S} )"
         PROMPT="\u@\h \\\$ "
-        PS1=$TITLE$MINUS_CHAR$DATE$MINUS_CHAR$DIR$MINUS_CHAR$VCS_info$POST_DIR$ERR'\n'$PROMPT
+        PS1=$TITLE$MINUS_CHAR$DATE$MINUS_CHAR$DIR$MINUS_CHAR$POST_DIR$VCS_info$ERR'\n'$PROMPT
     fi
 }
 
+if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
+    # support de la couleur
+    color_prompt=yes
+    # Couleurs dans "user@host $"
+    username_color=${rouge_prompt}
+    host_color=${bleu_prompt}
+    symbols_color=${vert_prompt}
+    # Couleur de la ligne séparatrice de prompt
+    line_color=${cyan}
+    line_color_prompt=${cyan_prompt}
+    # Couleur du path actuel
+    pwd_color=${jaune_prompt}
+    # Couleur de la date (à chaque affichage du prompt)
+    date_color=${violet_prompt}
+    # Couleur de la date au premier affichage (à l'ouverture du terminal)
+    announce_date_color=${blanc}
+    # Couleur d'affichage de vcs_info
+    vcs_symbols_color=${violet_thin_prompt}
+    vcs_type_color=${jaune_thin_prompt}
+    vcs_branch_color=${vert_thin_prompt}
+    vcs_repo_color=${vert_thin_prompt}
+    vcs_action_color=${rouge_thin_prompt}
+    vcs_sep_color=${jaune_thin_prompt}
+    vcs_rev_color=${jaune_thin_prompt}
+    vcs_colon_color=${rouge_thin_prompt}
+else
+    # pas de support de la couleur
+    color_prompt=no
+fi
+
 # On change le titre de la fenêtre dynamiquement si on est sous X
 if [[ $TERM = "xterm" ]]; then
     TITLE='\[\e];\u@\h:\w\a\]'
@@ -264,7 +595,7 @@ else
     TITLE=''
 fi
 
-# On régénère le prompt après chaque commande
+# On régénére le prompt après chaque commande
 PROMPT_COMMAND=prompt_command
 
 # +-------------------+
index 2eb0e7175629a77831524ca71cc43281201a2d4a..7624036f2f3cb24bd14665a3b8ba6be61e74f3be 100644 (file)
--- a/.screenrc
+++ b/.screenrc
@@ -1,31 +1,28 @@
-# .screenrc générique mis à votre disposition
-# par les gentils membres actifs du Cr@ns
-# Vous pouvez l'utiliser, le redistribuer, le modifier à votre convenance.
-# Des questions, des suggestions : {nounou,ca}@lists.crans.org
-# Licence : WTFPL
+# Fichier de configuration pour le programme screen
+# Permet d'avoir quelques informations utiles lors du lancement de screen
 
-# Les sections commentées par #~# sont des features qui ne sont pas activées
-# par défaut. Sentez-vous libre de les décommenter pour les utiliser. 
+# Empêche les "alertes" visuelles
+vbell off
 
-#------------------------------------------------------------------------------
-
-# Ne pas afficher le message d'explication au lancement de screen
+# Pour ne pas afficher le message de bienvenue.
 startup_message off
 
-# Pour pouvoir scroller plus loin en arrière (100 par défaut)
+# Pour les fans, remplace Ctrl+A par Ctrl+O
+# escape ^Oo
+
+# Gros buffer pour le scrolling
 defscrollback 5000
 
-# Utiliser l'utf-8 par défaut
-defutf8 on
+# Affiche des informations utiles en bas du screen.
+# L'idéal pour comprendre les options est de lire la manpage et de demander à google.
+hardstatus alwayslastline "%{+b kw}%H%{kg}|%c|%{ky}%d.%m.%Y%{+b kb}|%l|%{kR}%u%{kR}|%S:%t|%{kg}%=%-0=%{kw}"
+caption always "%{+u wk}%?%-w%?%{yk}/%n %t\%{wk}%?%+w%?"
 
-#~# # Affichage coolish
-#~# # affichage dans la ligne du bas de l'hostname, l'heure, la date, les load averages, les users et le pts 
-#~# hardstatus alwayslastline "%{+b kw}%H%{kg}|%c|%{ky}%d.%m.%Y%{+b kb}|%l|%{kR}%u%{kR}|%S:%t|%{kg}%=%-0=%{kw}"
-#~# # affichage sur l'avant-dernière ligne des fenêtres ouvertes et du processus au premier plan dans chacune
-#~# caption always "%{+u wk}%?%-w%?%{yk}/%n %t\%{wk}%?%+w%?"
+# UTF8 par défaut
+defutf8 on
 
-#~# # Pour utiliser la Virtual Bell (= flash du terminal)
-#~# # à la place de la bell audio (= *bump*) du terminal
-#~# # par défaut, ce paramètre est off
-#~# vbell on
+# 256 couleurs, parce que c'est mieux
+term "xterm-color"
+termcap xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
+terminfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
 
index 8ffe797428d9387663edf33c03e2ced71d5a8844..4ca4613182b565ceaba365b9a30af2a146a00e84 100644 (file)
@@ -2,7 +2,7 @@
 # par les gentils membres actifs du Cr@ns
 # Vous pouvez l'utilisez, le redistribuer, le modifier à votre convenance.
 # Des questions, des suggestions : {nounou,ca}@lists.crans.org
-#  Typiquement, vous pouvez proposer d'ajouter la conf pour accéder à votre département
+# Typiquement, vous pouvez proposer d'ajouter la conf pour accéder à votre département
 # Licence : WTFPL
 
 # Les sections commentées par #~# sont des features qui ne sont pas activées
@@ -275,7 +275,17 @@ Host acoeur acoeur.crans.org
 # Accessible aux apprentis
 # sauf zamok et ssh2, accessibles à tous les adhérents
 
-Host appartement appartement.crans.org
+Host alice alice.crans.org
+    HostName alice.crans.org
+    User legallic
+    ForwardAgent yes
+
+Host alice.adm alice.adm.crans.org
+    HostName alice.adm.crans.org
+    User legallic
+    ForwardAgent yes
+
+Host appartement hackpartement appartement.crans.org hackpartement.crans.org
     HostName appartement.crans.org
     User legallic
     ForwardAgent yes
@@ -284,7 +294,7 @@ Host apprentis apprentis.crans.org
     HostName apprentis.crans.org
     User legallic
 
-Host asterisk sip asterisk.crans.org sip.crans.org
+Host asterisk sip stun voip asterisk.crans.org sip.crans.org voip.crans.org stun.crans.org
     HostName asterisk.crans.org
     User legallic
     ForwardAgent yes
@@ -313,16 +323,6 @@ Host batk-0 batk-0.crans.org
     HostName batk-0.crans.org
     User legallic
 
-Host canard.adm canard.adm.crans.org
-    HostName canard.adm.crans.org
-    User legallic
-    ForwardAgent yes
-
-Host canard.ferme canard canard.ferme.crans.org
-    HostName canard.ferme.crans.org
-    User legallic
-    ForwardAgent yes
-
 Host cas auth login cas.crans.org login.crans.org auth.crans.org
     HostName cas.crans.org
     User legallic
@@ -338,27 +338,27 @@ Host charybde darcs ftp ftp.crans.ens-cachan.fr karibe mirror ntp xn--hxamgu1bpk
     User legallic
     ForwardAgent yes
 
-Host git git.crans.org
-    HostName geet.crans.org
-    User legallic
-    ForwardAgent yes
-
 Host charybde.adm ftp.adm mirror.adm ntp.adm charybde.adm.crans.org ftp.adm.crans.org mirror.adm.crans.org ntp.adm.crans.org
     HostName charybde.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host civet.crans.org civet
+Host civet rabbitmq vvvvvv civet.crans.org vvvvvv.crans.org rabbitmq.crans.org
     HostName civet.crans.org
     User legallic
     ForwardAgent yes
 
+Host civet.adm rabbitmq.adm civet.adm.crans.org rabbitmq.adm.crans.org
+    HostName civet.adm.crans.org
+    User legallic
+    ForwardAgent yes
+
 Host cochon.adm cochon.adm.crans.org
     HostName cochon.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host cochon.ferme cochon cochon.ferme.crans.org
+Host cochon.ferme cochon cochon television tv cochon.ferme.crans.org television.crans.org tv.crans.org cochon.crans.org
     HostName cochon.ferme.crans.org
     User legallic
     ForwardAgent yes
@@ -378,17 +378,7 @@ Host dhcp.adm dhcp.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host dindon.adm dindon.adm.crans.org
-    HostName dindon.adm.crans.org
-    User legallic
-    ForwardAgent yes
-
-Host dindon.ferme dindon dindon.ferme.crans.org
-    HostName dindon.ferme.crans.org
-    User legallic
-    ForwardAgent yes
-
-Host dyson munin nagios dyson.crans.org munin.crans.org nagios.crans.org
+Host dyson dyson.crans.org
     HostName dyson.crans.org
     User legallic
     ForwardAgent yes
@@ -403,37 +393,62 @@ Host ethercalc ethercalc.crans.org
     User legallic
     ForwardAgent yes
 
+Host ethercalc.adm ethercalc.adm.crans.org
+    HostName ethercalc.adm.crans.org
+    User legallic
+    ForwardAgent yes
+
 Host freebox freebox.crans.org
     HostName freebox.crans.org
     User legallic
     ForwardAgent yes
 
-Host geet.crans.org git.crans.org geet git
-    HostName geet.crans.org
+Host ft ft.crans.org
+    HostName ft.crans.org
     User legallic
     ForwardAgent yes
 
-Host geet.adm.crans.org git.adm.crans.org geet.adm git.adm
-    HostName geet.adm.crans.org
+Host ft-ilo ft-ilo.crans.org
+    HostName ft-ilo.crans.org
     User legallic
     ForwardAgent yes
 
-Host gordon gordon.crans.org
-    HostName gordon.crans.org
+Host ft.adm ft.adm.crans.org
+    HostName ft.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host gordon.adm gordon.adm.crans.org
-    HostName gordon.adm.crans.org
+Host fy munin fy.crans.org munin.crans.org
+    HostName fy.crans.org
     User legallic
     ForwardAgent yes
 
-Host gordon.wifi nectaris.wifi ragnarok.wifi vpn wifi-update gordon.wifi.crans.org wifi-update.crans.org nectaris.wifi.crans.org vpn.crans.org ragnarok.wifi.crans.org
-    HostName gordon.wifi.crans.org
+Host fy.adm fy.adm.crans.org
+    HostName fy.adm.crans.org
+    User legallic
+    ForwardAgent yes
+
+Host fz fz.crans.org
+    HostName fz.crans.org
     User legallic
     ForwardAgent yes
 
-Host horde horde.crans.org
+Host fz.adm fz.adm.crans.org
+    HostName fz.adm.crans.org
+    User legallic
+    ForwardAgent yes
+
+Host geet git gitlab geet.crans.org git.crans.org gitlab.crans.org
+    HostName geet.crans.org
+    User legallic
+    ForwardAgent yes
+
+Host geet.adm git.adm geet.adm.crans.org git.adm.crans.org
+    HostName geet.adm.crans.org
+    User legallic
+    ForwardAgent yes
+
+Host horde webmail horde.crans.org webmail.crans.org
     HostName horde.crans.org
     User legallic
     ForwardAgent yes
@@ -443,7 +458,7 @@ Host horde.adm horde.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host irc qwebirc web-irc irc.crans.org web-irc.crans.org qwebirc.crans.org
+Host irc qwebirc web-irc irc.crans.org qwebirc.crans.org web-irc.crans.org
     HostName irc.crans.org
     User legallic
     ForwardAgent yes
@@ -463,16 +478,6 @@ Host isc.adm isc.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host jouvence poulet poulet.ferme jouvence.crans.org poulet.ferme.crans.org
-    HostName jouvence.crans.org
-    User legallic
-    ForwardAgent yes
-
-Host jouvence.adm poulet.adm jouvence.adm.crans.org poulet.adm.crans.org
-    HostName jouvence.adm.crans.org
-    User legallic
-    ForwardAgent yes
-
 Host kdell kdell.crans.org
     HostName kdell.crans.org
     User legallic
@@ -483,7 +488,7 @@ Host kdell.adm kdell.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host kenobi infinoted kenobby laval obby kenobi.crans.org obby.crans.org kenobby.crans.org infinoted.crans.org laval.crans.org
+Host kenobi infinoted kenobby laval obby pad pastebin zero kenobi.crans.org obby.crans.org kenobby.crans.org infinoted.crans.org laval.crans.org pad.crans.org zero.crans.org pastebin.crans.org
     HostName kenobi.crans.org
     User legallic
     ForwardAgent yes
@@ -513,16 +518,6 @@ Host komaz.wifi komaz.wifi.crans.org
     User legallic
     ForwardAgent yes
 
-Host lapin.adm lapin.adm.crans.org
-    HostName lapin.adm.crans.org
-    User legallic
-    ForwardAgent yes
-
-Host lapin.ferme lapin lapin.ferme.crans.org
-    HostName lapin.ferme.crans.org
-    User legallic
-    ForwardAgent yes
-
 Host malloc malloc.crans.org
     HostName malloc.crans.org
     User legallic
@@ -533,13 +528,13 @@ Host malloc.adm malloc.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host mdr television vache vache.ferme mdr.crans.org television.crans.org vache.ferme.crans.org
-    HostName mdr.crans.org
+Host mediadrop video mediadrop.crans.org video.crans.org
+    HostName mediadrop.crans.org
     User legallic
     ForwardAgent yes
 
-Host mdr.adm vache.adm mdr.adm.crans.org vache.adm.crans.org
-    HostName mdr.adm.crans.org
+Host mediadrop.adm mediadrop.adm.crans.org
+    HostName mediadrop.adm.crans.org
     User legallic
     ForwardAgent yes
 
@@ -573,7 +568,7 @@ Host news.adm web-news.adm webnews.adm news.adm.crans.org webnews.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host niomniom autostatus ca crans.ens-cachan.fr crans.org doc federez i-p install-party map webalizer wifi wiki wikipedia www niomniom.crans.org wiki.crans.org www.crans.org install-party.crans.org autostatus.crans.org federez.crans.org wifi.crans.org i-p.crans.org crans.org crans.ens-cachan.fr ca.crans.org webalizer.crans.org doc.crans.org map.crans.org wikipedia.crans.org
+Host niomniom 15ans autostatus ca crans.ens-cachan.fr crans.org doc i-p install-party map webalizer wifi wiki wikipedia www www.15ans niomniom.crans.org wiki.crans.org www.crans.org install-party.crans.org autostatus.crans.org wifi.crans.org i-p.crans.org crans.org crans.ens-cachan.fr ca.crans.org webalizer.crans.org doc.crans.org map.crans.org wikipedia.crans.org 15ans.crans.org www.15ans.crans.org
     HostName niomniom.crans.org
     User legallic
     ForwardAgent yes
@@ -593,36 +588,46 @@ Host o2.adm o2.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host oie.adm oie.adm.crans.org
-    HostName oie.adm.crans.org
+Host odlyd odlyd.crans.org
+    HostName odlyd.crans.org
     User legallic
     ForwardAgent yes
 
-Host oie.ferme oie oie.ferme.crans.org
-    HostName oie.ferme.crans.org
+Host odlyd.adm upload.adm odlyd.adm.crans.org upload.adm.crans.org
+    HostName odlyd.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host ovh msn ovh.crans.org msn.crans.org
-    HostName ovh.crans.org
+Host oie oie oie.ferme oie.crans.org oie.ferme.crans.org
+    HostName oie.crans.org
     User legallic
     ForwardAgent yes
 
-Host ovh.adm ovh.adm.crans.org
-    HostName ovh.adm.crans.org
+Host oie.adm oie.adm.crans.org
+    HostName oie.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host owl imap pop webmail owl.crans.org pop.crans.org imap.crans.org webmail.crans.org
+Host owl imap pop owl.crans.org pop.crans.org imap.crans.org
     HostName owl.crans.org
     User legallic
     ForwardAgent yes
 
-Host owl.adm owl.adm.crans.org
+Host owl.adm imap.adm pop.adm owl.adm.crans.org imap.adm.crans.org pop.adm.crans.org
     HostName owl.adm.crans.org
     User legallic
     ForwardAgent yes
 
+Host pea pea.crans.org
+    HostName pea.crans.org
+    User legallic
+    ForwardAgent yes
+
+Host pea.adm pea.adm.crans.org
+    HostName pea.adm.crans.org
+    User legallic
+    ForwardAgent yes
+
 Host pegase pegase.crans.org
     HostName pegase.crans.org
     User legallic
@@ -648,6 +653,11 @@ Host redisdead.adm lists.adm smtp.adm redisdead.adm.crans.org lists.adm.crans.or
     User legallic
     ForwardAgent yes
 
+Host rezosup rezosup.crans.org
+    HostName rezosup.crans.org
+    User legallic
+    ForwardAgent yes
+
 Host roundcube roundcube.crans.org
     HostName roundcube.crans.org
     User legallic
@@ -683,16 +693,6 @@ Host sable.adm proxy.adm sable.adm.crans.org proxy.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host schrodingred schrodingred.crans.org
-    HostName schrodingred.crans.org
-    User legallic
-    ForwardAgent yes
-
-Host schrodingred.adm schrodingred.adm.crans.org
-    HostName schrodingred.adm.crans.org
-    User legallic
-    ForwardAgent yes
-
 Host sogo sogo.crans.org
     HostName sogo.crans.org
     User legallic
@@ -704,7 +704,12 @@ Host sogo.adm sogo.adm.crans.org
     ForwardAgent yes
 
 Host soyouz soyoustart soyouz.crans.org soyoustart.crans.org
-    HostName soyoustart.crans.org
+    HostName soyouz.crans.org
+    User legallic
+    ForwardAgent yes
+
+Host soyouz.adm soyoustart.adm soyouz.adm.crans.org soyoustart.adm.crans.org
+    HostName soyouz.adm.crans.org
     User legallic
     ForwardAgent yes
 
@@ -716,6 +721,11 @@ Host ssh2 ssh2.crans.org
     User legallic
     ForwardAgent yes
 
+Host stun-secondary stun-secondary.crans.org
+    HostName stun-secondary.crans.org
+    User legallic
+    ForwardAgent yes
+
 Host template template.crans.org
     HostName template.crans.org
     User legallic
@@ -761,6 +771,11 @@ Host vo calendrier intranet-dev news-dev openid-dev weavesync vo.crans.org weave
     User legallic
     ForwardAgent yes
 
+Host vo-eth0 vo-eth0.crans.org
+    HostName vo-eth0.crans.org
+    User legallic
+    ForwardAgent yes
+
 Host vo.adm vo.adm.crans.org
     HostName vo.adm.crans.org
     User legallic
@@ -786,7 +801,7 @@ Host ytrap-llatsni.adm ytrap-llatsni.adm.crans.org
     User legallic
     ForwardAgent yes
 
-Host zamok accounts bda-paris bleu blogs clubs.ens-cachan.fr factures impression intranet mysql perso ssh www.clubs.ens-cachan.fr zamok.crans.org ssh.crans.org impression.crans.org perso.crans.org clubs.ens-cachan.fr www.clubs.ens-cachan.fr mysql.crans.org bleu.crans.org intranet.crans.org blogs.crans.org bda-paris.crans.org factures.crans.org accounts.crans.org
+Host zamok accounts ajaxterm bda-paris bde bleu blogs clubs clubs.ens-cachan.fr factures impression intranet mysql perso ssh www.clubs.ens-cachan.fr zamok.crans.org ssh.crans.org impression.crans.org perso.crans.org clubs.ens-cachan.fr www.clubs.ens-cachan.fr mysql.crans.org bleu.crans.org intranet.crans.org blogs.crans.org bda-paris.crans.org factures.crans.org accounts.crans.org ajaxterm.crans.org clubs.crans.org bde.crans.org
     HostName zamok.crans.org
     User legallic
     ForwardAgent yes
@@ -796,25 +811,12 @@ Host zamok.adm bleu.adm impression.adm users.adm zamok.adm.crans.org bleu.adm.cr
     User legallic
     ForwardAgent yes
 
-# Pas vraiment un serveur Cr@ns
-Host rezosup rezosup.crans.org
-    HostName rezosup.crans.org
-    User legallic
-    ForwardAgent yes
-
 
 # +-------------------------+
 # | Serveurs Cr@ns adm-only |
 # +-------------------------+
 # Accessibles aux apprentis, mais ne sont que sur le VLAN adm
 # d'où la ProxyCommand
-# fy et fz ne sont accessibles qu'aux nounous
-
-Host alice.adm alice alice alice.adm.crans.org
-    HostName alice.adm.crans.org
-    User legallic
-    ForwardAgent yes
-    ProxyCommand ssh sable.crans.org -W %h:%p
 
 Host babar.adm babar babar babar.adm.crans.org
     HostName babar.adm.crans.org
@@ -828,30 +830,12 @@ Host bcfg2.adm bcfg2 bcfg2 bcfg2.adm.crans.org
     ForwardAgent yes
     ProxyCommand ssh sable.crans.org -W %h:%p
 
-Host daath.adm daath daath daath.adm.crans.org
-    HostName daath.adm.crans.org
-    User legallic
-    ForwardAgent yes
-    ProxyCommand ssh sable.crans.org -W %h:%p
-
 Host eap.adm eap eap eap.adm.crans.org
     HostName eap.adm.crans.org
     User legallic
     ForwardAgent yes
     ProxyCommand ssh sable.crans.org -W %h:%p
 
-Host ft-ilo.adm ft-ilo ft-ilo ft-ilo.adm.crans.org
-    HostName ft-ilo.adm.crans.org
-    User legallic
-    ForwardAgent yes
-    ProxyCommand ssh sable.crans.org -W %h:%p
-    HostKeyAlgorithms ssh-rsa
-
-Host ft.adm ft ft ft.adm.crans.org
-    HostName ft.crans.org
-    User legallic
-    ForwardAgent yes
-
 Host fx-ilo.adm fx-ilo zamok-ilo.adm fx-ilo fx-ilo.adm.crans.org zamok-ilo.adm.crans.org
     HostName fx-ilo.adm.crans.org
     User legallic
@@ -866,12 +850,6 @@ Host fy-ilo.adm fy-ilo fy-ilo fy-ilo.adm.crans.org
     ProxyCommand ssh sable.crans.org -W %h:%p
     HostKeyAlgorithms ssh-rsa
 
-Host fy.adm fy fy fy.adm.crans.org
-    HostName fy.crans.org
-    User legallic
-    ForwardAgent yes
-    ProxyCommand ssh sable.crans.org -W %h:%p
-
 Host fz-ilo.adm fz-ilo fz-ilo fz-ilo.adm.crans.org
     HostName fz-ilo.adm.crans.org
     User legallic
@@ -879,12 +857,6 @@ Host fz-ilo.adm fz-ilo fz-ilo fz-ilo.adm.crans.org
     ProxyCommand ssh sable.crans.org -W %h:%p
     HostKeyAlgorithms ssh-rsa
 
-Host fz.adm fz fz fz.adm.crans.org
-    HostName fz.crans.org
-    User legallic
-    ForwardAgent yes
-    ProxyCommand ssh sable.crans.org -W %h:%p
-
 Host kdell-idrac.adm kdell-idrac kdell-idrac kdell-idrac.adm.crans.org
     HostName kdell-idrac.adm.crans.org
     User legallic
@@ -898,11 +870,12 @@ Host komaz-ilo.adm komaz-ilo komaz-ilo komaz-ilo.adm.crans.org
     ProxyCommand ssh sable.crans.org -W %h:%p
     HostKeyAlgorithms ssh-rsa
 
-Host pea.adm pea pea pea.adm.crans.org
-    HostName pea.adm.crans.org
+Host odlyd-ilo.adm odlyd-ilo odlyd-ilo odlyd-ilo.adm.crans.org
+    HostName odlyd-ilo.adm.crans.org
     User legallic
     ForwardAgent yes
     ProxyCommand ssh sable.crans.org -W %h:%p
+    HostKeyAlgorithms ssh-rsa
 
 Host radius.adm radius radius radius.adm.crans.org
     HostName radius.adm.crans.org
@@ -923,12 +896,6 @@ Host slon.adm slon slon slon.adm.crans.org
     ForwardAgent yes
     ProxyCommand ssh sable.crans.org -W %h:%p
 
-Host test42.adm test42 test42 test42.adm.crans.org
-    HostName test42.adm.crans.org
-    User legallic
-    ForwardAgent yes
-    ProxyCommand ssh sable.crans.org -W %h:%p
-
 Host vert.adm ldap.adm vert zelda.adm vert vert.adm.crans.org ldap.adm.crans.org zelda.adm.crans.org
     HostName vert.adm.crans.org
     User legallic
@@ -1000,39 +967,11 @@ Host tahines.ens-cachan.fr tahines2 tahines
     User vlegalli
 
 
-# +-----+
-# | Ulm |
-# +-----+
-# Parce que je me suis inscrit à la DSI d'Ulm
-
-Host clipper clipper.ens.fr
-    HostName clipper.ens.fr
-    User legallic
-
-Host anat anat.ens.fr
-    HostName anat.ens.fr
-    User legallic
-    ForwardAgent yes
-
-Host horus horus.ens.fr
-    HostName horus.ens.fr
-    User legallic
-    ProxyCommand ssh legallic@anat.ens.fr -W %h:%p
-
-Host neith neith.ens.fr
-    HostName neith.ens.fr
-    User legallic
-    ProxyCommand ssh legallic@anat.ens.fr -W %h:%p
-
-Host sas sas.eleves.ens.fr
-    HostName sas.eleves.ens.fr
-    User legallic
-
-
 # +------------------+
 # | Département info |
 # +------------------+
 # Machines du département informatique de l'ENSC
+# Accesibles aux A0
 
 Host dptinfo21.dptinfo.ens-cachan.fr info21 infossh ssh.dptinfo ssh.dptinfo.ens-cachan.fr
     #HostName 138.231.36.60
@@ -1052,7 +991,6 @@ Host info*
     ProxyCommand ssh vlegalli@ssh.dptinfo.ens-cachan.fr -W %h:%p
     ForwardAgent yes
 
-
 # +--------+
 # | Stages |
 # +--------+