Django pour les
développeurs Symfony
      Ou l’inverse, je sais plus.
T’es qui, toi, là ?

• Nicolas Perriault
• Développeur Web depuis                                      [plein de temps]


• Entrepreuneuuur depuis                                   [trois semaines]


• PHP ~ Ruby ~ Java ~ Python
• Core team Symfony

    Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Symfoquoi ?
• Framework Web
• PHP5
• MVC
• Full stack
• Scope fonctionnel ~= Django
• v1.x sous php <= 5.2.x, v2 sous php >= 5.3
     Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Symfony
• Sensio Labs
• Support Long Terme (3 ans)
• Communauté++
 • Documentation
 • Plugins
• PHP...
    Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
PHP(5)
•   Ahhh, PHP

•   Typage dynamique faible

•   Procédural et/ou OO

•   Multiplateforme, mais ~limité au Web

•   Simple, limité et peu structuré

•   Accessible au néophyte

•   Beaucoup de compétences sur le marché

       Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Python
•   Ahhh, Python

•   Typage dynamique fort

•   Procédural et/ou OO

•   Multiplateforme, multi-usages

•   Simple, puissant et structuré

•   Accessible au néophyte

•   Peu de compétences sur le marché

       Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Restons sérieux
                                    Que diable.


• Symfony ~= framework Web + surcouche
  professionnelle à PHP
 • Homogénéise une partie de l’API de PHP
 • Expose des fonctionnalités haut niveau et
    génériques au Web
 • Ne réinvente pas la roue
 • Favorise les bonnes pratiques et la
    réutilisation
    Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Et Django ?
• Django = framework Web
 • Exploite les richesses de Python
 • Expose des fonctionnalités haut niveau et
    génériques au Web
 • Ne réinvente pas la roue
 • Favorise les bonnes pratiques et la
    réutilisation

     Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Les stats ! Les stats !


                            Source : http://trends.google.com/




                               Source : http://langpop.com/

  Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Les stats ! Les stats !




                       Source : http://www.indeed.com/jobtrends/

  Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
</bullshit>
Fonctionnalités

• Admin generator                            •   Django Admin
• Routing, urls propres, bidirectionnalité   •   Routing, urls propres, bidirectionnalité
• ORM (Doctrine/Propel)                      •   ORM
• Forms                                      •   Forms
• Helpers                                    •   Template tags
• CLI                                        •   CLI
• HTML exception stack pages                 •   HTML exception stack pages
• Filters                                    •   Middlewares
• Events                                     •   Signals
• ACL, authentication w/ Session             •   Session Middleware + User
• YAML Fixtures                              •   JSON/XML/YAML/Python fixtures
• Tests                                      •   Tests
• Notion d’environnements                    •   Try/Catch sur import de settings
Fonctionnalités

