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]


...
Symfoquoi ?
• Framework Web
• PHP5
• MVC
• Full stack
• Scope fonctionnel ~= Django
• v1.x sous php <= 5.2.x, v2 sous php ...
Symfony
• Sensio Labs
• Support Long Terme (3 ans)
• Communauté++
 • Documentation
 • Plugins
• PHP...
    Rencontres Djan...
PHP(5)
•   Ahhh, PHP

•   Typage dynamique faible

•   Procédural et/ou OO

•   Multiplateforme, mais ~limité au Web

•   ...
Python
•   Ahhh, Python

•   Typage dynamique fort

•   Procédural et/ou OO

•   Multiplateforme, multi-usages

•   Simple...
Restons sérieux
                                    Que diable.


• Symfony ~= framework Web + surcouche
  professionnelle...
Et Django ?
• Django = framework Web
 • Exploite les richesses de Python
 • Expose des fonctionnalités haut niveau et
    ...
Les stats ! Les stats !


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




                             ...
Les stats ! Les stats !




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

  Rencontres Django - Marsei...
</bullshit>
Fonctionnalités

• Admin generator                            •   Django Admin
• Routing, urls propres, bidirectionnalité ...
Fonctionnalités

• Configuration en YAML           •   Configuration en Python
• RAW PHP templates (~= #HELL)   •   Template...
Résumons

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

     Rencontres...
Plus concrètement

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

     Rencontres Django - Marsei...
Fortunes
                                                          source code http://fortunes.inertie.org/




Rencontres...
Djortunes




                   source code http://github.com/n1k0/djortunes
Rencontres Django - Marseille - avril 2010 -...
Sftunes




                     source code http://github.com/n1k0/sftunes
Rencontres Django - Marseille - avril 2010 - D...
Chiffres bruts
• Hors intégration HTML/CSS :
 • Djortunes
   • Codé en ~16h, sans ne rien connaître à
       Django, et pa...
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
•...
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é...
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 -...
Settings

                                                                                    Python




Rencontres Django...
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
 • Cha...
Questions ?
Prochain SlideShare
Chargement dans…5
×

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

9 938 vues

Publié le

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

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

Aucun téléchargement
Vues
Nombre de vues
9 938
Sur SlideShare
0
Issues des intégrations
0
Intégrations
985
Actions
Partages
0
Téléchargements
84
Commentaires
0
J’aime
8
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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 ?

×