SlideShare une entreprise Scribd logo
31/05/2013
A la découverte de

Drupal


Claire Roubey

Architecte Drupal & Chef de projet chez Clever Age



croubey@clever-age.com
31/05/2013
2Last Friday Talk @ M6Web
1.  Présentation
2.  Drupal, pour quelle utilisation ?
3.  Aperçu des fonctionnalités
4.  Drupal, comment ça marche ?
5.  Les offres packagées
6.  Concepts avancés
7.  Le futur de Drupal
Sommaire
31/05/2013
3Last Friday Talk @ M6Web
Présentation
31/05/2013
4Last Friday Talk @ M6Web
§  Drupal est un C.M.S. libre et open-
source (licence libre GPL)
§  C’est aussi un environnement de
développement grâce à son API
(Content Management Framework)
§  Ultra-flexible grâce aux milliers de
modules disponibles
§  Une communauté extrêmement active
§  Développé en PHP
Qu’est-ce que Drupal ?
31/05/2013
5Last Friday Talk @ M6Web
Les origines de Drupal
§  Créateur : Dries Buytaert
§  Fin des années 1990 : étudiant à
l'Université d'Anvers, il entreprend de
créer un site de partage d'actualités
§  2001 : Drupal devient un logiciel libre
§  2005 : sortie de la version 4.6
§  2008 : sortie de la version 6.0
§  2009 : arrivée de « Features », un module
permettant d’augmenter
considérablement l’industrialisation
§  Janvier 2011 : sortie de la version 7.0
31/05/2013
6Last Friday Talk @ M6Web
§  Nombreux évènements
communautaires annuels
Drupal aujourd’hui
§  Drupal 7 : sortie début 2011 (actuellement 7.22)
§  Drupal 8 prévu pour 2014
§  Des millions de sites basés sur Drupal
§  22 000 modules (7500 début 2011)
§  2,5 millions de comptes drupal.org créés (1M en 2011)
§  26 000 développeurs actifs (4000 début 2011)
è son adoption partout dans le monde est en
croissance rapide
31/05/2013
7Last Friday Talk @ M6Web
Serveur : 
§  Apache (recommandé)
§  Nginx 
§  ou Microsoft IIS
PHP : 5.3 recommandé (incl. PDO)
Base de données : 
§  MySQL 5.x ou équivalent (MariaDB), 
§  PostgreSQL >=8.3, 
§  SQLite >= 3.3.7
§  Support + ou – expérimental de MongoDB, SQL
Server, Oracle
Pré-requis
31/05/2013
8Last Friday Talk @ M6Web
Drupal pour quelle utilisation ?
31/05/2013
9Last Friday Talk @ M6Web
Types de site
Drupal au coeur de la stratégie globale de
communication digitale :
§  site Web grand public
§  eCommerce
§  Social Networking
§  Intranet collaboratif / RSE
§  Web app
§  Application mobile
§  Intégration de systèmes métier (LDAP, Webservices,
…)
31/05/2013
10Last Friday Talk @ M6Web
Références
31/05/2013
11Last Friday Talk @ M6Web
Références
31/05/2013
12Last Friday Talk @ M6Web
Aperçu des fonctionnalités
31/05/2013
13Last Friday Talk @ M6Web
§  Core : fichiers du cœur de Drupal, à ne jamais modifier
§  Entité / Type de Contenu / Node
§  Taxonomie : système de catégorisation du contenu
§  Module : extension qui étend et modifie les
fonctionnalités du core de Drupal
§  Thème : aspect visuel du site
§  Blocs : éléments de contenus spécifiques, affichés dans
des régions du site
§  Régions : zones définies dans le thème contenant des
blocs
Terminologie Drupal
31/05/2013
14Last Friday Talk @ M6Web
« There is a module for that »™
Aperçu des fonctionnalités
§  Référencement
§  i18n
§  Recherche (solR)
§  E-commerce
§  Réseaux sociaux
§  Multimédia
§  etc.
§  Types de contenu
§  Catégorisation
§  Commentaires
§  Blog
§  Forum
§  RSS
§  Newsletter
Et pour des besoins très personnalisés,
il « suffit » d’en développer un !
31/05/2013
15Last Friday Talk @ M6Web
Notion de hameçon (hook)
§  Peut être comparé à des événements internes de
Drupal
§  Construction autour d’une convention de nommage
§  L’implémentation d’un hook permet de « s’attacher »
à ce qui se passe dans le reste de Drupal
§  Ex. : hook_node_delete() : un module implémentant ce
hook peut réaliser des opérations chaque fois qu’un node
est supprimé
§  Ex : hook_menu_alter() : altérer le contenu d’un menu
Modules & hooks
31/05/2013
16Last Friday Talk @ M6Web
MODULES
§  Views
§  Token
§  Pathauto
§  Features
§  Context
§  Webform
§  Global Redirect
§  Backup and Migrate
§  Devel
§  …
Modules & APIs
APIs
§  Entity API
§  Hooks API
§  Form API
§  Field API
§  Database API
§  Search API
§  …
31/05/2013
17Last Friday Talk @ M6Web
§  Permet de créer des listes de contenus
§  Gère les jointures
§  Plusieurs types de sorties possibles : page, bloc,
rss, rdf, xml, json
§  Rendu paramétrable
§  Gère les arguments
§  Gère les filtres
è C’est un des éléments clés de Drupal
Module Views
31/05/2013
18Last Friday Talk @ M6Web
§  Moteur de template PHPTemplate
§  Possibilité de créer son thème à partir de zéro ou en
partant d’un thème existant
§  Niveau « débutant » : utiliser un thème contribué (plus de
1000 sont disponibles, dont certains « colorisables »)
§  Niveau « intermédiaire » : modifier un thème existant,
notamment en créant un sous-thème, qui va hériter du
thème parent
§  Niveau « avancé » : utiliser un starter-theme ou le créer
« from scratch »
Thèmes
31/05/2013
19Last Friday Talk @ M6Web
Anatomie d’un thème
31/05/2013
20Last Friday Talk @ M6Web
Template suggestions
Template de base
block.tpl.php
Exemple de nommage de template pour les blocs
block--[region|[module|--delta]].tpl.php
Drupal choisit le template le + spécifique :
1.  block--module--delta.tpl.php
2.  block--module.tpl.php
3.  block--region.tpl.php
4. block.tpl.php
31/05/2013
21Last Friday Talk @ M6Web
Fonctions de preprocess
Chaque template peut avoir un « preprocess »
Les hooks preprocess permettent d’altérer les
variables accessibles dans le template.
Exemple, dans template.php :
mytheme_preprocess_page(&$variables)	
  {	
  
	
  	
  $variables[‘raoul’]	
  =	
  ‘test’;	
  
}	
  
