Centrale Marseille
       Le Projet Multi-Assos
       Powered by DRUPAL



Ismaeil Abouljamal                Noémie Lehuby
iabouljamal@centrale-marseille.fr nlehuby@centrale-marseille.fr
Twitter : @ismaeil_


                                DrupalCamp France | Nantes Janvier 2011
Agenda

Pourquoi ECM a choisi Drupal ?
Aspect multi-site

Drush, Drushall & MAJ

Simplifier l'administration

Exemples

Questions|Réponses




      Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   3/40
Centrale Marseille & Drupal




Centre de ressources informatiques                          Association Groupe informatique

- Drupal multi-site pour les sites des                         - Drupal multi-site pour les sites des
services de l'école, parcours, filières                        associations, clubs, services pour
métier...                                                      les élèves de l'école

- Plus de 20 sites                                             - Plus de 36 sites


                                          Collaboration++

            Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011      4/40
Pourquoi ECM a choisi Drupal ?


 Aspect multi-sites
 La notion de Nœud (node) : la forme n’est pas

figée à une architecture type et reste donc très
évolutive.
 Séparation Thème-Contenu

 Références

 Communauté extrêmement dynamique




        Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   5/40
Agenda

Pourquoi ECM a choisi Drupal ?
Aspect multi-site

Drush, Drushall & MAJ

Simplifier l'administration

Exemples

Questions|Réponses




      Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   6/40
Multi-site
 Décentralisation des services
 Maj faciles




                                   Ou PostgreSQL !



     Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   7/40
Multi-site
 36 sous sites pour les associations et clubs de Centrale Marseille.
 France Télévisions: 1000 sous sites !!




ls /
> modules         themes           sites               Modules du noyau => Drupal

ls /sites/all
> modules     themes                         plugins               Ajoutés et vus par tous les sites


ls /sites
> default domaine.ssite1                           domaine.ssite2
ssite3.domaine

ls domaine.ssite1
> setting.php files                      modules           themes modules, themes facultatifs vus
                                                                          Uniquement par ssite1
ls -l /
> ssite1 → .


            Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011         8/40
Agenda

Pourquoi ECM a choisi Drupal ?
Aspect multi-site

Drush, Drushall & MAJ

Simplifier l'administration

Exemples

Questions|Réponses




      Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   9/40
MAJ-Multi-site
 Mise à jour d'un site = MAJ de tous les sites !
 MAJ en FTP

 MAJ avec l'outil Drush




                         Drush = Drupal                         Shell

cache clear (cc) all (theme, menu, css+js)
cron
disable (dis)
download (dl)
update (updb) ==> update.php




        Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   10/40
MAJ-Multi-site
Script drushall
#!/bin/sh
PATH=/usr/local/bin:/usr/bin:/bin                                   Usage:

