SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
#symfonylive




                                      Symfony &
                                      eZ Publish
                                             nt
                                          barq ueme
                                       Em
                                       Imm  édiat
Nicolas Pastorino - VP Community
nicolas.pastorino@ez.no - @jeanvoye                   1
Nous avons appris que...
Nous avons appris que...




      (Merci Magritte)
eZ Publish
    4
Ceci n’est pas eZ Publish




     eZ Publish
         4
Ceci n’est pas eZ Publish
         plus


     eZ Publish
         4
App. Symfony2
  Standard
         (=app)
App. Symfony2           eZ Publish


                  +
  Standard               bundles
                       (PHP & REST APIs
         (=app)            + Legacy)



                      vendor/
                       ezsystems/
                        ezpublish-kernel
App. Symfony2           eZ Publish             Back-office


                  +                        +
  Standard               bundles                complet
                       (PHP & REST APIs
         (=app)            + Legacy)



                      vendor/
                       ezsystems/
                        ezpublish-kernel
Ceci EST eZ Publish 5
App. Symfony2           eZ Publish             Back-office


                  +                        +
  Standard               bundles                complet
                       (PHP & REST APIs
         (=app)            + Legacy)



                      vendor/
                       ezsystems/
                        ezpublish-kernel
La Genèse


            5
L’étincelle Initiale


• Nous concentrer sur notre coeur de métier
  • Gestion d’expérience en ligne
  • Gestion de contenu

• Scalabilité!

• Durabilité de l’architecture

• Communauté vive!

   Nicolas Pastorino   04/04/2013 - Symfony Live Paris   6
Les Pré-requis


• Intégration simple de notre API
• HMVC (Hierarchical Model View Controller) stack
• Composants découplés
• Injection de dépendance
• Nouveau moteur de template

• Extensible, Open, Reliable ;-)

   Nicolas Pastorino   04/04/2013 - Symfony Live Paris   7
L’abandon du monolithe...




  Nicolas Pastorino   04/04/2013 - Symfony Live Paris   8
L’abandon du monolithe...




  Nicolas Pastorino   04/04/2013 - Symfony Live Paris   8
L’abandon du monolithe...




  Nicolas Pastorino   04/04/2013 - Symfony Live Paris   8
Il était une fois dans un bar à
           Lisbonne...
Les Options




• Fait maison
• Zeta Components
• Zend Framework 2
• Symfony 2



  Nicolas Pastorino   04/04/2013 - Symfony Live Paris   10
Après l’euphorie du début, les
 problèmes ont commencé...
Backwards Compatibility



                                     *Knock knock*

         Devs: «Who's there ?»
        «Product Management»
  Devs: «Product Management who ?»
   «PM who wants to talk about BC»
          Devs: «Oh crap...»


  Nicolas Pastorino   04/04/2013 - Symfony Live Paris   12
BC: les Objectifs



• Données à 100% compatibles (même schéma de BD)
• Possibilité d’inclure les templates legacy dans les nouveaux

• Fallback au niveau du routage

• Possibilité de charger les templates de contenu “legacy” sur la
     base des règles “legacy”

• Réglages (fallback/mirroring)

• Accéder aux services Symfony depuis les modules “legacy”

   Nicolas Pastorino   04/04/2013 - Symfony Live Paris              13
BC: les Objectifs



• Données à 100% compatibles (même schéma de BD)
• Possibilité d’inclure les templates legacy dans les nouveaux

• Fallback au niveau du routage

• Possibilité de charger les templates de contenu “legacy” sur la
     base des règles “legacy”

• Réglages (fallback/mirroring)

• Accéder aux services Symfony depuis les modules “legacy”

   Nicolas Pastorino   04/04/2013 - Symfony Live Paris              13
BC: le Challenge

              Product Management SCRUM Story:
    «As an eZ Publish user, I don’t want to be pissed off by a
                      new #@!$% version!»




  Nicolas Pastorino   04/04/2013 - Symfony Live Paris            14
BC: le Challenge

              Product Management SCRUM Story:
    «As an eZ Publish user, I don’t want to be pissed off by a
                      new #@!$% version!»




                           Challenge Accepted
  Nicolas Pastorino   04/04/2013 - Symfony Live Paris            14
BC: le Challenge




                      Sandboxer Legacy code




  Nicolas Pastorino    04/04/2013 - Symfony Live Paris   15
BC: le Challenge




                      Sandboxer Legacy code
                       ...dans une Closure !




  Nicolas Pastorino    04/04/2013 - Symfony Live Paris   15
BC: le Challenge




  Nicolas Pastorino   04/04/2013 - Symfony Live Paris   16
BC: le Challenge




  Nicolas Pastorino   04/04/2013 - Symfony Live Paris   17