è Dans page.tpl.php :
//	
  affichera	
  ‘test’	
  sur	
  toutes	
  les	
  pages	
  
print	
  $raoul;	
  
31/05/2013
22Last Friday Talk @ M6Web
§  Concept puissant et flexible de
structuration des différents
éléments de contenu d’un site
Drupal
§  La taxonomie repose sur :
§  des « termes »
§  des « vocabulaires » = groupe de
termes
§  Une taxonomie peut définir des
relations hiérarchiques entre les
termes afin de définir des
catégories et des sous-catégories
Taxonomie
31/05/2013
23Last Friday Talk @ M6Web
§  Flexibilité : architecture ultra-modulaire et périmètre
fonctionnel très large
§  SEO-friendly
§  Fiabilité (cf. les milliers de références)
§  Sécurité
§  Communauté
§  Approche full open-source
Les points forts de Drupal
31/05/2013
24Last Friday Talk @ M6Web
§  Beaucoup (trop ?) de
modules
§  Courbe d'apprentissage non
négligeable
§  Pas de modèle objet
§  Problèmes potentiels de
performances si mal conçu
Les points faibles
31/05/2013
25Last Friday Talk @ M6Web
Drupal,
comment ça
marche ?

(demo live)
31/05/2013
26Last Friday Talk @ M6Web
Les offres packagées
31/05/2013
27Last Friday Talk @ M6Web
Distribution
=
Drupal Core
+
fonctionnalités additionnelles :
thèmes, modules, librairies, profils d’installation,
etc.
Les offres packagées
31/05/2013
28Last Friday Talk @ M6Web
Distributions « intégrales », orientées métier :
§  Commerce Kickstart (Drupal Commerce)
§  OpenPublish: site médias
§  OpenAtrium : « intranet in a box »
§  OpenScholar : sites universitaires
§  Drupal Commons : communautés intranet / extranet
Distributions « quick-start » : pour développeurs
§  Acquia Drupal
§  Panopoly
§  Pressflow, etc.
2 types de distributions
31/05/2013
29Last Friday Talk @ M6Web
Concepts avancés
31/05/2013
30Last Friday Talk @ M6Web
Features est une API
permettant de packager des
paramètres « exportables » :
§  Types de contenus
§  Views
§  Permissions
§  Roles
§  Taxonomy
§  Blocs
§  Contextes
§  Menus
§  Presets d’image…
Le paramétrage peut ainsi être
packagé, versionné, déployé.
Industrialisation avec Features
31/05/2013
31Last Friday Talk @ M6Web
Solution 1 : Feeds
§  un moteur générique d’aggrégation de données
§  Nombreux format d’import : CSV, RSS, OPML,
PubSubHubbub
§  Mapping des champs en BO
§  Module feeds_tamper : filtre sur les données avant
import
§  Intégré à Batch API (mais performances limitées si
gros volume)
Import de données 1/2
31/05/2013
32Last Friday Talk @ M6Web
Solution 2 : Migrate
§  Formats d’entrées : SQL, CSV, XML, JSON, etc.
§  Gestion des structures de données complexes
(gestion des dépendances)
§  Intégré à Drush (pour intégrer la migration dans un
script de déploiement par ex.)
§  Très performant
§  Mais presque pas d’UI (définition des classes
Migration dans un module custom)
Import de données 2/2
31/05/2013
33Last Friday Talk @ M6Web
Plusieurs solutions
1.  Installations séparées, gérées par ex. avec Aegir
2.  Installations séparées, mais configuration gérée via
Features
3.  Architecture Multi-sites : 1 seul Drupal, n bases de
données
4.  Module Domain Access : 1 seul Drupal, 1 seule base de
données, sur n noms de domaine
+ d’infos sur http://www.palantir.net/blog/multi-headed-drupal
Multi-sites & Usines à sites
31/05/2013
34Last Friday Talk @ M6Web
Architecture Multi-sites
31/05/2013
35Last Friday Talk @ M6Web
Pseudo Multi-sites avec Domain Access
31/05/2013
36Last Friday Talk @ M6Web
Le futur de Drupal
31/05/2013
37Last Friday Talk @ M6Web
Drupal 8
Sortie de Drupal 8 prévue fin 2013
MAIS
Il faudra attendre fin 2014 pour avoir une base
solide de modules contribués portés en D8
31/05/2013
38Last Friday Talk @ M6Web
Principales avancées de Drupal 8
§  Twig comme moteur de template
§  HTML5, « Mobile First »
§  WYSIWYG, CKEditor et In-Place Editing
§  Amélioration de l’i18n
§  Gestion de la configuration via fichiers YAML =>
processus de déploiements facilités
§  Symfony 2 :
§  injection de dépendance
§  mise en cache d'une page Web par blocs avec le composant ESI
de Symfony
§  Web Services gérés désormais via Symfony
31/05/2013
39Last Friday Talk @ M6Web
Drupal est un C.M.S. gratuit reposant
sur une base communautaire solide
Sa flexibilité́ lui permet de répondre
aux besoins de tous les types de site
Son architecture évolutive permet
l'enrichissement fonctionnel au fil
de l’évolution de vos besoins
Synthèse
31/05/2013
40Last Friday Talk @ M6Web
Des questions ?
Clever Age
29 rue Flandin 69003 Lyon
www.clever-age.com
04 78 89 46 45
commercial@clever-age.com
technique@clever-age.com

