Drupal Administrateur
Installez et administrez Drupal
Une formation T@hitiClic
Introduction
➢ Objectif : savoir installer et réaliser les tâches courantes
d'administration de Drupal
➢ 5 demi-journées
➢ Ce qu'on verra en théorie et en pratique : ➢ Environnement technique, installation
➢ Concepts de Drupal
➢ Contenus et types de contenus
➢ Gestion des accès, menus, blocs et taxonomie ➢ Étendre Drupal, CCK, Context
➢ Contenus et affichages : Views ➢ Règles et actions : Rules
Introduction
➢ Drupal est vaste et il y a plus de 4000
contributions...
➢ Ce qu'on ne verra pas en détails :
➢ Le background web
➢ Chaque module installé sur le site www.cps.pf ➢ A quoi sert chaque bouton
➢ Pour ces points, il existe des ouvrages de
référence, les aides contextuelles explicites en général et au delà http://www.drupal.org/forum
Environnement technique
➢ Une archive Drupal (la dernière stable de
préférence)+traduction fr_FR
➢ Un serveur web, Apache de préférence, et Php5
(<5.3 pour le moment)
➢ Une base de données, sous MySQL5 (de
préférence) ou Postgres
T.P. : Installation
➢ Installez le serveur Apache sur votre plateforme, en
utilisant WampServer sous Windows par exemple
➢ Créer un utilisateur MySQL et une base de données
associée
➢ Dans le document root, décompressez l'archive
sous le nom drupal, ajoutez les fichiers fr_FR
➢ Copiez sites/default/default.settings.php en
sites/default/settings.php et éditez ce dernier
➢ Changez le propriétaire de drupal en l'utilisateur
T.P. : Installation
➢
Rendez vous à la page
http://localhost/drupal
➢
Suivez le lapin blanc... un ou deux écrans
et c'est fini
➢
De suite, allez à
admin/settings-site-information et changez le nom du site
➢
Ensuite, allez à admin/settings/file-system
Installation : configuration Apache/PHP
➢ Conf apache/php/mysql préconisée :
➢ mod_rewrite activé
➢ mod_expire (ou un nom approchant...) activé ➢ memory_limit = 128M, Drupal est gourmand si
beaucoup de modules
➢ max_upload_size = 32M, idem pour les tailles des
posts, ne soyons pas avares (contenu multimédia oblige)
Concepts de Drupal
➢ Des types de contenus variés : Images, Dossiers,
Pages, Vidéos, etc
➢ Pour Drupal, les instances de ces types de
contenus sont des nœuds, on parlera de
contenus en général
➢ Une classification complète, via la taxonomie : on
ajoute des termes aux contenus pour les ranger ici ou là
Concepts de Drupal
➢ On va pouvoir créer très facilement de nouveaux
types de contenus, ceci est une grande force de Drupal
➢ On peut également avoir des classifications
complexes grâce aux différents types de
vocabulaires et à la souplesse de la taxonomie, c'est une autre grande force de la bête
➢ L'autre autre élément intéressant sont les droits
Concepts de Drupal
DRUPAL 6 Core Graphisme Thèmes Fonctions Modules Contenu Nœuds Structure Taxonomie Utilisateurs RôlesT.P. : Créer quelques contenus
➢ Connectez vous : http://[le nom du site]/user/login
➢ Utilisateur : admin
➢ Mot de passe : [celui que vous avez choisi]
➢ Ici user/login est le chemin de la page en cours ➢ Un menu d'administration apparaît
➢ En haut à gauche, survolez Créer un contenu ➢ Vous pouvez alors choisir quel type de contenu
Créer un type de contenu
➢ Allez à admin/content/types/add ➢ Créez un type de contenu Recette
➢ Renommez Description en Instructions
➢ Pas très intéressant, sauf que déjà vous pouvez
créer plusieurs types auxquels n'auront accès que certains utilisateurs
Menus et Blocs
➢ Les menus regroupent des chemins
➢ Les blocs permettent d'afficher des choses
diverses et variées
➢ Créer un menu va créer automatiquement un
bloc associé
➢ Les blocs seront montrés aux positions voulues
Menus
➢ Deux menus sont spéciaux : liens primaires et
liens secondaires
➢ Ces menus sont exploités par les thèmes ➢ Un élément de menu c'est :
➢ Un chemin
➢ Un titre qui sera affiché
T.P. : Créer un menu
➢ Allez à admin/build/menu ➢ Créez un nouveau menu
➢ Ajoutez des éléments vers vos contenus créés
T.P. : Afficher le menu
➢ Allez à admin/build/block
➢ En jaune les positions offertes par le thème en
cours
➢ En bas les blocs désactivés
➢ Trouvez le bloc correspondant au menu créé ➢ Affichez le dans une des barres latérales :
➢ Sélectionnez la position ➢ Enregistrez en bas
Gestion des accès
➢ Jeux de rôles, anonymes et identifiés
➢ User 1 : le super administrateur a tous les droits ➢ Gestion fine :
➢ Chaque module définit ses accès protégés
➢ L'administrateur attribut les droits aux rôles voulus
➢ Liste blanche : un oui suffit
➢ Pour aller plus loin, il y a des modules qui gère
T.P. : Gestion des accès
➢ Rendez-vous à admin/user
➢ Créez un rôle staff puis un utilisateur u_staff avec
pour rôle staff
➢ Rendez vous ensuite dans la gestion des utilisateurs,
partie Droits d'accès
➢ Enlevez les accès au contenu pour l'utilisateur
anonyme et mettez les pour staff
➢ Déconnectez-vous et rendez vous à l'accueil du site ➢ Connectez-vous en tant que u_staff
T.P. : Gestion des accès
➢ Reconnectez-vous en administrateur
➢ Rendez-vous à la gestion des blocs et configurez
le bloc du menu que vous avez créé
➢ Dans la partie basse, donnez les droits
uniquement aux anonymes
➢ Connectez-vous sous u_staff et retournez voir ce
Classification sous Drupal
➢ Sous Drupal, on ne parle pas de classification mais de
taxonomie
➢ La taxonomie va contenir des vocabulaires ➢ Les vocabulaires contiennent des termes ➢ Les termes s'appliquent à des nœuds
➢ Ceci permet de structurer le site, en donnant accès à des
termes plutôt qu'aux contenus directement
➢ Ceci permet d'avoir des systèmes de classification et
Classification des contenus
➢ Un vocabulaire peut être : Étiquettes,
Obligatoires ou un Choix multiples
➢ Les termes peuvent avoir un ou plusieurs
parents, on parle alors de vocabulaire hiérarchique
T.P. : Taxonomie
➢ Rendez-vous à admin/content/taxonomy
➢ Créez un nouveau vocabulaire obligatoire Type ➢ Ajoutez y des termes (Entrée, Entrée Chaude,
Entrée Froide, Plat, Viande, Poisson, Végé, Apéro, Dessert, etc)
➢ Appliquez ces termes à des contenus : une
nouvelle navigation apparait
➢ Dans le menu principal, ajoutez des éléments
T.P. : Taxonomie
➢ Créez un autre vocabulaire Ingrédient de type
Étiquettes
➢ Ajoutez y des termes (Uru, Banane, Mahi Mahi,
Avocat, Coco, etc)
➢ Rendez-vous de nouveau sur vos contenus et
Classification des contenus
➢ Il faut avoir en tête les navigations qu'on souhaite
proposer et créer les vocabulaires en conséquence
➢ Nativement Drupal propose une vue des termes
sous forme d'une liste de résumés des contenus
➢ Le module Views nous permettra d'aller
Etendre Drupal
➢ Le Core de Drupal est assez réduit finalement ➢ Etendre drupal c'est :
➢ télécharger une archive depuis drupal.org ➢ la décompresser dans sites/all/modules ou
sites/all/themes
T.P. : installer des modules
➢ Rendez-vous sur drupal.org, dans la section
modules
➢ Vous voyez à droite la classification et le nombre
de modules disponibles
➢ Utilisez les filtres pour réduire, par exemple par
version de Drupal
➢ Cherchez le module Admin Menu ➢ Installez le
Les modules indispensables
➢ Admin Menu, Permission Select ➢ Date, CCK, Views, Context, Rules
➢ Taxonomy Manager, Taxonomy Super Select, Wysiwyg
(TinyMCE), Unlimited CSS Loader
➢ Image, Img_assist, Imagecache, Lightbox, ImageAPI,
SwtTools
➢ Pathauto, Page Title, Integrated Metatags, XMLSitemap ➢ Simplenews
T.P. : installer des modules
➢ Installez les modules :
➢ Admin Menu, Permission Select ➢ CCK, Views, Context, Rules
➢ Taxonomy Manager, Wysiwyg (TinyMCE) ➢ Date, Imagecache, Lightbox, ImageAPI ➢ Pathauto
Formats d'entrée
➢ Allez dans Configuration du site > Formats
d'entrée
➢ Des modules peuvent installer des filtres qui vont
être invoqués (en général) lors de l'affichage des contenus
➢ Drupal permet de définir plusieurs profils,
nommés Formats d'entrée (Input Filters) associés à différents rôles
➢ On peut configurer les filtres individuellement ➢ Mettez Full HTML comme format par défaut
Wysiwyg
➢ Allez dans Configuration du site > Wysiwyg
➢ Ce module enrichit l'éditeur d'une barre de mise
en forme
➢ On peut activer les boutons individuellement et
par format d'entrée
➢ Activez tous les boutons pour le format Full
HTML
Image Assist
➢ Ce module permet de facilement insérer des images
dans les contenus
➢ Pour l'utiliser, il existe un bouton dans la barre d'outil
TinyMCE : le bouton en forme d'appareil photo
➢ Quelques réglages à découvrir
➢ Lors de l'insertion d'une image, il faut enregistrer en
tant que Filter Tag (à régler par défaut dans les paramètres)
ImageCache
➢ Ce module est également un des plus importants ➢ Seul il ne sert à rien mais conjointement à CCK
ou Views il permet de traiter automatiquement les images
➢ L'idée est de créer des profils (presets) qui vont
être des modèles de transformation
➢ Chaque image insérée ensuite sur le site pourra
Lightbox
➢ Ce module propose de nombreux réglages
➢ Son but est d'ajouter un effet « lightbox » à vos
images
➢ Rendez-vous à Configuration du site > Lightbox2
et parcourez les réglages
➢ Dans la partie Automatic Handling, choisissez
Lightbox où vous pouvez
➢ Dans Image Node Settings, sélectionnez alors
Content Construction Kit
➢ Ce module très très important permet d'enrichir
les types de contenus avec des champs de différents types
➢ Cela permet de :
➢ Faciliter les saisies ➢ Uniformiser le rendu
➢ Mettre en place des tris&filtrages
➢ Mettre en place des accès privés à certains champs
➢ On définit le type de contenu
T.P. : Content Construction Kit
➢ Installez filefield et imagefield
➢ Rendez-vous à Gestion du contenu > Types de
contenu
➢ Éditez le type de contenu Recette précédemment
créé
➢ Allez alors dans Gérer les champs
➢ Ajouter des champs pertinents : temps de
T.P. : Content Construction Kit
➢ Une fois tous vos champs créés, allez à Afficher les
champs dans le menu local
➢ Là vous allez pouvoir gérer l'affichage de chaque
champ en mode résumé ou en mode pleine page
➢ Choisissez les affichages qui conviennent, pour les
images préférez une petite image pour le résumé
➢ Rendez-vous ensuite sur vos recettes, éditez puis
visualisez les
➢ Rendez-vous enfin sur une page de terme pour voir
Views
➢ L'autre module hyper important de Drupal
➢ Views permet de créer des affichages
➢ Un affichage est :
➢ Une sélection de contenus
➢ Un type d'affichage (page, bloc, flux, etc) ➢ Une sélection d'éléments à afficher
➢ La sélection des contenus va se faire selon des critères sur
le nœud, le contenu, la taxonomie, etc
➢ On peut trier les résultats
➢ On a plusieurs possibilités pour afficher au final, et un choix
Views
➢ Plusieurs panneaux à remplir
➢ Les Paramètres par défaut servent de base, pour
créer les affichages utiles, il faut ensuite
Remplacer ou Supplanter les valeurs
➢ Cela agit comme des CSS et on peut surcharger
des valeurs dans les affichages ensuite
➢ Une vue peut donc contenir plusieurs affichages
T.P. : Views
➢ Allez à Construction du site > Vues
➢ Ajoutez une nouvelle vue de type Node ➢ Nommez la Recettes
➢ Remplissons chaque panneau dans l'ordre
➢ Filtre : Dans Node, sélectionnez le type Recette et Publié ou
Admin
➢ Tri : sélectionnez la date de publication, ordre descendant ➢ Paramètres de base :
T.P. : Views
➢ Ensuite à gauche, sélectionnez Bloc dans le sélecteur et
cliquez sur Ajouter un affichage
➢ Vous êtes maintenant dans un autre affichage basé sur les
paramètres par défaut
➢ Si vous modifiez un réglage sans Remplacer ou
Supplanter, c'est le réglage par défaut qui est modifié
➢ Modifiez le bloc pour ne laisser que le titre et la photo
principale
➢ Créez un autre affichage Page où vous modifierez le
nombre d'éléments à afficher (mettez 10 + pagination)
T.P. : Views
➢ Une fois fini, cliquez sur Enregistrer
➢ Rendez-vous ensuite à la gestion des blocs pour
afficher le bloc créé
T.P. : Views, Filtres
➢ Vous avez utilisé les filtres
➢ Retournez dans votre affichage page
➢ Ajoutez un filtre sur, par exemple, le titre du
nœud
➢ Exposez ce filtre
➢ Enregistrez et retournez voir votre page
Views et les arguments
➢ Une vue peut utiliser des arguments
➢ Ces arguments sont fournis par le contenu en
cours ou par un chemin
➢ Les arguments sont de natures variées
➢ On peut par exemple afficher les contenus liés à
un autre en passant comme argument sont identifiant
Pathauto
➢ Permet d'avoir des urls plus parlantes ➢ Indispensable pour le référencement
➢ Les urls utilisent des modèles de remplacement :
le détail est fourni dans l'aide contextuelle
➢ On peut utiliser le titre de l'article, la taxonomie,
les menus, etc
➢ On peut définir cela pour chaque langue et
Integrated Metatags
➢ Permet de remplir les balises méta ➢ Indispensable pour le référencement
➢ Les métas générées utilisent des modèles de
remplacement
➢ On peut utiliser le titre de l'article, la taxonomie,
les menus, etc
➢ On peut définir cela pour chaque type de contenu ➢ Rendez-vous à Gestion du contenu > Integrated
Page Title
➢ Permet de remplir les balises méta
➢ Indispensable pour le référencement
➢ Les métas générées utilisent des modèles de
remplacement
➢ On peut utiliser le titre de l'article, la taxonomie, les
menus, etc
➢ On peut définir cela pour chaque type de contenu
Context
➢ Ce module permet de gérer des espaces
➢ Un espace est défini sous diverses conditions
(ET) : menu, chemin, type de contenu, etc
➢ Une fois dans l'espace, on définit des réactions ➢ Les réactions portent sur le menu, le thème et
surtout les blocs
➢ Allez à Construction du site > Context
Actions
➢ Les actions permettent d'effectuer certaines
opérations
➢ Seules, elles ne servent à rien
➢ Allez à Configuration du site > Actions
➢ Créez une action avancée, un envoi de mail par
Déclencheurs
➢ Le module Trigger gère les déclencheurs
➢ Ces derniers permettent de mettre en place des
événements
➢ Un événement va permettre de déclencher des actions ➢ Par exemple, un nouveau commentaire va donner lui à
l'envoi d'un mail au modérateur
➢ Activez Trigger et allez à Construction du site > Triggers ➢ Mettez en place un déclencheur lié à votre action
Déclencheurs : Rules
➢ Trigger est limité
➢ Rules permet d'aller beaucoup plus loin ➢ Il permet de définir des jeux de règles
➢ Des opérations logiques sont implémentées ➢ On peut planifier des exécutions d'actions
Déclencheurs : Scheduler
➢ Si on n'a pas besoin de toute la puissance (et la
complexité...) de Rules, on peut utiliser des modules plus spécialisés
➢ Scheduler par exemple permet de planifier les
Traduire le site
➢ Le module Locale permet de traduire les menus
et certains éléments de structure
➢ Le module i18n permet de traduire les contenus ➢ Pour chaque type de contenu on va dire s'il peut
être traduit
➢ En créant/éditant un contenu, on va pouvoir
spécifier la langue de ce contenu
➢ La bascule se fait à l'aide de sélecteur sur les
Traduire le site
➢ Modules utiles : ➢ Translate Table ➢ Language Icons ➢ POTX ➢ Logiciel utile : ➢ POEdit➢ La langue de base est l'anglais ➢ TrucS pour traduire vite :
Thèmes
➢ Un thème s'installe comme un module, mais
dans sites/all/themes
➢ On peut configurer les thèmes, plus ou moins, et
il existe des paramètres généraux
➢ Les blocs sont configurables par thème, ce qui
permet de faire cohabiter proprement plusieurs thèmes sur un même site
➢ Certains thèmes utilisent le module Color pour
T.P. : Thèmes
➢ Rendez-vous sur drupal.org/themes
➢ Installer un nouveau thème et activez le ➢ Allez ensuite le paramétrer
Templates
➢ Les templates vont permettre de personnaliser
les affichages
➢ On passe par des fonctions de thèmes ou par
des fichiers *.tpl.php
➢ Ce sont des fichiers HTML contenant des
instructions PHP
➢ Les fichiers de templates sont visualisables dans
T.P. : Templates
➢ Views fournit un moyen de surcharger ses
templates : cliquez sur Thèmes : Informations dans un affichage pour le voir
➢ L'écran suivant permet de voir les candidats, il
faut en fait tester et selon ce qui est en place sur le site en choisir un plus ou moins général
➢ Enfin en cliquant sur un des éléments, on peut
voir le code utilisé
➢ Essayez de modifier un template associé à votre
Gestion des utilisateurs
➢ Outre les rôles, on peut gérer des profils
utilisateurs, en ajoutant des champs à remplir par les utilisateurs (numéro de vini, adresse, nom,
prénom, etc)
➢ Le module Node Profile permet d'aller plus loin ➢ On peut bloquer un utilisateur
➢ Des modules permettent d'aller plus loin sur la
HTML
➢ Les images, ne pas utiliser de
redimensionnement HTML (perte de qualité, mais pas de taille fichier)
➢ Utiliser des images correctement compressées
(attention aux enregistrements Photoshop direct)
➢ Bien configurer le .htaccess : passer par Y!Slow
pour avoir des indications
Performances : valeurs préconisées
➢ En dév :
➢ Aucune optimisation, pas de cache
➢ .htaccess avec les expirations à 1s
➢ Display errors = On (php.ini)
➢ En production :
➢ Utilisation du cache normale
➢ Cache blocs activés (sauf si bloc très actifs)
➢ Optimisation CSS
➢ Optimisation JS si pas d'effet de bord, sinon sortir de l'aggrégation les JS en
cause
Procédure
➢ Un moyen simple de passer du développement
vers la production est de ne pas écraser les
données dynamiques distantes (commentaires, statistiques), il faut :
➢ Effacer les tables cache* locales
➢ Exporter la base, sauf les tables comments et access ➢ Importer le fichier résultat sur le serveur de prod
Mise à niveau de modules
➢ Dans les modules, activez Update Status
➢ Configurez le à Rapports > Available updates ➢ S'il y a des mises à jour pour certains modules ➢ Désactivez ces modules
➢ Supprimez les fichiers associés ➢ Mettez les nouveaux fichiers
➢ Activez