SlideShare ist ein Scribd-Unternehmen logo
1 von 73
Downloaden Sie, um offline zu lesen
Global
Training
Day
Animé par Romain JARRAUD
© 2007-2012© 2007-2015
Stagiaires et formateur
•Stagiaires
•Nom et profil ?
•Comment avez-vous découvert Drupal ?
•Qu’attendez-vous de cette formation ?
•Formateur (Romain JARRAUD)
•Développeur web depuis 1998.
•A commencé par faire du développement
Drupal, et aujourd’hui fait surtout de
l’animation de formations et du consulting
Drupal.
2
© 2007-2012© 2007-2015
Sommaire
•Présentation de Drupal.
•Cas d’utilisation.
•CMS et framework.
•MVC.
•Démonstration.
3
© 2007-2015
Présentation
de Drupal
Jargon et usages de Drupal
4
© 2007-2012© 2007-2015
Connaissez-vous Drupal ?
5
0 €
2 001
676
37 296
2%Made in
Noeud (node)
Module
Thème
Taxonomie
© 2007-2012© 2007-2015
Drupal
•29 800 modules : réseaux sociaux, e-
commerce, SEO, gestion de contenus,
médias, SSO...
•2 115 thèmes.
•904 distributions.
•1 157 400 utilisateurs enregistrés.
•Plus grande communauté open-source
au monde (2 fois plus de développeurs
que Linux).
6
© 2007-2012© 2007-20157
© 2007-2012© 2007-2015
Positionnement de Drupal
•WordPress++
•Création/gestion d’un site “à la souris”, sans développement.
•Gestion de contenu élaborée (types de contenu
personnalisés, classification, workflow...).
•Écosystème de modules pour étendre ou modifier les
fonctionnalités de base.
•Possibilité de personnalisations avancées, aussi bien
graphiques que fonctionnelles.
•Content Management Framework (CMF)
•Un cadre applicatif permettant de créer des applications web
de gestion de contenu.
•Un ensemble d’APIs (SGBD, formulaires, contrôle d’accès...).
•Une architecture modulaire extensible.
8
© 2007-2015
Cas d’utilisation
9
© 2007-2012© 2007-201510
© 2007-2012© 2007-2015
Média et presse
11
© 2007-2012© 2007-201512
© 2007-2012© 2007-2015
Institutions
13
© 2007-2012© 2007-201514
© 2007-2012© 2007-201515
© 2007-2012© 2007-201516
© 2007-2012© 2007-2015
Gouvernements
17
© 2007-2012© 2007-201518
© 2007-2012© 2007-2015
CAC 40
19
© 2007-2012© 2007-201520
© 2007-2012© 2007-201521
© 2007-2012© 2007-201522
© 2007-2012© 2007-2015
Utilisation
23
© 2007-2012© 2007-2015
Evolution
24
BLOG CMF+

Plateforme	
  
d’applica8on
CMS CMF CMF+
© 2007-2012© 2007-2015
drupal.org
•Ressources :
•Modules, thèmes, distributions
•Guides
•Documentations
•Hébergement
•Livres
•Site participatif alimenté par la
communauté.
25
© 2007-2012© 2007-2015
Evénements
•DrupalCon 3 fois par an (Europe, Etats-
Unis et Amérique du Sud/Océanie).
•DrupalCamp nationaux dans de
nombreux pays.
•Drupal Dev Days pour les
développeurs.
•MeetUp : rencontres communautaires
avec présentation.
•Drink ’n’ Drupal : rencontre informelle.
26
© 2007-2012© 2007-2015
Acquia
•Société américaine fondée par Dries
Buytaert.
•Emploi de nombreux contributeurs
actifs.
•Promotion de Drupal.
•Support, hébergement, optimisation.
•Certification.
•Ce n’est pas l’éditeur officiel !
27
© 2007-2015
Petit tour rapide
de Drupal 8
28
© 2007-2012© 2007-2015
Drupal 8 vs Drupal 7
•Back-office réorganisé.
•Structure des fichiers/dossiers repensée.
•Intégration de nombreux modules : Views, Entity
Reference, Date, Email...
•Wysiwyg, Inline Editing, Traduction, Responsive
Design, Navbar...
•Blocs «maison».
•Système de thème revu : Twig, templates uniquement,
preprocess.
•CMI : déploiement «facile».
•POO : développement orienté object (Injection de
dépendance, PSR-4, interface...).
29
© 2007-2012© 2007-2015
Drupal 8 vs Drupal 7
Modules supprimés
•Blog (drupal.org/project/blog)
•Dashboard (maintenant Homebox drupal.org/
project/homebox)
•Overlay
•Open ID
•Poll (drupal.org/project/poll)
•PHP Filter
•Trigger (utiliser Rules)
•Profile (utiliser Profile2)
•Translation (maintenant Entity Translation)
•XML-RPC
30
© 2007-2012© 2007-2015
Drupal 8 vs Drupal 7
Modules intégrés
•Views
•Administration Views
•Module Filter
•CKeditor
•Display Suite
•Entity View Mode
•Entity Reference
•Entity Translation
•Date
•E-mail
•Link
•Picture (Responsive Image)
•Breakpoint
•Features (sur un même site)
31
•Insert (inline image)
•Services et RESTws
•String Override
•Bean (Bloc comme entité)
•Telephone
•Transliteration
•User Image Field
•Views Bulk Operation (VBO)
•Webform (pour les formulaires de
contact)
•Localization Update (l10n Update)
•Administration Language
•Fallback Language Negotiation
© 2007-2015
Philosophie
32
© 2007-2012© 2007-2015
Modularité
33
Drupal Joomla Wordpress
© 2007-2012© 2007-2015
Drupal
•Gestion des utilisateurs.
•Gestion du contenu généré.
•Séparation fonctionnel / présentation.
•Modèle MVC.
•Sécurité (formulaires, XSS, SQL injection…)
•Drupal est de plus en plus une plateforme
de développement. Ce n’est plus un simple
système de création de blog (on peut
quand même !).
34
© 2007-2012© 2007-2015
Modules maison étendant
des modules contrib
Applications
tierce-partie
Modules contrib
CMS et Framework
35
Drupal
Modules maison
© 2007-2013© 2007-2015
Etendre Drupal
en installant des
Modules
36
© 2007-2012© 2007-2015
Qu’est-ce qu’un module ?
•D’autres logiciels utilisent d’autres mots pour parler de
"module" : plugin, add-on, composant, extension...
•Un module permet d’ajouter une ou plusieurs
fonctionnalités à Drupal :
•Module Forum - Ajoute un forum
•Module Simplenews - Ajoute une newsletter
•Module Google Analytics - Connexion au service de Google
•Module LDAP - Ajoute l’identification via un annuaire LDAP
•... (il existe des milliers de modules)
•Chaque module possède plusieurs versions
correspondant aux versions majeures de Drupal (7, 8..).

