Your SlideShare is downloading. ×
0
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02

203

Published on

Présentation de Marc boivin à ConFoo Mtl 2011

Présentation de Marc boivin à ConFoo Mtl 2011

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
203
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. WordPress, un framework complet? Ses forces et ses faiblesses ConFoo - 11 mars 2011Friday, March 11, 2011
  • 2. Ma personne. • Développeur web depuis début 2000 • Développe des sites de marketeux • Des plateformes internes • Mordu du web • Fanboy de l’open source • Je suis venu défendre WordPress dans un monde de MVC • Ce support visuel est optionelFriday, March 11, 2011
  • 3. Pourquoi? (Philosophons un peu)Friday, March 11, 2011
  • 4. Juste avant de commencer (Parce qu’il faut bien garder un peu de suspense) http://codex.wordpress.org/Theme_Frameworks Ce n’est pas des frameworks. Les themes frameworks ne sont pas des frameworks, mais bien des tentatives pour accélérer le développement de thème. Aucun n’essait d’améliorer les capacités MVC ou ORM de WordPress. C’est un truc pour les designers wannabe développeurs.Friday, March 11, 2011
  • 5. Qu’est-ce qu’un Framework (Il faut bien commencer quelque part) • MVC • Modulable • Réutilisation du code • Rapide • Permet la collaboration ...Si quelqu’un veut contribuer à Wikipedia, l’article n’est pas écoeurantFriday, March 11, 2011
  • 6. Les frameworks PHP (...) • Il y en a presque plus que des blogues en Django • ... plus que des thèmes WordPress • THEY SU.. • Il n’y en a pas un pour racheter l’autreFriday, March 11, 2011
  • 7. Les pêchés mortels des Frameworks PHP (Symfony, je te frappe dessus parce que tu es le meilleur en PHP ;) )Friday, March 11, 2011
  • 8. Manque de direction Source: http://www.phpframeworks.com/Friday, March 11, 2011
  • 9. Incapable de s’affirmerFriday, March 11, 2011
  • 10. Prétendre que PHP est un OOL (Object Oriented Language) PHP n’a simplement pas été conçu comme un langage orienté objet. Ce qui fait la force des frameworks Ruby, Python, Java et C# de ce monde est la flexibilité de leur modèle objet.Friday, March 11, 2011
  • 11. Manque de communauté Code igniter Yii Symfony WordPressFriday, March 11, 2011
  • 12. WordPress (CodePress?)Friday, March 11, 2011
  • 13. WordPress est facile • Pour les usagés • Les designers • Vous (les développeurs)Friday, March 11, 2011
  • 14. WordPress est Modulable • En version 3.1 WordPress possède 1469 hooks et filters: • AJAX, Admin, connexion à la BD, récupération du contenu, validation des données, etc. • WordPress donne le contrôle aux développeurs sur: • Les URLs avec WP_Rewrite • Le modèle de donnée avec la taxonomieFriday, March 11, 2011
  • 15. WordPress est Rapide • Fonctionnel après son installation • Prêt à l’utilisation ou au développement • Minimum de configuration • Batteries includedFriday, March 11, 2011
  • 16. WordPress est MVC (Ça dépend seulement de la définition) • Suffit de se donner la discipline • L’application est composée de plugins • Chaque plugin a son modèle de données • Chaque plugin a son/ses contrôleurs pour gérer les actions • Les views sont tous les fichiers du thème. Utiliser functions.php pour interfacer les contrôleurs et exposer des fonctions de templating au designerFriday, March 11, 2011
  • 17. M: Le modèle Un exemple https://gist.github.com/858502 Ici on crée un type de donnée «Idée» et on lui donne un attribut «status» • Abstraction complète du SQL • Plus long que la plupart de FW, • Gestion des accès intégrés • Beaucoup d’option de configurationFriday, March 11, 2011
  • 18. V: La «View» Un exemple https://gist.github.com/858535 Avec functions.php on expose des fonctions du contrôleur, ensuite les views sont laissés au designer. • Les validations de fallback sont faites • On enlève du contrôleur la gestion du UI • Tout le monde est plus content • Dans WordPress, la Loop gère tous les types de données • On ajuste en fontion des informations obtenues par le contrôleur.Friday, March 11, 2011
  • 19. C: Le contrôleur Un exemple https://gist.github.com/860392 Plutôt inexistant • Gestion faite par l’admin • Utilisation de fonctions génériques • Hooks pour modificationsFriday, March 11, 2011
  • 20. Soyons clair Je pense que WordPress a le potentiel de devenir un frameworkFriday, March 11, 2011
  • 21. Ses faiblesses (Je commence toujours par les mauvaises nouvelles) • Pas été pensé pour devenir un framework • Ne se publicise pas comme un framework • Pas de ORM • Architecture mal documentée • N’est pas MVC (vraiment...?) • La gestion des URLsFriday, March 11, 2011
  • 22. Ses forces (Là on commence à jaser) • Communauté ÉPIC • Maturité du code • Division des rôles • Cycle de développement actif • Est MVC (vraiment...?) • Supporté partout • Utilise l’OOP quand c’est utile, pas seulement pour faire beauFriday, March 11, 2011
  • 23. Et j’ai fait un projet (Dans le vrai monde, avec un client, des deadlines et des collaborateurs)Friday, March 11, 2011
  • 24. Le voiciFriday, March 11, 2011
  • 25. L’expérience ne fut pas parfaite (mais...) • La séparation des rôles est nickel • Il n’y a pas de gestion directe des données en SQL • Les parties du code sont indépendantes • Les conventions ne sont pas toujours respectées • Il y a un peu de code des contrôleurs dans certaines viewsFriday, March 11, 2011
  • 26. Donc (Parce que ça prend des conclusions...)Friday, March 11, 2011
  • 27. • Framework fonctionnel, mais il faut savoir pardonner • Manque de doc • Manque un peu de formalisation • Doit être bien encadré pour performer de manière optimale • Utilisez GIT quand vous faites ce type d’expérienceFriday, March 11, 2011
  • 28. Jsute avant de finir • WordPress devrait être le frontend de votre web • Il le font mieux que vous (et moi) • Data storage -> REST -> WordPress -> Client Et vous allez voir...!Friday, March 11, 2011
  • 29. Qu’est-ce qui vous manque? (Maintenant parlons)Friday, March 11, 2011
  • 30. IsabelleBoivin Marc Lo ez b Présidente Directeur web +1 (418) 803-7139 264-5447 Blogue : isabellelopez.com Skype : glimps.marc.boivin lopez@ma14.com boivin@ma14.com Blip.fm / / Posterous / Twitter : isatruc Skype Twitter : marcboivinFriday, March 11, 2011

×