A la découverte de Drupal

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

description

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

Transcript of A la découverte de Drupal

  • 1. 31/05/2013A la dcouverte deDrupalClaire RoubeyArchitecte Drupal & Chef de projet chez Clever [email protected]

2. 31/05/20132Last Friday Talk @ M6Web1. Prsentation2. Drupal, pour quelle utilisation ?3. Aperu des fonctionnalits4. Drupal, comment a marche ?5. Les offres packages6. Concepts avancs7. Le futur de DrupalSommaire 3. 31/05/20133Last Friday Talk @ M6WebPrsentation 4. 31/05/20134Last Friday Talk @ M6Web Drupal est un C.M.S. libre et open-source (licence libre GPL) Cest aussi un environnement dedveloppement grce son API(Content Management Framework) Ultra-flexible grce aux milliers demodules disponibles Une communaut extrmement active Dvelopp en PHPQuest-ce que Drupal ? 5. 31/05/20135Last Friday Talk @ M6WebLes origines de Drupal Crateur : Dries Buytaert Fin des annes 1990 : tudiant lUniversite dAnvers, il entreprend decrer un site de partage dactualits 2001 : Drupal devient un logiciel libre 2005 : sortie de la version 4.6 2008 : sortie de la version 6.0 2009 : arrive de Features , un modulepermettant daugmenterconsidrablement lindustrialisation Janvier 2011 : sortie de la version 7.0 6. 31/05/20136Last Friday Talk @ M6Web Nombreux vnementscommunautaires annuelsDrupal aujourdhui Drupal 7 : sortie dbut 2011 (actuellement 7.22) Drupal 8 prvu pour 2014 Des millions de sites bass sur Drupal 22 000 modules (7500 dbut 2011) 2,5 millions de comptes drupal.org crs (1M en 2011) 26 000 dveloppeurs actifs (4000 dbut 2011) son adoption partout dans le monde est encroissance rapide 7. 31/05/20137Last Friday Talk @ M6WebServeur : Apache (recommand) Nginx ou Microsoft IISPHP : 5.3 recommand (incl. PDO)Base de donnes : MySQL 5.x ou quivalent (MariaDB), PostgreSQL >=8.3, SQLite >= 3.3.7 Support + ou exprimental de MongoDB, SQLServer, OraclePr-requis 8. 31/05/20138Last Friday Talk @ M6WebDrupal pour quelle utilisation ? 9. 31/05/20139Last Friday Talk @ M6WebTypes de siteDrupal au coeur de la stratgie globale decommunication digitale : site Web grand public eCommerce Social Networking Intranet collaboratif / RSE Web app Application mobile Intgration de systmes mtier (LDAP, Webservices,) 10. 31/05/201310Last Friday Talk @ M6WebRfrences 11. 31/05/201311Last Friday Talk @ M6WebRfrences 12. 31/05/201312Last Friday Talk @ M6WebAperu des fonctionnalits 13. 31/05/201313Last Friday Talk @ M6Web Core : fichiers du cur de Drupal, ne jamais modifier Entit / Type de Contenu / Node Taxonomie : systme de catgorisation du contenu Module : extension qui tend et modifie lesfonctionnalits du core de Drupal Thme : aspect visuel du site Blocs : lments de contenus spcifiques, affichs dansdes rgions du site Rgions : zones dfinies dans le thme contenant desblocsTerminologie Drupal 14. 31/05/201314Last Friday Talk @ M6Web There is a module for that Aperu des fonctionnalits Rfrencement i18n Recherche (solR) E-commerce Rseaux sociaux Multimdia etc. Types de contenu Catgorisation Commentaires Blog Forum RSS NewsletterEt pour des besoins trs personnaliss,il suffit den dvelopper un ! 15. 31/05/201315Last Friday Talk @ M6WebNotion de hameon (hook) Peut tre compar des vnements internes deDrupal Construction autour dune convention de nommage Limplmentation dun hook permet de sattacher ce qui se passe dans le reste de Drupal Ex. : hook_node_delete() : un module implmentant cehook peut raliser des oprations chaque fois quun nodeest supprim Ex : hook_menu_alter() : altrer le contenu dun menuModules & hooks 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. 31/05/201317Last Friday Talk @ M6Web Permet de crer des listes de contenus Gre les jointures Plusieurs types de sorties possibles : page, bloc,rss, rdf, xml, json Rendu paramtrable Gre les arguments Gre les filtres Cest un des lments cls de DrupalModule Views 18. 31/05/201318Last Friday Talk @ M6Web Moteur de template PHPTemplate Possibilit de crer son thme partir de zro ou enpartant dun thme existant Niveau dbutant : utiliser un thme contribu (plus de1000 sont disponibles, dont certains colorisables ) Niveau intermdiaire : modifier un thme existant,notamment en crant un sous-thme, qui va hriter duthme parent Niveau avanc : utiliser un starter-theme ou le crer from scratch Thmes 19. 31/05/201319Last Friday Talk @ M6WebAnatomie dun thme 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 + spcifique :1. block--module--delta.tpl.php2. block--module.tpl.php3. block--region.tpl.php4.block.tpl.php 21. 31/05/201321Last Friday Talk @ M6WebFonctions de preprocessChaque template peut avoir un preprocess Les hooks preprocess permettent daltrer 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. 31/05/201322Last Friday Talk @ M6Web Concept puissant et flexible destructuration des diffrentslments de contenu dun siteDrupal La taxonomie repose sur : des termes des vocabulaires = groupe determes Une taxonomie peut dfinir desrelations hirarchiques entre lestermes afin de dfinir descatgories et des sous-catgoriesTaxonomie 23. 31/05/201323Last Friday Talk @ M6Web Flexibilit : architecture ultra-modulaire et primtrefonctionnel trs large SEO-friendly Fiabilit (cf. les milliers de rfrences) Scurit Communaut Approche full open-sourceLes points forts de Drupal 24. 31/05/201324Last Friday Talk @ M6Web Beaucoup (trop ?) demodules Courbe dapprentissage nonngligeable Pas de modle objet Problmes potentiels deperformances si mal conuLes points faibles 25. 31/05/201325Last Friday Talk @ M6WebDrupal,comment amarche ?(demo live) 26. 31/05/201326Last Friday Talk @ M6WebLes offres packages 27. 31/05/201327Last Friday Talk @ M6WebDistribution=Drupal Core+fonctionnalits additionnelles :thmes, modules, librairies, profils dinstallation,etc.Les offres packages 28. 31/05/201328Last Friday Talk @ M6WebDistributions intgrales , orientes mtier : Commerce Kickstart (Drupal Commerce) OpenPublish: site mdias OpenAtrium : intranet in a box OpenScholar : sites universitaires Drupal Commons : communauts intranet / extranetDistributions quick-start : pour dveloppeurs Acquia Drupal Panopoly Pressflow, etc.2 types de distributions 29. 31/05/201329Last Friday Talk @ M6WebConcepts avancs 30. 31/05/201330Last Friday Talk @ M6WebFeatures est une APIpermettant de packager desparamtres exportables : Types de contenus Views Permissions Roles Taxonomy Blocs Contextes Menus Presets dimageLe paramtrage peut ainsi trepackag, versionn, dploy.Industrialisation avec Features 31. 31/05/201331Last Friday Talk @ M6WebSolution 1 : Feeds un moteur gnrique daggrgation de donnes Nombreux format dimport : CSV, RSS, OPML,PubSubHubbub Mapping des champs en BO Module feeds_tamper : filtre sur les donnes avantimport Intgr Batch API (mais performances limites sigros volume)Import de donnes 1/2 32. 31/05/201332Last Friday Talk @ M6WebSolution 2 : Migrate Formats dentres : SQL, CSV, XML, JSON, etc. Gestion des structures de donnes complexes(gestion des dpendances) Intgr Drush (pour intgrer la migration dans unscript de dploiement par ex.) Trs performant Mais presque pas dUI (dfinition des classesMigration dans un module custom)Import de donnes 2/2 33. 31/05/201333Last Friday Talk @ M6WebPlusieurs solutions1. Installations spares, gres par ex. avec Aegir2. Installations spares, mais configuration gre viaFeatures3. Architecture Multi-sites : 1 seul Drupal, n bases dedonnes4. Module Domain Access : 1 seul Drupal, 1 seule base dedonnes, sur n noms de domaine+ dinfos sur http://www.palantir.net/blog/multi-headed-drupalMulti-sites & Usines sites 34. 31/05/201334Last Friday Talk @ M6WebArchitecture Multi-sites 35. 31/05/201335Last Friday Talk @ M6WebPseudo Multi-sites avec Domain Access 36. 31/05/201336Last Friday Talk @ M6WebLe futur de Drupal 37. 31/05/201337Last Friday Talk @ M6WebDrupal 8Sortie de Drupal 8 prvue fin 2013MAISIl faudra attendre fin 2014 pour avoir une basesolide de modules contribus ports en D8 38. 31/05/201338Last Friday Talk @ M6WebPrincipales avances de Drupal 8 Twig comme moteur de template HTML5, Mobile First WYSIWYG, CKEditor et In-Place Editing Amlioration de li18n Gestion de la configuration via fichiers YAML =>processus de dploiements facilits Symfony 2 : injection de dpendance mise en cache dune page Web par blocs avec le composant ESIde Symfony Web Services grs dsormais via Symfony 39. 31/05/201339Last Friday Talk @ M6WebDrupal est un C.M.S. gratuit reposantsur une base communautaire solideSa flexibilit lui permet de rpondreaux besoins de tous les types de siteSon architecture volutive permetlenrichissement fonctionnel au filde lvolution de vos besoinsSynthse 40. 31/05/201340Last Friday Talk @ M6WebDes questions ?Clever Age29 rue Flandin 69003 Lyonwww.clever-age.com04 78 89 46 [email protected]@clever-age.com