La version 8.x d’un module n’est compatible qu’avec la
version 8.x de Drupal. Idem pour la version 5.x, 6.x...
37
© 2007-2012© 2007-2015
Où trouver des modules ?
•On trouve des modules à plusieurs endroits :
•Modules natifs (ou core), livrés avec Drupal.
•Modules contrib, hébergés sur drupal.org.
•Modules maison, développés pour un besoin ou projet
spécifique.
•Comment chercher/comparer les modules ?
•Pour chercher un module contrib, taper sur Google :

motclé drupal

ou bien : motclé site:drupal.org/project/
•Pour comparer les modules contrib, regarder le nombre
d’installations, le statut la dernière mise à jour, et
surtout... tester le module vous-même !
38
© 2007-2012© 2007-2015
Flexibilité
•Les modules existants couvrent
un large choix de fonctionnalités.
•De nombreuses APIs permettent
de s’intégrer facilement à Drupal
et de développer ses propres
fonctionnalités.
•Certains modules sont extensibles
en proposant leurs propres APIs.
39
© 2007-2012© 2007-2015
Intégration
•1277 modules destinés à
intégrer des solutions tiers
partie (Gmap, CAS, LDAP…).
•Web Services : diffusion
multi canal.
40
© 2007-2012© 2007-2015
Intégration
41
© 2007-2012© 2007-201542
http://fr.slideshare.net/swentel/the-state-of-drupal-8-drupalcamp-gent
© 2007-2012© 2007-2015
Intégration
43
Third party services
http://drupal.org/project/salesforce
http://drupal.org/project/adsense
http://drupal.org/project/site_verify
http://drupal.org/project/acquia_connector
http://drupal.org/project/opencalais
http://drupal.org/project/alfresco
http://drupal.org/project/millennium
Media
http://drupal.org/project/media_youtube
http://drupal.org/project/media_vimeo
http://drupal.org/project/flickr
http://drupal.org/project/media_flickr
!
JQuery libraries!
!
http://drupal.org/project/superfish!
http://drupal.org/project/jcarousel!
http://drupal.org/project/addtoany!
!
Social!
!
http://drupal.org/project/twitter!
http://drupal.org/project/google_plusone!
http://drupal.org/project/mailchimp!
http://drupal.org/project/fb!
!
Mapping!
!
http://drupal.org/project/geofield!
http://drupal.org/project/gmap!
http://drupal.org/project/geocoder!
http://drupal.org/project/openlayers!
http://drupal.org/project/location!
!
Visit !
!
http://drupal.org/project/modules!
!
for details on third party integration !
771 modules available for Drupal 7!
© 2007-2012© 2007-2015
MVC
•Contenus : noeuds,
utilisateurs.
•Vues : modules Views.
•Contrôler : Drupal et
modules.
44
© 2007-2012© 2007-2015
Content Management
System
45
Drupal et
modules
Utilisateurs
Webmaster,
contributeurs,...
Contenus
Articles,
documents,...
Thème
Drupal et
modules
Drupal et
modules
Drupal et
modules
Présentation :
pages, blocs
Webmaster
Contributeurs
© 2007-2012© 2007-2015
Page Web vs Contenu
•Site statique : collection de pages dont le
contenu n’est que peu modifié dans le
temps.
•Site dynamique : le contenu évolue sans
cesse. Le site ou l’application gère des
données (utilisateurs, articles...) en
définissant le workflow de publication et
l’affichage des différentes pages.
•Il faut voir aujourd’hui un site web comme
de la gestion de contenus en ligne et non
pas comme une collection de pages.
46
© 2007-2015
Contenu - Model
47
© 2007-2012© 2007-2015
contenu
=
noeud
Noeuds
•Les contenus que l’on souhaite mettre en ligne
sont structurés : titre, corps, date, images,
vidéos...
•Ces contenus (ou données) sont des noeuds. En
fonction des informations dont on a besoin on crée
des types de noeuds comportants des champs
spécifiques :
•Article : titre, image, corps...
•Recettes de cuisine : titre, ingrédients, instructions, photos...
•Drupal offre une très grande flexibilité pour
décrire les contenus du site.
•Les contenus principaux d’un site sont des noeuds.
48
© 2007-2012© 2007-201549
© 2007-2012© 2007-2015
Champs Fonctionnalités
Type de noeuds
50
photo
événement
fichier
légende
personnes
dates (début - fin)
description
lieu
commentaires
j’aime
partage
ajouter au calendrier
inscription
donner une note
© 2007-2012© 2007-2015
Affichage du contenu
•Le système gère à la fois la création de contenus,
mais également son affichage.
•Drupal utilise le modèle MVC (Model, View,
Controler).
•Les vues sont des listes d’entités, par exemples :
•articles les plus lus
•utilisateurs les plus actifs
•commentaires les plus récents
•Chaque page est découpée en région (wireframe)
dans lesquelles on dispose ces listes.
51
© 2007-2012© 2007-2015
Tout n’est pas un noeud
•Les noeuds sont les contenus principaux du site.
•D’autres données ne sont pas des noeuds :
utilisateurs, commentaires, taxonomie...
•Drupal organise toutes les données en entité :
•Noeuds
•Utilisateurs
•Commentaires
•Terme de taxonomie
•Les entités possèdent des propriétés de bases
(identifiant, libellé, date de création…) et sont
fieldable.
52
© 2007-2012© 2007-2015
Relation entre entités
•Il est possible de créer des relations entre
différentes entités.
•Par exemple pour un site d’hôtels de
cuisine, on a d’un côté les hôtels (noeuds)
et d’un autre côté les chefs de cuisine
(utilisateurs). On peut lier un chef à des
hôtels en établissant une relation entre
l’entité utilisateur et l’entité noeuds
(spécifiquement le type de contenu hôtel).
•Ces relations sont créées grâce à un
champ de type Entity Reference.
53
© 2007-2012© 2007-2015
Entité, bundle et champ
54
Entités
Champs
Bundle
Photos Catégorie Adresse Bio
ProfilesArticles Catégories
UtilisateursNoeuds Taxonomie
© 2007-2015
Vues
55
© 2007-2012© 2007-2015
Organisation de la page
56
© 2007-2012© 2007-2015
Blocs
•Un bloc est un contenu généralement court ou une
liste de contenus, qui peut être affiché sur
n’importe quelle page existante du site.
•Un bloc est positionné dans une des régions de la
page (barre de gauche, barre de droite, pied de
page…). Une région peut contenir plusieurs blocs
“empilés”.
•On peut définir la visibilité d’un bloc (c. à d. définir
quand il apparaît) en fonction :
•De l’URL courante (node/18, admin/*, <front>...).
•Du type de noeud affiché (page, article...).
•Du rôle de l’utilisateur courant (anonyme, identifié…).
•De la langue.
57
© 2007-2012© 2007-2015
Vues - module Views
•Création de listes très flexible :
•derniers utilisateurs enregistrés sur le site.
•contenus les plus commentés.
•fichiers en téléchargement.
•galleries/slideshows de photos.
•Le module Views est un moteur de requêtes et d’affichage.
•La sorties des données peut se faire selon plusieurs
formats : HTML, JSON, XML (RSS)…
•Les vues produisent ainsi soit des pages et des blocs, soit
des flux de données consommés par des systèmes
externes.
•Une vue est dynamique : la liste est reconstruite à chaque
fois qu’elle apparait (on peut néanmoins activer le cache).
58
© 2007-2012© 2007-201559
© 2007-2012© 2007-201560
© 2007-2012© 2007-201561
© 2007-2015
Contrôleur
62
© 2007-2012© 2007-2015
Modules
•La logique métier est contenue
dans les modules installés.
•Grande variété de fonctionnalités
disponibles : SSO, templating,
lettre d’information, contrôle
d’accès, éditeurs WYSIWYG, SEO,
partage via les réseaux sociaux,
cache, type de champ…
63
© 2007-2012© 2007-2015
Modules indispensables
(ou pas!)
•Views : création de listes.
•Rules : automatisation d’actions en
fonction de déclencheurs.
•Context : définition de contextes (URL,
type de contenu, rôles…) et de réactions
(changer de thème, placer un bloc dans
une région…).
•Panel, Display Suite : création de gabarits
via l’interface.
•Devel : outils pour les développeurs.
64
© 2007-2015
Sécurité et
Performances
65
© 2007-2012© 2007-2015
Sécurité
•Security Team
•Equipe dédiée à assurer que Drupal est protégé
contre les attaques de types connus.
•Le coeur de Drupal évolue donc, comme certains
modules qui sont aussi suivis (souvent les plus
utilisés).
•Mises à jour continues
•35 versions de Drupal 7.
•Failles de sécurité et correction de bugs.
•Les mises à jour sont prévisibles.
66
© 2007-2012© 2007-2015
Les utilisateurs
•Chaque internaute connecté au site possède son profil au
chemin user/uid (uid est l’identifiant unique).
•Les personnes non connectées sont dites anonymes.
•Les utilisateurs sont organisés en différents rôles. Chacun
d’entre eux peut appartenir à un ou plusieurs rôles.
•On peut créer autant de rôles que nécessaire. Par défaut on a
les suivants :
•Anonyme : utilisateur non connecté.
•Authentifié : utilisateur connecté.
•Administrateur : utilisateur possédant tous les droits (par défaut).
•Les permissions (ou droits) sont assignées aux différents
rôles.
•Remarque : l’utilisateur 1 n’a pas de rôle. On ne peut donc pas
lui limiter l’accès au site sauf en le bloquant (status « Bloqué »).
67
© 2007-2012© 2007-2015
Rôles et droits
68
Droits
Administrer les menus et les
éléments de menus.
Administrer le contenu
Voir le contenu publié
Utiliser la recherche
Administrer les utilisateurs
Rôles
Administrateur
Webmaster
Anonyme
Utilisateurs
Céline
Paul
Marie
Louis
© 2007-2012© 2007-2015
Performance
•Drupal n’a pas vocation seul
à encaisser la charge, c’est le
rôle du serveur également.
•Plusieurs niveaux de cache :
•front-end (thème).
•backend : php, base de données.
•navigateur (assets…).
69
© 2007-2015
Démonstration
Page complexe
Outils à notre disposition
70
© 2007-2012© 2007-2015
Démonstration
•Ajouter un type de contenu.
•Modules pour les développeurs
•Faire une relation entre types de contenu.
•Taxonomie.
•Views :
•Liste simple.
•Liste avec relation.
•Contenu du même auteur.
•Contenus utilisants les mêmes termes.
•Thème front et back office.
71
© 2007-2012© 2007-2015
Trained People
•Trained People c’est également :
•de l’accompagnement durant vos
projets (audit, régie...).
•des formations Drupal spécialisées
(webmaster, designer, développeur,
responsive design, sécurité et
performance, déploiement).
•des recommandations (freelances,
agences, hébergement).
72
Merci !

Weitere ähnliche Inhalte

Was ist angesagt?

Présentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysPrésentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysALTER WAY
 
Cms et-creer-un-petit-site-avec-drupal-jdll-2012
Cms et-creer-un-petit-site-avec-drupal-jdll-2012Cms et-creer-un-petit-site-avec-drupal-jdll-2012
Cms et-creer-un-petit-site-avec-drupal-jdll-2012Chipway
 
Agora cms - Comment Drupal Commerce innove avec Drupal 8
Agora cms - Comment Drupal Commerce innove avec Drupal 8Agora cms - Comment Drupal Commerce innove avec Drupal 8
Agora cms - Comment Drupal Commerce innove avec Drupal 8Anne-Sophie Picot
 
Présentation de Drupal
Présentation de DrupalPrésentation de Drupal
Présentation de DrupalAdyax
 
Présentation Symetris - Drupalcamp Montreal 2013 le diable est dans les détails
Présentation Symetris - Drupalcamp Montreal 2013 le diable est dans les détailsPrésentation Symetris - Drupalcamp Montreal 2013 le diable est dans les détails
Présentation Symetris - Drupalcamp Montreal 2013 le diable est dans les détailsSymetris
 
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
 
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 CMSAdyax
 
HTML5 - Sémantique, structure et nouveaux éléments
HTML5 - Sémantique, structure et nouveaux élémentsHTML5 - Sémantique, structure et nouveaux éléments
HTML5 - Sémantique, structure et nouveaux élémentsRémy Savard
 
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 7slybud
 
Introduction à Drupal 8
Introduction à Drupal 8Introduction à Drupal 8
Introduction à Drupal 8Core-Techs
 
Webinar Smile : Comment industrialiser votre SI avec Ansible ?
Webinar Smile : Comment industrialiser votre SI avec Ansible ?Webinar Smile : Comment industrialiser votre SI avec Ansible ?
Webinar Smile : Comment industrialiser votre SI avec Ansible ?Smile I.T is open
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascriptcodedarmor
 
A la découverte de Drupal
A la découverte de DrupalA la découverte de Drupal
A la découverte de DrupalClaire Roubey
 
Optimisez vos imports de données avec Migrate
Optimisez vos imports de données avec MigrateOptimisez vos imports de données avec Migrate
Optimisez vos imports de données avec MigrateMatthieu Guillermin
 
Projet de semestre / 1ére partie / partage de contenus multimédias
Projet de semestre / 1ére partie / partage de contenus multimédiasProjet de semestre / 1ére partie / partage de contenus multimédias
Projet de semestre / 1ére partie / partage de contenus multimédiasLaurent Moccozet
 
Meetup Drupal Lyon - Sécuriser un site drupal
Meetup Drupal Lyon - Sécuriser un site drupalMeetup Drupal Lyon - Sécuriser un site drupal
Meetup Drupal Lyon - Sécuriser un site drupalAurelien Navarre
 

Was ist angesagt? (20)

Présentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysPrésentation Drupal - Global Training Days
Présentation Drupal - Global Training Days
 
Cms et-creer-un-petit-site-avec-drupal-jdll-2012
Cms et-creer-un-petit-site-avec-drupal-jdll-2012Cms et-creer-un-petit-site-avec-drupal-jdll-2012
Cms et-creer-un-petit-site-avec-drupal-jdll-2012
 
Agora cms - Comment Drupal Commerce innove avec Drupal 8
Agora cms - Comment Drupal Commerce innove avec Drupal 8Agora cms - Comment Drupal Commerce innove avec Drupal 8
Agora cms - Comment Drupal Commerce innove avec Drupal 8
 
Présentation de Drupal
Présentation de DrupalPrésentation de Drupal
Présentation de Drupal
 
Présentation Symetris - Drupalcamp Montreal 2013 le diable est dans les détails
Présentation Symetris - Drupalcamp Montreal 2013 le diable est dans les détailsPrésentation Symetris - Drupalcamp Montreal 2013 le diable est dans les détails
Présentation Symetris - Drupalcamp Montreal 2013 le diable est dans les détails
 
Drupagora linagora-20111110
Drupagora linagora-20111110Drupagora linagora-20111110
Drupagora linagora-20111110
 
Drupal 8
Drupal 8Drupal 8
Drupal 8
 
Pourquoi Drupal ?
Pourquoi Drupal ?Pourquoi Drupal ?
Pourquoi 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 ...
 
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
 
HTML5 - Sémantique, structure et nouveaux éléments
HTML5 - Sémantique, structure et nouveaux élémentsHTML5 - Sémantique, structure et nouveaux éléments
HTML5 - Sémantique, structure et nouveaux éléments
 
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
 
Introduction à Drupal 8
Introduction à Drupal 8Introduction à Drupal 8
Introduction à Drupal 8
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Webinar Smile : Comment industrialiser votre SI avec Ansible ?
Webinar Smile : Comment industrialiser votre SI avec Ansible ?Webinar Smile : Comment industrialiser votre SI avec Ansible ?
Webinar Smile : Comment industrialiser votre SI avec Ansible ?
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
 
A la découverte de Drupal
A la découverte de DrupalA la découverte de Drupal
A la découverte de Drupal
 
Optimisez vos imports de données avec Migrate
Optimisez vos imports de données avec MigrateOptimisez vos imports de données avec Migrate
Optimisez vos imports de données avec Migrate
 
Projet de semestre / 1ére partie / partage de contenus multimédias
Projet de semestre / 1ére partie / partage de contenus multimédiasProjet de semestre / 1ére partie / partage de contenus multimédias
Projet de semestre / 1ére partie / partage de contenus multimédias
 
Meetup Drupal Lyon - Sécuriser un site drupal
Meetup Drupal Lyon - Sécuriser un site drupalMeetup Drupal Lyon - Sécuriser un site drupal
Meetup Drupal Lyon - Sécuriser un site drupal
 

Andere mochten auch

Livre Drupal avance, un CMS pour développeurs
Livre Drupal avance, un CMS pour développeursLivre Drupal avance, un CMS pour développeurs
Livre Drupal avance, un CMS pour développeursneuros
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?ekino
 
The Flexibility of Drupal 8
The Flexibility of Drupal 8The Flexibility of Drupal 8
The Flexibility of Drupal 8Michael Miles
 
Applications métier avec Drupal
Applications métier avec DrupalApplications métier avec Drupal
Applications métier avec DrupalAdyax
 
Conference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à ParisConference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à ParisChipway
 
Presentation Drupal Content Management Framework
Presentation Drupal Content Management FrameworkPresentation Drupal Content Management Framework
Presentation Drupal Content Management FrameworkJoshua Powell
 
[Srijan Wednesday Webinars] Routing in Drupal 8: Decoupling hook_menu
[Srijan Wednesday Webinars] Routing in Drupal 8: Decoupling hook_menu[Srijan Wednesday Webinars] Routing in Drupal 8: Decoupling hook_menu
[Srijan Wednesday Webinars] Routing in Drupal 8: Decoupling hook_menuSrijan Technologies
 
Seminaire 2010 : Réussir les nouveaux projets web innovants avec Drupal
Seminaire 2010 : Réussir les nouveaux projets web innovants avec DrupalSeminaire 2010 : Réussir les nouveaux projets web innovants avec Drupal
Seminaire 2010 : Réussir les nouveaux projets web innovants avec DrupalLINAGORA
 
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
 [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr... [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...Srijan Technologies
 
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile CultureSrijan Technologies
 
Drupal 8 - A Brief Introduction
Drupal 8 - A Brief IntroductionDrupal 8 - A Brief Introduction
Drupal 8 - A Brief IntroductionJeff Geerling
 
Editor Experience in Drupal 8
Editor Experience in Drupal 8Editor Experience in Drupal 8
Editor Experience in Drupal 8Yuriy Gerasimov
 
Deviation and parralelism copy
Deviation and parralelism   copyDeviation and parralelism   copy
Deviation and parralelism copyNavera Rahman
 
Gmp change control by amsavel
Gmp  change control  by amsavelGmp  change control  by amsavel
Gmp change control by amsavelAmsavel Vel
 
CAPA Training Presentation
CAPA Training PresentationCAPA Training Presentation
CAPA Training PresentationNancy Watts
 
Pharmaceutical Deviation SOP
Pharmaceutical Deviation SOPPharmaceutical Deviation SOP
Pharmaceutical Deviation SOPMohamed Wallash
 
GMP Training: Handling of deviation
GMP Training: Handling of deviationGMP Training: Handling of deviation
GMP Training: Handling of deviationDr. Amsavel A
 

Andere mochten auch (20)

Livre Drupal avance, un CMS pour développeurs
Livre Drupal avance, un CMS pour développeursLivre Drupal avance, un CMS pour développeurs
Livre Drupal avance, un CMS pour développeurs
 
Drupal presentation
Drupal presentationDrupal presentation
Drupal presentation
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
 
The Flexibility of Drupal 8
The Flexibility of Drupal 8The Flexibility of Drupal 8
The Flexibility of Drupal 8
 
Applications métier avec Drupal
Applications métier avec DrupalApplications métier avec Drupal
Applications métier avec Drupal
 
Conference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à ParisConference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à Paris
 
Presentation Drupal Content Management Framework
Presentation Drupal Content Management FrameworkPresentation Drupal Content Management Framework
Presentation Drupal Content Management Framework
 
[Srijan Wednesday Webinars] Routing in Drupal 8: Decoupling hook_menu
[Srijan Wednesday Webinars] Routing in Drupal 8: Decoupling hook_menu[Srijan Wednesday Webinars] Routing in Drupal 8: Decoupling hook_menu
[Srijan Wednesday Webinars] Routing in Drupal 8: Decoupling hook_menu
 
Seminaire 2010 : Réussir les nouveaux projets web innovants avec Drupal
Seminaire 2010 : Réussir les nouveaux projets web innovants avec DrupalSeminaire 2010 : Réussir les nouveaux projets web innovants avec Drupal
Seminaire 2010 : Réussir les nouveaux projets web innovants avec Drupal
 
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
 [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr... [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
 
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
 
Drupal 8 - A Brief Introduction
Drupal 8 - A Brief IntroductionDrupal 8 - A Brief Introduction
Drupal 8 - A Brief Introduction
 
Editor Experience in Drupal 8
Editor Experience in Drupal 8Editor Experience in Drupal 8
Editor Experience in Drupal 8
 
Change control
Change controlChange control
Change control
 
Deviation and parralelism copy
Deviation and parralelism   copyDeviation and parralelism   copy
Deviation and parralelism copy
 
Gmp change control by amsavel
Gmp  change control  by amsavelGmp  change control  by amsavel
Gmp change control by amsavel
 
CAPA Training Presentation
CAPA Training PresentationCAPA Training Presentation
CAPA Training Presentation
 
Change control
Change controlChange control
Change control
 
Pharmaceutical Deviation SOP
Pharmaceutical Deviation SOPPharmaceutical Deviation SOP
Pharmaceutical Deviation SOP
 
GMP Training: Handling of deviation
GMP Training: Handling of deviationGMP Training: Handling of deviation
GMP Training: Handling of deviation
 

Ähnlich wie Global Training Day Paris - Drupal 8

Drupal & responsive
Drupal & responsiveDrupal & responsive
Drupal & responsiveRezonova
 
Solutions Web « prêtes à porter » avec WordPress
Solutions Web « prêtes à porter » avec WordPressSolutions Web « prêtes à porter » avec WordPress
Solutions Web « prêtes à porter » avec WordPressStéphane Plante
 
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012Chipway
 
Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm
 
Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)LaNetscouade
 
Découvrir Drupal, le CMS Open Source de référence
Découvrir Drupal, le CMS Open Source de référenceDécouvrir Drupal, le CMS Open Source de référence
Découvrir Drupal, le CMS Open Source de référenceLINAGORA
 
DrupalCamp Paris 2013 - Drupal : un CMS orienté métier
 DrupalCamp Paris 2013 - Drupal : un CMS orienté métier DrupalCamp Paris 2013 - Drupal : un CMS orienté métier
DrupalCamp Paris 2013 - Drupal : un CMS orienté métierActency
 
Industrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec DrupalIndustrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec DrupalLINAGORA
 
Positionner drupal-conference-drupalcamp-lyon-2012-marketing
Positionner drupal-conference-drupalcamp-lyon-2012-marketingPositionner drupal-conference-drupalcamp-lyon-2012-marketing
Positionner drupal-conference-drupalcamp-lyon-2012-marketingChipway
 
Recueil des mauvaises pratiques constatées lors de l'audit de sites Drupal 7
Recueil des mauvaises pratiques constatées lors de l'audit de sites Drupal 7Recueil des mauvaises pratiques constatées lors de l'audit de sites Drupal 7
Recueil des mauvaises pratiques constatées lors de l'audit de sites Drupal 7OSInet
 
Faut-il passer à Prestashop version 1.7 ?
Faut-il passer à Prestashop version 1.7 ?Faut-il passer à Prestashop version 1.7 ?
Faut-il passer à Prestashop version 1.7 ?Jean-François Viguier
 
Conference drupagora-drupal-8 2012-11-09
Conference drupagora-drupal-8 2012-11-09Conference drupagora-drupal-8 2012-11-09
Conference drupagora-drupal-8 2012-11-09Chipway
 
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 configurateurAlphorm
 
Usine à site avec Drupal - Meet up Drupal 2014
Usine à site avec Drupal - Meet up Drupal 2014Usine à site avec Drupal - Meet up Drupal 2014
Usine à site avec Drupal - Meet up Drupal 2014Actency
 
Liferay Symposium Retour d'expérience de la mise en place du portail Liferay ...
Liferay Symposium Retour d'expérience de la mise en place du portail Liferay ...Liferay Symposium Retour d'expérience de la mise en place du portail Liferay ...
Liferay Symposium Retour d'expérience de la mise en place du portail Liferay ...zikhteah
 
Drupagora 2012 - Améliorations ergonomiques pour les contributeurs dans Drupal
Drupagora 2012 - Améliorations ergonomiques pour les contributeurs dans DrupalDrupagora 2012 - Améliorations ergonomiques pour les contributeurs dans Drupal
Drupagora 2012 - Améliorations ergonomiques pour les contributeurs dans DrupalOlivier Friesse
 
Support formation vidéo : Active Directory avec Windows Server 2012 R2
Support formation vidéo : Active Directory avec Windows Server 2012 R2Support formation vidéo : Active Directory avec Windows Server 2012 R2
Support formation vidéo : Active Directory avec Windows Server 2012 R2SmartnSkilled
 

Ähnlich wie Global Training Day Paris - Drupal 8 (20)

Drupal & responsive
Drupal & responsiveDrupal & responsive
Drupal & responsive
 
Solutions Web « prêtes à porter » avec WordPress
Solutions Web « prêtes à porter » avec WordPressSolutions Web « prêtes à porter » avec WordPress
Solutions Web « prêtes à porter » avec WordPress
 
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
Bonnes pratiques-drupal-dans-cahier-des-charges conference-dc-lyon-2012
 
Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs
 
Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)Mener à bien un projet Drupal (Drupagora 2013)
Mener à bien un projet Drupal (Drupagora 2013)
 
Découvrir Drupal, le CMS Open Source de référence
Découvrir Drupal, le CMS Open Source de référenceDécouvrir Drupal, le CMS Open Source de référence
Découvrir Drupal, le CMS Open Source de référence
 
DrupalCamp Paris 2013 - Drupal : un CMS orienté métier
 DrupalCamp Paris 2013 - Drupal : un CMS orienté métier DrupalCamp Paris 2013 - Drupal : un CMS orienté métier
DrupalCamp Paris 2013 - Drupal : un CMS orienté métier
 
Introduction au développement en SharePoint
Introduction au développement en SharePointIntroduction au développement en SharePoint
Introduction au développement en SharePoint
 
Industrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec DrupalIndustrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec Drupal
 
Positionner drupal-conference-drupalcamp-lyon-2012-marketing
Positionner drupal-conference-drupalcamp-lyon-2012-marketingPositionner drupal-conference-drupalcamp-lyon-2012-marketing
Positionner drupal-conference-drupalcamp-lyon-2012-marketing
 
Recueil des mauvaises pratiques constatées lors de l'audit de sites Drupal 7
Recueil des mauvaises pratiques constatées lors de l'audit de sites Drupal 7Recueil des mauvaises pratiques constatées lors de l'audit de sites Drupal 7
Recueil des mauvaises pratiques constatées lors de l'audit de sites Drupal 7
 
Pas possible en drupal, c'est faux
Pas possible en drupal, c'est fauxPas possible en drupal, c'est faux
Pas possible en drupal, c'est faux
 
Usine à site
Usine à siteUsine à site
Usine à site
 
Faut-il passer à Prestashop version 1.7 ?
Faut-il passer à Prestashop version 1.7 ?Faut-il passer à Prestashop version 1.7 ?
Faut-il passer à Prestashop version 1.7 ?
 
Conference drupagora-drupal-8 2012-11-09
Conference drupagora-drupal-8 2012-11-09Conference drupagora-drupal-8 2012-11-09
Conference drupagora-drupal-8 2012-11-09
 
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
 
Usine à site avec Drupal - Meet up Drupal 2014
Usine à site avec Drupal - Meet up Drupal 2014Usine à site avec Drupal - Meet up Drupal 2014
Usine à site avec Drupal - Meet up Drupal 2014
 
Liferay Symposium Retour d'expérience de la mise en place du portail Liferay ...
Liferay Symposium Retour d'expérience de la mise en place du portail Liferay ...Liferay Symposium Retour d'expérience de la mise en place du portail Liferay ...
Liferay Symposium Retour d'expérience de la mise en place du portail Liferay ...
 
Drupagora 2012 - Améliorations ergonomiques pour les contributeurs dans Drupal
Drupagora 2012 - Améliorations ergonomiques pour les contributeurs dans DrupalDrupagora 2012 - Améliorations ergonomiques pour les contributeurs dans Drupal
Drupagora 2012 - Améliorations ergonomiques pour les contributeurs dans Drupal
 
Support formation vidéo : Active Directory avec Windows Server 2012 R2
Support formation vidéo : Active Directory avec Windows Server 2012 R2Support formation vidéo : Active Directory avec Windows Server 2012 R2
Support formation vidéo : Active Directory avec Windows Server 2012 R2
 

Global Training Day Paris - Drupal 8

  • 2. © 2007-2012© 2007-2015 Stagiaires et formateur •Stagiaires •Nom et profil ? •Comment avez-vous découvert Drupal ? •Qu’attendez-vous de cette formation ? •Formateur (Romain JARRAUD) •Développeur web depuis 1998. •A commencé par faire du développement Drupal, et aujourd’hui fait surtout de l’animation de formations et du consulting Drupal. 2
  • 3. © 2007-2012© 2007-2015 Sommaire •Présentation de Drupal. •Cas d’utilisation. •CMS et framework. •MVC. •Démonstration. 3
  • 5. © 2007-2012© 2007-2015 Connaissez-vous Drupal ? 5 0 € 2 001 676 37 296 2%Made in Noeud (node) Module Thème Taxonomie
  • 6. © 2007-2012© 2007-2015 Drupal •29 800 modules : réseaux sociaux, e- commerce, SEO, gestion de contenus, médias, SSO... •2 115 thèmes. •904 distributions. •1 157 400 utilisateurs enregistrés. •Plus grande communauté open-source au monde (2 fois plus de développeurs que Linux). 6
  • 8. © 2007-2012© 2007-2015 Positionnement de Drupal •WordPress++ •Création/gestion d’un site “à la souris”, sans développement. •Gestion de contenu élaborée (types de contenu personnalisés, classification, workflow...). •Écosystème de modules pour étendre ou modifier les fonctionnalités de base. •Possibilité de personnalisations avancées, aussi bien graphiques que fonctionnelles. •Content Management Framework (CMF) •Un cadre applicatif permettant de créer des applications web de gestion de contenu. •Un ensemble d’APIs (SGBD, formulaires, contrôle d’accès...). •Une architecture modulaire extensible. 8
  • 24. © 2007-2012© 2007-2015 Evolution 24 BLOG CMF+
 Plateforme   d’applica8on CMS CMF CMF+
  • 25. © 2007-2012© 2007-2015 drupal.org •Ressources : •Modules, thèmes, distributions •Guides •Documentations •Hébergement •Livres •Site participatif alimenté par la communauté. 25
  • 26. © 2007-2012© 2007-2015 Evénements •DrupalCon 3 fois par an (Europe, Etats- Unis et Amérique du Sud/Océanie). •DrupalCamp nationaux dans de nombreux pays. •Drupal Dev Days pour les développeurs. •MeetUp : rencontres communautaires avec présentation. •Drink ’n’ Drupal : rencontre informelle. 26
  • 27. © 2007-2012© 2007-2015 Acquia •Société américaine fondée par Dries Buytaert. •Emploi de nombreux contributeurs actifs. •Promotion de Drupal. •Support, hébergement, optimisation. •Certification. •Ce n’est pas l’éditeur officiel ! 27
  • 28. © 2007-2015 Petit tour rapide de Drupal 8 28
  • 29. © 2007-2012© 2007-2015 Drupal 8 vs Drupal 7 •Back-office réorganisé. •Structure des fichiers/dossiers repensée. •Intégration de nombreux modules : Views, Entity Reference, Date, Email... •Wysiwyg, Inline Editing, Traduction, Responsive Design, Navbar... •Blocs «maison». •Système de thème revu : Twig, templates uniquement, preprocess. •CMI : déploiement «facile». •POO : développement orienté object (Injection de dépendance, PSR-4, interface...). 29
  • 30. © 2007-2012© 2007-2015 Drupal 8 vs Drupal 7 Modules supprimés •Blog (drupal.org/project/blog) •Dashboard (maintenant Homebox drupal.org/ project/homebox) •Overlay •Open ID •Poll (drupal.org/project/poll) •PHP Filter •Trigger (utiliser Rules) •Profile (utiliser Profile2) •Translation (maintenant Entity Translation) •XML-RPC 30
  • 31. © 2007-2012© 2007-2015 Drupal 8 vs Drupal 7 Modules intégrés •Views •Administration Views •Module Filter •CKeditor •Display Suite •Entity View Mode •Entity Reference •Entity Translation •Date •E-mail •Link •Picture (Responsive Image) •Breakpoint •Features (sur un même site) 31 •Insert (inline image) •Services et RESTws •String Override •Bean (Bloc comme entité) •Telephone •Transliteration •User Image Field •Views Bulk Operation (VBO) •Webform (pour les formulaires de contact) •Localization Update (l10n Update) •Administration Language •Fallback Language Negotiation
  • 34. © 2007-2012© 2007-2015 Drupal •Gestion des utilisateurs. •Gestion du contenu généré. •Séparation fonctionnel / présentation. •Modèle MVC. •Sécurité (formulaires, XSS, SQL injection…) •Drupal est de plus en plus une plateforme de développement. Ce n’est plus un simple système de création de blog (on peut quand même !). 34
  • 35. © 2007-2012© 2007-2015 Modules maison étendant des modules contrib Applications tierce-partie Modules contrib CMS et Framework 35 Drupal Modules maison
  • 36. © 2007-2013© 2007-2015 Etendre Drupal en installant des Modules 36
  • 37. © 2007-2012© 2007-2015 Qu’est-ce qu’un module ? •D’autres logiciels utilisent d’autres mots pour parler de "module" : plugin, add-on, composant, extension... •Un module permet d’ajouter une ou plusieurs fonctionnalités à Drupal : •Module Forum - Ajoute un forum •Module Simplenews - Ajoute une newsletter •Module Google Analytics - Connexion au service de Google •Module LDAP - Ajoute l’identification via un annuaire LDAP •... (il existe des milliers de modules) •Chaque module possède plusieurs versions correspondant aux versions majeures de Drupal (7, 8..).
 La version 8.x d’un module n’est compatible qu’avec la version 8.x de Drupal. Idem pour la version 5.x, 6.x... 37
  • 38. © 2007-2012© 2007-2015 Où trouver des modules ? •On trouve des modules à plusieurs endroits : •Modules natifs (ou core), livrés avec Drupal. •Modules contrib, hébergés sur drupal.org. •Modules maison, développés pour un besoin ou projet spécifique. •Comment chercher/comparer les modules ? •Pour chercher un module contrib, taper sur Google :
 motclé drupal
 ou bien : motclé site:drupal.org/project/ •Pour comparer les modules contrib, regarder le nombre d’installations, le statut la dernière mise à jour, et surtout... tester le module vous-même ! 38
  • 39. © 2007-2012© 2007-2015 Flexibilité •Les modules existants couvrent un large choix de fonctionnalités. •De nombreuses APIs permettent de s’intégrer facilement à Drupal et de développer ses propres fonctionnalités. •Certains modules sont extensibles en proposant leurs propres APIs. 39
  • 40. © 2007-2012© 2007-2015 Intégration •1277 modules destinés à intégrer des solutions tiers partie (Gmap, CAS, LDAP…). •Web Services : diffusion multi canal. 40
  • 43. © 2007-2012© 2007-2015 Intégration 43 Third party services http://drupal.org/project/salesforce http://drupal.org/project/adsense http://drupal.org/project/site_verify http://drupal.org/project/acquia_connector http://drupal.org/project/opencalais http://drupal.org/project/alfresco http://drupal.org/project/millennium Media http://drupal.org/project/media_youtube http://drupal.org/project/media_vimeo http://drupal.org/project/flickr http://drupal.org/project/media_flickr ! JQuery libraries! ! http://drupal.org/project/superfish! http://drupal.org/project/jcarousel! http://drupal.org/project/addtoany! ! Social! ! http://drupal.org/project/twitter! http://drupal.org/project/google_plusone! http://drupal.org/project/mailchimp! http://drupal.org/project/fb! ! Mapping! ! http://drupal.org/project/geofield! http://drupal.org/project/gmap! http://drupal.org/project/geocoder! http://drupal.org/project/openlayers! http://drupal.org/project/location! ! Visit ! ! http://drupal.org/project/modules! ! for details on third party integration ! 771 modules available for Drupal 7!
  • 44. © 2007-2012© 2007-2015 MVC •Contenus : noeuds, utilisateurs. •Vues : modules Views. •Contrôler : Drupal et modules. 44
  • 45. © 2007-2012© 2007-2015 Content Management System 45 Drupal et modules Utilisateurs Webmaster, contributeurs,... Contenus Articles, documents,... Thème Drupal et modules Drupal et modules Drupal et modules Présentation : pages, blocs Webmaster Contributeurs
  • 46. © 2007-2012© 2007-2015 Page Web vs Contenu •Site statique : collection de pages dont le contenu n’est que peu modifié dans le temps. •Site dynamique : le contenu évolue sans cesse. Le site ou l’application gère des données (utilisateurs, articles...) en définissant le workflow de publication et l’affichage des différentes pages. •Il faut voir aujourd’hui un site web comme de la gestion de contenus en ligne et non pas comme une collection de pages. 46
  • 48. © 2007-2012© 2007-2015 contenu = noeud Noeuds •Les contenus que l’on souhaite mettre en ligne sont structurés : titre, corps, date, images, vidéos... •Ces contenus (ou données) sont des noeuds. En fonction des informations dont on a besoin on crée des types de noeuds comportants des champs spécifiques : •Article : titre, image, corps... •Recettes de cuisine : titre, ingrédients, instructions, photos... •Drupal offre une très grande flexibilité pour décrire les contenus du site. •Les contenus principaux d’un site sont des noeuds. 48
  • 50. © 2007-2012© 2007-2015 Champs Fonctionnalités Type de noeuds 50 photo événement fichier légende personnes dates (début - fin) description lieu commentaires j’aime partage ajouter au calendrier inscription donner une note
  • 51. © 2007-2012© 2007-2015 Affichage du contenu •Le système gère à la fois la création de contenus, mais également son affichage. •Drupal utilise le modèle MVC (Model, View, Controler). •Les vues sont des listes d’entités, par exemples : •articles les plus lus •utilisateurs les plus actifs •commentaires les plus récents •Chaque page est découpée en région (wireframe) dans lesquelles on dispose ces listes. 51
  • 52. © 2007-2012© 2007-2015 Tout n’est pas un noeud •Les noeuds sont les contenus principaux du site. •D’autres données ne sont pas des noeuds : utilisateurs, commentaires, taxonomie... •Drupal organise toutes les données en entité : •Noeuds •Utilisateurs •Commentaires •Terme de taxonomie •Les entités possèdent des propriétés de bases (identifiant, libellé, date de création…) et sont fieldable. 52
  • 53. © 2007-2012© 2007-2015 Relation entre entités •Il est possible de créer des relations entre différentes entités. •Par exemple pour un site d’hôtels de cuisine, on a d’un côté les hôtels (noeuds) et d’un autre côté les chefs de cuisine (utilisateurs). On peut lier un chef à des hôtels en établissant une relation entre l’entité utilisateur et l’entité noeuds (spécifiquement le type de contenu hôtel). •Ces relations sont créées grâce à un champ de type Entity Reference. 53
  • 54. © 2007-2012© 2007-2015 Entité, bundle et champ 54 Entités Champs Bundle Photos Catégorie Adresse Bio ProfilesArticles Catégories UtilisateursNoeuds Taxonomie
  • 57. © 2007-2012© 2007-2015 Blocs •Un bloc est un contenu généralement court ou une liste de contenus, qui peut être affiché sur n’importe quelle page existante du site. •Un bloc est positionné dans une des régions de la page (barre de gauche, barre de droite, pied de page…). Une région peut contenir plusieurs blocs “empilés”. •On peut définir la visibilité d’un bloc (c. à d. définir quand il apparaît) en fonction : •De l’URL courante (node/18, admin/*, <front>...). •Du type de noeud affiché (page, article...). •Du rôle de l’utilisateur courant (anonyme, identifié…). •De la langue. 57
  • 58. © 2007-2012© 2007-2015 Vues - module Views •Création de listes très flexible : •derniers utilisateurs enregistrés sur le site. •contenus les plus commentés. •fichiers en téléchargement. •galleries/slideshows de photos. •Le module Views est un moteur de requêtes et d’affichage. •La sorties des données peut se faire selon plusieurs formats : HTML, JSON, XML (RSS)… •Les vues produisent ainsi soit des pages et des blocs, soit des flux de données consommés par des systèmes externes. •Une vue est dynamique : la liste est reconstruite à chaque fois qu’elle apparait (on peut néanmoins activer le cache). 58
  • 63. © 2007-2012© 2007-2015 Modules •La logique métier est contenue dans les modules installés. •Grande variété de fonctionnalités disponibles : SSO, templating, lettre d’information, contrôle d’accès, éditeurs WYSIWYG, SEO, partage via les réseaux sociaux, cache, type de champ… 63
  • 64. © 2007-2012© 2007-2015 Modules indispensables (ou pas!) •Views : création de listes. •Rules : automatisation d’actions en fonction de déclencheurs. •Context : définition de contextes (URL, type de contenu, rôles…) et de réactions (changer de thème, placer un bloc dans une région…). •Panel, Display Suite : création de gabarits via l’interface. •Devel : outils pour les développeurs. 64
  • 66. © 2007-2012© 2007-2015 Sécurité •Security Team •Equipe dédiée à assurer que Drupal est protégé contre les attaques de types connus. •Le coeur de Drupal évolue donc, comme certains modules qui sont aussi suivis (souvent les plus utilisés). •Mises à jour continues •35 versions de Drupal 7. •Failles de sécurité et correction de bugs. •Les mises à jour sont prévisibles. 66
  • 67. © 2007-2012© 2007-2015 Les utilisateurs •Chaque internaute connecté au site possède son profil au chemin user/uid (uid est l’identifiant unique). •Les personnes non connectées sont dites anonymes. •Les utilisateurs sont organisés en différents rôles. Chacun d’entre eux peut appartenir à un ou plusieurs rôles. •On peut créer autant de rôles que nécessaire. Par défaut on a les suivants : •Anonyme : utilisateur non connecté. •Authentifié : utilisateur connecté. •Administrateur : utilisateur possédant tous les droits (par défaut). •Les permissions (ou droits) sont assignées aux différents rôles. •Remarque : l’utilisateur 1 n’a pas de rôle. On ne peut donc pas lui limiter l’accès au site sauf en le bloquant (status « Bloqué »). 67
  • 68. © 2007-2012© 2007-2015 Rôles et droits 68 Droits Administrer les menus et les éléments de menus. Administrer le contenu Voir le contenu publié Utiliser la recherche Administrer les utilisateurs Rôles Administrateur Webmaster Anonyme Utilisateurs Céline Paul Marie Louis
  • 69. © 2007-2012© 2007-2015 Performance •Drupal n’a pas vocation seul à encaisser la charge, c’est le rôle du serveur également. •Plusieurs niveaux de cache : •front-end (thème). •backend : php, base de données. •navigateur (assets…). 69
  • 71. © 2007-2012© 2007-2015 Démonstration •Ajouter un type de contenu. •Modules pour les développeurs •Faire une relation entre types de contenu. •Taxonomie. •Views : •Liste simple. •Liste avec relation. •Contenu du même auteur. •Contenus utilisants les mêmes termes. •Thème front et back office. 71
  • 72. © 2007-2012© 2007-2015 Trained People •Trained People c’est également : •de l’accompagnement durant vos projets (audit, régie...). •des formations Drupal spécialisées (webmaster, designer, développeur, responsive design, sécurité et performance, déploiement). •des recommandations (freelances, agences, hébergement). 72