Dual Core Architecture
Dual Core Architecture
BC: la cerise sur le gâteau




   Nicolas Pastorino   04/04/2013 - Symfony Live Paris   19
BC: la cerise sur le gâteau




                       eZ Publish legacy continue à
                          fonctionner de manière
                              indépendante !
   Nicolas Pastorino     04/04/2013 - Symfony Live Paris   19
Deux Communautés



                   20
Deux Communautés




  Nicolas Pastorino   04/04/2013 - Symfony Live Paris   21
Deux Communautés

          La famille Symfony s’agrandit...




  Nicolas Pastorino   04/04/2013 - Symfony Live Paris   21
Deux Communautés

          La famille Symfony s’agrandit...
  ...et nous avons tous quelque chose
                  à partager
              - des évènements
                   - du code
          - des bonnes pratiques
            - des connaissances
                  - des outils

                      http://share.ez.no | @ezcommunity
  Nicolas Pastorino      04/04/2013 - Symfony Live Paris   21
En Résumé


            22
Find me on Twitter @jeanvoye
Slides available soon at
http://slideshare.net/jeanvoye


      Merci !

                              eZ Publish Community http://share.ez.no

                                       eZ Publish 5 Community Project
                      https://github.com/ezsystems/ezpublish-community
                                             http://share.ez.no/download

                         eZ Systems & eZ Publish Enterprise Edition
                                                        http://ez.no

Contenu connexe

Similaire à Symfony et eZ Publish: embarquement immédiat - talk at Symfony Live Paris

08 jus 20101123_cae_linux_presentation
08 jus 20101123_cae_linux_presentation08 jus 20101123_cae_linux_presentation
08 jus 20101123_cae_linux_presentationOpenCascade
 
Very lastroom symfony1 vers symfony2 en douceur
Very lastroom   symfony1 vers symfony2 en douceurVery lastroom   symfony1 vers symfony2 en douceur
Very lastroom symfony1 vers symfony2 en douceurSébastien Houzé
 
SOFAVR_jesnault_19-09-11_presentation1
SOFAVR_jesnault_19-09-11_presentation1SOFAVR_jesnault_19-09-11_presentation1
SOFAVR_jesnault_19-09-11_presentation1Jérôme Esnault
 
Django pour les développeurs Symfony (et réciproquement)
Django pour les développeurs Symfony (et réciproquement)Django pour les développeurs Symfony (et réciproquement)
Django pour les développeurs Symfony (et réciproquement)Nicolas Perriault
 
Software Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTourSoftware Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTourJean-Laurent de Morlhon
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantpprem
 
Le développement web : tour d'horizon
Le développement web : tour d'horizonLe développement web : tour d'horizon
Le développement web : tour d'horizonMicrosoft
 
Je configure mes serveurs avec fabric et fabtools
Je configure mes serveurs avec fabric et fabtoolsJe configure mes serveurs avec fabric et fabtools
Je configure mes serveurs avec fabric et fabtoolsRonan Amicel
 

Similaire à Symfony et eZ Publish: embarquement immédiat - talk at Symfony Live Paris (10)

08 jus 20101123_cae_linux_presentation
08 jus 20101123_cae_linux_presentation08 jus 20101123_cae_linux_presentation
08 jus 20101123_cae_linux_presentation
 
Very lastroom symfony1 vers symfony2 en douceur
Very lastroom   symfony1 vers symfony2 en douceurVery lastroom   symfony1 vers symfony2 en douceur
Very lastroom symfony1 vers symfony2 en douceur
 
UserGroup Varnish - eZ
UserGroup Varnish - eZUserGroup Varnish - eZ
UserGroup Varnish - eZ
 
SOFAVR_jesnault_19-09-11_presentation1
SOFAVR_jesnault_19-09-11_presentation1SOFAVR_jesnault_19-09-11_presentation1
SOFAVR_jesnault_19-09-11_presentation1
 
Django pour les développeurs Symfony (et réciproquement)
Django pour les développeurs Symfony (et réciproquement)Django pour les développeurs Symfony (et réciproquement)
Django pour les développeurs Symfony (et réciproquement)
 
Software Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTourSoftware Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTour
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composant
 
Pinhole story
Pinhole storyPinhole story
Pinhole story
 
Le développement web : tour d'horizon
Le développement web : tour d'horizonLe développement web : tour d'horizon
Le développement web : tour d'horizon
 
Je configure mes serveurs avec fabric et fabtools
Je configure mes serveurs avec fabric et fabtoolsJe configure mes serveurs avec fabric et fabtools
Je configure mes serveurs avec fabric et fabtools
 

Plus de Nicolas Pastorino

Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST...
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST...Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST...
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST...Nicolas Pastorino
 