Contenu connexe

Tendances

Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)
Alexandre Marie
 
Drupagora linagora-20111110
Drupagora linagora-20111110Drupagora linagora-20111110
Drupagora linagora-20111110
Michel-Marie Maudet
 
Séminaire Drupal 8
Séminaire Drupal 8Séminaire Drupal 8
Séminaire Drupal 8
Vincent Maucorps
 
Construire un site de presse avec Wordpress ?
Construire un site de presse avec Wordpress ?Construire un site de presse avec Wordpress ?
Construire un site de presse avec Wordpress ?
Benjamin LUPU
 
Le poste de travail Libre
Le poste de travail LibreLe poste de travail Libre
Le poste de travail Libre
LINAGORA
 
L'agenda d'OBM 2.4, cas d'utilisations avancés
L'agenda d'OBM 2.4, cas d'utilisations avancés L'agenda d'OBM 2.4, cas d'utilisations avancés
L'agenda d'OBM 2.4, cas d'utilisations avancés
LINAGORA
 
Drupal - La puissance de Drush
Drupal - La puissance de DrushDrupal - La puissance de Drush
Drupal - La puissance de Drush
Alexandre Marie
 
Tour d'horizon des CMS Open Source
Tour d'horizon des CMS Open SourceTour d'horizon des CMS Open Source
Tour d'horizon des CMS Open Source
Yannick Pavard
 
Drink 'n' Drupal Lille nov. 2013
Drink 'n' Drupal Lille nov. 2013Drink 'n' Drupal Lille nov. 2013
Drink 'n' Drupal Lille nov. 2013
Romain Jarraud
 
DrupalCamp Paris 2013 - Drupal un cms oriente metier
DrupalCamp Paris 2013 - Drupal un cms oriente metierDrupalCamp Paris 2013 - Drupal un cms oriente metier
DrupalCamp Paris 2013 - Drupal un cms oriente metier
Romain Jarraud
 
Présentation de Drupal
Présentation de DrupalPrésentation de Drupal
Présentation de Drupal
Adyax
 
Présentation de la roadmap OBM, 28 août 2012
Présentation de la roadmap OBM, 28 août 2012Présentation de la roadmap OBM, 28 août 2012
Présentation de la roadmap OBM, 28 août 2012
LINAGORA
 
Présentation de la nouvelle version de Mozilla Thunderbird
Présentation de la nouvelle version de Mozilla ThunderbirdPrésentation de la nouvelle version de Mozilla Thunderbird
Présentation de la nouvelle version de Mozilla Thunderbird
LINAGORA
 
Drupal n'est pas seulement un CMS
Drupal n'est pas seulement un CMSDrupal n'est pas seulement un CMS
Drupal n'est pas seulement un CMS
Adyax
 
Support Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSupport Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutant
SmartnSkilled
 
HTML5, le web de demain - BNSA
HTML5, le web de demain - BNSAHTML5, le web de demain - BNSA
HTML5, le web de demain - BNSA
BNSA - Aquitaine
 
Conférence Drupl Lyon : de l’Open source aux CMS : similitudes et différences
Conférence Drupl Lyon :  de l’Open source aux CMS : similitudes et différencesConférence Drupl Lyon :  de l’Open source aux CMS : similitudes et différences
Conférence Drupl Lyon : de l’Open source aux CMS : similitudes et différences
Paul Blondiaux
 
Présentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysPrésentation Drupal - Global Training Days
Présentation Drupal - Global Training Days
ALTER WAY
 
Présentation de Drupal
Présentation de DrupalPrésentation de Drupal
Présentation de Drupal
Stéphane Jaulin
 

Tendances (20)

Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)
 
Drupagora linagora-20111110
Drupagora linagora-20111110Drupagora linagora-20111110
Drupagora linagora-20111110
 
Séminaire Drupal 8
Séminaire Drupal 8Séminaire Drupal 8
Séminaire Drupal 8
 
