Drupal & Symfony
Quel impact ?

05/12/2013
Qui ?
•

Thomas VIAL - @tvial

•

Manager PHP chez Ekino (250+ personnes)

•

Conseil, réalisation, et accompagnement digi...
De quoi va-t-on parler ?
•

Le projet digital d’aujourd’hui

•

Comment le réaliser / retours d’expérience

•

Et demain, ...
Sujets connexes
•

Drupal 8 - Léon Cros

•

Non, Drupal n’est pas juste un CMS - Maxime Topolov

•

Les problématiques d’i...
Le projet digital
d’aujourd’hui
X
U
A

Juste un site internet *

F

* so 90’s
Plateformes
digitales, de marque, e-commerce, de services…

Consommation de data fournies par des plateformes tierces.
Exp...
Le projet digital
•

Editorial, multi-lingue, multi-site, multi-marque

•

Multi-devices : desktop, mobile, tablette

•

E...
Comment faire ?
Utiliser Drupal !

•

Oui, s’adapte à tout type de contenu au sens large

•

Il y a un module pour ça !

•

Développer ses...
Quelques difficultés
•

Configuration management

•

Content staging

•

Peu d’outils d’assurance qualité

•

Partiellement ...
Le projet digital
✅ Editorial, multi-lingue, multi-site, multi-marque
✅ Multi-devices : desktop, mobile, tablette
✴️ E-com...
Retours d’expérience
Le projet #fail…
… est un sacré learning
Tout faire vs. bien faire
Learning #1

S’il y avait un outil qui faisait tout bien, tout le monde l’utiliserait :-)
Drupal...
Préparer demain
Learning #2
Aujourd’hui… Demain…

La stratégie et les objectifs d’un projet peuvent (et doivent) évoluer avec le temps.
Il faut donc u...
Ou alors…
•

Utiliser Drupal 7 pour la « gestion éditoriale »

•

Utiliser Symfony 2 pour les développements
« très » spéc...
Refonte du site sage.fr
•

Site à 70% éditorial

•

30% pour des fonctionnalités spécifiques :
•

Raccordement SSO

•

Gest...
Ipercast

Sage UK

Ekino
Sage

2011

CDN

sage.fr

SSO
Ipercast

Ogone

Sage UK

Ekino
Sage

2013

CDN

Paiement

SSO

Consumers

Services!
Métiers

Rabbit MQ

Caméléon

Notifica...
Ils sont parmi nous…
•

Bertrand Milliat - Responsable Web - Sage

•

Vincent Ramond - Consultant Sénior - Ekino

•

Thoma...
Et demain avec D8 ?
Plus simple
Grâce à quoi ?
Site-Builders / Webmasters / End-users, Theme Developers, Developers, Autres

Drupal 8 - « When It’s Ready »
•

Customizab...
Drupal 8 & Symfony
•

Basé sur le framework Symfony2 full stack

•

Intégration de composants Symfony2
•

•

HttpFoundatio...
Se préparer à Drupal 8
Plus concrètement, de quoi parle-t-on ?
HTTP
request, response, header, body, session, cookie, cache, varnish, architecture…

Comprendre les interactions entre le...
ReST & WSCCI
web services and context core initiative,api, mobile first…

Séparer complètement la logique métier et la cou...
POO
objet, design pattern, classe, méthode…

Rendre le code plus lisible, faciliter le travail collaboratif, simplifier la...
Tests Unitaires
assurance qualité, intégration continue, critères d’acceptance, tdd…

Framework de tests unitaires, un sta...
Mais aussi…
•

Composer (Gestion des dépendance de l’écosystème PHP)

•

Twig (Drupal8, Symfony2, eZ Publish, Magento2…)

...
Dès aujourd’hui…
•

Pré-tester Drupal 8 Alpha / Beta / RC

•

Se former à Symfony2

•

Drupal groups, Meetup…
Le projet digital
✅ Editorial, multi-lingue, multi-site, multi-marque
✅ Multi-devices : desktop, mobile, tablette
✅ E-comm...
3 options
•

Faire les développements dans Drupal

•

Utiliser une solution dédiée via intéropérabilité

•

Développer ave...
Les points d’attention
Développeurs
•

Symfony2 n’évite pas le code spaghetti

•