Nicolas Pastorino - The Open-source roar in the eZ Community
Nicolas Pastorino - The Open-source roar in the eZ CommunityNicolas Pastorino - The Open-source roar in the eZ Community
Nicolas Pastorino - The Open-source roar in the eZ CommunityNicolas Pastorino
 
Nicolas Pastorino - REST + recommendation, consume the right content, anywher...
Nicolas Pastorino - REST + recommendation, consume the right content, anywher...Nicolas Pastorino - REST + recommendation, consume the right content, anywher...
Nicolas Pastorino - REST + recommendation, consume the right content, anywher...Nicolas Pastorino
 
Nicolas Pastorino - eZ Community - Innovation and Open-source inside
Nicolas Pastorino - eZ Community - Innovation and Open-source insideNicolas Pastorino - eZ Community - Innovation and Open-source inside
Nicolas Pastorino - eZ Community - Innovation and Open-source insideNicolas Pastorino
 
IPCse11 Nicolas Pastorino Launching content in mobility with REST and eZ Publish
IPCse11 Nicolas Pastorino Launching content in mobility with REST and eZ PublishIPCse11 Nicolas Pastorino Launching content in mobility with REST and eZ Publish
IPCse11 Nicolas Pastorino Launching content in mobility with REST and eZ PublishNicolas Pastorino
 
Nicolas Pastorino - Launching Content in mobility with REST and eZ Publish
Nicolas Pastorino - Launching Content in mobility with REST and eZ PublishNicolas Pastorino - Launching Content in mobility with REST and eZ Publish
Nicolas Pastorino - Launching Content in mobility with REST and eZ PublishNicolas Pastorino
 
Nicolas Pastorino - Launching content in mobility with REST & eZ Publish
Nicolas Pastorino - Launching content in mobility with REST & eZ PublishNicolas Pastorino - Launching content in mobility with REST & eZ Publish
Nicolas Pastorino - Launching content in mobility with REST & eZ PublishNicolas Pastorino
 

Plus de Nicolas Pastorino (7)

Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST...
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST...Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST...
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST...
 
Nicolas Pastorino - The Open-source roar in the eZ Community
Nicolas Pastorino - The Open-source roar in the eZ CommunityNicolas Pastorino - The Open-source roar in the eZ Community
Nicolas Pastorino - The Open-source roar in the eZ Community
 
Nicolas Pastorino - REST + recommendation, consume the right content, anywher...
Nicolas Pastorino - REST + recommendation, consume the right content, anywher...Nicolas Pastorino - REST + recommendation, consume the right content, anywher...
Nicolas Pastorino - REST + recommendation, consume the right content, anywher...
 
Nicolas Pastorino - eZ Community - Innovation and Open-source inside
Nicolas Pastorino - eZ Community - Innovation and Open-source insideNicolas Pastorino - eZ Community - Innovation and Open-source inside
Nicolas Pastorino - eZ Community - Innovation and Open-source inside
 
IPCse11 Nicolas Pastorino Launching content in mobility with REST and eZ Publish
IPCse11 Nicolas Pastorino Launching content in mobility with REST and eZ PublishIPCse11 Nicolas Pastorino Launching content in mobility with REST and eZ Publish
IPCse11 Nicolas Pastorino Launching content in mobility with REST and eZ Publish
 
Nicolas Pastorino - Launching Content in mobility with REST and eZ Publish
Nicolas Pastorino - Launching Content in mobility with REST and eZ PublishNicolas Pastorino - Launching Content in mobility with REST and eZ Publish
Nicolas Pastorino - Launching Content in mobility with REST and eZ Publish
 
Nicolas Pastorino - Launching content in mobility with REST & eZ Publish
Nicolas Pastorino - Launching content in mobility with REST & eZ PublishNicolas Pastorino - Launching content in mobility with REST & eZ Publish
Nicolas Pastorino - Launching content in mobility with REST & eZ Publish
 