Construire un site de presse avec Wordpress ?
Construire un site de presse avec Wordpress ?Construire un site de presse avec Wordpress ?
Construire un site de presse avec Wordpress ?
 
Le poste de travail Libre
Le poste de travail LibreLe poste de travail Libre
Le poste de travail Libre
 
L'agenda d'OBM 2.4, cas d'utilisations avancés
L'agenda d'OBM 2.4, cas d'utilisations avancés L'agenda d'OBM 2.4, cas d'utilisations avancés
L'agenda d'OBM 2.4, cas d'utilisations avancés
 
Drupal - La puissance de Drush
Drupal - La puissance de DrushDrupal - La puissance de Drush
Drupal - La puissance de Drush
 
Tour d'horizon des CMS Open Source
Tour d'horizon des CMS Open SourceTour d'horizon des CMS Open Source
Tour d'horizon des CMS Open Source
 
Drink 'n' Drupal Lille nov. 2013
Drink 'n' Drupal Lille nov. 2013Drink 'n' Drupal Lille nov. 2013
Drink 'n' Drupal Lille nov. 2013
 
DrupalCamp Paris 2013 - Drupal un cms oriente metier
DrupalCamp Paris 2013 - Drupal un cms oriente metierDrupalCamp Paris 2013 - Drupal un cms oriente metier
DrupalCamp Paris 2013 - Drupal un cms oriente metier
 
Cms oss-27012006
Cms oss-27012006Cms oss-27012006
Cms oss-27012006
 
Présentation de Drupal
Présentation de DrupalPrésentation de Drupal
Présentation de Drupal
 
Présentation de la roadmap OBM, 28 août 2012
Présentation de la roadmap OBM, 28 août 2012Présentation de la roadmap OBM, 28 août 2012
Présentation de la roadmap OBM, 28 août 2012
 
Présentation de la nouvelle version de Mozilla Thunderbird
Présentation de la nouvelle version de Mozilla ThunderbirdPrésentation de la nouvelle version de Mozilla Thunderbird
Présentation de la nouvelle version de Mozilla Thunderbird
 
Drupal n'est pas seulement un CMS
Drupal n'est pas seulement un CMSDrupal n'est pas seulement un CMS
Drupal n'est pas seulement un CMS
 
Support Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSupport Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutant
 
HTML5, le web de demain - BNSA
HTML5, le web de demain - BNSAHTML5, le web de demain - BNSA
HTML5, le web de demain - BNSA
 
Conférence Drupl Lyon : de l’Open source aux CMS : similitudes et différences
Conférence Drupl Lyon :  de l’Open source aux CMS : similitudes et différencesConférence Drupl Lyon :  de l’Open source aux CMS : similitudes et différences
Conférence Drupl Lyon : de l’Open source aux CMS : similitudes et différences
 
Présentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysPrésentation Drupal - Global Training Days
Présentation Drupal - Global Training Days
 
Présentation de Drupal
Présentation de DrupalPrésentation de Drupal
Présentation de Drupal
 

En vedette

Segunda Parte Solemne 2
Segunda Parte Solemne 2Segunda Parte Solemne 2
Segunda Parte Solemne 2
guestf31bf08d
 
Hi St Or Ia De L I Nt Er Ne T
Hi St Or Ia De L I Nt Er Ne THi St Or Ia De L I Nt Er Ne T
Hi St Or Ia De L I Nt Er Ne T
DeLeInMa
 
Les projets de MMM
Les projets de MMMLes projets de MMM
Les projets de MMM
Medmultimed
 
el poder mediático
el poder mediáticoel poder mediático
el poder mediático
guest0c90808
 
Limpieza De Imagen
Limpieza De ImagenLimpieza De Imagen
Limpieza De Imagen
hugovilar
 
Ley de Propiedad Intelectual
Ley de Propiedad IntelectualLey de Propiedad Intelectual
Ley de Propiedad Intelectual
Yaram
 
Herramienta de creación de contenido educativo
Herramienta de creación de contenido educativoHerramienta de creación de contenido educativo
Herramienta de creación de contenido educativo
Heydi Vásquez
 
Animales
AnimalesAnimales
Animales
guestce3acf
 
CAESARAUGUSTA
CAESARAUGUSTACAESARAUGUSTA
CAESARAUGUSTA
kris_laia
 
Leucemia1
Leucemia1Leucemia1
Leucemia1
MarianaRachel
 
24 Fe Jesus Leccion 4
24 Fe Jesus Leccion 424 Fe Jesus Leccion 4
24 Fe Jesus Leccion 4
Enrique Guzman
 
LA POLÉMICA MUSICAL DE ROUSSEAU
LA POLÉMICA MUSICAL DE ROUSSEAULA POLÉMICA MUSICAL DE ROUSSEAU
LA POLÉMICA MUSICAL DE ROUSSEAU
juliopremsa
 
Microsoft Word ErmitañO
Microsoft Word   ErmitañOMicrosoft Word   ErmitañO
Microsoft Word ErmitañO
guest83878f
 
La Seguridad En Internet An A Maria Ruifernandez
La Seguridad En Internet An A Maria RuifernandezLa Seguridad En Internet An A Maria Ruifernandez
La Seguridad En Internet An A Maria Ruifernandez
anadescaro
 
Le programme CAPACITES du 7ème PCRD
Le programme CAPACITES du 7ème PCRDLe programme CAPACITES du 7ème PCRD
Le programme CAPACITES du 7ème PCRD
MONIN
 
