Drupagora	
  2015
Drupal	
  8	
  :	
  regards	
  
croisés
10ans	
  
d’exper9se	
  
Drupal
23projets	
  
Drupal	
  en	
  
2014
Ingénierie	
  conseil	
  Drupal	
  
Spécialiste	
  haute	
  perf.	
  
Drupal	
  Core	
  maintainer	
  
2	
  projets	
  D8	
  en	
  2015
Alors	
  ce	
  projet	
  :	
  D7,	
  D8	
  ?	
  Ou…
Le	
  pitch
Un	
  site	
  
ins(tu(onnel	
  
sous	
  Drupal	
  6
Un	
  blog	
  avec	
  
Wordpress
De	
  l’Ecommerce	
  
mul(lingue	
  avec	
  
Prestashop
Un	
  extranet	
  
client	
  avec	
  
eZpublish
Un	
  RSE	
  avec	
  Drupal	
  Commons	
  en	
  D7
Besoins en attente :
-  API développeur
-  RWD sur l’ensemble des
plateformes
Le	
  pitch
Menons	
  une	
  étude	
  d’opportunité	
  !
Analyse	
  
fonc(onnelle
Analyse	
  
technique
Analyse	
  
stratégique
D’un	
  point	
  de	
  vue	
  fonc9onnel,	
  D8,	
  ça	
  change	
  quoi	
  ?
Contribu(on	
  
BO
Mobilité	
  &	
  
cross	
  canal
Mul(linguisme Accessibilité
Pour	
  le	
  BO,	
  la	
  révolu9on	
  n’est	
  pas	
  encore	
  là
D8	
  adresse	
  beaucoup	
  mieux	
  les	
  ques9ons	
  de	
  mobilité
Le	
  mul9linguisme	
  est	
  enfin	
  simple	
  d’u9lisa9on	
  
AVen9on	
  à	
  la	
  disponibilité	
  des	
  modules	
  sous	
  D8…
Il	
  manque	
  encore	
  beaucoup	
  trop	
  de	
  modules	
  cri9ques…
sds
•  Meta modules
•  Rules
•  Mises en avant
•  Media ?
•  One-trick ponies
•  Intégrations
•  Commerce
Certaines	
  distribu9ons	
  ne	
  sont	
  et	
  ne	
  seront	
  pas	
  tout	
  de	
  suite	
  disponibles
D’un	
  point	
  de	
  vue	
  technique,	
  D8,	
  ça	
  change	
  quoi	
  ?
Migrabilité Industrialisa(on
Scalabilité Performances
Maintenabilité Sécurité
Migrabilité
De  Vers 7.x 8.0.x 8.1.x
6.x Core : update
Contrib : variable
Core++ : Migrate
Core++ : Migrate
7.x Même site :
update
Refontes :
migrate_d2d
(Core++ : Migrate)
< 8.0.0-rc1 head2head Via 8.0.0
≥ 8.0.0-rc1 Update
Industrialisa9on	
  avec	
  D8
•  Tests
•  Unitaires plus faciles: PHPUnit
•  Fonctionnels plus rapides: KernelTestBase, PHPUnit
•  Web plus faciles: WebTestBase sur Mink
•  Acceptation: Behat (contrib)
•  Classification des données
•  Contenu :≠ Configuration ≠ Environnement ≠ Etat
•  Clonage de configuration: “features in core” (…)
•  Déploiement reproductibles avec core
Performances	
  et	
  scalabilité	
  de	
  D8
•  Anonyme / Front
•  Cachabilité
•  Cache infini + invalidations précises
•  Intégration RP/CDN plus complète
•  Aussi rapide que D7, ou plus
•  Poids markup < D7
•  Pas de JS inutile
•  Connecté / Back-office
•  Réponses SF2 = SF2
•  Réponses Ajax = SF2
•  Pages BO classiques:
•  Plus lentes au premier hit
•  Plus rapides ensuite : cachabilité en mode connecté
•  BigPipe
Sécurité	
  avec	
  D8
•  A partir de 8.0.0
•  Support classique Security Team
•  Réponse optimale : c'est la version courante
•  D7 : backports, réponse lente
•  D6 : 3 mois de vie, contrats au-delà
•  Avant 8.0.0
•  Issues multi-versions : support classique Security
Team
•  Issues spécifiques : publiées
•  D7 : réponse optimale : c'est la version courante
•  D6 : backports, réponse lente
•  D5 et moins : contrats
Les	
  derniers	
  bugs	
  cri9ques
Framework:
- Base
- Ajax
- Cache
Content :
- Entity
- File
- Node
- Block
- Field UI
- Views UI
- Theme
Security critical : 4
Et	
  si	
  l’on	
  élargissait	
  le	
  débat…
Support Planning Coût
Staffing Forma(on Maintenabilité
Risques	
  à	
  
développer	
  en	
  
D8
AVen9on	
  à	
  la	
  fin	
  du	
  support	
  D6	
  !
Quels	
  risques	
  à	
  développer	
  avec	
  la	
  version	
  bêta	
  ?
Les	
  risques	
  encourus	
  avec	
  un	
  développement	
  D8
•  Moins de contrib
•  + de code à réécrire (CAPEX ++)
•  - de code inutile en ligne (OPEX ––)
•  Sécurité
•  Avant 8.0.0 : bogues publics
•  Immaturité des développeurs
•  Instabilité avant 8.0.0
•  Gestion des incompatibilités aux MAJ
•  Projets low-cost
•  PHP ≥ 5.5 requis (depuis le 18/06/2015)
•  Reverse proxy
Vigilance	
  sur	
  le	
  planning	
  projet
We have a
stretch
goal of releasing for
DrupalCon
Barcelona Dries Buytaert
DrupalCon Los Angeles
2015
Quand	
  D8	
  sera-­‐t-­‐il	
  alors	
  prêt	
  ?
Il	
  va	
  falloir	
  revoir	
  votre	
  organisa9on
Si	
  je	
  pars	
  en	
  D8	
  maintenant,	
  cela	
  me	
  coûtera	
  t-­‐il	
  moins	
  cher	
  ?
FlickR	
  Thomas	
  Carrillo
Une	
  u9lisa9on	
  différente	
  des	
  modules	
  avec	
  D8	
  ?
•  Plus de:
•  100% du besoin
•  Code sur mesure
•  Modèle de données métier
•  Spécialistes
•  Du code
•  Du design
•  Moins de:
•  80% du besoin
•  Hacks de contrib
•  Nodes à tout faire
•  Généralistes
•  Code de graphiste
•  Design de SSII
Drupal	
  8	
  est-­‐il	
  plug	
  and	
  play	
  ?
Ou	
  est-­‐il	
  des9né	
  à	
  un	
  public	
  de	
  développeurs	
  aguerris	
  ?
Avec	
  D7
Sitebuilder	
  /	
  
Développeur	
  /	
  
Themeur
Avec	
  D8
Sitebuilder
Themeur	
  /	
  
intégrateur
Développeur
Nouveau	
  paradigme
D < 8
•  (Design / comm)
•  One-stop shop
D 8
•  Design / comm
•  Site building,
theme
•  SSII: code
Avec	
  Symfony…
•  Vivier de codeurs plus vaste
•  Pratiques plus standard (test, CI, patterns …)
•  Software Craftmanship
•  Plus de crise d'identité après D7 :
•  Drupal 8.0 → tech, industrie, production
•  Backdrop CMS 1.0 → petits projets, DYI, historiques
Quels	
  projets	
  concernés
•  Equilibre à trouver
•  SF2 Full stack
•  CMS clicodrome
•  En 2015, plutôt:
•  Pas d'e-Commerce
•  Pas de projets événementiels
Les	
  montées	
  de	
  version	
  à	
  prévoir
•  D6
•  Encore 130k sites, fin de support
•  Migration D8 > D7, pour ne laisser personne derrière
•  D7
•  < 3 ans de vie ? Pas utile de migrer
•  Réaliser les évolutions en modèle découplé
Passer	
  à	
  D8,	
  oui,	
  mais…
•  Choisissez bien vos projets D8
•  Pas pour tout: pas de délais courts, de dépendances contrib
•  Pas avec tout le monde:
•  Plus de code = plus de responsabilité d'équipe
•  Plus de complexité = niveau plus élevé des dévs.
•  Releases jeunes = connaître la communauté
La	
  conclusion	
  du	
  pitch
Un	
  site	
  
ins(tu(onnel	
  
sous	
  Drupal	
  6
Un	
  blog	
  avec	
  
Wordpress
De	
  l’Ecommerce	
  
mul(lingue	
  avec	
  
Prestashop
Un	
  extranet	
  
client	
  avec	
  
eZpublish
D6	
  >	
  D8	
  ?
Ca	
  dépend…
Wordpress	
  >	
  D8	
  
si	
  faible	
  besoin	
  
fonc(onnel
AXendez	
  pour	
  
Prestashop	
  >	
  
Drupal	
  
Commerce
Pourquoi	
  pas	
  eZ	
  
>	
  D8	
  ;-­‐)
AXendez	
  pour	
  Drupal	
  Commons	
  V4
API	
  pour	
  
développeurs	
  en	
  
D8
Sites	
  en	
  RWD	
  
complet	
  avec	
  D8
Keynote drupagora 2015 7

Keynote drupagora 2015 7

  • 1.
    Drupagora  2015 Drupal  8  :  regards   croisés
  • 2.
    10ans   d’exper9se   Drupal 23projets   Drupal  en   2014 Ingénierie  conseil  Drupal   Spécialiste  haute  perf.   Drupal  Core  maintainer   2  projets  D8  en  2015
  • 3.
    Alors  ce  projet  :  D7,  D8  ?  Ou…
  • 5.
    Le  pitch Un  site   ins(tu(onnel   sous  Drupal  6 Un  blog  avec   Wordpress De  l’Ecommerce   mul(lingue  avec   Prestashop Un  extranet   client  avec   eZpublish Un  RSE  avec  Drupal  Commons  en  D7 Besoins en attente : -  API développeur -  RWD sur l’ensemble des plateformes
  • 6.
  • 8.
    Menons  une  étude  d’opportunité  ! Analyse   fonc(onnelle Analyse   technique Analyse   stratégique
  • 9.
    D’un  point  de  vue  fonc9onnel,  D8,  ça  change  quoi  ? Contribu(on   BO Mobilité  &   cross  canal Mul(linguisme Accessibilité
  • 10.
    Pour  le  BO,  la  révolu9on  n’est  pas  encore  là
  • 12.
    D8  adresse  beaucoup  mieux  les  ques9ons  de  mobilité
  • 14.
    Le  mul9linguisme  est  enfin  simple  d’u9lisa9on  
  • 15.
    AVen9on  à  la  disponibilité  des  modules  sous  D8…
  • 16.
    Il  manque  encore  beaucoup  trop  de  modules  cri9ques… sds •  Meta modules •  Rules •  Mises en avant •  Media ? •  One-trick ponies •  Intégrations •  Commerce
  • 17.
    Certaines  distribu9ons  ne  sont  et  ne  seront  pas  tout  de  suite  disponibles
  • 18.
    D’un  point  de  vue  technique,  D8,  ça  change  quoi  ? Migrabilité Industrialisa(on Scalabilité Performances Maintenabilité Sécurité
  • 19.
    Migrabilité De Vers7.x 8.0.x 8.1.x 6.x Core : update Contrib : variable Core++ : Migrate Core++ : Migrate 7.x Même site : update Refontes : migrate_d2d (Core++ : Migrate) < 8.0.0-rc1 head2head Via 8.0.0 ≥ 8.0.0-rc1 Update
  • 20.
    Industrialisa9on  avec  D8 • Tests •  Unitaires plus faciles: PHPUnit •  Fonctionnels plus rapides: KernelTestBase, PHPUnit •  Web plus faciles: WebTestBase sur Mink •  Acceptation: Behat (contrib) •  Classification des données •  Contenu :≠ Configuration ≠ Environnement ≠ Etat •  Clonage de configuration: “features in core” (…) •  Déploiement reproductibles avec core
  • 21.
    Performances  et  scalabilité  de  D8 •  Anonyme / Front •  Cachabilité •  Cache infini + invalidations précises •  Intégration RP/CDN plus complète •  Aussi rapide que D7, ou plus •  Poids markup < D7 •  Pas de JS inutile •  Connecté / Back-office •  Réponses SF2 = SF2 •  Réponses Ajax = SF2 •  Pages BO classiques: •  Plus lentes au premier hit •  Plus rapides ensuite : cachabilité en mode connecté •  BigPipe
  • 22.
    Sécurité  avec  D8 • A partir de 8.0.0 •  Support classique Security Team •  Réponse optimale : c'est la version courante •  D7 : backports, réponse lente •  D6 : 3 mois de vie, contrats au-delà •  Avant 8.0.0 •  Issues multi-versions : support classique Security Team •  Issues spécifiques : publiées •  D7 : réponse optimale : c'est la version courante •  D6 : backports, réponse lente •  D5 et moins : contrats
  • 23.
    Les  derniers  bugs  cri9ques Framework: - Base - Ajax - Cache Content : - Entity - File - Node - Block - Field UI - Views UI - Theme Security critical : 4
  • 24.
    Et  si  l’on  élargissait  le  débat… Support Planning Coût Staffing Forma(on Maintenabilité Risques  à   développer  en   D8
  • 25.
    AVen9on  à  la  fin  du  support  D6  !
  • 26.
    Quels  risques  à  développer  avec  la  version  bêta  ?
  • 27.
    Les  risques  encourus  avec  un  développement  D8 •  Moins de contrib •  + de code à réécrire (CAPEX ++) •  - de code inutile en ligne (OPEX ––) •  Sécurité •  Avant 8.0.0 : bogues publics •  Immaturité des développeurs •  Instabilité avant 8.0.0 •  Gestion des incompatibilités aux MAJ •  Projets low-cost •  PHP ≥ 5.5 requis (depuis le 18/06/2015) •  Reverse proxy
  • 28.
    Vigilance  sur  le  planning  projet
  • 29.
    We have a stretch goalof releasing for DrupalCon Barcelona Dries Buytaert DrupalCon Los Angeles 2015 Quand  D8  sera-­‐t-­‐il  alors  prêt  ?
  • 30.
    Il  va  falloir  revoir  votre  organisa9on
  • 31.
    Si  je  pars  en  D8  maintenant,  cela  me  coûtera  t-­‐il  moins  cher  ?
  • 32.
  • 33.
    Une  u9lisa9on  différente  des  modules  avec  D8  ? •  Plus de: •  100% du besoin •  Code sur mesure •  Modèle de données métier •  Spécialistes •  Du code •  Du design •  Moins de: •  80% du besoin •  Hacks de contrib •  Nodes à tout faire •  Généralistes •  Code de graphiste •  Design de SSII
  • 34.
    Drupal  8  est-­‐il  plug  and  play  ?
  • 35.
    Ou  est-­‐il  des9né  à  un  public  de  développeurs  aguerris  ?
  • 36.
    Avec  D7 Sitebuilder  /   Développeur  /   Themeur
  • 37.
    Avec  D8 Sitebuilder Themeur  /   intégrateur Développeur
  • 38.
    Nouveau  paradigme D <8 •  (Design / comm) •  One-stop shop D 8 •  Design / comm •  Site building, theme •  SSII: code
  • 39.
    Avec  Symfony… •  Vivierde codeurs plus vaste •  Pratiques plus standard (test, CI, patterns …) •  Software Craftmanship •  Plus de crise d'identité après D7 : •  Drupal 8.0 → tech, industrie, production •  Backdrop CMS 1.0 → petits projets, DYI, historiques
  • 40.
    Quels  projets  concernés • Equilibre à trouver •  SF2 Full stack •  CMS clicodrome •  En 2015, plutôt: •  Pas d'e-Commerce •  Pas de projets événementiels
  • 41.
    Les  montées  de  version  à  prévoir •  D6 •  Encore 130k sites, fin de support •  Migration D8 > D7, pour ne laisser personne derrière •  D7 •  < 3 ans de vie ? Pas utile de migrer •  Réaliser les évolutions en modèle découplé
  • 42.
    Passer  à  D8,  oui,  mais… •  Choisissez bien vos projets D8 •  Pas pour tout: pas de délais courts, de dépendances contrib •  Pas avec tout le monde: •  Plus de code = plus de responsabilité d'équipe •  Plus de complexité = niveau plus élevé des dévs. •  Releases jeunes = connaître la communauté
  • 43.
    La  conclusion  du  pitch Un  site   ins(tu(onnel   sous  Drupal  6 Un  blog  avec   Wordpress De  l’Ecommerce   mul(lingue  avec   Prestashop Un  extranet   client  avec   eZpublish D6  >  D8  ? Ca  dépend… Wordpress  >  D8   si  faible  besoin   fonc(onnel AXendez  pour   Prestashop  >   Drupal   Commerce Pourquoi  pas  eZ   >  D8  ;-­‐) AXendez  pour  Drupal  Commons  V4 API  pour   développeurs  en   D8 Sites  en  RWD   complet  avec  D8