Objets patterns et genie logiciel , par Julien Pauli
Présentation Drupal - Global Training Days
1. Découverte de Drupal | Drupal Training days | www.alterway.fr
Découverte de Drupal
●
9h30 - 12h30
●
Florian Le Moing | florian.lemoing@alterway.fr | @gastons78
1
2. Découverte de Drupal | Drupal Training days | www.alterway.fr
Interrompez-moi !
L'objectif est que vous puissiez apprendre et retenir
Posez des questions !
Avertissez le formateur si vous ne comprenez pas.
Demandez de répéter si vous n'avez pas entendu.
2
3. Découverte de Drupal | Drupal Training days | www.alterway.fr
3
CMS ?
Source : http://www.goonweb.be/nos-services/site-cms/
4. Découverte de Drupal | Drupal Training days | www.alterway.fr
Drupal ?
Drupal => drop
Open source (licence GNU/GPL)
PHP, basé sur une infrastructure LAMP
4
6. Découverte de Drupal | Drupal Training days | www.alterway.fr
6
Historique (1)
Dries Buytaert
Dries Buytaert est le créateur du
CMS Drupal en 2000, co-fondateur
en 2007 de la société Acquia, et
fondateur en 2008 de la société
Mollom.
8. Découverte de Drupal | Drupal Training days | www.alterway.fr
Drupal aujourd'hui (1)
Version majeure : Drupal 7
●
●
●
Sortie en janvier 2011
Réellement utilisée en 2012
Version 6 encore supportée
8
9. Découverte de Drupal | Drupal Training days | www.alterway.fr
Drupal aujourd'hui (2)
Passage de D6 à D7
Evolution de l’utilisation des différentes version majeures :
Source : https://drupal.org/project/usage/drupal
9
10. Découverte de Drupal | Drupal Training days | www.alterway.fr
10
CMF ?
CMF (Content Management Framework)
Drupal est aussi un « Content Management Framework ».
Du point de vue du développement, un des grands avantages de Drupal est
qu'il est construit sur une architecture modulaire : même le noyau est réalisé
à base de Module.
Source : http://www.palantir.net/blog/drupal-not-cms
11. Découverte de Drupal | Drupal Training days | www.alterway.fr
Communauté
Drupal Spirit :
●
●
●
Communauté très engagée et active
Beaucoup d’événement
La force de Drupal
Source : http://www.flickr.com/photos/x-foto/9918287984/
11
12. Découverte de Drupal | Drupal Training days | www.alterway.fr
Communauté
Quelques chiffres du site drupal.org:
●
●
24 432 Modules
1 875 Thèmes
●
711Distributions
●
30 038 Développeurs
Cette semaine :
●
2 829
Code commits
●
5 071
commentaires
12
13. Découverte de Drupal | Drupal Training days | www.alterway.fr
13
Architecture
Source :
http://www.phase2technology.com/blog/acode-free-explanation-of-drupaldistributions/
14. Découverte de Drupal | Drupal Training days | www.alterway.fr
14
Module
Système modulaire
●
●
●
●
Une fonctionnalité => un module
Core => fonctionnalité de base
Comme des « legos »
+ de 24000 modules
Source : http://www.flickr.com/photos/gaborhojtsy/
15. Découverte de Drupal | Drupal Training days | www.alterway.fr
Module
Organisation des modules :
Module contributaire sur https://drupal.org/project/project_module
Pas de modules payant !
●
Module custom
●
Source : http://www.revuephoto.com/appareil-photo-en-lego/
15
16. Découverte de Drupal | Drupal Training days | www.alterway.fr
Module
Attention : regarder l'utilisation des modules avant de les utiliser
http://drupalmodules.com/ pour vérifier
Source : http://www.phase2technology.com/blog/open-atrium-2-proudly-invented-elsewhere/
16
17. Découverte de Drupal | Drupal Training days | www.alterway.fr
Site fait en Drupal
Une liste d'exemple
●
●
●
●
●
●
●
Des sites politiques
Des sites d'informations
Des sites de banque
Des sites de média
Des sites de sport
Des sites ecommerce
...
17
31. Découverte de Drupal | Drupal Training days | www.alterway.fr
Gestion de contenu
Entité (entity)
Création de type de contenu pour chaque besoin
Type de contenu
Entité
Utilisateur
31
32. Découverte de Drupal | Drupal Training days | www.alterway.fr
Gestion de contenu
Exemple Entité
Champs : Titre
Champs : Date
Entité : actualité
Champs : Wysiwyg
Taxonomie : liste de sélection
32
33. Découverte de Drupal | Drupal Training days | www.alterway.fr
Gestion de contenu
Taxonomie
Catégorisation transverse des entités
Terme : Catégorie 1
Terme : Catégorie 2
Taxonomie : catégorie
Terme : Catégorie 3
Terme : Catégorie XX
33
34. Découverte de Drupal | Drupal Training days | www.alterway.fr
Gestion de contenu
Back-office
34
35. Découverte de Drupal | Drupal Training days | www.alterway.fr
Gestion de contenu
Front office
35
36. Découverte de Drupal | Drupal Training days | www.alterway.fr
Gestion de contenu
Administration
Admin menu : https://drupal.org/project/admin_menu
36
37. Découverte de Drupal | Drupal Training days | www.alterway.fr
Gestion de contenu
Administration
Dashboard
37
38. Découverte de Drupal | Drupal Training days | www.alterway.fr
Construction des pages
Views : création de liste de contenus
38
39. Découverte de Drupal | Drupal Training days | www.alterway.fr
Construction des pages
Views
Exemple de listing
39
40. Découverte de Drupal | Drupal Training days | www.alterway.fr
Construction des pages
Panels : Construction de page avec différent gabarit (template)
Utilisation également du module context ou des blocs Drupal
40
41. Découverte de Drupal | Drupal Training days | www.alterway.fr
Construction des pages
Panels :
Ajout de contenu dans
chaque « Region » de
template .
41
42. Découverte de Drupal | Drupal Training days | www.alterway.fr
Construction des pages
Panels :
exemple d'affichage
42
43. Découverte de Drupal | Drupal Training days | www.alterway.fr
Wysiwyg
Wysiwyg par défaut :
Ckeditor
Possibilité de mettre n'importe quel wysiwyg :
https://drupal.org/project/wysiwyg
43
44. Découverte de Drupal | Drupal Training days | www.alterway.fr
Thème
Starter thème
Zen : https://drupal.org/project/zen
Basic : https://drupal.org/project/basic
Tao : https://drupal.org/project/tao
Thème avec grille
Omega : https://drupal.org/project/omega
Genesis : https://drupal.org/project/genesis
Moteur de template : PHPTemplate
44
45. Découverte de Drupal | Drupal Training days | www.alterway.fr
Thème d'administration
Par défaut :
Seven : https://drupal.org/project/seven
Autre thème :
Rubik : https://drupal.org/project/rubik
Shiny : https://drupal.org/project/shiny
45
46. Découverte de Drupal | Drupal Training days | www.alterway.fr
Multilingue
Toute les entités/taxonomies sont traduisibles
État des traductions :
https://localize.drupal.org/
Traductions française très complète
Mise à jour des traductions automatiques
Interface pour aider la traduction
https://drupal.org/project/l10n_client
Source : http://oilq.org/fr/node/16905
46
47. Découverte de Drupal | Drupal Training days | www.alterway.fr
Ecommerce
Framework ecommerce basé sur Drupal
https://drupal.org/project/commerce
Utilisation seul pour un ecommerce
« atypique » avec beaucoup de lien avec
des contenus
Distribution ecommerce :
Ecommerce « classique »
Commerce Kickstart
https://drupal.org/project/commerce_kickst
art
47
48. Découverte de Drupal | Drupal Training days | www.alterway.fr
Performance
Coté drupal :
Création de page statique via le module boost
https://drupal.org/project/boost
Configuration :
●
●
Cache drupal dans views /panels
Agrégation JS/CSS
48
49. Découverte de Drupal | Drupal Training days | www.alterway.fr
Performance
Coté serveur (trafic anonyme) :
●
●
●
●
●
Varnish (reverse proxy)
APC (cache de code opt-in)
Memcache (cache memoire)
PHP-FPM
Nginx : (serveur)
49
50. Découverte de Drupal | Drupal Training days | www.alterway.fr
Performance
Coté serveur (trafic authentifié)
ESI et varnish
Chargement d'une partie de la page uniquement
●
Mongo DB
BDD NoSql pour délivrer plus
rapidement des listing
●
50
51. Découverte de Drupal | Drupal Training days | www.alterway.fr
media
3 modules disponibles :
●
Scald
●
Asset
●
Media ( interface désuète)
51
52. Découverte de Drupal | Drupal Training days | www.alterway.fr
Déploiement
Drush : Ligne de commande pour Drupal
●
Permet d'automatiser tout les déploiements
●
Possibilité de créer ses propres commandes drush
Source : http://matthewwoodard.com/blog/installing-drush-mac-terminal
52
53. Découverte de Drupal | Drupal Training days | www.alterway.fr
Déploiement
●
Gestion des configurations pour les déploiements :
Features / strongarm
https://drupal.org/project/features
https://drupal.org/project/strongarm
●
Pour déployer : Capistrano / jenkins
53
54. Découverte de Drupal | Drupal Training days | www.alterway.fr
Recherche
●
Drupal recherche par défaut
●
Solr
●
Elastic search
54
55. Découverte de Drupal | Drupal Training days | www.alterway.fr
Migration / Agrégation
●
Migrate
Migration de contenu depuis un autre système (fichier csv/xml ou CMS)
https://drupal.org/project/migrate
●
Feeds/ Aggregator
Agrégation de contenu depuis un flux et création dans drupal
https://drupal.org/project/feeds
55
56. Découverte de Drupal | Drupal Training days | www.alterway.fr
Webservice
Module Service
Permet de créer un websevice pour envoyer/recevoir des données de type :
●
REST
●
XMLRPC
●
JSON
●
JSON-RPC
●
SOAP
●
AMF
Source : http://www.techkow.com/2013/02/introduction-to-drupal-as-cms-tool.html
56
57. Découverte de Drupal | Drupal Training days | www.alterway.fr
Sécurité
Drupal dispose d'une équipe spécifique de sécurité qui valide la sortie des
modules
Liste des modules ayant des mises à jour de sécurité :
●
●
https://drupal.org/security
Schéma : http://www.inqbation.com/wp-content/uploads/2012/02/Drupalsecurity-We-Design-development-companies.jpeg
57
58. Découverte de Drupal | Drupal Training days | www.alterway.fr
Distribution
●
●
Les distributions sont un ensemble de modules/features qui répond à un
besoin spécifiques
Liste des distributions :
https://drupal.org/project/project_distribution
Les plus connues :
●
●
●
●
●
Commerce Kickstart (ecommerce)
Drupal commons (communauté)
Open publish (news)
Open church (église)
Open Atrium (intranet)
58
60. Découverte de Drupal | Drupal Training days | www.alterway.fr
Hébergement
Sélectionner un bon hébergeur qui connaît l'open source !
Mes suggestions :
●
Acquia
●
Alter way
●
Oxalide
●
Typhon
●
Mutualisé attention à la mémoire !
●
PHP 5.3 (https://drupal.org/requirements)
●
BDD : Mysql 5.0.15 minimum
60
61. Découverte de Drupal | Drupal Training days | www.alterway.fr
Drupal 8
●
Symfony dans les couches basses
●
Views dans le core
●
Responsive mobile sur les thème par défaut
●
Spark
●
Twig
●
...
●
Sortie en milieu/fin 2014
Source : http://www.guide-drupal.fr/drupal-8
61
62. Découverte de Drupal | Drupal Training days | www.alterway.fr
Liens
●
Drupal.org (site principal)
●
http://drupalfr.org/ (site français)
●
https://drupal.org/project/usage (pour voir les modules)
●
http://simplytest.me/ (pour tester un module)
●
Lexique : http://www.guide-drupal.fr/lexique-drupal
62
63. Découverte de Drupal | Drupal Training days | www.alterway.fr
Meetup
●
http://www.meetup.com/drupal-france-francophonie/
63
64. Découverte de Drupal | Drupal Training days | www.alterway.fr
Question
Source : http://learning-drupal.com/articles/quest-ce-que-drupal
64