Escudo De Andalucia Capitulo 3
Escudo De Andalucia Capitulo 3Escudo De Andalucia Capitulo 3
Escudo De Andalucia Capitulo 3
cosasdeandalucia
 
Teoria Matematica
Teoria MatematicaTeoria Matematica
Teoria Matematica
Ya_ultima_mohicana
 

En vedette (20)

Segunda Parte Solemne 2
Segunda Parte Solemne 2Segunda Parte Solemne 2
Segunda Parte Solemne 2
 
Hi St Or Ia De L I Nt Er Ne T
Hi St Or Ia De L I Nt Er Ne THi St Or Ia De L I Nt Er Ne T
Hi St Or Ia De L I Nt Er Ne T
 
Les projets de MMM
Les projets de MMMLes projets de MMM
Les projets de MMM
 
Portfolio Betc
Portfolio BetcPortfolio Betc
Portfolio Betc
 
el poder mediático
el poder mediáticoel poder mediático
el poder mediático
 
Limpieza De Imagen
Limpieza De ImagenLimpieza De Imagen
Limpieza De Imagen
 
Ley de Propiedad Intelectual
Ley de Propiedad IntelectualLey de Propiedad Intelectual
Ley de Propiedad Intelectual
 
Herramienta de creación de contenido educativo
Herramienta de creación de contenido educativoHerramienta de creación de contenido educativo
Herramienta de creación de contenido educativo
 
Une seconde avant
Une seconde avantUne seconde avant
Une seconde avant
 
Animales
AnimalesAnimales
Animales
 
CAESARAUGUSTA
CAESARAUGUSTACAESARAUGUSTA
CAESARAUGUSTA
 
Leucemia1
Leucemia1Leucemia1
Leucemia1
 
24 Fe Jesus Leccion 4
24 Fe Jesus Leccion 424 Fe Jesus Leccion 4
24 Fe Jesus Leccion 4
 
LA POLÉMICA MUSICAL DE ROUSSEAU
LA POLÉMICA MUSICAL DE ROUSSEAULA POLÉMICA MUSICAL DE ROUSSEAU
LA POLÉMICA MUSICAL DE ROUSSEAU
 
Microsoft Word ErmitañO
Microsoft Word   ErmitañOMicrosoft Word   ErmitañO
Microsoft Word ErmitañO
 
La Seguridad En Internet An A Maria Ruifernandez
La Seguridad En Internet An A Maria RuifernandezLa Seguridad En Internet An A Maria Ruifernandez
La Seguridad En Internet An A Maria Ruifernandez
 
Le programme CAPACITES du 7ème PCRD
Le programme CAPACITES du 7ème PCRDLe programme CAPACITES du 7ème PCRD
Le programme CAPACITES du 7ème PCRD
 
Escudo De Andalucia Capitulo 3
Escudo De Andalucia Capitulo 3Escudo De Andalucia Capitulo 3
Escudo De Andalucia Capitulo 3
 
Pres Nueva
Pres NuevaPres Nueva
Pres Nueva
 
Teoria Matematica
Teoria MatematicaTeoria Matematica
Teoria Matematica
 

Similaire à A la découverte de Drupal

Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Pierre Ternon
 
Alphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm
 
Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch
ALTER WAY
 
Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)
Nicolas Morin
 
Drupal7 presentation fr
Drupal7 presentation frDrupal7 presentation fr
Drupal7 presentation fr
eddy_mitchou
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tous
jwajsberg
 
Drupal en bibliothèque (2009)
Drupal en bibliothèque (2009)Drupal en bibliothèque (2009)
Drupal en bibliothèque (2009)
Nicolas Morin
 
Drupagora - Les clés de la réussite d'un projet Drupal
Drupagora - Les clés de la réussite d'un projet DrupalDrupagora - Les clés de la réussite d'un projet Drupal
Drupagora - Les clés de la réussite d'un projet Drupal
Core-Techs
 
Univ TYPO3 2012 - TYPO3 vs Drupal
Univ TYPO3 2012 - TYPO3 vs DrupalUniv TYPO3 2012 - TYPO3 vs Drupal
Univ TYPO3 2012 - TYPO3 vs Drupal
archriss
 
Architecture des types de contenu : ce qui a changé en Drupal 7
Architecture des types de contenu : ce qui a changé en Drupal 7Architecture des types de contenu : ce qui a changé en Drupal 7
Architecture des types de contenu : ce qui a changé en Drupal 7
slybud
 
SAS Forum Soft Computing Théâtre
SAS Forum Soft Computing ThéâtreSAS Forum Soft Computing Théâtre
SAS Forum Soft Computing Théâtre
Soft Computing
 
CV_Youssouph_BARRY_DRUPAL
CV_Youssouph_BARRY_DRUPALCV_Youssouph_BARRY_DRUPAL
CV_Youssouph_BARRY_DRUPAL
Youssouph Barry
 
TechDays 2014 : Cloud Azure – Services de données et bonnes pratiques
TechDays 2014 : Cloud Azure – Services de données et bonnes pratiquesTechDays 2014 : Cloud Azure – Services de données et bonnes pratiques
TechDays 2014 : Cloud Azure – Services de données et bonnes pratiques
MCKLMT
 
Integration Drupal systemes d'informations
Integration Drupal systemes d'informationsIntegration Drupal systemes d'informations
Integration Drupal systemes d'informations
neuros
 