if [ $# -lt 1 ]; then                                               drushall cron
   echo "usage: $0 <drush args>"                                    drushall cc all
   exit 1                                                           drushall vget %var
fi                                                                  drushall vset %var %val

cd /var/www/drupal/sites

for x in $(ls -1 | grep -v 'all');
do
   if [ -d $x -a ! -L $x ]; then
      cd $x;
      echo $x
      drush $*
      cd -;
   fi
done



              Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   11/40
MAJ-Multi-site

Script maj
#!/bin/sh
/bin/sh ~/bin/dump.sh
/bin/sh ~/drushall -y upc
/bin/sh ~/bin/drushall updb
/bin/sh ~/bin/drushall cc all
/bin/sh ~/bin/drushall cron




             Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   12/40
Agenda

Pourquoi ECM a choisi Drupal ?
Aspect multi-site

Drush, Drushall & MAJ

Simplifier l'administration

Exemples

Questions|Réponses




      Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   13/40
On ne hacke pas !

Aucun accès aux fichiers sur le serveur

   => sécurité




                                                    Source: http://brianshumate.com




Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011    14/40
Choix des thèmes et des modules


Quand ?
●

Drupal&Drink tous les vendredi soirs

●Test de modules par fonctionnalités et choix du plus adapté
pour l'usage voulu et les capacités du serveur

●Pour les thèmes, surcharge possible, mais uniquement
d'images et de CSS




        Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   15/40
Surcharge des thèmes


●   le concept : nouveau thème basé sur un thème officiel, héritant
    de ses templates.php


●   l'intérêt :
    les màj du thème officiel y sont appliquées aussi




           Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   16/40
Surcharge des thèmes


●   comment ça marche :

      - on crée un répertoire pour le sous-thème dans le
        répertoire du thème officiel
      - on crée le fichier *.info qui définit le thème
      - on copie les fichiers .css et les images et on modifie
        comme on veut !




          Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   17/40
Exemple de fichier *.info
name = Thème perso Massiliades (2011)
 description = un sous-thème de Colourise créé spécialement pour le site des
Massiliades
 core = 6.x
 base theme = colourise
stylesheets[all][] = css/reset.css
stylesheets[all][] = css/baseline.css
stylesheets[all][] = css/typography.css
stylesheets[all][] = css/layout.css
stylesheets[all][] = css/modules.css
stylesheets[all][] = css/system-menus.css
stylesheets[all][] = css/colourise.css
stylesheets[all][] = css/date.css
stylesheets[all][] = css/content-module.css
stylesheets[all][] = css/custom.css
stylesheets[all][] = css/datepicker.css
stylesheets[all][] = css/defaults.css
stylesheets[all][] = css/jquery.css
stylesheets[all][] = css/node.css
stylesheets[all][] = css/system.css

             Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   18/40
Surcharge des thèmes


●   les problèmes :
        - accès au serveur nécessaire pour fichiers à surcharger

●   manque de flexibilité :
      - pour les régions ! il faut choisir le thème de base en
        fonction de ses régions
      - pour les templates

●   Work in progress




           Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   19/40
Agenda

Pourquoi ECM a choisi Drupal ?
Aspect multi-site

Drush, Drushall & MAJ

Simplifier l'administration

Exemples

Questions|Réponses




      Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   20/40
Flux.ics => Calendrier




Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   21/40
Champs CCK




Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   22/40
MAP : Feed => Node




Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   23/40
De .ics au Calendrier Drupal




  Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   24/40
Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   25/40
La carte du blog des expat
●   Le concept :




              Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   26/40
La carte du blog des expat



                                                            Termes de taxonomie
                                                                géolocalisés




 Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   27/40
La carte du blog des expat
Choix du fond de carte (openlayers) :




 Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   28/40
La carte du blog des expat
Création d'une vue :




    Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   29/40
DDB
le concept : créer un bloc d'images qui défilent




     Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   30/40
DDB

Comment ça marche ? (configuration basique)
✔module Dynamic Display Bloc

✔Images à utiliser dans un même répertoire sur le

serveur
✔bloc activé, mais uniquement sur les pages

souhaitées




       Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   31/40
DDB
                                                            Mais aussi …

                                                            ➔S'intègre bien
                                                            avec panels et
                                                            views
                                                            ➔Possibilité
                                                            d'utiliser des rôles




Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   32/40
Site de parcours




Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   33/40
ddblock




Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   34/40
Projet « Potentiel »
Le concept :

●    Un formulaire de champs CCK
    numérique sous la forme
    de profil d'utilisateur ...




            Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   35/40
Projet « Potentiel »




                                                             … Puis création de la
                                                            vue associée à
                                                            chaque champ




      Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   36/40
Calendrier des assos




Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   37/40
Filtres du calendrier




Filtre par type d'évènement




                                                                    Filtre par association




          Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   38/40
Agenda

Pourquoi ECM a choisi Drupal ?
Aspect multi-site

Drush, Drushall & MAJ

Simplifier l'administration

Exemples

Questions|Réponses




      Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011   39/40
Drupalcamp Nantes - Centrale marseille

Drupalcamp Nantes - Centrale marseille

  • 2.
    Centrale Marseille Le Projet Multi-Assos Powered by DRUPAL Ismaeil Abouljamal Noémie Lehuby iabouljamal@centrale-marseille.fr nlehuby@centrale-marseille.fr Twitter : @ismaeil_ DrupalCamp France | Nantes Janvier 2011
  • 3.
    Agenda Pourquoi ECM achoisi Drupal ? Aspect multi-site Drush, Drushall & MAJ Simplifier l'administration Exemples Questions|Réponses Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 3/40
  • 4.
    Centrale Marseille &Drupal Centre de ressources informatiques Association Groupe informatique - Drupal multi-site pour les sites des - Drupal multi-site pour les sites des services de l'école, parcours, filières associations, clubs, services pour métier... les élèves de l'école - Plus de 20 sites - Plus de 36 sites Collaboration++ Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 4/40
  • 5.
    Pourquoi ECM achoisi Drupal ?  Aspect multi-sites  La notion de Nœud (node) : la forme n’est pas figée à une architecture type et reste donc très évolutive.  Séparation Thème-Contenu  Références  Communauté extrêmement dynamique Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 5/40
  • 6.
    Agenda Pourquoi ECM achoisi Drupal ? Aspect multi-site Drush, Drushall & MAJ Simplifier l'administration Exemples Questions|Réponses Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 6/40
  • 7.
    Multi-site  Décentralisation desservices  Maj faciles Ou PostgreSQL ! Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 7/40
  • 8.
    Multi-site  36 soussites pour les associations et clubs de Centrale Marseille.  France Télévisions: 1000 sous sites !! ls / > modules themes sites Modules du noyau => Drupal ls /sites/all > modules themes plugins Ajoutés et vus par tous les sites ls /sites > default domaine.ssite1 domaine.ssite2 ssite3.domaine ls domaine.ssite1 > setting.php files modules themes modules, themes facultatifs vus Uniquement par ssite1 ls -l / > ssite1 → . Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 8/40
  • 9.
    Agenda Pourquoi ECM achoisi Drupal ? Aspect multi-site Drush, Drushall & MAJ Simplifier l'administration Exemples Questions|Réponses Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 9/40
  • 10.
    MAJ-Multi-site  Mise àjour d'un site = MAJ de tous les sites !  MAJ en FTP  MAJ avec l'outil Drush Drush = Drupal Shell cache clear (cc) all (theme, menu, css+js) cron disable (dis) download (dl) update (updb) ==> update.php Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 10/40
  • 11.
    MAJ-Multi-site Script drushall #!/bin/sh PATH=/usr/local/bin:/usr/bin:/bin Usage: if [ $# -lt 1 ]; then drushall cron echo "usage: $0 <drush args>" drushall cc all exit 1 drushall vget %var fi drushall vset %var %val cd /var/www/drupal/sites for x in $(ls -1 | grep -v 'all'); do if [ -d $x -a ! -L $x ]; then cd $x; echo $x drush $* cd -; fi done Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 11/40
  • 12.
    MAJ-Multi-site Script maj #!/bin/sh /bin/sh ~/bin/dump.sh /bin/sh~/drushall -y upc /bin/sh ~/bin/drushall updb /bin/sh ~/bin/drushall cc all /bin/sh ~/bin/drushall cron Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 12/40
  • 13.
    Agenda Pourquoi ECM achoisi Drupal ? Aspect multi-site Drush, Drushall & MAJ Simplifier l'administration Exemples Questions|Réponses Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 13/40
  • 14.
    On ne hackepas ! Aucun accès aux fichiers sur le serveur => sécurité Source: http://brianshumate.com Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 14/40
  • 15.
    Choix des thèmeset des modules Quand ? ● Drupal&Drink tous les vendredi soirs ●Test de modules par fonctionnalités et choix du plus adapté pour l'usage voulu et les capacités du serveur ●Pour les thèmes, surcharge possible, mais uniquement d'images et de CSS Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 15/40
  • 16.
    Surcharge des thèmes ● le concept : nouveau thème basé sur un thème officiel, héritant de ses templates.php ● l'intérêt : les màj du thème officiel y sont appliquées aussi Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 16/40
  • 17.
    Surcharge des thèmes ● comment ça marche : - on crée un répertoire pour le sous-thème dans le répertoire du thème officiel - on crée le fichier *.info qui définit le thème - on copie les fichiers .css et les images et on modifie comme on veut ! Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 17/40
  • 18.
    Exemple de fichier*.info name = Thème perso Massiliades (2011) description = un sous-thème de Colourise créé spécialement pour le site des Massiliades core = 6.x base theme = colourise stylesheets[all][] = css/reset.css stylesheets[all][] = css/baseline.css stylesheets[all][] = css/typography.css stylesheets[all][] = css/layout.css stylesheets[all][] = css/modules.css stylesheets[all][] = css/system-menus.css stylesheets[all][] = css/colourise.css stylesheets[all][] = css/date.css stylesheets[all][] = css/content-module.css stylesheets[all][] = css/custom.css stylesheets[all][] = css/datepicker.css stylesheets[all][] = css/defaults.css stylesheets[all][] = css/jquery.css stylesheets[all][] = css/node.css stylesheets[all][] = css/system.css Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 18/40
  • 19.
    Surcharge des thèmes ● les problèmes : - accès au serveur nécessaire pour fichiers à surcharger ● manque de flexibilité : - pour les régions ! il faut choisir le thème de base en fonction de ses régions - pour les templates ● Work in progress Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 19/40
  • 20.
    Agenda Pourquoi ECM achoisi Drupal ? Aspect multi-site Drush, Drushall & MAJ Simplifier l'administration Exemples Questions|Réponses Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 20/40
  • 21.
    Flux.ics => Calendrier Ginfo- DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 21/40
  • 22.
    Champs CCK Ginfo -DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 22/40
  • 23.
    MAP : Feed=> Node Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 23/40
  • 24.
    De .ics auCalendrier Drupal Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 24/40
  • 25.
    Ginfo - DrupalCampFrance | Centrale Marseille - Projet multi-Assos | Janvier 2011 25/40
  • 26.
    La carte dublog des expat ● Le concept : Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 26/40
  • 27.
    La carte dublog des expat Termes de taxonomie géolocalisés Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 27/40
  • 28.
    La carte dublog des expat Choix du fond de carte (openlayers) : Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 28/40
  • 29.
    La carte dublog des expat Création d'une vue : Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 29/40
  • 30.
    DDB le concept :créer un bloc d'images qui défilent Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 30/40
  • 31.
    DDB Comment ça marche? (configuration basique) ✔module Dynamic Display Bloc ✔Images à utiliser dans un même répertoire sur le serveur ✔bloc activé, mais uniquement sur les pages souhaitées Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 31/40
  • 32.
    DDB Mais aussi … ➔S'intègre bien avec panels et views ➔Possibilité d'utiliser des rôles Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 32/40
  • 33.
    Site de parcours Ginfo- DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 33/40
  • 34.
    ddblock Ginfo - DrupalCampFrance | Centrale Marseille - Projet multi-Assos | Janvier 2011 34/40
  • 35.
    Projet « Potentiel» Le concept : ● Un formulaire de champs CCK numérique sous la forme de profil d'utilisateur ... Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 35/40
  • 36.
    Projet « Potentiel» … Puis création de la vue associée à chaque champ Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 36/40
  • 37.
    Calendrier des assos Ginfo- DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 37/40
  • 38.
    Filtres du calendrier Filtrepar type d'évènement Filtre par association Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 38/40
  • 39.
    Agenda Pourquoi ECM achoisi Drupal ? Aspect multi-site Drush, Drushall & MAJ Simplifier l'administration Exemples Questions|Réponses Ginfo - DrupalCamp France | Centrale Marseille - Projet multi-Assos | Janvier 2011 39/40