• Configuration en YAML           •   Configuration en Python
• RAW PHP templates (~= #HELL)   •   Template engine
  • Inheritance                      •  Inheritance
  • Partials                         •  with..include
  • Slots                            •  Blocks
  • Components                       •  Template Inclusion Tags
• N/A (via plugin externe)       •   ACL persistence
• Formats, RESTful routing       •   N/A (via dev ou module externe)
• i18N (ui + orm), l10n          •   i18N (ui + orm), l10n
• Flash messages                 •   1.2 DEV
• Web Debug Toolbar              •   N/A (via module externe)
• N/A                            •   Serveur Web intégré
Résumons

• Django est sexy
• Symfony est sexy
• Python est sexy
• PHP est, heu... une réalité du marché™

     Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Plus concrètement

• Fortunes
 • Quotes manager
 • Maurice Svay (http://svay.com)
 • PHP4

     Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Fortunes
                                                          source code http://fortunes.inertie.org/




Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Djortunes




                   source code http://github.com/n1k0/djortunes
Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Sftunes




                     source code http://github.com/n1k0/sftunes
Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Chiffres bruts
• Hors intégration HTML/CSS :
 • Djortunes
   • Codé en ~16h, sans ne rien connaître à
       Django, et pas grand chose en Python
 • Sftunes
  • Codé en ~4h, en ayant 4ans+
       d’expérience sur Symfony, et +10 ans en
       PHP
    Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Talk is cheap, show
   me the code.
              Linus T., Helsinki
Disclaimer
• Django newbie here!
• Plein d’optimisations à faire dans la version
  Django
• Plein d’erreurs de débutants
• Pas de bonnes pratiques Python/Django
• Pas représentatif du potentiel de Django
                                       Bon ça va, je peux y aller ?




      Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Routing




Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Routing




Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Controlleurs




Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Controlleurs          (en un seul mot s’il vous plait)




Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Templates




Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Templates




Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Helpers




Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Helpers




Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Settings

                                                                                    YAML




Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Settings

                                                                                    Python




Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
ORM




Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
ORM




Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Conclusion de
          l’exercice
• Exercice intéressant !
 • Veille technologique
 • Diversification, idées neuves
 • Changement de point de vue
 • Tout développeur devrait s’y essayer, c’est
    bon pour la santé™

     Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
Questions ?

Contenu connexe

PDF
Une application en deux heure - PHP Québec Janvier 2009
ODP
Symfony Best Practices
PDF
symfony : Un Framework Open-Source pour les Professionnels
PDF
wallabag, comment on a migré vers symfony3
ODP
Presentation du framework symfony
PDF
Symfony2 Presentation
PPTX
Symfony3 overview
PDF
AlterWay SolutionsLinux Outils Industrialisation PHP
Une application en deux heure - PHP Québec Janvier 2009
Symfony Best Practices
symfony : Un Framework Open-Source pour les Professionnels
wallabag, comment on a migré vers symfony3
Presentation du framework symfony
Symfony2 Presentation
Symfony3 overview
AlterWay SolutionsLinux Outils Industrialisation PHP

Tendances (20)

PDF
AFUP & PHP @ Supelec
ODP
Patterns and OOP in PHP
PDF
Mieux Développer en PHP avec Symfony
PPTX
Présentation symfony epita
PPTX
Symfony 2 : chapitre 1 - Présentation Générale
PPT
PHP5 et Zend Framework
PDF
Orchestrez vos projets Symfony sans fausses notes
PDF
Boostez vos-developpements-symfony-avec-phpedit
PDF
Formation Symfony2 par KNP Labs
PDF
Utiliser le Zend Framework avec Symfony
ODP
Présentation de PHP 5.4 [FR]
PDF
Formation Spring Avancé gratuite par Ippon 2014
PDF
Bonnes pratiques de developpement en PHP
PDF
Apache for développeurs PHP
PPTX
TypeScript for dummies
PPTX
Atelier Symfony2- Introduction
PPT
Presentation Symfony
PDF
Exposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
PDF
Symfony2: 30 astuces et bonnes pratiques
PDF
Formation Gratuite Total Tests par les experts Java Ippon
AFUP & PHP @ Supelec
Patterns and OOP in PHP
Mieux Développer en PHP avec Symfony
Présentation symfony epita
Symfony 2 : chapitre 1 - Présentation Générale
PHP5 et Zend Framework
Orchestrez vos projets Symfony sans fausses notes
Boostez vos-developpements-symfony-avec-phpedit
Formation Symfony2 par KNP Labs
Utiliser le Zend Framework avec Symfony
Présentation de PHP 5.4 [FR]
Formation Spring Avancé gratuite par Ippon 2014
Bonnes pratiques de developpement en PHP
Apache for développeurs PHP
TypeScript for dummies
Atelier Symfony2- Introduction
Presentation Symfony
Exposer des services web SOAP et REST avec symfony 1.4 et Zend Framework
Symfony2: 30 astuces et bonnes pratiques
Formation Gratuite Total Tests par les experts Java Ippon
Publicité

En vedette (20)

ZIP
Scrum.py, introduction
PDF
Methodologies de Developpement Agiles : Scrum et XP
PDF
Des cartes d'un autre monde - DjangoCong 2012
PDF
Geotrek
PDF
Open models book
PDF
Working with the django admin
PDF
Best Practices for Front-End Django Developers
PPTX
Creating hypermedia APIs in a few minutes using the API Platform framework
PDF
Django 實戰 - 自己的購物網站自己做
PDF
30 Symfony Best Practices
PDF
Happy hacking with Plone
PDF
那些年,我用 Django Admin 接的案子
PDF
Django workshop homework 3
PDF
Customizing the Django Admin
PPTX
Proyecto 4, rodríguez
DOCX
Biodigestor de bidón
PDF
Proyecto facilitadores internos
DOC
Taller divia-soria
PPT
Mesa redonda "Relaciones ANEPMA - grupos de interés del Sector Medio Ambienta...
PDF
Colección permacultura 07 reciclaje de basura compost, lombricultura, plastic...
Scrum.py, introduction
Methodologies de Developpement Agiles : Scrum et XP
Des cartes d'un autre monde - DjangoCong 2012
Geotrek
Open models book
Working with the django admin
Best Practices for Front-End Django Developers
Creating hypermedia APIs in a few minutes using the API Platform framework
Django 實戰 - 自己的購物網站自己做
30 Symfony Best Practices
Happy hacking with Plone
那些年,我用 Django Admin 接的案子
Django workshop homework 3
Customizing the Django Admin
Proyecto 4, rodríguez
Biodigestor de bidón
Proyecto facilitadores internos
Taller divia-soria
Mesa redonda "Relaciones ANEPMA - grupos de interés del Sector Medio Ambienta...
Colección permacultura 07 reciclaje de basura compost, lombricultura, plastic...
Publicité

Similaire à Django pour les développeurs Symfony (et réciproquement) (20)

PDF
Django toolbox
PDF
Symfony 4 2019
PPTX
Performance au quotidien dans un environnement symfony
PDF
2011 paug-presentation-de-titanium-mobile
PDF
Développement Cross-Platform avec Titanium Mobile
PPT
.Net pour le développeur Java - une source d'inspiration?
PDF
Presentation langage go_19022015
PPTX
SEO Campus 2016 Oncrawl Open Source Log Analysis
PDF
Alphorm.com - Formation programmer en Visual Basic .NET
PDF
Soda sotm fr-2013_02_24
PDF
Alphorm.com Formation Java, les fondamentaux
ODT
Soda sotm fr-2013_02_24
PPTX
Symfony et le Web
PPTX
Symfony 2 et le Web
PDF
Modoboa - Antoine Nguyen - Paris Python
PDF
4D Summit2013 refactoring
PDF
Machine-learning-FR.pdf
PDF
Django by mrjmad
PDF
Conférence #nwxtech5 : Django, du framework pour les perfectionnistes au pony...
PDF
GetText / Rails - FR
Django toolbox
Symfony 4 2019
Performance au quotidien dans un environnement symfony
2011 paug-presentation-de-titanium-mobile
Développement Cross-Platform avec Titanium Mobile
.Net pour le développeur Java - une source d'inspiration?
Presentation langage go_19022015
SEO Campus 2016 Oncrawl Open Source Log Analysis
Alphorm.com - Formation programmer en Visual Basic .NET
Soda sotm fr-2013_02_24
Alphorm.com Formation Java, les fondamentaux
Soda sotm fr-2013_02_24
Symfony et le Web
Symfony 2 et le Web
Modoboa - Antoine Nguyen - Paris Python
4D Summit2013 refactoring
Machine-learning-FR.pdf
Django by mrjmad
Conférence #nwxtech5 : Django, du framework pour les perfectionnistes au pony...
GetText / Rails - FR

Dernier (10)

PDF
Cours du langage HTML depuis initiation à la maîtrise
PDF
Utilisation de la gestion des ressources dans SAP Extended Warehouse Manageme...
PPTX
Pourquoi j'ai arrêté Magento : neuf ans de transitions technologiques
PDF
Gestion de la main-d’œuvre dans SAP Extended Warehouse Management, EWM125 Col26
PDF
Démystification des QR codes - histoire - utilisations - techniques
PDF
Personnalisation de rubriques supplémentaires dans SAP Extended Warehouse Man...
PDF
1.3.4-Handling-and-Safety-Instructions-FR-2024.pdf
PPTX
843555943-Introduction-a-l-Intelligence-Artificielle.pptx
PPT
Pratiques des systèmes d'information ppt
PDF
SHAKA 2025 - Création d'Images en IA : Mode Expert Activé
Cours du langage HTML depuis initiation à la maîtrise
Utilisation de la gestion des ressources dans SAP Extended Warehouse Manageme...
Pourquoi j'ai arrêté Magento : neuf ans de transitions technologiques
Gestion de la main-d’œuvre dans SAP Extended Warehouse Management, EWM125 Col26
Démystification des QR codes - histoire - utilisations - techniques
Personnalisation de rubriques supplémentaires dans SAP Extended Warehouse Man...
1.3.4-Handling-and-Safety-Instructions-FR-2024.pdf
843555943-Introduction-a-l-Intelligence-Artificielle.pptx
Pratiques des systèmes d'information ppt
SHAKA 2025 - Création d'Images en IA : Mode Expert Activé

Django pour les développeurs Symfony (et réciproquement)

  • 1. Django pour les développeurs Symfony Ou l’inverse, je sais plus.
  • 2. T’es qui, toi, là ? • Nicolas Perriault • Développeur Web depuis [plein de temps] • Entrepreuneuuur depuis [trois semaines] • PHP ~ Ruby ~ Java ~ Python • Core team Symfony Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 3. Symfoquoi ? • Framework Web • PHP5 • MVC • Full stack • Scope fonctionnel ~= Django • v1.x sous php <= 5.2.x, v2 sous php >= 5.3 Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 4. Symfony • Sensio Labs • Support Long Terme (3 ans) • Communauté++ • Documentation • Plugins • PHP... Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 5. PHP(5) • Ahhh, PHP • Typage dynamique faible • Procédural et/ou OO • Multiplateforme, mais ~limité au Web • Simple, limité et peu structuré • Accessible au néophyte • Beaucoup de compétences sur le marché Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 6. Python • Ahhh, Python • Typage dynamique fort • Procédural et/ou OO • Multiplateforme, multi-usages • Simple, puissant et structuré • Accessible au néophyte • Peu de compétences sur le marché Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 7. Restons sérieux Que diable. • Symfony ~= framework Web + surcouche professionnelle à PHP • Homogénéise une partie de l’API de PHP • Expose des fonctionnalités haut niveau et génériques au Web • Ne réinvente pas la roue • Favorise les bonnes pratiques et la réutilisation Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 8. Et Django ? • Django = framework Web • Exploite les richesses de Python • Expose des fonctionnalités haut niveau et génériques au Web • Ne réinvente pas la roue • Favorise les bonnes pratiques et la réutilisation Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 9. Les stats ! Les stats ! Source : http://trends.google.com/ Source : http://langpop.com/ Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 10. Les stats ! Les stats ! Source : http://www.indeed.com/jobtrends/ Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 12. Fonctionnalités • Admin generator • Django Admin • Routing, urls propres, bidirectionnalité • Routing, urls propres, bidirectionnalité • ORM (Doctrine/Propel) • ORM • Forms • Forms • Helpers • Template tags • CLI • CLI • HTML exception stack pages • HTML exception stack pages • Filters • Middlewares • Events • Signals • ACL, authentication w/ Session • Session Middleware + User • YAML Fixtures • JSON/XML/YAML/Python fixtures • Tests • Tests • Notion d’environnements • Try/Catch sur import de settings
  • 13. Fonctionnalités • Configuration en YAML • Configuration en Python • RAW PHP templates (~= #HELL) • Template engine • Inheritance • Inheritance • Partials • with..include • Slots • Blocks • Components • Template Inclusion Tags • N/A (via plugin externe) • ACL persistence • Formats, RESTful routing • N/A (via dev ou module externe) • i18N (ui + orm), l10n • i18N (ui + orm), l10n • Flash messages • 1.2 DEV • Web Debug Toolbar • N/A (via module externe) • N/A • Serveur Web intégré
  • 14. Résumons • Django est sexy • Symfony est sexy • Python est sexy • PHP est, heu... une réalité du marché™ Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 15. Plus concrètement • Fortunes • Quotes manager • Maurice Svay (http://svay.com) • PHP4 Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 16. Fortunes source code http://fortunes.inertie.org/ Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 17. Djortunes source code http://github.com/n1k0/djortunes Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 18. Sftunes source code http://github.com/n1k0/sftunes Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 19. Chiffres bruts • Hors intégration HTML/CSS : • Djortunes • Codé en ~16h, sans ne rien connaître à Django, et pas grand chose en Python • Sftunes • Codé en ~4h, en ayant 4ans+ d’expérience sur Symfony, et +10 ans en PHP Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 20. Talk is cheap, show me the code. Linus T., Helsinki
  • 21. Disclaimer • Django newbie here! • Plein d’optimisations à faire dans la version Django • Plein d’erreurs de débutants • Pas de bonnes pratiques Python/Django • Pas représentatif du potentiel de Django Bon ça va, je peux y aller ? Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 22. Routing Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 23. Routing Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 24. Controlleurs Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 25. Controlleurs (en un seul mot s’il vous plait) Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 26. Templates Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 27. Templates Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 28. Helpers Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 29. Helpers Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 30. Settings YAML Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 31. Settings Python Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 32. ORM Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 33. ORM Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  • 34. Conclusion de l’exercice • Exercice intéressant ! • Veille technologique • Diversification, idées neuves • Changement de point de vue • Tout développeur devrait s’y essayer, c’est bon pour la santé™ Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony