31/05/2013A la découverte de
Drupal
Claire Roubey
Architecte Drupal & Chef de projet chez Clever Age

croubey@clever-age.com
31/05/20132Last Friday Talk @ M6Web1.  Présentation2.  Drupal, pour quelle utilisation ?3.  Aperçu des fonctionnalités4.  ...
31/05/20133Last Friday Talk @ M6WebPrésentation
31/05/20134Last Friday Talk @ M6Web§  Drupal est un C.M.S. libre et open-source (licence libre GPL)§  C’est aussi un env...
31/05/20135Last Friday Talk @ M6WebLes origines de Drupal§  Créateur : Dries Buytaert§  Fin des années 1990 : étudiant à...
31/05/20136Last Friday Talk @ M6Web§  Nombreux évènementscommunautaires annuelsDrupal aujourd’hui§  Drupal 7 : sortie dé...
31/05/20137Last Friday Talk @ M6WebServeur : §  Apache (recommandé)§  Nginx §  ou Microsoft IISPHP : 5.3 recommandé (in...
31/05/20138Last Friday Talk @ M6WebDrupal pour quelle utilisation ?
31/05/20139Last Friday Talk @ M6WebTypes de siteDrupal au coeur de la stratégie globale decommunication digitale :§  site...
31/05/201310Last Friday Talk @ M6WebRéférences
31/05/201311Last Friday Talk @ M6WebRéférences
31/05/201312Last Friday Talk @ M6WebAperçu des fonctionnalités
31/05/201313Last Friday Talk @ M6Web§  Core : fichiers du cœur de Drupal, à ne jamais modifier§  Entité / Type de Conten...
31/05/201314Last Friday Talk @ M6Web« There is a module for that »™Aperçu des fonctionnalités§  Référencement§  i18n§  ...
31/05/201315Last Friday Talk @ M6WebNotion de hameçon (hook)§  Peut être comparé à des événements internes deDrupal§  Co...
31/05/201316Last Friday Talk @ M6WebMODULES§  Views§  Token§  Pathauto§  Features§  Context§  Webform§  Global Redi...
31/05/201317Last Friday Talk @ M6Web§  Permet de créer des listes de contenus§  Gère les jointures§  Plusieurs types de...
31/05/201318Last Friday Talk @ M6Web§  Moteur de template PHPTemplate§  Possibilité de créer son thème à partir de zéro ...
31/05/201319Last Friday Talk @ M6WebAnatomie d’un thème
31/05/201320Last Friday Talk @ M6WebTemplate suggestionsTemplate de baseblock.tpl.phpExemple de nommage de template pour l...
31/05/201321Last Friday Talk @ M6WebFonctions de preprocessChaque template peut avoir un « preprocess »Les hooks preproces...
31/05/201322Last Friday Talk @ M6Web§  Concept puissant et flexible destructuration des différentséléments de contenu d’u...
31/05/201323Last Friday Talk @ M6Web§  Flexibilité : architecture ultra-modulaire et périmètrefonctionnel très large§  S...
31/05/201324Last Friday Talk @ M6Web§  Beaucoup (trop ?) demodules§  Courbe dapprentissage nonnégligeable§  Pas de modè...
31/05/201325Last Friday Talk @ M6WebDrupal,comment çamarche ?(demo live)
31/05/201326Last Friday Talk @ M6WebLes offres packagées
31/05/201327Last Friday Talk @ M6WebDistribution=Drupal Core+fonctionnalités additionnelles :thèmes, modules, librairies, ...
31/05/201328Last Friday Talk @ M6WebDistributions « intégrales », orientées métier :§  Commerce Kickstart (Drupal Commerc...
31/05/201329Last Friday Talk @ M6WebConcepts avancés
31/05/201330Last Friday Talk @ M6WebFeatures est une APIpermettant de packager desparamètres « exportables » :§  Types de...
31/05/201331Last Friday Talk @ M6WebSolution 1 : Feeds§  un moteur générique d’aggrégation de données§  Nombreux format ...
31/05/201332Last Friday Talk @ M6WebSolution 2 : Migrate§  Formats d’entrées : SQL, CSV, XML, JSON, etc.§  Gestion des s...
31/05/201333Last Friday Talk @ M6WebPlusieurs solutions1.  Installations séparées, gérées par ex. avec Aegir2.  Installati...
31/05/201334Last Friday Talk @ M6WebArchitecture Multi-sites
31/05/201335Last Friday Talk @ M6WebPseudo Multi-sites avec Domain Access
31/05/201336Last Friday Talk @ M6WebLe futur de Drupal
31/05/201337Last Friday Talk @ M6WebDrupal 8Sortie de Drupal 8 prévue fin 2013MAISIl faudra attendre fin 2014 pour avoir u...
31/05/201338Last Friday Talk @ M6WebPrincipales avancées de Drupal 8§  Twig comme moteur de template§  HTML5, « Mobile F...
31/05/201339Last Friday Talk @ M6WebDrupal est un C.M.S. gratuit reposantsur une base communautaire solideSa flexibilité́ ...
31/05/201340Last Friday Talk @ M6WebDes questions ?Clever Age29 rue Flandin 69003 Lyonwww.clever-age.com04 78 89 46 45comm...
Prochain SlideShare
Chargement dans…5
×

A la découverte de Drupal

2 522 vues

Publié le

Présentation de Drupal 7 au Last Friday Talk chez M6Web

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 522
Sur SlideShare
0
Issues des intégrations
0
Intégrations
9
Actions
Partages
0
Téléchargements
49
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

A la découverte de Drupal

  1. 1. 31/05/2013A la découverte de
Drupal
Claire Roubey
Architecte Drupal & Chef de projet chez Clever Age

croubey@clever-age.com
  2. 2. 31/05/20132Last Friday Talk @ M6Web1.  Présentation2.  Drupal, pour quelle utilisation ?3.  Aperçu des fonctionnalités4.  Drupal, comment ça marche ?5.  Les offres packagées6.  Concepts avancés7.  Le futur de DrupalSommaire
  3. 3. 31/05/20133Last Friday Talk @ M6WebPrésentation
  4. 4. 31/05/20134Last Friday Talk @ M6Web§  Drupal est un C.M.S. libre et open-source (licence libre GPL)§  C’est aussi un environnement dedéveloppement grâce à son API(Content Management Framework)§  Ultra-flexible grâce aux milliers demodules disponibles§  Une communauté extrêmement active§  Développé en PHPQu’est-ce que Drupal ?
  5. 5. 31/05/20135Last Friday Talk @ M6WebLes origines de Drupal§  Créateur : Dries Buytaert§  Fin des années 1990 : étudiant àlUniversité dAnvers, il entreprend decréer un site de partage dactualité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 modulepermettant d’augmenterconsidérablement l’industrialisation§  Janvier 2011 : sortie de la version 7.0
  6. 6. 31/05/20136Last Friday Talk @ M6Web§  Nombreux évènementscommunautaires annuelsDrupal 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 encroissance rapide
  7. 7. 31/05/20137Last Friday Talk @ M6WebServeur : §  Apache (recommandé)§  Nginx §  ou Microsoft IISPHP : 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, SQLServer, OraclePré-requis
  8. 8. 31/05/20138Last Friday Talk @ M6WebDrupal pour quelle utilisation ?
  9. 9. 31/05/20139Last Friday Talk @ M6WebTypes de siteDrupal au coeur de la stratégie globale decommunication 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. 10. 31/05/201310Last Friday Talk @ M6WebRéférences
  11. 11. 31/05/201311Last Friday Talk @ M6WebRéférences
  12. 12. 31/05/201312Last Friday Talk @ M6WebAperçu des fonctionnalités
  13. 13. 31/05/201313Last 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 lesfonctionnalités du core de Drupal§  Thème : aspect visuel du site§  Blocs : éléments de contenus spécifiques, affichés dansdes régions du site§  Régions : zones définies dans le thème contenant desblocsTerminologie Drupal
  14. 14. 31/05/201314Last 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§  NewsletterEt pour des besoins très personnalisés,il « suffit » d’en développer un !
  15. 15. 31/05/201315Last Friday Talk @ M6WebNotion de hameçon (hook)§  Peut être comparé à des événements internes deDrupal§  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 cehook peut réaliser des opérations chaque fois qu’un nodeest supprimé§  Ex : hook_menu_alter() : altérer le contenu d’un menuModules & hooks
  16. 16. 31/05/201316Last Friday Talk @ M6WebMODULES§  Views§  Token§  Pathauto§  Features§  Context§  Webform§  Global Redirect§  Backup and Migrate§  Devel§  …Modules & APIsAPIs§  Entity API§  Hooks API§  Form API§  Field API§  Database API§  Search API§  …
  17. 17. 31/05/201317Last 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 DrupalModule Views
  18. 18. 31/05/201318Last Friday Talk @ M6Web§  Moteur de template PHPTemplate§  Possibilité de créer son thème à partir de zéro ou enpartant d’un thème existant§  Niveau « débutant » : utiliser un thème contribué (plus de1000 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 duthème parent§  Niveau « avancé » : utiliser un starter-theme ou le créer« from scratch »Thèmes
  19. 19. 31/05/201319Last Friday Talk @ M6WebAnatomie d’un thème
  20. 20. 31/05/201320Last Friday Talk @ M6WebTemplate suggestionsTemplate de baseblock.tpl.phpExemple de nommage de template pour les blocsblock--[region|[module|--delta]].tpl.phpDrupal choisit le template le + spécifique :1.  block--module--delta.tpl.php2.  block--module.tpl.php3.  block--region.tpl.php4. block.tpl.php
  21. 21. 31/05/201321Last Friday Talk @ M6WebFonctions de preprocessChaque template peut avoir un « preprocess »Les hooks preprocess permettent d’altérer lesvariables 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. 22. 31/05/201322Last Friday Talk @ M6Web§  Concept puissant et flexible destructuration des différentséléments de contenu d’un siteDrupal§  La taxonomie repose sur :§  des « termes »§  des « vocabulaires » = groupe determes§  Une taxonomie peut définir desrelations hiérarchiques entre lestermes afin de définir descatégories et des sous-catégoriesTaxonomie
  23. 23. 31/05/201323Last Friday Talk @ M6Web§  Flexibilité : architecture ultra-modulaire et périmètrefonctionnel très large§  SEO-friendly§  Fiabilité (cf. les milliers de références)§  Sécurité§  Communauté§  Approche full open-sourceLes points forts de Drupal
  24. 24. 31/05/201324Last Friday Talk @ M6Web§  Beaucoup (trop ?) demodules§  Courbe dapprentissage nonnégligeable§  Pas de modèle objet§  Problèmes potentiels deperformances si mal conçuLes points faibles
  25. 25. 31/05/201325Last Friday Talk @ M6WebDrupal,comment çamarche ?(demo live)
  26. 26. 31/05/201326Last Friday Talk @ M6WebLes offres packagées
  27. 27. 31/05/201327Last Friday Talk @ M6WebDistribution=Drupal Core+fonctionnalités additionnelles :thèmes, modules, librairies, profils d’installation,etc.Les offres packagées
  28. 28. 31/05/201328Last Friday Talk @ M6WebDistributions « 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 / extranetDistributions « quick-start » : pour développeurs§  Acquia Drupal§  Panopoly§  Pressflow, etc.2 types de distributions
  29. 29. 31/05/201329Last Friday Talk @ M6WebConcepts avancés
  30. 30. 31/05/201330Last Friday Talk @ M6WebFeatures est une APIpermettant de packager desparamètres « exportables » :§  Types de contenus§  Views§  Permissions§  Roles§  Taxonomy§  Blocs§  Contextes§  Menus§  Presets d’image…Le paramétrage peut ainsi êtrepackagé, versionné, déployé.Industrialisation avec Features
  31. 31. 31/05/201331Last Friday Talk @ M6WebSolution 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 avantimport§  Intégré à Batch API (mais performances limitées sigros volume)Import de données 1/2
  32. 32. 31/05/201332Last Friday Talk @ M6WebSolution 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 unscript de déploiement par ex.)§  Très performant§  Mais presque pas d’UI (définition des classesMigration dans un module custom)Import de données 2/2
  33. 33. 31/05/201333Last Friday Talk @ M6WebPlusieurs solutions1.  Installations séparées, gérées par ex. avec Aegir2.  Installations séparées, mais configuration gérée viaFeatures3.  Architecture Multi-sites : 1 seul Drupal, n bases dedonnées4.  Module Domain Access : 1 seul Drupal, 1 seule base dedonnées, sur n noms de domaine+ d’infos sur http://www.palantir.net/blog/multi-headed-drupalMulti-sites & Usines à sites
  34. 34. 31/05/201334Last Friday Talk @ M6WebArchitecture Multi-sites
  35. 35. 31/05/201335Last Friday Talk @ M6WebPseudo Multi-sites avec Domain Access
  36. 36. 31/05/201336Last Friday Talk @ M6WebLe futur de Drupal
  37. 37. 31/05/201337Last Friday Talk @ M6WebDrupal 8Sortie de Drupal 8 prévue fin 2013MAISIl faudra attendre fin 2014 pour avoir une basesolide de modules contribués portés en D8
  38. 38. 31/05/201338Last Friday Talk @ M6WebPrincipales 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 dune page Web par blocs avec le composant ESIde Symfony§  Web Services gérés désormais via Symfony
  39. 39. 31/05/201339Last Friday Talk @ M6WebDrupal est un C.M.S. gratuit reposantsur une base communautaire solideSa flexibilité́ lui permet de répondreaux besoins de tous les types de siteSon architecture évolutive permetlenrichissement fonctionnel au filde l’évolution de vos besoinsSynthèse
  40. 40. 31/05/201340Last Friday Talk @ M6WebDes questions ?Clever Age29 rue Flandin 69003 Lyonwww.clever-age.com04 78 89 46 45commercial@clever-age.comtechnique@clever-age.com

×