Symfony et eZ Publish: embarquement immédiat - talk at Symfony Live Paris

  • 1. #symfonylive Symfony & eZ Publish nt barq ueme Em Imm édiat Nicolas Pastorino - VP Community nicolas.pastorino@ez.no - @jeanvoye 1
  • 3. Nous avons appris que... (Merci Magritte)
  • 4.
  • 6. Ceci n’est pas eZ Publish eZ Publish 4
  • 7. Ceci n’est pas eZ Publish plus eZ Publish 4
  • 8. App. Symfony2 Standard (=app)
  • 9. App. Symfony2 eZ Publish + Standard bundles (PHP & REST APIs (=app) + Legacy) vendor/ ezsystems/ ezpublish-kernel
  • 10. App. Symfony2 eZ Publish Back-office + + Standard bundles complet (PHP & REST APIs (=app) + Legacy) vendor/ ezsystems/ ezpublish-kernel
  • 11. Ceci EST eZ Publish 5 App. Symfony2 eZ Publish Back-office + + Standard bundles complet (PHP & REST APIs (=app) + Legacy) vendor/ ezsystems/ ezpublish-kernel
  • 13. L’étincelle Initiale • Nous concentrer sur notre coeur de métier • Gestion d’expérience en ligne • Gestion de contenu • Scalabilité! • Durabilité de l’architecture • Communauté vive! Nicolas Pastorino 04/04/2013 - Symfony Live Paris 6
  • 14. Les Pré-requis • Intégration simple de notre API • HMVC (Hierarchical Model View Controller) stack • Composants découplés • Injection de dépendance • Nouveau moteur de template • Extensible, Open, Reliable ;-) Nicolas Pastorino 04/04/2013 - Symfony Live Paris 7
  • 15. L’abandon du monolithe... Nicolas Pastorino 04/04/2013 - Symfony Live Paris 8
  • 16. L’abandon du monolithe... Nicolas Pastorino 04/04/2013 - Symfony Live Paris 8
  • 17. L’abandon du monolithe... Nicolas Pastorino 04/04/2013 - Symfony Live Paris 8
  • 18. Il était une fois dans un bar à Lisbonne...
  • 19. Les Options • Fait maison • Zeta Components • Zend Framework 2 • Symfony 2 Nicolas Pastorino 04/04/2013 - Symfony Live Paris 10
  • 20. Après l’euphorie du début, les problèmes ont commencé...
  • 21. Backwards Compatibility *Knock knock* Devs: «Who's there ?» «Product Management» Devs: «Product Management who ?» «PM who wants to talk about BC» Devs: «Oh crap...» Nicolas Pastorino 04/04/2013 - Symfony Live Paris 12
  • 22. BC: les Objectifs • Données à 100% compatibles (même schéma de BD) • Possibilité d’inclure les templates legacy dans les nouveaux • Fallback au niveau du routage • Possibilité de charger les templates de contenu “legacy” sur la base des règles “legacy” • Réglages (fallback/mirroring) • Accéder aux services Symfony depuis les modules “legacy” Nicolas Pastorino 04/04/2013 - Symfony Live Paris 13
  • 23. BC: les Objectifs • Données à 100% compatibles (même schéma de BD) • Possibilité d’inclure les templates legacy dans les nouveaux • Fallback au niveau du routage • Possibilité de charger les templates de contenu “legacy” sur la base des règles “legacy” • Réglages (fallback/mirroring) • Accéder aux services Symfony depuis les modules “legacy” Nicolas Pastorino 04/04/2013 - Symfony Live Paris 13
  • 24. BC: le Challenge Product Management SCRUM Story: «As an eZ Publish user, I don’t want to be pissed off by a new #@!$% version!» Nicolas Pastorino 04/04/2013 - Symfony Live Paris 14
  • 25. BC: le Challenge Product Management SCRUM Story: «As an eZ Publish user, I don’t want to be pissed off by a new #@!$% version!» Challenge Accepted Nicolas Pastorino 04/04/2013 - Symfony Live Paris 14
  • 26. BC: le Challenge Sandboxer Legacy code Nicolas Pastorino 04/04/2013 - Symfony Live Paris 15
  • 27. BC: le Challenge Sandboxer Legacy code ...dans une Closure ! Nicolas Pastorino 04/04/2013 - Symfony Live Paris 15
  • 28. BC: le Challenge Nicolas Pastorino 04/04/2013 - Symfony Live Paris 16
  • 29. BC: le Challenge Nicolas Pastorino 04/04/2013 - Symfony Live Paris 17
  • 30.
  • 33. BC: la cerise sur le gâteau Nicolas Pastorino 04/04/2013 - Symfony Live Paris 19
  • 34. BC: la cerise sur le gâteau eZ Publish legacy continue à fonctionner de manière indépendante ! Nicolas Pastorino 04/04/2013 - Symfony Live Paris 19
  • 36. Deux Communautés Nicolas Pastorino 04/04/2013 - Symfony Live Paris 21
  • 37. Deux Communautés La famille Symfony s’agrandit... Nicolas Pastorino 04/04/2013 - Symfony Live Paris 21
  • 38. Deux Communautés La famille Symfony s’agrandit... ...et nous avons tous quelque chose à partager - des évènements - du code - des bonnes pratiques - des connaissances - des outils http://share.ez.no | @ezcommunity Nicolas Pastorino 04/04/2013 - Symfony Live Paris 21
  • 40.
  • 41.
  • 42. Find me on Twitter @jeanvoye Slides available soon at http://slideshare.net/jeanvoye Merci ! eZ Publish Community http://share.ez.no eZ Publish 5 Community Project https://github.com/ezsystems/ezpublish-community http://share.ez.no/download eZ Systems & eZ Publish Enterprise Edition http://ez.no