Drupal offre une polyvalence et une modularité rarement égalées et dispose d'une des communautés d'utilisateurs les plus actives.
Découvrez la dernière version d’une des solutions de CMS les plus utilisées au monde !
Drupal 8 : quelles sont les nouveautés ?
Drupal 7 vs Drupal 8 : Quelles compétences ? Pour quel type de projet ? Comment et quand migrer ?…
2. 2
SOMMAIRE
PREMIÈRE PARTIE
DRUPAL 8: LES NOUVEAUTÉS
DEUXIEME PARTIE
DRUPAL 8: QUAND? COMMENT?
TROISIÈME PARTIE
MIGRER VERS DRUPAL 8
JUIN 2015
Webinar Smile - Drupal 8
1
2
3
3. 3
VOS INTERLOCUTEURS
VINCENT MAUCORPS
Business Line Web Manager
@vmaucorps
Email : vincent.maucorps@smile.fr
ALAN MOREAU
Expert Drupal
@misterdoak
Email : alan.moreau@smile.fr
JUIN 2015
Webinar Smile - Drupal 8
5. 5
DRUPAL 8: LES NOUVEAUTÉS
Drupal 8 en chiffres
Un long chemin
Un CMS plus simple à utiliser …
… et une architecture remise à neuf
Coup d’œil sous le capot
JUIN 2015
Webinar Smile - Drupal 8
SOMMAIRE
6. 6
DRUPAL 8: LES NOUVEAUTÉS
+2 200 contributeurs au core drupal 8;
5 “core committers” (2 chez Acquia: Dries et Webchick)
11 000 patch commités
200 Beta blocker
15 versions alpha
Plus de 200 nouvelles fonctionnalités et améliorations
JUIN 2015
Webinar Smile - Drupal 8
EN CHIFFRES
7. 7
DRUPAL 8: LES NOUVEAUTÉS
JUIN 2015
Webinar Smile - Drupal 8
UN LONG CHEMIN
8. 8
DRUPAL 8: LES NOUVEAUTÉS
JUIN 2015
Webinar Smile - Drupal 8
UN LONG CHEMIN
9. 9
DRUPAL 8: LES NOUVEAUTÉS
Pour les contributeurs:
L’initiative Spark
Multilinguisme
Views dans le core Drupal
Des blocs sous stéroïdes
Meilleur modèle de données
Pour les visiteurs:
Une approche «mobile first»
Une meilleure accessibilité
Frontend Performance
« Take a tour »
JUIN 2015
Webinar Smile - Drupal 8
VUE D’ENSEMBLE
10. 10
DRUPAL 8: LES NOUVEAUTÉS
Spark: Une initiative Acquia créée par Dries afin d’améliorer
l’expérience utilisateur pour Drupal 8 (“backporté” sur Drupal 7)
Contribuer:
o «Wysiwyg»
o «In place editing»
o Status «Brouillon»
Design:
o Nouvel interface de création de contenu
o «Lifting» du thème admin
JUIN 2015
Webinar Smile - Drupal 8
L’INITIATIVE SPARK
http://buytaert.net/announcing-spark-authoring-improvements-for-drupal-7-and-drupal-8
11. 11
DRUPAL 8: LES NOUVEAUTÉS
«Wysiwyg» :
inclus dans le core Drupal
JUIN 2015
Webinar Smile - Drupal 8
L’INITIATIVE SPARK
12. 12
DRUPAL 8: LES NOUVEAUTÉS
«Edit in place» :
Modifiez votre contenu directement
depuis le frontend
JUIN 2015
Webinar Smile - Drupal 8
L’INITIATIVE SPARK
13. 13
DRUPAL 8: LES NOUVEAUTÉS
Nouvelle
interface de
contribution
JUIN 2015
Webinar Smile - Drupal 8
L’INITIATIVE SPARK
14. 14
DRUPAL 8: LES NOUVEAUTÉS
Prévisualisation :
Visualiser vos contenus tels
qu’ils seront réellement
affichés sur le frontend (en
fonction des «view mode»)
JUIN 2015
Webinar Smile - Drupal 8
L’INITIATIVE SPARK
15. 15
DRUPAL 8: LES NOUVEAUTÉS
Thème d’administration épuré
JUIN 2015
Webinar Smile - Drupal 8
L’INITIATIVE SPARK
16. 16
DRUPAL 8: LES NOUVEAUTÉS
Pensé multilingue : bloc, menu,
entité, …
Seulement 4 modules!
Une interface de traduction
repensée
Transliteration
Meilleur indexation
JUIN 2015
Webinar Smile - Drupal 8
MULTILINGUISME
17. 17
DRUPAL 8: LES NOUVEAUTÉS
Listes d’administrations
personnalisable
Responsive
Galerie d’images
Slideshow
réponse Json
JUIN 2015
Webinar Smile - Drupal 8
VIEWS DANS LE CORE DRUPAL (MODULE LE PLUS UTILISÉ)
18. 18
DRUPAL 8: LES NOUVEAUTÉS
Nouveaux blocs “core”:
Breadcrumbs, nom du site, slogan, …
Multi région (RIP multiBlock
module)
Menu partagé par les header / footer
Créez vos types de blocs
personnalisé
À la manière d’un content type
Vos bannières de pub simplifiées!
JUIN 2015
Webinar Smile - Drupal 8
DES BLOCS SOUS STÉROÏDES
19. 19
DRUPAL 8: LES NOUVEAUTÉS
Des nouveaux types de
champs pour vos entités
les indispensables: date, entity
reference, …
Éléments HTML5: téléphone, email,
lien, …
View mode et Form mode
Affichez vos formulaire différemment
selon l’utilisation
Commentaires
Option: «ouvert/fermé» deviant un
champ!
o Toutes vos entités sont
“commentables” !
JUIN 2015
Webinar Smile - Drupal 8
UN MODÈLE DE DONNÉES AMÉLIORÉ
20. 20
DRUPAL 8: LES NOUVEAUTÉS
Une application adaptée à tous
les écrans:
Responsive design
Mobile friendly toolbar
Performance “Front end”
JUIN 2015
Webinar Smile - Drupal 8
«MOBILE FIRST»
21. 21
DRUPAL 8: LES NOUVEAUTÉS
Tous les thèmes du core sont responsives
Support pour les images responsives inclus
JUIN 2015
Webinar Smile - Drupal 8
«MOBILE FIRST»
22. 22
DRUPAL 8: LES NOUVEAUTÉS
Mobile Friendly Toolbar
JUIN 2015
Webinar Smile - Drupal 8
«MOBILE FIRST»
23. 23
DRUPAL 8: LES NOUVEAUTÉS
Une aide simple pour vos nouveaux contributeurs
JUIN 2015
Webinar Smile - Drupal 8
TAKE A TOUR
24. 24
DRUPAL 8: LES NOUVEAUTÉS
JUIN 2015
Webinar Smile - Drupal 8
ET SOUS LE CAPOT ?
25. 25
DRUPAL 8: LES NOUVEAUTÉS
Pour les “frontend”
développeurs
HTML5
Nouvelle librairies JS
Twig
Schema.org
Navigateur “Moderne”
Pour les “backend”
développeurs
“Proudly Found Elsewhere”
Configurations des environnements
Entités
Moteur Restful
Cache
JUIN 2015
Webinar Smile - Drupal 8
POUR LES DÉVELOPPEURS
26. 26
DRUPAL 8: LES NOUVEAUTÉS
Navigation: <nav>, <header>,
<main>, and <section>
Form: champ date, teléphone
et email
Effet HTML5/CSS
JUIN 2015
Webinar Smile - Drupal 8
HTML5
27. 27
DRUPAL 8: LES NOUVEAUTÉS
Normalize.css
jQuery touch punch
DomReady
html5shiv et classList
JUIN 2015
Webinar Smile - Drupal 8
NOUVEAUX OUTILS FRONTEND
28. 28
DRUPAL 8: LES NOUVEAUTÉS
$node->foo ou $node['foo'] ?
print $foo ou print render($foo) ?
=> Aucune connaissance php
nécessaire
JUIN 2015
Webinar Smile - Drupal 8
TWIG
29. 29
DRUPAL 8: LES NOUVEAUTÉS
JUIN 2015
Webinar Smile - Drupal 8
SCHEMA.ORG
30. 30
DRUPAL 8: LES NOUVEAUTÉS
JUIN 2015
Webinar Smile - Drupal 8
POUR DES NAVIGATEURS MODERNES
31. 31
DRUPAL 8: LES NOUVEAUTÉS
Architecture plus moderne
POO, namespace, events, …
À jour avec les derniers standards
PSR-4
Librairie “best of breed”
Sf2, GuzzleHTTP, Assetic, …
JUIN 2015
Webinar Smile - Drupal 8
“PROUDLY FOUND ELSEWHERE”
32. 32
DRUPAL 8: LES NOUVEAUTÉS
JUIN 2015
Webinar Smile - Drupal 8
CONFIGURATIONS DES ENVIRONNEMENTS
DEV PRODTESTS
33. 33
DRUPAL 8: LES NOUVEAUTÉS
JUIN 2015
Webinar Smile - Drupal 8
CONFIGURATIONS DES ENVIRONNEMENTS
34. 34
DRUPAL 8: LES NOUVEAUTÉS
JUIN 2015
Webinar Smile - Drupal 8
CONFIGURATIONS DES ENVIRONNEMENTS
35. 35
DRUPAL 8: LES NOUVEAUTÉS
Ne sera pas dans Drupal 8.0.0
dans Drupal 8.x.0 ?
UUID dans le core Drupal
Modules deploy / RestWS
JUIN 2015
Webinar Smile - Drupal 8
PARTAGÉ DU CONTENU DRUPAL À DRUPAL
36. 36
DRUPAL 8: LES NOUVEAUTÉS
Une API repensée
Oublions les limites dans Drupal 7 core
Déclarer vos entité en étendant EntityInterface
RIP hook_entity_*
Multilinguisme natif
$node->body[$langcode][0]['value'] => $node->get('body')->value
Des entités partout
Blocs, Types de contenu, Utilisateurs, Vues, Taxonomie, …
JUIN 2015
Webinar Smile - Drupal 8
DES ENTITÉS PARTOUT
37. 37
DRUPAL 8: LES NOUVEAUTÉS
Content Entities
Champs custom
Enregistrés en base de données
Créés depuis le front office
Examples
ŽNodes
ŽCustom Blocks
ŽUsers
ŽComments
Taxonomy Terms
Menu Links
Aggregator Feeds/Items
Config Entities
Déployés sur vos environnements
Enregistrés dans la configuration
Créés depuis le back office
Examples
Content Types
Custom Block Types
User Roles
Views
Taxonomy Vocabularies
Menus
Image Styles
JUIN 2015
Webinar Smile - Drupal 8
2 TYPES D’ENTITÉS
38. 38
DRUPAL 8: LES NOUVEAUTÉS
Modules RESTful Web Services
(RestWS)
API REST entièrement configurable
Intégration avec views!
Vos listes disponibles via une API REST
sans coder!
GuzzleHTTP
Un client HTTP simple et performant
(RIP drupal_http_request)
JUIN 2015
Webinar Smile - Drupal 8
UN MOTEUR RESTFUL
39. 39
DRUPAL 8: LES NOUVEAUTÉS
Module entity_cache inclus
au core Drupal
Cache tags
Vider les bons caches
Aggrégation des CSS et JS par défaut
La communauté Drupal travail en ce moment à l’amélioration
générale des performances
JUIN 2015
Webinar Smile - Drupal 8
CACHE
41. 41
DRUPAL 8: QUAND? COMMENT?
Migration depuis Drupal 7
Migration depuis Drupal 6
Lancement d'un nouveau projet
JUIN 2015
Webinar Smile - Drupal 8
QUAND?
42. 42
Migration depuis Drupal 7
Planifier sans précipitation
Choisir les bons modules
Attendre Drupal 9?
VERSION STABLERELEASE CANDIDATEBETA
DRUPAL 8: POURQUOI? QUAND? COMMENT?
JUIN 2015
Webinar Smile - Drupal 8
QUAND?
43. 43
Drupal
9
Support
Migration depuis Drupal 7
Planifier sans précipitation
Choisir les bons modules
Attendre Drupal 9?
VERSION STABLERELEASE CANDIDATEBETA
DRUPAL 8: POURQUOI? QUAND? COMMENT?
JUIN 2015
Webinar Smile - Drupal 8
QUAND?
44. 44
Drupal
9
Support
Migration depuis Drupal 7
Planifier sans précipitation
Choisir les bons modules
Attendre Drupal 9?
VERSION STABLERELEASE CANDIDATEBETA
DRUPAL 8: POURQUOI? QUAND? COMMENT?
JUIN 2015
Webinar Smile - Drupal 8
QUAND?
MigrationMigration
45. 45
DRUPAL 8: POURQUOI? QUAND? COMMENT?
Migration depuis Drupal 6
L'enjeu du support
Migration 6 ou 7: même combat
JUIN 2015
Webinar Smile - Drupal 8
QUAND?
VERSION STABLERELEASE CANDIDATEBETA
46. 46
Migration depuis Drupal 6
L'enjeu du support
Migration 6 ou 7: même combat
Support AcquiaSupport par la communauté
DRUPAL 8: POURQUOI? QUAND? COMMENT?
JUIN 2015
Webinar Smile - Drupal 8
QUAND?
VERSION STABLERELEASE CANDIDATEBETA
47. 47
Migration depuis Drupal 6
L'enjeu du support
Migration 6 ou 7: même combat
Support AcquiaSupport par la communauté
DRUPAL 8: POURQUOI? QUAND? COMMENT?
JUIN 2015
Webinar Smile - Drupal 8
QUAND?
VERSION STABLERELEASE CANDIDATEBETA
Migration
48. 48
DRUPAL 8: POURQUOI? QUAND? COMMENT?
Lancement d'un nouveau projet
Procéder par étape
Que faire maintenant...
...et un peu plus tard
JUIN 2015
Webinar Smile - Drupal 8
QUAND?
VERSION STABLERELEASE CANDIDATEBETA
49. 49
DRUPAL 8: POURQUOI? QUAND? COMMENT?
Lancement d'un nouveau projet
Procéder par étape
Que faire maintenant...
...et un peu plus tard
JUIN 2015
Webinar Smile - Drupal 8
QUAND?
Modules du noyau
Modules
Complémentaires
VERSION STABLERELEASE CANDIDATEBETA
50. 50
DRUPAL 8: POURQUOI? QUAND? COMMENT?
Lancement d'un nouveau projet
Procéder par étape
Que faire maintenant...
...et un peu plus tard
JUIN 2015
Webinar Smile - Drupal 8
QUAND?
Modules du noyau
Modules
Complémentaires
VERSION STABLERELEASE CANDIDATEBETA
Plus riche que Drupal 7
51. 51
DRUPAL 8: QUAND? COMMENT?
Préparer la montée en compétence
JUIN 2015
Webinar Smile - Drupal 8
COMMENT?
52. 52
DRUPAL 8: POURQUOI? QUAND? COMMENT?
Développer un module
Utilisation de concepts Symfony2
Programmation orientée objet
Montée en compétence
Utilisation de YML
Révolution au niveau des API Drupal
Expertise Symfony2 en support
JUIN 2015
Webinar Smile - Drupal 8
COMMENT?
Database
Navigateur
Logique PHP
(accès aux
données)
Moteur de
Template
53. 53
DRUPAL 8: POURQUOI? QUAND? COMMENT?
Créer un thème
Drupal 8 s’appuie sur le moteur de template Twig
o Standardisation
o Maintenance
o Souplesse (surcharge)
Montée en compétence
La connaissance du PHP
n’est plus un pré-requis (mais utile)
Expertise Twig
Maîtrise du système de surcharge
JUIN 2015
Webinar Smile - Drupal 8
COMMENT?
Database
Navigateur
Logique PHP
(accès aux
données)
Moteur de
Template
(rendu HTML)
54. 54
DRUPAL 8: POURQUOI? QUAND? COMMENT?
Oser les SPA
(Single Page Application) !
Les nouveautés en termes de
Webservices ouvre la voie au
« Headless Drupal »
Montée en compétence
Utilisation de requêtes Ajax
Angular JS ou autres frameworks
FrontEnd
Développement SOA (Mockup de
Webservices, bouchons…)
JUIN 2015
Webinar Smile - Drupal 8
COMMENT?
Database
Navigateur
Logique PHP
(accès aux
données)
Framework
JavaScript
(rendu HTML)
56. Une migration vers une version majeure
est bien souvent un projet à part
entière. La charge de travail est
étroitement liée à la complexité du site.
57. DRUPAL 8: MIGRER VERS DRUPAL 8?
Choisissez les bons modules
References Entityreference
Phone Telephone
Link URL
Services RESTful Web Services
Utiliser l’éditeur de texte riche CKEditor
Attention quelques modules natifs vont
disparaitre
Blog, Dashboard, OpenID, Poll
Ces modules deviennent des extensions
communautaires
Profile, Trigger
Ces modules disparaissent au profit d’alternatives
DEUX CAS DE FIGURE
LANCER UN PROJET SOUS DRUPAL 7
Anticipez Drupal 8 dès la phase de conception
Mes extensions communautaires sont elles
disponibles pour Drupal 8?
Le module Upgrade Status vous donne un état
des modules portés pour Drupal 8
Quid des développements spécifiques?
L’extension Drupal Module Upgrader vous donne
les bons indicateurs
SITE DÉJÀ EXISTANT SOUS DRUPAL 6/7
Avoir un aperçu de la tâche à accomplir
58. DRUPAL 8: MIGRER VERS DRUPAL 8?
Upgrade status
Pour chaque module
quatre états possibles:
• Non disponible
• Version de
développement disponible
• Version stable disponible
• Intégré au core
FAIRE UN ETAT DES LIEUX
JUIN 2015
https://www.drupal.org/project/upgrade_status
59. DRUPAL 8: MIGRER VERS DRUPAL 8?
Drupal Module
Upgrader
Analyse un module et
génère un rapport:
• Liste les API qui ont
changé ou qui ne sont plus
supportées
• Liens vers la
documentation
FAIRE UN ETAT DES LIEUX
JUIN 2015
https://www.drupal.org/project/drupalmoduleupgrader
Exemple de rapport sur le module Socialize :
60. DRUPAL 8: MIGRER VERS DRUPAL 8?
Migrate
Brique intégrée au core
Drupal:
• Migration des contenus et
de leur type
• Migration des utilisateurs
et de leurs rôles
• Migration des blocks
• Migration de la
configuration
REPRISE DES CONTRIBUTIONS
JUIN 2015
Drupal 6 Drupal 7
Type de
contenu
Rôles Configuration
Contenus Utilisateurs
Migrate