commit 742e9ebd2a77018b8a7c7f6845f1fc19fe1153e8
Author: jenselme <julien.enselme@centrale-marseille.fr>
Date:   Sat Aug 3 14:59:56 2013 +0200

    Variables drupal
    
    - init_var s’occupe désormais de piwik
        - tout ce qui a trait à piwik n’est plus dans creation site
        - drushall accepte un paramètre init qui remet les variables en
    place

diff --git a/bin/creation_sites_D7.sh b/bin/creation_sites_D7.sh
index b54679f2..b1123f60 100644
--- a/bin/creation_sites_D7.sh
+++ b/bin/creation_sites_D7.sh
@@ -1,29 +1,19 @@
 #!/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.
-
-
-#fonction de demande de mot de passe (entree cachee)
-# 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
-}
-
-
-#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
+# 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
@@ -32,6 +22,14 @@ then
     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
@@ -39,121 +37,79 @@ then
     exit 1
 fi
 
-
-vers_home="/users/guest/assos"
-cd $vers_home
-
-#On récupère le nom du site donné en paramètre
+###### Initialisation
+cd $d7_dir
+db_passwd=`ask_password_bdd $nom_serveurbdd $user_bdd`
+site_passwd=`gen_password`
 nom_site=$1
 
-site_rep="$vers_home/htmltest/sites/assos.centrale-marseille.fr.$1"
-site_settings="$site_rep/settings.php"
-
-settings_default="settings-D7-bddinde-template.php"
-template_settings="$vers_home/Desktop/$settings_default"
-
-nom_serveurbdd="myassos.serv.int"
-user_bdd="assos"
-
-#on récupère le mot de passe, je ne prétends pas qu’il s’agit de la meilleure méthode loin de là.
-#Pour ce faire, on va envoyer une requête mysql vide.
-mdp_assos="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 $nom_serveurbdd -u $user_bdd -p$mdp_assos -e "" 2>/dev/null;
-do
-    mdp_assos=$(askpasswd "Entrer le mot de passe la base de donnée MySQL :")
-    echo ""
-done
-
-
-#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 /
-mdp_site='/'
-taille_mdp=20
-while echo "$mdp_site" | grep -Fq '/'
-do
-    mdp_site=`dd if=/dev/urandom count=1 | uuencode -m - | head -n 2 | tail -n 1 | cut -c-$taille_mdp`
-done
-
-#On ajoute des précaution :
+
+# 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ée
-if ! mysql -h $nom_serveurbdd -u $user_bdd -e "USE $nom_site" -p$mdp_assos 2>/dev/null
+#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
-    #On vérifie pour le dossier
-    if ! [ -d $site_rep ]
-    then
-	#on crée le dossier
-	mkdir $site_rep
+    echo "La base de donnée existe déjà"
+    exit 1
+fi
 
-	#mysql (besoin du mot de passe assos)
-	mysql -h $nom_serveurbdd -u $user_bdd -e "CREATE DATABASE $nom_site" -p$mdp_assos
 
-        #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 $nom_serveurbdd -u $user_bdd -e "GRANT ALL PRIVILEGES ON $1.* TO '$nom_site'@'%' IDENTIFIED BY '$mdp_site'" -p$mdp_assos
+#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/" < $template_settings > $site_settings
-
-	#on crée le lien symbolique (on doit se placer dans le bon répertoire !)
-	cd $site_rep
-	cd ./../..
-	ln -s . $nom_site
-	#on retourne dans home
-	cd $vers_home
-
-	#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 $site_rep
-	init_var.sh
-
-	#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
-
-	#On met les bons droits unix
-	chmod -R 755 $site_rep
-	chmod 400 $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)"
-
-    else
-	echo "Le dossier $site_rep existe déjà"
-	exit 1
-    fi
-else
-    echo "La base de donnée existe déjà"
-    exit 1
-fi
+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/drushall_atest b/bin/drushall_atest
index 06e81462..8b14a7b9 100644
--- a/bin/drushall_atest
+++ b/bin/drushall_atest
@@ -6,6 +6,7 @@ PATH=/usr/local/bin:/usr/bin:/bin
 # 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>"
@@ -14,11 +15,17 @@ 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
-    drush $*
-    cd -;
-  fi
+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/init_var.sh b/bin/init_var.sh
index 52db8224..2df9ae4f 100644
--- a/bin/init_var.sh
+++ b/bin/init_var.sh
@@ -4,13 +4,29 @@ PATH=/usr/local/bin:/usr/bin:/bin
 
 ##############
 # nlehuby - 20 mai 2012
-# ce script permet d'initialiser un certain nombre de variables et configurations. 
+# 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
 ##############
 
-drush php-eval variable_set\(\'allow_authorize_operations\',FALSE\)\; 
-drush vset --always-set reverse_proxy TRUE
-drush vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
-drush ev "variable_set('update_notify_emails', array('assos@centrale-marseille.fr'));"
+####### 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