De l’open source à l’open cloud
De l’open source à l’open cloudDe l’open source à l’open cloud
De l’open source à l’open cloud
Robert Viseur
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
Blandine Larbret
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
Lilia Sfaxi
 
Référencement et Web Sémantique SMX Paris 2013
Référencement et Web Sémantique SMX Paris 2013Référencement et Web Sémantique SMX Paris 2013
Référencement et Web Sémantique SMX Paris 2013
David Degrelle - Consultant SEO Expert
 
Referencement semantique-smx-paris-2013 Par David Degrelle
Referencement semantique-smx-paris-2013 Par David Degrelle Referencement semantique-smx-paris-2013 Par David Degrelle
Referencement semantique-smx-paris-2013 Par David Degrelle
Guillaume Eouzan
 
AquaBrowser - fonctionnalités, mise en place, apports aux usagers
AquaBrowser - fonctionnalités, mise en place, apports aux usagersAquaBrowser - fonctionnalités, mise en place, apports aux usagers
AquaBrowser - fonctionnalités, mise en place, apports aux usagers
Aurélie Duclos
 

Similaire à A la découverte de Drupal (20)

Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
 
Alphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateur
 
Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch
 
Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)
 
Drupal7 presentation fr
Drupal7 presentation frDrupal7 presentation fr
Drupal7 presentation fr
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tous
 
Drupal en bibliothèque (2009)
Drupal en bibliothèque (2009)Drupal en bibliothèque (2009)
Drupal en bibliothèque (2009)
 
Drupagora - Les clés de la réussite d'un projet Drupal
Drupagora - Les clés de la réussite d'un projet DrupalDrupagora - Les clés de la réussite d'un projet Drupal
Drupagora - Les clés de la réussite d'un projet Drupal
 
Univ TYPO3 2012 - TYPO3 vs Drupal
Univ TYPO3 2012 - TYPO3 vs DrupalUniv TYPO3 2012 - TYPO3 vs Drupal
Univ TYPO3 2012 - TYPO3 vs Drupal
 
Architecture des types de contenu : ce qui a changé en Drupal 7
Architecture des types de contenu : ce qui a changé en Drupal 7Architecture des types de contenu : ce qui a changé en Drupal 7
Architecture des types de contenu : ce qui a changé en Drupal 7
 
SAS Forum Soft Computing Théâtre
SAS Forum Soft Computing ThéâtreSAS Forum Soft Computing Théâtre
SAS Forum Soft Computing Théâtre
 
CV_Youssouph_BARRY_DRUPAL
CV_Youssouph_BARRY_DRUPALCV_Youssouph_BARRY_DRUPAL
CV_Youssouph_BARRY_DRUPAL
 
TechDays 2014 : Cloud Azure – Services de données et bonnes pratiques
TechDays 2014 : Cloud Azure – Services de données et bonnes pratiquesTechDays 2014 : Cloud Azure – Services de données et bonnes pratiques
TechDays 2014 : Cloud Azure – Services de données et bonnes pratiques
 
Integration Drupal systemes d'informations
Integration Drupal systemes d'informationsIntegration Drupal systemes d'informations
Integration Drupal systemes d'informations
 
De l’open source à l’open cloud
De l’open source à l’open cloudDe l’open source à l’open cloud
De l’open source à l’open cloud
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Référencement et Web Sémantique SMX Paris 2013
Référencement et Web Sémantique SMX Paris 2013Référencement et Web Sémantique SMX Paris 2013
Référencement et Web Sémantique SMX Paris 2013
 
Referencement semantique-smx-paris-2013 Par David Degrelle
Referencement semantique-smx-paris-2013 Par David Degrelle Referencement semantique-smx-paris-2013 Par David Degrelle
Referencement semantique-smx-paris-2013 Par David Degrelle
 
AquaBrowser - fonctionnalités, mise en place, apports aux usagers
AquaBrowser - fonctionnalités, mise en place, apports aux usagersAquaBrowser - fonctionnalités, mise en place, apports aux usagers
AquaBrowser - fonctionnalités, mise en place, apports aux usagers
 

