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

9,560 views
9,287 views

Published on

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

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,560
On SlideShare
0
From Embeds
0
Number of Embeds
954
Actions
Shares
0
Downloads
82
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

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 ?

×