61
DRUPAL 8 SÉMINAIRE SMILE

Webinar Smile - Comment Drupal 8 peut booster votre stratégie digitale ?

  • Upload
    smile

  • View
    155

  • Download
    1

Embed Size (px)

Citation preview

DRUPAL 8

SÉMINAIRE SMILE

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

VOS INTERLOCUTEURS

VINCENT MAUCORPS Business Line Web Manager @vmaucorps Email : [email protected]

ALAN MOREAU Expert Drupal @misterdoak

Email : [email protected]

JUIN 2015

Webinar Smile - Drupal 8

4

DRUPAL 8:

JUIN 2015

Webinar Smile - Drupal 8

LES NOUVEAUTÉS

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

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

DRUPAL 8: LES NOUVEAUTÉS

JUIN 2015

Webinar Smile - Drupal 8

UN LONG CHEMIN

8

DRUPAL 8: LES NOUVEAUTÉS

JUIN 2015

Webinar Smile - Drupal 8

UN LONG CHEMIN

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

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

DRUPAL 8: LES NOUVEAUTÉS

«Wysiwyg» :

inclus dans le core Drupal

JUIN 2015

Webinar Smile - Drupal 8

L’INITIATIVE SPARK

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

DRUPAL 8: LES NOUVEAUTÉS

Nouvelle

interface de

contribution

JUIN 2015

Webinar Smile - Drupal 8

L’INITIATIVE SPARK

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

DRUPAL 8: LES NOUVEAUTÉS

Thème d’administration épuré

JUIN 2015

Webinar Smile - Drupal 8

L’INITIATIVE SPARK

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

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

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

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

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

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

DRUPAL 8: LES NOUVEAUTÉS

Mobile Friendly Toolbar

JUIN 2015

Webinar Smile - Drupal 8

«MOBILE FIRST»

23

DRUPAL 8: LES NOUVEAUTÉS

Une aide simple pour vos nouveaux contributeurs

JUIN 2015

Webinar Smile - Drupal 8

TAKE A TOUR

24

DRUPAL 8: LES NOUVEAUTÉS

JUIN 2015

Webinar Smile - Drupal 8

ET SOUS LE CAPOT ?

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

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

DRUPAL 8: LES NOUVEAUTÉS

Normalize.css

jQuery touch punch

DomReady

html5shiv et classList

JUIN 2015

Webinar Smile - Drupal 8

NOUVEAUX OUTILS FRONTEND

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

DRUPAL 8: LES NOUVEAUTÉS

JUIN 2015

Webinar Smile - Drupal 8

SCHEMA.ORG

30

DRUPAL 8: LES NOUVEAUTÉS

JUIN 2015

Webinar Smile - Drupal 8

POUR DES NAVIGATEURS MODERNES

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

DRUPAL 8: LES NOUVEAUTÉS

JUIN 2015

Webinar Smile - Drupal 8

CONFIGURATIONS DES ENVIRONNEMENTS

DEV PROD

TESTS

33

DRUPAL 8: LES NOUVEAUTÉS

JUIN 2015

Webinar Smile - Drupal 8

CONFIGURATIONS DES ENVIRONNEMENTS

34

DRUPAL 8: LES NOUVEAUTÉS

JUIN 2015

Webinar Smile - Drupal 8

CONFIGURATIONS DES ENVIRONNEMENTS

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

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

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

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

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

40

DRUPAL 8:

JUIN 2015

Webinar Smile - Drupal 8

QUAND? COMMENT?

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

Migration depuis Drupal 7

Planifier sans précipitation

Choisir les bons modules

Attendre Drupal 9?

VERSION STABLE RELEASE CANDIDATE BETA

DRUPAL 8: POURQUOI? QUAND? COMMENT?

JUIN 2015

Webinar Smile - Drupal 8

QUAND?

43

Drupal

9 Support

Migration depuis Drupal 7

Planifier sans précipitation

Choisir les bons modules

Attendre Drupal 9?

VERSION STABLE RELEASE CANDIDATE BETA

DRUPAL 8: POURQUOI? QUAND? COMMENT?

JUIN 2015

Webinar Smile - Drupal 8

QUAND?

44

Drupal

9 Support

Migration depuis Drupal 7

Planifier sans précipitation

Choisir les bons modules

Attendre Drupal 9?

VERSION STABLE RELEASE CANDIDATE BETA

DRUPAL 8: POURQUOI? QUAND? COMMENT?

JUIN 2015

Webinar Smile - Drupal 8

QUAND?

Migration Migration

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 STABLE RELEASE CANDIDATE BETA

46

Migration depuis Drupal 6

L'enjeu du support

Migration 6 ou 7: même combat

Support Acquia Support par la communauté

DRUPAL 8: POURQUOI? QUAND? COMMENT?

JUIN 2015

Webinar Smile - Drupal 8

QUAND?

VERSION STABLE RELEASE CANDIDATE BETA

47

Migration depuis Drupal 6

L'enjeu du support

Migration 6 ou 7: même combat

Support Acquia Support par la communauté

DRUPAL 8: POURQUOI? QUAND? COMMENT?

JUIN 2015

Webinar Smile - Drupal 8

QUAND?

VERSION STABLE RELEASE CANDIDATE BETA

Migration

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 STABLE RELEASE CANDIDATE BETA

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 STABLE RELEASE CANDIDATE BETA

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 STABLE RELEASE CANDIDATE BETA

Plus riche que Drupal 7

51

DRUPAL 8: QUAND? COMMENT?

Préparer la montée en compétence

JUIN 2015

Webinar Smile - Drupal 8

COMMENT?

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

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

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)

55

MIGRER VERS

JUIN 2015

Webinar Smile - Drupal 8

DRUPAL 8

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.

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

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

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 :

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

61

LE GUIDE

JUIN 2015

Webinar Smile - Drupal 8

DRUPAL 8

HTTP://WWW.DRUPAL8-GUIDE.COM/