Ticket d’entrée non négligeable

•

Concurrence plus importante
Les bénéfices ?
Développeurs

5
•

Améliorer la qualité technique des solutions
proposées

•

Possibilité de développer des solutions plus...
Décideurs

5
•

Drupal comme socle de plateforme digitale

•

Industrialisation permet un TTM plus court

•

Pérennité de ...
Conclusion ?
Drupal 8 et Symfony
•

Un socle de développement permettant :
•

une gestion éditoriale sur mesure

•

le développement de...
Drupal 8 with Symfony2 Components.
When it’s ready.
What about you?
Brace yourself,	

D8 is coming	

!
!
!

Questions ?
Annexes
Intégrer Symfony2 avec Drupal7 ?
•

2 types de stratégies :
•

•

•

Drupal retourne la réponse si le status code de la pa...
Site-Builders / Webmasters / End-users, Theme Developers, Developers, Autres

Drupal 6 - Février 2008
•

Introducing the e...
Drupal 6 = CMS
Plug&Play with Built-in Features
Site-Builders / Webmasters / End-users, Theme Developers, Developers, Autres

Drupal 7 - Janvier 2011
•

Key Points: Easie...
Drupal 7 = CMF
Content Management Framework
Drupal 8 = Framework ?
Drupal 8
Framework de gestion de contenus
Adoptant les standards et bonnes pratiques
Interopérable avec les solutions part...
Source: http://previousnext.com.au/drupal-8-ready
Prochain SlideShare
Chargement dans…5
×

Drupagora 2013 : Drupal8 et Symfony2, quel impact ?

10 654 vues

Publié le

Nombreuses sont les directions digitales ayant aussi bien des besoins éditoriaux que métiers. D'un point de vue business, il n'est pas possible de séparer les deux.

Basiquement, quels choix avons-nous ?
- partir sur un CMS et coder en "CMS"...
- partir sur un framework et réinventer le CMS...

Aujourd'hui, une des solutions est d'alier le meilleur des 2 mondes, mais a aussi ses problématiques :
- comment faire communiquer les 2 solutions ?
- où trouver les bons profils compte tenu de expertise différentes ?
- comment ne pas complexifier la maintenance et l'exploitation ?

Bref, pour ce qui est d'aujourd'hui, c'est possible, mais difficile... Mais demain ?

