commit d52a5b2f62d03cf99c4ea08fa0fde178bd8f8fde
Author: jenselme <julien.enselme@centrale-marseille.fr>
Date:   Mon Aug 19 19:52:48 2013 +0200

    Sprint réécriture des scripts
    
    Les scripts ont été renommés et réécrits conformément à une convention
    afin de les rendre plus modulables.

diff --git a/bin/all-reset-permissions.sh b/bin/all-reset-permissions.sh
new file mode 100644
index 00000000..e80f3265
--- /dev/null
+++ b/bin/all-reset-permissions.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+# This script puts the correct permissions to sites folders, settings.php and scripts.
+
+######### drupal 6
+for dir in `find $d6_dir_sites -type d -maxdepth 1 -mindepth 1 ! -name all ! -name images ! -name languages` ; do
+    chmod 755 $dir
+    chmod 400 $dir/settings.php
+done
+
+######### drupal 7
+for dir in `find $d7_dir_sites -type d -maxdepth 1 -mindepth 1 ! -name all` ; do
+    chmod 755 $dir
+    chmod 400 $dir/settings.php
+done
+
+####### bin
+chmod -R 700 $dir_scripts
+
+####### backup
+chmod -R 700 $dir_backup
+
+####### log
+chmod -R 700 $dir_log
diff --git a/bin/captcha.sh b/bin/captcha.sh
deleted file mode 100644
index 0fbb1413..00000000
--- a/bin/captcha.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin
-##############
-# Sets hidden captcha configuration for all D7 websites.
-##############
-
-init_scripts.sh
-
-cd $d7_sites_dir
-
-for dir in $(ls)
-do
-  if [ -d $dir -a ! -L $dir ]
-  then
-      cd $dir;
-      echo "Configuration hidden captcha pour $x"
-      # Enable hidden_captcha module.
-      drush -y en hidden_captcha
-      # Log wrong answers.
-      drush -y vset captcha_log_wrong_responses 1
-      # Use hidden captcha for all forms.
-      drush -y sqlq --db-prefix "UPDATE {captcha_points} SET module = 'hidden_captcha', captcha_type = 'Hidden CAPTCHA' WHERE module is NULL;"
-      # Flush captcha cache.
-      drush -y vdel captcha_placement_map_cache
-      # Randomely generate a math question as the label of the hidden captcha field.
-      drush -y vset hidden_captcha_label "$RANDOM + $RANDOM"
-      cd -;
-  fi
-done
diff --git a/bin/ch_mdp b/bin/ch_mdp
deleted file mode 100644
index d7e3f70a..00000000
--- a/bin/ch_mdp
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin
-
-##############
-# nlehuby - 2 décembre 2011
-# ce script permet de changer le mot de passe de la base de données dans les fichiers settings.php de l'installation drupal 6 et drupal 7.
-##############
-#prend l’ancien et le nouveau mpd en paramètre
-#drupal 6
-cd /users/guest/assos/html/sites
-
-for x in $(ls -1 | grep -v 'all'); do
-	cd $x;
-	fichier="settings.php"
-	chmod 600 $fichier
-	mv $fichier $fichier.old
-	 #remplacer la première chaine après le / par l'ancien mot de passe, et la seconde chaine (après le deuxième /) par le nouveau mot de passe
-	sed "s/$1/$2/g" < $fichier.old > $fichier
-	chmod 400 $fichier
-	echo "Verifier que le site fonctionne et appuyer sur la touche Entree pour continuer"
-	read fake_variable
-	rm $fichier.old
-	cd ..
-done
diff --git a/bin/chk_perm b/bin/chk_perm
deleted file mode 100644
index e77dab0d..00000000
--- a/bin/chk_perm
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-
-# This script puts the correct permissions to sites folders, settings.php and scripts
-
-######### drupal 6
-cd /users/guest/assos/html/sites
-
-for dir in $(find . -type d -maxdepth 1 ! -name all ! -name images ! -name languages)
-do
-    chmod 755 $dir
-    cd $dir
-    chmod 400 settings.php
-    cd -
-done
-
-######### drupal 7
-cd /users/guest/assos/htmltest/sites
-
-for dir in $(find . -type d -maxdepth 1 ! -name all)
-do
-    chmod 755 $dir
-    cd $dir
-    chmod 400 settings.php
-    cd -
-done
-
-####### bin
-chmod -R 700 /users/guest/assos/bin
diff --git a/bin/contrib-usage.sh b/bin/contrib-usage.sh
new file mode 100644
index 00000000..72be250a
--- /dev/null
+++ b/bin/contrib-usage.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+. scripts-utils.sh
+
+help="# ARGS: Drupal_version, project_status, project_name\n
+# List sites that have the project_name with the corresponding project_status.\n
+# project status: enabled or disabled"
+
+check_arguments $# 3 "$help"
+
+if [ $1 = d6 ] ; then
+    cd $d6_dir_sites
+else
+    cd $d7_dir_sites
+fi
+
+for dir in `find . -maxdepth 1 -mindepth 1 -type d ! -name all ! -name languages ! -name images | sort ` ; do
+    # List non-core projects that correspond to the status.
+    # Keep project_name if listed.
+    # Count line result. 0 if not listed or 1 if listed.
+	# Print site_dir if listed.
+
+    cd $dir;
+	if [ 1 -eq `drush pml --no-core --status=$2 | grep $3 | wc -l` ] ; then
+        echo $dir;
+    fi
+    cd -
+done
diff --git a/bin/creation_sites_D7.sh b/bin/creation_sites_D7.sh
deleted file mode 100644
index b1123f60..00000000
--- a/bin/creation_sites_D7.sh
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/bin/sh
-
-# Ce script est une automatisation de ce qui est détaillé ici :
- #https://forge.centrale-marseille.fr/projects/clubdrupal/wiki/Utilisation_de_Drupal_multi-site#Cr%C3%A9ation-du-site-drupal-7
-# Ce script ne crée que des sites sur le sous domaine assos.
-
-
-# Prend comme paramètre le nom du site
-# On génère le mot de passe
-# On se place dans le home de asso en début de script
-# Les fichiers par défaut sont sur le bureau de assos
-init_scripts.sh
-init_scripts_site.sh $1
-
-
-######## Exceptions
-#On vérifie que le nom du site est bien passé en argument.
-if [ -z $1 ]
-then
-    echo 'Le nom du site doit être donné en paramètre'
-    echo 'creation_site_D7.sh NOM_SITE'
-    exit 1
-fi
-
-#si le nom contient '-' on arrête le script car les instructions concernant la
-#base de données ne supportent pas ce caractère.
-if $(echo $1 | grep -)
-then
-	echo 'Le nom du site ne doit pas contenir le caractère -'
-	exit 1
-fi
-
-#On vérifie que la longueur du nom du site est <= 16 caractères. Sinon mysql ne peut pas créer l’utilisateur
-if [ $(echo $1 | wc -n) -le 16 ]
-then
-    echo 'Le nom du site ne peut exéder 16 caractères'
-    exit 1
-fi
-
-###### Initialisation
-cd $d7_dir
-db_passwd=`ask_password_bdd $nom_serveurbdd $user_bdd`
-site_passwd=`gen_password`
-nom_site=$1
-
-
-# Précautions
-# - On teste si le dossier existe déjà, s’il n’existe pas, on s’arrête
-# - On vérifie que la base de données n’existe pas
-
-#Vérifie base de données
-if mysql -h $db_server -u $db_user -e "USE $nom_site" -p$db_passwd 2>/dev/null
-then
-    echo "La base de donnée existe déjà"
-    exit 1
-fi
-
-
-#On vérifie pour le dossier
-if [ -d $d7_site_dir ]
-then
-    echo "Le dossier $site_rep existe déjà"
-    exit 1
-fi
-
-
-###### Main
-#on crée le dossier
-mkdir $d7_site_dir
-
-# on crée ce qu’il faut pour les sauvegardes
-mkdir $d7_backup_dir/$site_name
-date=$(date "+%Y-%m-%d-%Hh%Mm%Ss")
-touch $d7_backup_dir/$site_name/date.sql
-touch $d7_backup_dir/$site_name/date.sql
-touch $d7_backup_dir/$site_name/date.sql
-
-#mysql (besoin du mot de passe assos)
-mysql -h $db_server -u $db_user -e "CREATE DATABASE $nom_site" -p$db_passwd
-
-#la ligne suivante vient de http://www.siteduzero.com/tutoriel-3-613143-syntaxe-sql-et-premieres-commandes.html
-#voir là-bas pour les explications
-mysql -h $db_server -u $db_user -e "GRANT ALL PRIVILEGES ON $1.* TO '$site_name'@'%' IDENTIFIED BY '$site_passwd'" -p$db_passwd
-
-
-
-#on veut modifer le nom de la base de donnée (%%DBNAME%%), le nom de l’utilisateur (%%DBUSER%%), son mot de passe (%%DBPASS%%) et base_url (%%nomdusite%%)
-sed "s/\%\%DBUSER\%\%/$nom_site/ ; s/\%\%DBNAME\%\%/$nom_site/ ; s/\%\%DBPASS\%\%/$mdp_site/ ; s/\%\%nomsite\%\%/$nom_site/" < $d7_template_settings > $d7_site_settings
-
-#on crée le lien symbolique (on doit se placer dans le bon répertoire !)
-cd $d7_site_dir
-cd ./../..
-ln -s . $site_name
-
-#On affiche le lien
-echo "Suivez les instructions de http://assos.centrale-marseille.fr/$nom_site/install.php pour continuer."
-echo "Pressez entrée une fois les actions effectuées"
-read touche
-
-#On appelle init_var.sh
-cd $d7_site_dir
-init_var.sh
-
-#on met les bons droits unix
-chmod -R 755 $d7_site_dir
-chmod 400 $d7_site_settings
-
-#On donne les dernières instructions
-echo "Quelques dernières instructions :"
-echo "- Conseiller à l'administrateur de ne pas laisser les inscriptions ouvertes à son site"
-echo "- Donner à l'administrateur le lien des tutoriels écrits par le club Drupal "
-echo "\n"
-echo "Référencement du site"
-echo "- créer un contenu de type \"Site\" sur la page du projet multiassos"
-echo "- demander à l'administrateur du site de s’inscrire sur la liste de diffusion webmasters@listes.centrale-marseille.fr (l’inscription est automatique)"
diff --git a/bin/d6-all-drush.sh b/bin/d6-all-drush.sh
new file mode 100644
index 00000000..84ca2c60
--- /dev/null
+++ b/bin/d6-all-drush.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+. scripts-utils.sh
+
+help="# ARGS: drush_command"
+
+check_arguments $# 1 "$help"
+
+for dir in `find $d6_dir_sites -maxdepth 1 -mindepth 1 -type d ! -name all ! -name languages ! -name images | sort` ; do
+    cd $dir
+    echo $dir
+    drush $*
+done
diff --git a/bin/d6-all-dump-full.sh b/bin/d6-all-dump-full.sh
new file mode 100644
index 00000000..bb98da68
--- /dev/null
+++ b/bin/d6-all-dump-full.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+current_date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
+
+# Dump D6 database with webassos user.
+mysqldump --single-transaction webassos -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY > $d6_dir_full_backup/webassos/$current_date.webassos.sql
+
+# Dump D6 form database with forum user.
+mysqldump forum -h myweb.serv.int -u forum --password=dtcAltF12 > $d6_dir_full_backup/forum/$current_date.forum.sql
diff --git a/bin/d6-all-reset-variables.sh b/bin/d6-all-reset-variables.sh
new file mode 100644
index 00000000..4eef3e66
--- /dev/null
+++ b/bin/d6-all-reset-variables.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+cd $d6_dir_sites
+d6-all-drush.sh vset --always-set reverse_proxy TRUE
+d6-all-drush.sh vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
+drush @sites -y ev "variable_set('update_notify_emails', array('@email_multi_assos'));"
diff --git a/bin/d6-all-update-contrib.sh b/bin/d6-all-update-contrib.sh
new file mode 100644
index 00000000..ef393bd8
--- /dev/null
+++ b/bin/d6-all-update-contrib.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+d6-all-drush.sh -y en update
+# Launch cron to check for updates.
+d6-all-drush.sh -q cron
+
+d6-all-drush.sh cc all
+d6-all-dump-full.sh
+
+d6-all-drush.sh -y upc --no-core
+d6-all-drush.sh -y updb
+
+d6-all-drush.sh -y dis update
+
+d6-all-drush.sh cron
diff --git a/bin/d6-dump-individual.sh b/bin/d6-dump-individual.sh
new file mode 100644
index 00000000..60cabfa2
--- /dev/null
+++ b/bin/d6-dump-individual.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+# ARGS: auto or manual, site_prefix
+# WARNING : backup are regularly flushed, put your backup in a safe place.
+
+cd $dir_individual_backup
+
+#récupération des tables du site dans le fichier liste_tables.temp
+tables='_%'
+liste="$1$tables"
+
+mysql -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY -BNe "show tables like '"$liste"'" webassos | tr '\r\n' ' ' > liste_tables.temp
+
+#transformation de cette liste en une variable
+var=$(cat liste_tables.temp)
+
+#sauvegarde de toutes ces tables
+current_date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
+suffixe="_dump$current_date.sql"
+fichier="$1$suffixe"
+
+if [ $1 = 'auto' ] ; then
+    mysqldump webassos -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY $var > $d6_dir_individual_auto_backup/$fichier
+else
+    mysqldump webassos -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY $var > $d6_dir_individual_manual_backup/$fichier
+fi
+
+#suppression du fichier temporaire utilisé
+rm liste_tables.temp
diff --git a/bin/d6-reset-variables.sh b/bin/d6-reset-variables.sh
new file mode 100644
index 00000000..e890e19d
--- /dev/null
+++ b/bin/d6-reset-variables.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+. scripts-config.sh
+
+cd $d6_dir_sites
+d6-all-drush.sh vset --always-set reverse_proxy TRUE
+d6-all-drush.sh vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
+drush @sites ev "variable_set('update_notify_emails', array($email_multi_assos));" --yes
\ No newline at end of file
diff --git a/bin/d7-all-drush-logged.sh b/bin/d7-all-drush-logged.sh
new file mode 100644
index 00000000..7c7c03eb
--- /dev/null
+++ b/bin/d7-all-drush-logged.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+. scripts-utils.sh
+
+help="# ARGS: drush_command"
+
+check_arguments $# 1 "$help"
+
+cd $d7_dir_sites
+
+for dir in `find . -maxdepth 1 -mindepth 1 -type d ! -name all | sort` ; do
+    cd $dir
+    current_date=`date "+%Y-%m-%d_%Hh:%Mm"`
+    echo "======$current_date======" >> $d7_dir_log/$dir.log
+    echo "Arguments are: $* " >> $d7_dir_log/$dir.log
+    drush $* >> $d7_dir_log/$dir.log
+    #To have the same caracters limit we needed 'end' that have 4 caracters, we used the Croate language for this ! LOL
+    echo -e "=============KRAJ=============\n" >> $d7_dir_log/$dir.log
+    cd -
+done
diff --git a/bin/d7-all-drush.sh b/bin/d7-all-drush.sh
new file mode 100644
index 00000000..bfb87f35
--- /dev/null
+++ b/bin/d7-all-drush.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+. scripts-utils.sh
+
+help="# ARGS: drush_command"
+
+check_arguments $# 1 "$help"
+
+for dir in `find $d7_dir_sites -maxdepth 1 -mindepth 1 -type d ! -name all | sort` ; do
+    cd $dir
+    echo $dir
+    drush $*
+done
diff --git a/bin/d7-all-dump-full.sh b/bin/d7-all-dump-full.sh
new file mode 100644
index 00000000..5fda1531
--- /dev/null
+++ b/bin/d7-all-dump-full.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+current_date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
+
+# Dump D7 databases at once.
+mysqldump -h $db_server -u $db_user -pNoNo82jJ --all-databases > $d7_dir_full_backup/myassos/$current_date.d7_full.sql
diff --git a/bin/d7-all-dump-individual.sh b/bin/d7-all-dump-individual.sh
new file mode 100644
index 00000000..a4c201b8
--- /dev/null
+++ b/bin/d7-all-dump-individual.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+. scripts-utils.sh
+
+help="# ARGS: auto or manual"
+
+check_arguments $# 1 "$help"
+
+current_date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
+
+cd $d7_dir_sites
+
+for dir in `find . -maxdepth 1 -mindepth 1 -type d ! -name all | cut -c3-` ; do
+    cd $dir
+    drush cc all
+    if [ $1 = 'auto' ] ; then
+        drush sql-dump --result-file="$d7_dir_individual_auto_backup/$dir/$current_date.$dir.sql"
+    else
+        drush sql-dump --result-file="$d7_dir_individual_manual_backup/$dir/$current_date.$dir.sql"
+    fi
+    cd -
+done
diff --git a/bin/d7-all-releases-info.sh b/bin/d7-all-releases-info.sh
new file mode 100644
index 00000000..085290cd
--- /dev/null
+++ b/bin/d7-all-releases-info.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+# List version of a module or theme that exists in sites/all/*
+# and all versions that are available for same project on drupal.org
+
+# modules
+cd $d7_dir_sites/all/modules
+for dir in `ls -1` ; do
+    if [ -d $dir ] ; then
+        drush pm-releases $dir
+    fi
+done
+
+# themes
+cd $d7_dir_sites/all/themes
+for dir in `ls -1` ; do
+    if [ -d $dir ] ; then
+        drush pm-releases $dir
+    fi
+done
diff --git a/bin/d7-all-reset-variables.sh b/bin/d7-all-reset-variables.sh
new file mode 100644
index 00000000..49bdc8aa
--- /dev/null
+++ b/bin/d7-all-reset-variables.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+for dir in `find $d7_dir_sites -maxdepth 1 -mindepth 1 -type d ! -name all | sort` ; do
+    cd $dir
+    echo $dir
+    d7-reset-variables.sh
+done
diff --git a/bin/d7-all-security-review.sh b/bin/d7-all-security-review.sh
new file mode 100644
index 00000000..76d32e3e
--- /dev/null
+++ b/bin/d7-all-security-review.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+# grep -v success to keep site_name and error lines.
+bash -c "d7-all-drush.sh security-review --store |& grep -v success | mail -s d7-all-security-review.sh $email_multi_assos"
diff --git a/bin/d7-all-update-contrib.sh b/bin/d7-all-update-contrib.sh
new file mode 100644
index 00000000..d4333949
--- /dev/null
+++ b/bin/d7-all-update-contrib.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+d7-all-drush.sh -y en update
+# Launch cron to check for updates.
+d7-all-drush.sh -q cron
+
+d7-all-dump-individual.sh auto
+
+d7-all-drush-logged.sh -y upc --no-core
+d7-all-drush.sh -y updb
+
+d7-all-drush.sh -y dis update
+
+d7-all-drush.sh cron
diff --git a/bin/d7-all-update-localisation.sh b/bin/d7-all-update-localisation.sh
new file mode 100644
index 00000000..92339d76
--- /dev/null
+++ b/bin/d7-all-update-localisation.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+d7-all-drush.sh -y en l10n_update
+d7-all-drush.sh l10n-update-refresh
+d7-all-drush.sh l10n-update
+d7-all-drush.sh -y dis l10n_update
diff --git a/bin/d7-create-site.sh b/bin/d7-create-site.sh
new file mode 100644
index 00000000..0cab3b1a
--- /dev/null
+++ b/bin/d7-create-site.sh
@@ -0,0 +1,83 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+. scripts-config-site.sh $1
+. scripts-utils.sh
+
+help="# ARGS: site name"
+
+######## Exceptions
+check_arguments $# 1 "$help"
+
+# "-" is forbidden because it provokes database error.
+if [ `echo $1 | grep -` ] ; then
+    echo '"-" is forbidden in the site name'
+    exit 1
+fi
+
+# Site name length must be lower or equal to 16 due to database limitations.
+if [`echo $1 | wc -c` -gt 16 ] ; then
+    echo "site name can't have more than 16 characters"
+    exit 1
+fi
+
+###### Initialisation
+cd $d7_dir
+db_password=`ask_password_db $db_server $db_user`
+site_password=`generate_password`
+
+# Check if site database already exists.
+if mysql -h $db_server -u $db_user -e "USE $d7_site_name" -p$db_password 2>/dev/null ; then
+    echo "Database $d7_site_name already exists"
+    exit 1
+fi
+
+# Check if site folder already exists.
+if [ -d $d7_site_dir ] ; then
+    echo "Folder $d7_site_dir already exists"
+    exit 1
+fi
+
+###### Main
+mkdir $d7_site_dir
+dir_site_name="assos.centrale-marseille.fr.$d7_site_name"
+
+# Backup requirements
+mkdir $d7_dir_individual_auto_backup/$dir_site_name
+mkdir $d7_dir_individual_manual_backup/$dir_site_name
+current_date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
+
+# NB : ls sort by considering the 1st characters
+touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql
+touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql2
+touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql3
+
+# Create and grant privileges on database
+mysql -h $db_server -u $db_user -e "CREATE DATABASE $d7_site_name" -p$db_password
+mysql -h $db_server -u $db_user -e "GRANT ALL PRIVILEGES ON $d7_site_name.* TO '$d7_site_name'@'%' IDENTIFIED BY '$site_password'" -p$db_password
+
+# Create settings.php
+sed "s/\%\%DBUSER\%\%/$d7_site_name/ ; s/\%\%DBNAME\%\%/$d7_site_name/ ; s/\%\%DBPASS\%\%/$site_password/ ; s/\%\%nomsite\%\%/$d7_site_name/" < $d7_settings_template > $d7_site_settings
+
+# Create symbolic link
+cd $d7_dir
+ln -s . $d7_site_name
+
+# Next Instructions
+echo "Go to http://assos.centrale-marseille.fr/$d7_site_name/install.php to continue."
+echo "Press enter when ready to go on."
+read key
+
+# Init variables
+d7-reset-variables.sh $d7_site_name
+
+# Permissions
+chmod -R 755 $d7_site_dir
+chmod 400 $d7_site_settings
+
+# Last instructions
+echo "Last instructions:"
+echo "- Advice the webmaster to close account creation on the website"
+echo "- Give the webmaster a link to the club Drupal's tutorials "
+echo "- Create a node of type \"Site\" on default"
+echo "- Register the webmaster on webmasters@listes.centrale-marseille.fr"
diff --git a/bin/d7-delete-site.sh b/bin/d7-delete-site.sh
new file mode 100644
index 00000000..09a0f7df
--- /dev/null
+++ b/bin/d7-delete-site.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+. scripts-config-site.sh $1
+. scripts-utils.sh
+
+help="# ARGS: site name."
+
+check_arguments $# 1 "$help"
+
+db_password=`ask_password_db $db_server $db_user`
+
+# Delete database.
+mysql -h $db_server -u $db_user -p$db_password -e "DROP DATABASE $d7_site_name"
+
+# Delete MYSQL user.
+mysql -h $db_server -u $db_user -p$db_password -e "DROP USER '$d7_site_name'@'%'"
+
+# Delete site's folder.
+chmod -R 700 $d7_site_dir
+rm -r $d7_site_dir
+
+# Delete symbolic link.
+rm $d7_dir/$d7_site_name
+
+# Delete database backups.
+rm -r $d7_dir_individual_auto_backup/assos.centrale-marseille.fr.$d7_site_name
+rm -r $d7_dir_individual_manual_backup/assos.centrale-marseille.fr.$d7_site_name
+
+echo "Don't forget to:"
+echo "- Refresh node site on default"
+echo "- Check particular behavior (normally detailed on site node)"
diff --git a/bin/d7-reset-variables.sh b/bin/d7-reset-variables.sh
new file mode 100644
index 00000000..2ceb77d3
--- /dev/null
+++ b/bin/d7-reset-variables.sh
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+# ARGS: [site_name]
+
+if [ ! -z $1 ] ; then
+    . scripts-config-site.sh $1
+    cd $d7_site_dir
+fi
+
+current_timestamp=`date "+%s"`
+
+random_1=`dd if=/dev/urandom count=1 2> /dev/null | cksum | cut -f1 -d" "`
+random_2=`dd if=/dev/urandom count=1 2> /dev/null | cksum | cut -f1 -d" "`
+
+####### General variables
+drush -y vset --always-set reverse_proxy TRUE
+drush -y vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
+drush -y ev "variable_set('update_notify_emails', array('$email_multi_assos'));"
+drush -y vset error_level 0
+drush -y vset dblog_row_limit 1000
+
+###### Hidden captcha
+drush -y en hidden_captcha
+# Log wrong answers.
+drush -y vset captcha_log_wrong_responses 1
+# Use hidden captcha for all forms.
+drush -y sqlq --db-prefix "UPDATE {captcha_points} SET module = 'hidden_captcha', captcha_type = 'Hidden CAPTCHA' WHERE module is NULL;"
+# Flush captcha cache.
+drush -y vdel captcha_placement_map_cache
+# Randomely generate a math question as the label of the hidden captcha field.
+drush -y vset hidden_captcha_label "$random_1 + $random_2"
+
+
+####### Piwik
+drush -y en piwik
+drush -y vset piwik_site_id "101"
+drush -y vset piwik_url_http "http://piwik.centrale-marseille.fr/"
+drush -y vset piwik_url_https "https://piwik.centrale-marseille.fr/"
+# Piwik cache.
+drush -y vset piwik_cache 1
+drush -y vset piwik_visibility_roles "1"
+# Piwik is enable for everyone except the administrator
+drush -y vset --format=json piwik_roles '[3]'
+drush -y vset piwik_page_title_hierarchy 1
+# Activate local search.
+drush -y vset piwik_site_search 1
+
+
+###### Security review
+# For untrusted roles:
+# 1: anonymous user
+# 2: authenticated user
+# 3: administrator
+drush -y en security_review
+drush -y ev "variable_set('security_review_untrusted_roles', array('1'));"
+# Used to initialise entries in the database schema.
+drush security-review --store
+# Security review can't check for files permissions on multi_assos if launched within the web interface.
+drush -y sqlq --db-prefix "UPDATE {security_review} SET skip = '1', skiptime = $current_timestamp, skipuid = '1' WHERE reviewcheck IN ('file_perms');"
+drush -y sqlq --db-prefix "UPDATE {security_review} SET skip = '0', skiptime = '0', skipuid = NULL WHERE reviewcheck NOT IN ('file_perms');"
diff --git a/bin/delete-temporary-files.sh b/bin/delete-temporary-files.sh
new file mode 100644
index 00000000..603fa404
--- /dev/null
+++ b/bin/delete-temporary-files.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+find $dir_multi_assos -name '*~' -delete
diff --git a/bin/dis_tiers.sh b/bin/dis_tiers.sh
deleted file mode 100644
index b3b1c786..00000000
--- a/bin/dis_tiers.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-
-##############
-# nlehuby - 8 juillet 2011
-##############
-
-#écrire le nom des modules non core dans un fichier
-drush pml |grep -v Core* | grep Module | grep Enabled > fichier.temp
-sed -e 's/\(.*(\)\(.*\)\().*\)/\2/' fichier.temp > modules_tiers.txt
-
-#désactiver ces modules
-for line in $(cat modules_tiers.txt); do drush dis -y "$line" ; done  
-
-#effacer les fichiers créés
-rm fichier.temp
diff --git a/bin/disk-usage.sh b/bin/disk-usage.sh
new file mode 100644
index 00000000..6eaac58b
--- /dev/null
+++ b/bin/disk-usage.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+echo -e "*Quotas: 9.1 GB*\n"
+
+echo "Assos:"
+du -hcs $dir_multi_assos | grep total
+echo -e "\n"
+
+echo "D6:"
+cd $d6_dir_sites
+du -h -d 1
+echo -e "\n"
+
+echo "D7:"
+cd $d7_dir_sites
+du -h -d 1
+echo -e "\n"
+
+echo "Logs:"
+du -hcs $dir_log | grep total
+echo -e "\n"
+
+echo "Backups:"
+cd $dir_backup
+du -h -d 2
diff --git a/bin/drushall b/bin/drushall
deleted file mode 100644
index 81c146b9..00000000
--- a/bin/drushall
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin
-
-init_scripts.sh
-
-if [ $# -lt 1 ]; then
-  echo "usage: $0 <drush args>"
-  exit 1
-fi
-
-cd $d7_sites_dir
-
-for x in $(ls -1 | grep -v 'all' | grep -v file-*); do
-  if [ -d $x -a ! -L $x ]; then
-    cd $x;
-    echo $x
-    #drush pm-info;
-    #drush dis ldapauth ldapdata ldapgroups;
-    drush $*
-    cd -;
-  fi
-done
diff --git a/bin/drushall_atest b/bin/drushall_atest
deleted file mode 100644
index 8b14a7b9..00000000
--- a/bin/drushall_atest
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin
-
-##############
-# nlehuby - 16 décembre 2011
-# ceci est une copie quasi conforme du script initial drushall créé pour d6
-##############
-
-init_scripts.sh
-
-if [ $# -lt 1 ]; then
-  echo "usage: $0 <drush args>"
-  exit 1
-fi
-
-cd /users/guest/assos/htmltest/sites
-
-for dir in $(find . -maxdepth 1 -mindepth 1 -type d ! -name all)
-do
-    if [ $1 = init ]
-    then
-	cd $dir
-	/users/guest/assos/bin/init_var.sh
-	cd -
-    else
-	cd $x;
-	echo $x
-	drush $*
-	cd -;
-    fi
-done
diff --git a/bin/drushall_atest_logged b/bin/drushall_atest_logged
deleted file mode 100644
index e4e42f54..00000000
--- a/bin/drushall_atest_logged
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin
-
-##############
-# nlehuby - 16 décembre 2011
-# ceci est une copie quasi conforme du script initial drushall créé pour d6
-##############
-
-
-if [ $# -lt 1 ]; then
-  echo "usage: $0 <drush args>"
-  exit 1
-fi
-
-cd /users/guest/assos/htmltest/sites
-
-for x in $(ls -1 | grep -v 'all' | grep -v file-*); do
-  if [ -d $x -a ! -L $x ]; then
-    cd $x;
-    echo $x
-    #Sauvegarde datée du log
-    madate=`date "+%Y-%m-%d_%Hh:%Mm"`
-    echo "======$madate======" >> /users/guest/assos/Desktop/log/d7/$x.log
-    echo "Arguments are: $* " >> /users/guest/assos/Desktop/log/d7/$x.log
-    drush $* >> /users/guest/assos/Desktop/log/d7/$x.log
-    #To have the same caracters limit we needed 'end' that have 4 caracters, we used the Croate language for this ! LOL 
-    echo -e "=============KRAJ=============\n" >> /users/guest/assos/Desktop/log/d7/$x.log
-    cd -;
-  fi
-done
diff --git a/bin/drushcronone b/bin/drushcronone
index 271191b7..ee8bfcb5 100644
--- a/bin/drushcronone
+++ b/bin/drushcronone
@@ -1,5 +1,6 @@
 #!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin
+
+. /users/guest/assos/bin/scripts-config.sh
 
 if [ $# -lt 1 ]; then
   echo "usage: $0 <site's folder name>"
diff --git a/bin/dump.sh b/bin/dump.sh
deleted file mode 100644
index 80303f0a..00000000
--- a/bin/dump.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-madate=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
-
-#Dump D6 database with webassos user.
-/usr/local/bin/mysqldump --single-transaction webassos -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY > /users/guest/assos/Desktop/dump_d6/webassos.dump$madate.sql
-
-#Dump D6 form database with forum user.
-/usr/local/bin/mysqldump forum -h myweb.serv.int -u forum --password=dtcAltF12 > /users/guest/assos/Desktop/dump_d6/forum.dump$madate.sql
-
-#Dump D7 databases at once.
-/usr/local/bin/mysqldump -h myassos.serv.int -u assos -pNoNo82jJ --all-databases > /users/guest/assos/Desktop/dump_d7/d7_all$madate.sql
diff --git a/bin/dump_site b/bin/dump_site
deleted file mode 100644
index 89269bef..00000000
--- a/bin/dump_site
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-##############
-# nlehuby - 27 novembre 2011
-# ce script permet de sauvegarder toutes les tables d'un site. Il faut passer en paramètre le préfixe utilisé pour les tables du site en question. 
-# ATTENTION : Il faut penser à déplacer cette sauvegarde dans un endroit perenne car un script de purge supprime périodiquement les sauvegardes individuelles.
-##############
-
-cd /users/guest/assos/Desktop/dump_d6/
-
-#récupération des tables du site dans le fichier liste_tables.temp
-tables='_%'
-liste="$1$tables"
-
-/usr/local/bin/mysql -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY -BNe "show tables like '"$liste"'" webassos | tr '\r\n' ' ' > liste_tables.temp
-
-#transformation de cette liste en une variable
-var=$(cat liste_tables.temp)
-
-
-#sauvegarde de toutes ces tables
-madate=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
-suffixe="_dump$madate.sql"
-fichier="$1$suffixe"
-
-/usr/local/bin/mysqldump webassos -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY $var > /users/guest/assos/Desktop/dump_individuels/$fichier
-
-#suppression du fichier temporaire utilisé
-rm liste_tables.temp
diff --git a/bin/dump_site_atest_all b/bin/dump_site_atest_all
deleted file mode 100644
index 28557d72..00000000
--- a/bin/dump_site_atest_all
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin:/users/guest/assos/bin
-
-#!/bin/sh
-sites_dir=~/htmltest/sites
-backup_dir=~/Desktop/dump_d7
-
-date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
-
-cd $sites_dir
-
-#Cheche dans le sous répertoire du répertoire courant sauf dans le sous répertoire
-# all et dans les liens.
-for dir in $(find . -maxdepth 1 -mindepth 1 -type d ! -name all )
-do
-	cd $dir
-	drush cc all
-	drush sql-dump --result-file="$backup_dir/$dir/$date.sql"
-	cd -
-done
diff --git a/bin/en_tiers.sh b/bin/en_tiers.sh
deleted file mode 100644
index 5f120a6a..00000000
--- a/bin/en_tiers.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-
-##############
-# nlehuby - 8 juillet 2011
-##############
-
-#activer ces modules du fichier texte
-for line in $(cat modules_tiers.txt); do drush en -y "$line" ; done  
-
-#effacer le fichier texte après ?
diff --git a/bin/flush-files.sh b/bin/flush-files.sh
new file mode 100644
index 00000000..77d808f3
--- /dev/null
+++ b/bin/flush-files.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+help="# ARGS: number of files to keep, [email address]\n
+# usage: flush files from a folder except a number equal to argument."
+
+# Check if scripts-utils.sh is imported.
+if [ -z $scripts_utils ] ; then
+    echo "Import of scripts-utils.sh required."
+    . scripts-utils.sh
+fi
+
+check_arguments $# 1 "$help"
+
+backups_number=`ls | wc -l`
+let "number_of_backups_to_delete = backups_number - $1" > /dev/null
+
+if [ $number_of_backups_to_delete -gt 0 ] ; then
+    ls | head -$number_of_backups_to_delete | xargs rm
+else
+    if [ ! -z $2 ] ; then
+        dir=`pwd`
+        echo "There are not enough files in $dir to Flush it. Check if backup script works fine." | mail -s "[db] $dir has a backup problem" $2
+    fi
+fi
diff --git a/bin/flush-full-databases-backups.sh b/bin/flush-full-databases-backups.sh
new file mode 100644
index 00000000..8adbe1ba
--- /dev/null
+++ b/bin/flush-full-databases-backups.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+# ARGS: Drupal version
+
+cd $dir_full_backup/$1
+
+for dir in `ls` ; do
+    cd $dir
+    flush-files.sh $db_full_backup_number $email_multi_assos
+    cd -
+done
diff --git a/bin/flush-individual-databases-backups.sh b/bin/flush-individual-databases-backups.sh
new file mode 100644
index 00000000..98e38706
--- /dev/null
+++ b/bin/flush-individual-databases-backups.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+. /users/guest/assos/bin/scripts-config.sh
+
+# ARGS: manual or auto, Drupal version
+
+cd $dir_individual_backup/$1/$2
+
+for dir in `ls` ; do
+    cd $dir
+    if [ $1 = 'auto' ] ; then
+        flush-files.sh $db_individual_auto_backup_number $email_multi_assos
+    else
+        flush-files.sh $db_individual_manual_backup_number
+    fi
+    cd -
+done
diff --git a/bin/function.sh b/bin/function.sh
deleted file mode 100644
index 936bb995..00000000
--- a/bin/function.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/sh
-
-#Ce script doit contenir toutes les fonctions utiles aux scripts afin de pouvoir les réutiliser facilement.
-
-#permet de demander un mot de passe sans l’afficher
-#NB : read -s ne fonctionne pas en sh
-# usage: pass=$(askpasswd "Tu me pretes ton mot de passe ?")
-askpasswd() {
-  echo $1 >&2
-  echo -n ">" >&2
-  stty_avant=$(stty -g)
-  stty -echo
-  read p
-  stty $stty_avant
-  echo "$p"
-  unset p
-}
-
-ask_password_bdd() {
-    #on récupère le mot de passe de la bdd, je ne prétends pas qu’il s’agit de la meilleure méthode loin de là.
-    #prend le nom du serveur et le nom d’utilisateur comme argument.
-    # Pour ce faire, on va envoyer une requête mysql vide.
-    local db_passwd="pourquemysqldemandepas"
-    #requête mysql fantoche
-    #l’option -h permet de sélectionner le serveur
-    #l’option -e permet d’exécuter la commande mysql qui suit (on met le mdp après)
-    while ! mysql -h $1 -u $2 -p$db_passwd -e "" 2>/dev/null;
-    do
-	db_passwd=$(askpasswd "Entrer le mot de passe la base de donnée MySQL :")
-	echo ""
-    done
-}
-
-gen_password(){
-    #on génère le mdp
-    #        *avec des caractères spéciaux*. On se protège du caractère / qui
-    #signifie que l’expression régulière de sed est finie (voir plus bas). On boucle
-    #tant que le mot de passe contient /
-    local site_passwd='/'
-    local passwd_size=20
-    while echo "$site_passwd" | grep -Fq '/'
-    do
-	site_passwd=`dd if=/dev/urandom count=1 | uuencode -m - | head -n 2 | tail -n 1 | cut -c-$passwd_size`
-    done
-
-    echo $site_passwd
-}
-
-
-d7_give_nb_sites(){
-    # Return the number of drupal 7 sites
-    find $d7_sites_dir -type d ! -name all -maxdepth 1 | wc -l
-}
diff --git a/bin/init_scripts.sh b/bin/init_scripts.sh
deleted file mode 100644
index ffbd327e..00000000
--- a/bin/init_scripts.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-#Ce script crée toutes les variables communes à tous les sites
-scripts_location='/users/guest/assos/bin'
-
-web_dir='/users/guest/assos'
-manual_backup_dir='/users/guest/assos/Desktop/dump_individuels'
-
-d7_dir="$web_dir/htmltest"
-d7_sites_dir="$d7_dir/sites"
-d7_backup_dir='/users/guest/assos/Desktop/dump_d7'
-
-db_server="myassos.serv.int"
-db_user="assos"
-
-template_location="/users/guest/assos/Desktop"
-d7_template_name="settings-D7-bddinde-template.php"
-d7_template_settings="$template_location/$d7_template_name"
-
-###### Variable d6
-d6_backup_dir='/users/guest/assos/Desktop/dump_d6'
diff --git a/bin/init_scripts_site.sh b/bin/init_scripts_site.sh
deleted file mode 100644
index d4a4e216..00000000
--- a/bin/init_scripts_site.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-#Ce script initialise toutes les variables utiles d’un site.
-#Il prend le nom du site en paramètre
-#Il a besoin des variables de init_scripts.sh
-
-if [ -z "$web_dir" ] #test si $web_dir (variable de init_scripts.sh) est définie
-then
-    echo "Import de init_scripts.sh requit"
-    exit 1
-fi
-
-site_name=$1 #plus explicite
-d7_site_dir="$d7_site_dir/assos.centrale-marseille.fr.$nom_site"
-d7_site_settings="$site_dir/settings.php"
diff --git a/bin/init_var.sh b/bin/init_var.sh
deleted file mode 100644
index 2df9ae4f..00000000
--- a/bin/init_var.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin
-
-
-##############
-# nlehuby - 20 mai 2012
-# ce script permet d'initialiser un certain nombre de variables et configurations.
-# Plus d'info : http://ginfo.centrale-marseille.fr/wiki/index.php?title=Utilisation_de_Drupal_multi-site#M.C3.A9thode_Drupal_7
-##############
-
-####### General variables
-drush -y vset --always-set reverse_proxy TRUE
-drush -y vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
-drush -y ev "variable_set('update_notify_emails', array('assos@centrale-marseille.fr'));"
-drush vset error_level 0
-
-
-####### Piwik
-#On active piwik l’outil de statistique
-drush -y vset piwik_site_id "101"
-drush -y vset piwik_url_http "http://piwik.centrale-marseille.fr/"
-drush -y vset piwik_url_https "https://piwik.centrale-marseille.fr/"
-# active le cache local du javascript
-drush -y vset piwik_cache 1
-drush -y vset piwik_visibility_roles "1"
-# active les stats pour anonymous et authentifié
-drush -y vset --format=json piwik_roles '{"1":0,"2":0}'
-drush -y vset piwik_page_title_hierarchy 1
-# si la recherche locale est activée
-drush -y vset piwik_site_search 1
-# on active le module
-drush -y en piwik
diff --git a/bin/liste.temp b/bin/liste.temp
deleted file mode 100644
index b34a59de..00000000
--- a/bin/liste.temp
+++ /dev/null
@@ -1,30 +0,0 @@
-KSI
-adeprey
-annales
-anomaliste
-apocaliste
-cartecentrale
-cartecentraletest
-clubrobot
-echangesphoceens
-ecmnext
-election
-fablab
-feutrie
-giannitest
-ginfo
-habitat_urgence
-izus
-jpennec
-listerik
-nonotest
-sondages
-superadmin
-tjanvier
-vbesson
-bde
-lintecestlefeu
-
-le-marseille.fr
-
-default
diff --git a/bin/maj.sh b/bin/maj.sh
deleted file mode 100644
index 25a77f34..00000000
--- a/bin/maj.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-#Lancer le cron pour que les sites sachent s'il y a des majs à faire
-/users/guest/assos/bin/drushall -q cron 
-#Supprimer le cache pour réduire de moitié la taille des bases de données sauvegardées 
-/users/guest/assos/bin/drushall cc all
-#Script de sauvegarde des bases de données
-/bin/sh /users/guest/assos/bin/dump.sh
-#Mettre à jour le code des modules et thèmes tiers
-/users/guest/assos/bin/drushall --no-core -y upc
-/users/guest/assos/bin/drushall -y updb
-#Rapport du cron
-#/users/guest/assos/bin/drushall cron | mail -s "Rapport drushall cron" assos@centrale-marseille.fr
-/users/guest/assos/bin/drushall cron
-#Rapport sur la taille utilisée du disque
-/bin/sh /users/guest/assos/bin/taille.sh | mail -s "Rapport utilisation disque" assos@centrale-marseille.fr 
-
-
-
diff --git a/bin/maj_d7.sh b/bin/maj_d7.sh
deleted file mode 100644
index f4725732..00000000
--- a/bin/maj_d7.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin
-
-##############
-# nlehuby - 21 mai 2012
-# ce script permet d'effectuer les mises à jour des projets pour l'installation drupal 7
-##############
-
-#Lancer le cron pour que les sites sachent s'il y a des majs à faire
-/users/guest/assos/bin/drushall_atest -q cron 
-
-#Supprimer le cache pour réduire de moitié la taille des bases de données sauvegardées 
-/users/guest/assos/bin/drushall_atest cc all
-
-#Script de sauvegarde des bases de données
-/bin/sh /users/guest/assos/bin/dump_site_atest_all
-
-#Mettre à jour le code des modules et thèmes tiers
-/users/guest/assos/bin/drushall_atest_logged --no-core -y upc 
-
-#Update all databases to match current modules code.
-/users/guest/assos/bin/drushall_atest_logged -y updb
-
-#Rapport du cron
-/users/guest/assos/bin/drushall_atest cron | mail -s "Rapport cron" assos@centrale-marseille.fr
-
-#Rapport sur la taille utilisée du disque
-/bin/sh /users/guest/assos/bin/taille.sh | mail -s "Rapport utilisation disque" assos@centrale-marseille.fr 
diff --git a/bin/purge_des_sauvegardes.sh b/bin/purge_des_sauvegardes.sh
deleted file mode 100644
index 96ac20af..00000000
--- a/bin/purge_des_sauvegardes.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin:/users/guest/assos/bin
-
-init_scripts.sh
-
-######## sauvegardes individuelles
-
-#####
-# À réfléchir
-#####
-# va dans le dossier des sauvegardes individuelles
-cd $manual_backup_dir
-
-#s'il y a plus de 2 x (le nombre de site d7) - 1 fichiers alors
-nb_sites_d7=$(d7_give_nb_sites)
-
-let "c=2*$nb_sites_d7 - 1" >/dev/null
-
-if [ $(ls -l | wc -l)  -gt  $c ]
-then
-    echo "je supprime des sauvegardes isolées"
-    #supprime (le nombre de site d7) plus vieux fichiers
-    ls -tr | head -$nbsitesd7 | xargs rm;
-else
-    #sinon, alerte
-    echo "La purge des sauvegardes des sites individuelles n'a pas pu être effectuée car il n'y avait pas assez de fichiers dans le dossier." | mail -s "[dump assos] Sauvegardes de bdd individuelles" assos@centrale-marseille.fr;
-
-fi
-echo `ls -l | wc -l `
-
-
-
-######## SAUVEGARDES COMPLÈTES
-#### sauvegardes complètes d6
-#va dans le site des sauvegardes complètes d6
-cd $d6_backup_dir
-
-nb_files=$(ls -l | wc -l)
-
-if [ $nb_files -gt 6 ]
-then
-    #s'il y a plus de 6 fichiers alors
-    echo "je supprime du d6"
-
-    #supprime les assez de fichiers pour qu’il n’en reste que trois
-    let "to_delete = $nb_files - 6"
-    ls -tr | head -$to_delete | xargs rm
-else
-    #sinon, alerte
-    echo "La purge des sauvegardes complètes des bases de données drupal 6 n'a pas pu être effectuée car il n'y avait pas assez de fichiers dans le dossier. Il faudrait vérifier que le script de sauvegarde s'exécute correctement" | mail -s "[dump assos] Purge sauvegardes de bdd complète d6" assos@centrale-marseille.fr ;
-fi
-
-echo $(ls -l | wc -l)
-
-
-###### sauvegardes complètes d7
-cd $d7_backup_dir
-
-for dir in $(ls)
-do
-    cd $dir
-    nb_files=$(ls | wc -l)
-    let "to_delete = nb_files - 3"
-    if [ $to_delete -gt 0 ]
-    then
-	ls | head -$to_delete | xargs rm
-    else
-	 echo "La purge des sauvegardes automatiques d7 dans $dir n'a pas pu être effectuée car il n'y avait pas assez de fichiers dans le dossier. Il faudrait vérifier que le script de sauvegarde s'exécute correctement" | mail -s "[dump assos] $dir a des soucis de sauvegardes de bdd" assos@centrale-marseille.fr;
-    fi
-    cd -
-done
diff --git a/bin/reinit_var.sh b/bin/reinit_var.sh
deleted file mode 100644
index 8f91e023..00000000
--- a/bin/reinit_var.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin
-
-
-##############
-# nlehuby - 21 mai 2012
-# ce script permet de réinitialiser un certain nombre de variables et configurations. VERSION 2, sans duplication de code
-# TODO : tester que ça fonctionne ^^
-# Plus d'info : http://ginfo.centrale-marseille.fr/wiki/index.php?title=Scripts_et_t%C3%A2ches_planifi%C3%A9es#la_r.C3.A9initialisation_des_variables_dangeureuses
-##############
-
-#installation drupal 7
-/users/guest/assos/bin/drushall_atest init #lance le script init_var pour toute l'installation d7
-
-#installation drupal 6
-cd /users/guest/assos/html/sites
-/users/guest/assos/bin/drushall vset --always-set reverse_proxy TRUE
-/users/guest/assos/bin/drushall vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
-drush @sites ev "variable_set('update_notify_emails', array('assos@centrale-marseille.fr'));" --yes
diff --git a/bin/releases_info_d7.sh b/bin/releases_info_d7.sh
deleted file mode 100644
index 29fa61ae..00000000
--- a/bin/releases_info_d7.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin
-##############
-#Send a mail with following infos:
-#- version of a module or theme that exists in sites/*
-#- all versions that are available for same project on drupal.org
-##############
-#modules
-cd /users/guest/assos/htmltest/sites/all/modules
-for x in $(ls -1); do
-  if [ -d $x ]; then
-    drush pm-releases $x
-  fi
-done
-#themes
-cd /users/guest/assos/htmltest/sites/all/themes
-for x in $(ls -1); do
-  if [ -d $x ]; then
-    drush pm-releases $x
-  fi
-done
diff --git a/bin/scripts-config-site.sh b/bin/scripts-config-site.sh
new file mode 100644
index 00000000..e9c69983
--- /dev/null
+++ b/bin/scripts-config-site.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+# Sets useful variables of a site.
+# ARGS: site_name
+# Requires scripts-config.sh
+
+# Check if scripts-config.sh is imported.
+if [ -z $scripts_config ] ; then
+    echo "Import of scripts-config.sh required."
+    exit 1
+fi
+
+if [ -z $1 ] ; then
+    echo "This script needs a site name as argument."
+    exit 1
+fi
+
+scripts_config_site='imported'
+
+d7_site_name=$1
+d7_site_dir="$d7_dir_sites/assos.centrale-marseille.fr.$d7_site_name"
+d7_site_settings="$d7_site_dir/settings.php"
\ No newline at end of file
diff --git a/bin/scripts-config.sh b/bin/scripts-config.sh
new file mode 100644
index 00000000..7a7f881b
--- /dev/null
+++ b/bin/scripts-config.sh
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/users/guest/assos/bin
+PATH=$PATH:/usr/guest/assos/bin
+
+scripts_config='imported'
+
+email_multi_assos="assos@centrale-marseille.fr"
+
+dir_multi_assos='/users/guest/assos'
+dir_scripts="$dir_multi_assos/bin"
+dir_template="$dir_multi_assos/template"
+
+###### Database
+db_server="myassos.serv.int"
+db_user="assos"
+dir_log="$dir_multi_assos/log"
+
+###### Backup
+db_full_backup_number=3
+db_individual_manual_backup_number=2
+db_individual_auto_backup_number=3
+
+dir_backup="$dir_multi_assos/backup"
+dir_full_backup="$dir_backup/full"
+dir_individual_backup="$dir_backup/individual"
+dir_individual_manual_backup="$dir_individual_backup/manual"
+dir_individual_auto_backup="$dir_individual_backup/auto"
+
+
+###### D7 variables
+d7_dir="$dir_multi_assos/htmltest"
+d7_dir_sites="$d7_dir/sites"
+
+### Log
+d7_dir_log="$dir_log/d7"
+
+### Backup
+d7_dir_full_backup="$dir_full_backup/d7"
+d7_dir_individual_manual_backup="$dir_individual_manual_backup/d7"
+d7_dir_individual_auto_backup="$dir_individual_auto_backup/d7"
+
+### Template
+d7_settings_template_name="settings-D7-bddinde-template.php"
+d7_settings_template="$dir_template/$d7_settings_template_name"
+
+
+###### D6 variables
+d6_dir="$dir_multi_assos/html"
+d6_dir_sites="$d6_dir/sites"
+
+### Backup
+d6_dir_full_backup="$dir_full_backup/d6"
+d6_dir_individual_manual_backup="$dir_individual_manual_backup/d6"
+d6_dir_individual_auto_backup="$dir_individual_auto_backup/d6"
diff --git a/bin/scripts-utils.sh b/bin/scripts-utils.sh
new file mode 100644
index 00000000..b60baac6
--- /dev/null
+++ b/bin/scripts-utils.sh
@@ -0,0 +1,66 @@
+#!/bin/sh
+
+# This script contains useful functions for other scripts.
+
+# Check if scripts-config.sh is imported.
+if [ -z $scripts_config ] ; then
+    echo "Import of scripts-config.sh required."
+    . scripts-config.sh
+fi
+
+scripts_utils='imported'
+
+ask_password() {
+    # read -s doesn't work with sh.
+    # usage: pass=`ask_password "password please:"`
+    echo $1 >&2
+    echo -n ">" >&2
+    stty_avant=`stty -g`
+    stty -echo
+    read password
+    stty $stty_avant
+    echo "$password"
+    unset password
+}
+
+ask_password_db() {
+    # ARGS: server_name, user_name
+    local db_password="pour_boucler"
+    # empty db request to validate password
+    while ! mysql -h $1 -u $2 -p$db_password -e "" 2>/dev/null ; do
+        db_password=`ask_password "database password:"`
+    done
+    echo $db_password
+}
+
+generate_password(){
+    # ARGS: [password_length]
+    # The password contains special characters. '/' must be excluded to avoid sed malfunction.
+
+    local site_password='/'
+
+    if [ -z $1 ] ; then
+        local password_length=20
+    else
+        local password_length=$1
+    fi
+
+    while echo "$site_password" | grep -Fq '/' ; do
+        site_password=`dd if=/dev/urandom count=1 | uuencode -m - | head -n 2 | tail -n 1 | cut -c-$password_length`
+    done
+
+    echo $site_password
+}
+
+count_d7_sites(){
+    find $d7_dir_sites -type d ! -name all -maxdepth 1 | wc -l
+}
+
+check_arguments() {
+    # ARGS: number of arguments passed to script, number of arguments required, [help text]
+    if [ $1 -lt $2  ] ; then
+        echo "Number of arguments insuffisant."
+	echo -e $3
+        exit 1
+    fi
+}
diff --git a/bin/sweep b/bin/sweep
deleted file mode 100644
index bd8bca9a..00000000
--- a/bin/sweep
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-find /users/guest/assos/* -name '*\~' -delete
diff --git a/bin/taille.sh b/bin/taille.sh
deleted file mode 100644
index ef4fede5..00000000
--- a/bin/taille.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/sh
-
-##############
-# nlehuby - 07 juillet 2012
-# ce script permet de v�rifier la consommation d'espace disque du compte assos, et de r�p�rer d'�ventuelles irr�gularit�s (mises � jour foireuses, etc)
-##############
-
-echo "Utilisation totale du compte assos :"
-du -hcs /users/guest/assos/ | grep total
-
-#Line breaK
-echo -e "\n"
-
-echo "Taille des logs (Desktop/log/) :"
-du -hcs /users/guest/assos/Desktop/log/ | grep total
-
-#Line breaK 
-echo -e "\n"
-
-echo "*Utilisation de l'installation d6 (html/sites/) :"
-du -hcs /users/guest/assos/html/sites/ | grep total
-
-#Line breaK 
-echo -e "\n"
-
-echo "*Utilisation de l'installation d7 (htmltest/sites/) :"
-du -hcs /users/guest/assos/htmltest/sites/ | grep total
-
-#Line breaK 
-echo -e "\n"
-
-echo "D�tails pour l'installation d6 :"
-cd /users/guest/assos/html/sites
-for x in $(ls -1 | grep -v 'all'); do
-  if [ -d $x -a ! -L $x ]; then
-  du -hs $x;
-    fi
-done
-
-#Line breaK 
-echo -e "\n"
-
-echo "D�tails pour l'installation d7 :"
-cd /users/guest/assos/htmltest/sites
-for x in $(ls -1 | grep -v 'all'); do
-  if [ -d $x -a ! -L $x ]; then
-  du -hs $x;
-    fi
-done
diff --git a/bin/usep b/bin/usep
deleted file mode 100644
index e569150d..00000000
--- a/bin/usep
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin
-
-#if user didn't pass the argument to script, help them know how to use the script
-if [ $# -lt 1 ]; then
-  echo "usage: $0 <drush args>"
-  exit 1
-fi
-
-cd /users/guest/assos/html/sites
-
-#Only be intersted in a drupal site folder 
-for x in $(ls -1 | grep -v 'all' | grep -v file-*); do
-
-#if it's actually a directory and it's not a symbolic link 
-  if [ -d $x -a ! -L $x ]; then
-    cd $x;
-
-	#list all non core projects that are enabled for the site, then filter the display to only show the status of the project we're interested in
-	#if the project is not enabled then we couldn't even see a line corresponding to it as the drush command specifies --status=enabled
-	#if the project is enabled, then it appears in drush command output, we then count the number of lines the output prints. this number could only
-	#be 1 or 0
-	#if it's 1, then the project is enabled on the being tested folder, the name of the so called folder is printed !
-	#Shame on me and my ugly code !
-	    if [ 1 = `drush pml --no-core --status=enabled | grep $1 | wc -l` ]; then
-             echo $x; 
-            fi
-    cd -;
-  fi
-done
diff --git a/bin/vieux_dump.sh b/bin/vieux_dump.sh
deleted file mode 100644
index 62803654..00000000
--- a/bin/vieux_dump.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-mysqldump --single-transaction webassos -h myweb.serv.int -u webassos --password=aiFw1JNzGMbNnL6 > ~/Desktop/$(date '+%d-%m-%H-%M').webassos.dump.sql
-mysqldump forum -h myweb.serv.int -u forum --password=dtcAltF12 > ~/Desktop/$(date '+%d-%m-%H-%M').forum.dump.sql
