Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

10,522 views

Published on

Une revue d'ensemble des principales similitudes et différences

Published in: Technology
  • Be the first to comment

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

  1. 1. Django pour les développeurs Symfony Ou l’inverse, je sais plus.
  2. 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. 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. 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. 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. 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. 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. 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. 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. 10. Les stats ! Les stats ! Source : http://www.indeed.com/jobtrends/ Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  11. 11. </bullshit>
  12. 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. 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. 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. 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. 16. Fortunes source code http://fortunes.inertie.org/ Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  17. 17. Djortunes source code http://github.com/n1k0/djortunes Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  18. 18. Sftunes source code http://github.com/n1k0/sftunes Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  19. 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. 20. Talk is cheap, show me the code. Linus T., Helsinki
  21. 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. 22. Routing Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  23. 23. Routing Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  24. 24. Controlleurs Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  25. 25. Controlleurs (en un seul mot s’il vous plait) Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  26. 26. Templates Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  27. 27. Templates Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  28. 28. Helpers Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  29. 29. Helpers Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  30. 30. Settings YAML Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  31. 31. Settings Python Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  32. 32. ORM Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  33. 33. ORM Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony
  34. 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
  35. 35. Questions ?

×