Publié dans : Technologie
0 commentaire
5 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
10 654
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6 198
Actions
Partages
0
Téléchargements
84
Commentaires
0
J’aime
5
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Drupagora 2013 : Drupal8 et Symfony2, quel impact ?

  1. 1. Drupal & Symfony Quel impact ? 05/12/2013
  2. 2. Qui ? • Thomas VIAL - @tvial • Manager PHP chez Ekino (250+ personnes) • Conseil, réalisation, et accompagnement digital • Pôle PHP : • 30+ personnes • Symfony2 & Drupal
  3. 3. De quoi va-t-on parler ? • Le projet digital d’aujourd’hui • Comment le réaliser / retours d’expérience • Et demain, avec Drupal 8 & Symfony • Se préparer à Drupal • Points d’attention & bénéfices
  4. 4. Sujets connexes • Drupal 8 - Léon Cros • Non, Drupal n’est pas juste un CMS - Maxime Topolov • Les problématiques d’intégration de Drupal dans le SI Arnaud Ranson & Nicolas Marsaud • Effectuer des tests modernes pour Drupal - Christophe Villeneuve
  5. 5. Le projet digital d’aujourd’hui
  6. 6. X U A Juste un site internet * F * so 90’s
  7. 7. Plateformes digitales, de marque, e-commerce, de services… Consommation de data fournies par des plateformes tierces. Exposition de data qui seront consommées par des plateformes tierces.
  8. 8. Le projet digital • Editorial, multi-lingue, multi-site, multi-marque • Multi-devices : desktop, mobile, tablette • E-commerce, multi-devise • Personnalisation et fonctionnalités spécifiques • Interactions fortes avec le SI ou partenaires
  9. 9. Comment faire ?
  10. 10. Utiliser Drupal ! • Oui, s’adapte à tout type de contenu au sens large • Il y a un module pour ça ! • Développer ses propres modules
  11. 11. Quelques difficultés • Configuration management • Content staging • Peu d’outils d’assurance qualité • Partiellement POO
  12. 12. Le projet digital ✅ Editorial, multi-lingue, multi-site, multi-marque ✅ Multi-devices : desktop, mobile, tablette ✴️ E-commerce, multi-devise ✴️ Personnalisation et fonctionnalités spécifiques ✴️ Interactions fortes avec le SI ou partenaires
  13. 13. Retours d’expérience
  14. 14. Le projet #fail…
  15. 15. … est un sacré learning
  16. 16. Tout faire vs. bien faire Learning #1 S’il y avait un outil qui faisait tout bien, tout le monde l’utiliserait :-) Drupal fait des choses très bien, mais pas tout… et c’est valable pour toutes les solutions du marché. Après, certaines solutions sont plus flexibles / intéropérables que d’autres… c’est le cas de Drupal
  17. 17. Préparer demain Learning #2
  18. 18. Aujourd’hui… Demain… La stratégie et les objectifs d’un projet peuvent (et doivent) évoluer avec le temps. Il faut donc une solution ouverte, permettant de prendre en compte des changements de cap. Tout n’est malheureusement pas visible en début de projet.
  19. 19. Ou alors… • Utiliser Drupal 7 pour la « gestion éditoriale » • Utiliser Symfony 2 pour les développements « très » spécifiques Source: https://drupal.org/project/usage/drupal
  20. 20. Refonte du site sage.fr • Site à 70% éditorial • 30% pour des fonctionnalités spécifiques : • Raccordement SSO • Gestionnaire de formulaires avec logique métier • Gestion d’une bibliothèque media sur mesure
  21. 21. Ipercast Sage UK Ekino Sage 2011 CDN sage.fr SSO
  22. 22. Ipercast Ogone Sage UK Ekino Sage 2013 CDN Paiement SSO Consumers Services! Métiers Rabbit MQ Caméléon Notifications Plateforme Web sage.fr SI Digital Pivot SI
  23. 23. Ils sont parmi nous… • Bertrand Milliat - Responsable Web - Sage • Vincent Ramond - Consultant Sénior - Ekino • Thomas Rabaix - Architecte - Ekino • Florent Denis - Ingénieur - Ekino
  24. 24. Et demain avec D8 ?
  25. 25. Plus simple Grâce à quoi ?
  26. 26. Site-Builders / Webmasters / End-users, Theme Developers, Developers, Autres Drupal 8 - « When It’s Ready » • Customizable: Field power, Customize pages with Views, Highly improved content editing, New configuration system, Customize display and form modes • Adaptable: Mobile-friendly, Better markup using HTML 5, More accessible, Parli Italiano?, Web services built in • More flexibility: Modern OOP approach, Simpler and more unified Entity and Field API, Unified configuration system, Latest frontend libraries, Accessible interfaces made easier • Stepping off of our island: Symfony 2 and Other Components, Twig makes theming easier, PHPUnit tests, Backbone and Underscore.js for the frontend • Other great improvements in D8: Migrate from earlier versions of Drupal, Modules removed to make core leaner Source: https://drupal.org/drupal-8.0
  27. 27. Drupal 8 & Symfony • Basé sur le framework Symfony2 full stack • Intégration de composants Symfony2 • • HttpFoundation, HttpKernel, Routing, EventDispatcher, DependencyInjection, ClassLoader, Process, Yaml Des standards & bonnes pratiques • Programmation Orientée Objet, Namespaces, PSR-0, Composer, PHPUnit…
  28. 28. Se préparer à Drupal 8 Plus concrètement, de quoi parle-t-on ?
  29. 29. HTTP request, response, header, body, session, cookie, cache, varnish, architecture… Comprendre les interactions entre le serveur et le client, important pour le diagnostic, la performance et l’architecture
  30. 30. ReST & WSCCI web services and context core initiative,api, mobile first… Séparer complètement la logique métier et la couche de présentation. C’est valable pour vos développements customs.
  31. 31. POO objet, design pattern, classe, méthode… Rendre le code plus lisible, faciliter le travail collaboratif, simplifier la maintenance, faciliter le re-use
  32. 32. Tests Unitaires assurance qualité, intégration continue, critères d’acceptance, tdd… Framework de tests unitaires, un standard de l’écosystème PHP, réduit les bugs de production, améliore la perception de qualité pour l’end-user, simplifie la conception technique, réduit le stress…
  33. 33. Mais aussi… • Composer (Gestion des dépendance de l’écosystème PHP) • Twig (Drupal8, Symfony2, eZ Publish, Magento2…) • Tests fonctionnels (Behat & Selenium, tester mais surtout concevoir) • Déploiements automatisés (Capistrano est un Must Have)
  34. 34. Dès aujourd’hui… • Pré-tester Drupal 8 Alpha / Beta / RC • Se former à Symfony2 • Drupal groups, Meetup…
  35. 35. Le projet digital ✅ Editorial, multi-lingue, multi-site, multi-marque ✅ Multi-devices : desktop, mobile, tablette ✅ E-commerce, multi-devise ✅ Personnalisation et fonctionnalités spécifiques ✅ Interactions fortes avec le SI ou partenaires
  36. 36. 3 options • Faire les développements dans Drupal • Utiliser une solution dédiée via intéropérabilité • Développer avec Symfony2 (solution intermédiaire)
  37. 37. Les points d’attention
  38. 38. Développeurs • Symfony2 n’évite pas le code spaghetti • Ticket d’entrée non négligeable • Concurrence plus importante
  39. 39. Les bénéfices ?
  40. 40. Développeurs 5 • Améliorer la qualité technique des solutions proposées • Possibilité de développer des solutions plus orientées métier • Monter en compétences sur SF2 et les standards • Prendre de la valeur sur le marché
  41. 41. Décideurs 5 • Drupal comme socle de plateforme digitale • Industrialisation permet un TTM plus court • Pérennité de l’investissement • Faciliter les recrutements
  42. 42. Conclusion ?
  43. 43. Drupal 8 et Symfony • Un socle de développement permettant : • une gestion éditoriale sur mesure • le développement de fonctionnalités spécifiques • les échanges avec le SI • de construire des solutions pérennes
  44. 44. Drupal 8 with Symfony2 Components. When it’s ready. What about you?
  45. 45. Brace yourself, D8 is coming ! ! ! Questions ?
  46. 46. Annexes
  47. 47. Intégrer Symfony2 avec Drupal7 ? • 2 types de stratégies : • • • Drupal retourne la réponse si le status code de la page n’est pas 404 Drupal retourne toujours la réponse, même en cas de status code 404 Code source et documentation sur le Github d’Ekino • • EkinoDrupalBundle & ekino_drupal_symfony2 Drupal + Symfony, don’t wait for Drupal8! par Thomas Rabaix
  48. 48. Site-Builders / Webmasters / End-users, Theme Developers, Developers, Autres Drupal 6 - Février 2008 • Introducing the easiest version of Drupal ever: Quick and easy setup, Drag-and-drop administration, All languages spoken here!, Improved multilingual interface, Quick interface translation • Great new core modules: Actions and triggers, Sign in with OpenID, Update status module • Theming: CSS-only theming, Theme developer module, Customize your theme, Enhanced preprocessing, A unified approach, Updated jQuery • Most secure Drupal release ever: Password strength checking, Granular permissions • Performance and maintenance: Optimized code, Scalability options, A new menu system, Better file handling, Extended logging, Schema API, Batch API, Scripting from the command line • It's the little things… Better polls, Forum improvements, Easier path alias management, E-mail notifications, Better anonymous commenting, New teaser handling, Sticky table headers, Custom date formats, Pretty signatures Source: https://drupal.org/drupal-6.0
  49. 49. Drupal 6 = CMS Plug&Play with Built-in Features
  50. 50. Site-Builders / Webmasters / End-users, Theme Developers, Developers, Autres Drupal 7 - Janvier 2011 • Key Points: Easier to use, More flexible, More scalable, Open source • Flexible content, Better theming, Accessible, Images and files, Automated code testing, Improved database support, Better distribution support, Extend Source: https://drupal.org/drupal-7.0
  51. 51. Drupal 7 = CMF Content Management Framework
  52. 52. Drupal 8 = Framework ?
  53. 53. Drupal 8 Framework de gestion de contenus Adoptant les standards et bonnes pratiques Interopérable avec les solutions partageant ces mêmes standards
  54. 54. Source: http://previousnext.com.au/drupal-8-ready

×