A la découverte de Drupal

  • 1. 31/05/2013 A la découverte de
 Drupal 
 Claire Roubey
 Architecte Drupal & Chef de projet chez Clever Age
 
 croubey@clever-age.com
  • 2. 31/05/2013 2Last Friday Talk @ M6Web 1.  Présentation 2.  Drupal, pour quelle utilisation ? 3.  Aperçu des fonctionnalités 4.  Drupal, comment ça marche ? 5.  Les offres packagées 6.  Concepts avancés 7.  Le futur de Drupal Sommaire
  • 3. 31/05/2013 3Last Friday Talk @ M6Web Présentation
  • 4. 31/05/2013 4Last Friday Talk @ M6Web §  Drupal est un C.M.S. libre et open- source (licence libre GPL) §  C’est aussi un environnement de développement grâce à son API (Content Management Framework) §  Ultra-flexible grâce aux milliers de modules disponibles §  Une communauté extrêmement active §  Développé en PHP Qu’est-ce que Drupal ?
  • 5. 31/05/2013 5Last Friday Talk @ M6Web Les origines de Drupal §  Créateur : Dries Buytaert §  Fin des années 1990 : étudiant à l'Université d'Anvers, il entreprend de créer un site de partage d'actualités §  2001 : Drupal devient un logiciel libre §  2005 : sortie de la version 4.6 §  2008 : sortie de la version 6.0 §  2009 : arrivée de « Features », un module permettant d’augmenter considérablement l’industrialisation §  Janvier 2011 : sortie de la version 7.0
  • 6. 31/05/2013 6Last Friday Talk @ M6Web §  Nombreux évènements communautaires annuels Drupal aujourd’hui §  Drupal 7 : sortie début 2011 (actuellement 7.22) §  Drupal 8 prévu pour 2014 §  Des millions de sites basés sur Drupal §  22 000 modules (7500 début 2011) §  2,5 millions de comptes drupal.org créés (1M en 2011) §  26 000 développeurs actifs (4000 début 2011) è son adoption partout dans le monde est en croissance rapide
  • 7. 31/05/2013 7Last Friday Talk @ M6Web Serveur : §  Apache (recommandé) §  Nginx §  ou Microsoft IIS PHP : 5.3 recommandé (incl. PDO) Base de données : §  MySQL 5.x ou équivalent (MariaDB), §  PostgreSQL >=8.3, §  SQLite >= 3.3.7 §  Support + ou – expérimental de MongoDB, SQL Server, Oracle Pré-requis
  • 8. 31/05/2013 8Last Friday Talk @ M6Web Drupal pour quelle utilisation ?
  • 9. 31/05/2013 9Last Friday Talk @ M6Web Types de site Drupal au coeur de la stratégie globale de communication digitale : §  site Web grand public §  eCommerce §  Social Networking §  Intranet collaboratif / RSE §  Web app §  Application mobile §  Intégration de systèmes métier (LDAP, Webservices, …)
  • 10. 31/05/2013 10Last Friday Talk @ M6Web Références
  • 11. 31/05/2013 11Last Friday Talk @ M6Web Références
  • 12. 31/05/2013 12Last Friday Talk @ M6Web Aperçu des fonctionnalités
  • 13. 31/05/2013 13Last Friday Talk @ M6Web §  Core : fichiers du cœur de Drupal, à ne jamais modifier §  Entité / Type de Contenu / Node §  Taxonomie : système de catégorisation du contenu §  Module : extension qui étend et modifie les fonctionnalités du core de Drupal §  Thème : aspect visuel du site §  Blocs : éléments de contenus spécifiques, affichés dans des régions du site §  Régions : zones définies dans le thème contenant des blocs Terminologie Drupal
  • 14. 31/05/2013 14Last Friday Talk @ M6Web « There is a module for that »™ Aperçu des fonctionnalités §  Référencement §  i18n §  Recherche (solR) §  E-commerce §  Réseaux sociaux §  Multimédia §  etc. §  Types de contenu §  Catégorisation §  Commentaires §  Blog §  Forum §  RSS §  Newsletter Et pour des besoins très personnalisés, il « suffit » d’en développer un !
  • 15. 31/05/2013 15Last Friday Talk @ M6Web Notion de hameçon (hook) §  Peut être comparé à des événements internes de Drupal §  Construction autour d’une convention de nommage §  L’implémentation d’un hook permet de « s’attacher » à ce qui se passe dans le reste de Drupal §  Ex. : hook_node_delete() : un module implémentant ce hook peut réaliser des opérations chaque fois qu’un node est supprimé §  Ex : hook_menu_alter() : altérer le contenu d’un menu Modules & hooks
  • 16. 31/05/2013 16Last Friday Talk @ M6Web MODULES §  Views §  Token §  Pathauto §  Features §  Context §  Webform §  Global Redirect §  Backup and Migrate §  Devel §  … Modules & APIs APIs §  Entity API §  Hooks API §  Form API §  Field API §  Database API §  Search API §  …
  • 17. 31/05/2013 17Last Friday Talk @ M6Web §  Permet de créer des listes de contenus §  Gère les jointures §  Plusieurs types de sorties possibles : page, bloc, rss, rdf, xml, json §  Rendu paramétrable §  Gère les arguments §  Gère les filtres è C’est un des éléments clés de Drupal Module Views
  • 18. 31/05/2013 18Last Friday Talk @ M6Web §  Moteur de template PHPTemplate §  Possibilité de créer son thème à partir de zéro ou en partant d’un thème existant §  Niveau « débutant » : utiliser un thème contribué (plus de 1000 sont disponibles, dont certains « colorisables ») §  Niveau « intermédiaire » : modifier un thème existant, notamment en créant un sous-thème, qui va hériter du thème parent §  Niveau « avancé » : utiliser un starter-theme ou le créer « from scratch » Thèmes
  • 19. 31/05/2013 19Last Friday Talk @ M6Web Anatomie d’un thème
  • 20. 31/05/2013 20Last Friday Talk @ M6Web Template suggestions Template de base block.tpl.php Exemple de nommage de template pour les blocs block--[region|[module|--delta]].tpl.php Drupal choisit le template le + spécifique : 1.  block--module--delta.tpl.php 2.  block--module.tpl.php 3.  block--region.tpl.php 4. block.tpl.php
  • 21. 31/05/2013 21Last Friday Talk @ M6Web Fonctions de preprocess Chaque template peut avoir un « preprocess » Les hooks preprocess permettent d’altérer les variables accessibles dans le template. Exemple, dans template.php : mytheme_preprocess_page(&$variables)  {      $variables[‘raoul’]  =  ‘test’;   }   è Dans page.tpl.php : //  affichera  ‘test’  sur  toutes  les  pages   print  $raoul;  
  • 22. 31/05/2013 22Last Friday Talk @ M6Web §  Concept puissant et flexible de structuration des différents éléments de contenu d’un site Drupal §  La taxonomie repose sur : §  des « termes » §  des « vocabulaires » = groupe de termes §  Une taxonomie peut définir des relations hiérarchiques entre les termes afin de définir des catégories et des sous-catégories Taxonomie
  • 23. 31/05/2013 23Last Friday Talk @ M6Web §  Flexibilité : architecture ultra-modulaire et périmètre fonctionnel très large §  SEO-friendly §  Fiabilité (cf. les milliers de références) §  Sécurité §  Communauté §  Approche full open-source Les points forts de Drupal
  • 24. 31/05/2013 24Last Friday Talk @ M6Web §  Beaucoup (trop ?) de modules §  Courbe d'apprentissage non négligeable §  Pas de modèle objet §  Problèmes potentiels de performances si mal conçu Les points faibles
  • 25. 31/05/2013 25Last Friday Talk @ M6Web Drupal, comment ça marche ? (demo live)
  • 26. 31/05/2013 26Last Friday Talk @ M6Web Les offres packagées
  • 27. 31/05/2013 27Last Friday Talk @ M6Web Distribution = Drupal Core + fonctionnalités additionnelles : thèmes, modules, librairies, profils d’installation, etc. Les offres packagées
  • 28. 31/05/2013 28Last Friday Talk @ M6Web Distributions « intégrales », orientées métier : §  Commerce Kickstart (Drupal Commerce) §  OpenPublish: site médias §  OpenAtrium : « intranet in a box » §  OpenScholar : sites universitaires §  Drupal Commons : communautés intranet / extranet Distributions « quick-start » : pour développeurs §  Acquia Drupal §  Panopoly §  Pressflow, etc. 2 types de distributions
  • 29. 31/05/2013 29Last Friday Talk @ M6Web Concepts avancés
  • 30. 31/05/2013 30Last Friday Talk @ M6Web Features est une API permettant de packager des paramètres « exportables » : §  Types de contenus §  Views §  Permissions §  Roles §  Taxonomy §  Blocs §  Contextes §  Menus §  Presets d’image… Le paramétrage peut ainsi être packagé, versionné, déployé. Industrialisation avec Features
  • 31. 31/05/2013 31Last Friday Talk @ M6Web Solution 1 : Feeds §  un moteur générique d’aggrégation de données §  Nombreux format d’import : CSV, RSS, OPML, PubSubHubbub §  Mapping des champs en BO §  Module feeds_tamper : filtre sur les données avant import §  Intégré à Batch API (mais performances limitées si gros volume) Import de données 1/2
  • 32. 31/05/2013 32Last Friday Talk @ M6Web Solution 2 : Migrate §  Formats d’entrées : SQL, CSV, XML, JSON, etc. §  Gestion des structures de données complexes (gestion des dépendances) §  Intégré à Drush (pour intégrer la migration dans un script de déploiement par ex.) §  Très performant §  Mais presque pas d’UI (définition des classes Migration dans un module custom) Import de données 2/2
  • 33. 31/05/2013 33Last Friday Talk @ M6Web Plusieurs solutions 1.  Installations séparées, gérées par ex. avec Aegir 2.  Installations séparées, mais configuration gérée via Features 3.  Architecture Multi-sites : 1 seul Drupal, n bases de données 4.  Module Domain Access : 1 seul Drupal, 1 seule base de données, sur n noms de domaine + d’infos sur http://www.palantir.net/blog/multi-headed-drupal Multi-sites & Usines à sites
  • 34. 31/05/2013 34Last Friday Talk @ M6Web Architecture Multi-sites
  • 35. 31/05/2013 35Last Friday Talk @ M6Web Pseudo Multi-sites avec Domain Access
  • 36. 31/05/2013 36Last Friday Talk @ M6Web Le futur de Drupal
  • 37. 31/05/2013 37Last Friday Talk @ M6Web Drupal 8 Sortie de Drupal 8 prévue fin 2013 MAIS Il faudra attendre fin 2014 pour avoir une base solide de modules contribués portés en D8
  • 38. 31/05/2013 38Last Friday Talk @ M6Web Principales avancées de Drupal 8 §  Twig comme moteur de template §  HTML5, « Mobile First » §  WYSIWYG, CKEditor et In-Place Editing §  Amélioration de l’i18n §  Gestion de la configuration via fichiers YAML => processus de déploiements facilités §  Symfony 2 : §  injection de dépendance §  mise en cache d'une page Web par blocs avec le composant ESI de Symfony §  Web Services gérés désormais via Symfony
  • 39. 31/05/2013 39Last Friday Talk @ M6Web Drupal est un C.M.S. gratuit reposant sur une base communautaire solide Sa flexibilité́ lui permet de répondre aux besoins de tous les types de site Son architecture évolutive permet l'enrichissement fonctionnel au fil de l’évolution de vos besoins Synthèse
  • 40. 31/05/2013 40Last Friday Talk @ M6Web Des questions ? Clever Age 29 rue Flandin 69003 Lyon www.clever-age.com 04 78 89 46 45 commercial@clever-age.com technique@clever-age.com