wordpress pour le développement d'aplications web
TRANSCRIPT
![Page 1: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/1.jpg)
WordPress, un framework complet?Ses forces et ses faiblesses
ConFoo - 11 mars 2011
Friday, March 11, 2011
![Page 2: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/2.jpg)
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 optionel
Friday, March 11, 2011
![Page 3: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/3.jpg)
Pourquoi?(Philosophons un peu)
Friday, March 11, 2011
![Page 4: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/4.jpg)
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
![Page 5: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/5.jpg)
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 écoeurant
Friday, March 11, 2011
![Page 6: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/6.jpg)
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’autre
Friday, March 11, 2011
![Page 7: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/7.jpg)
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
![Page 8: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/8.jpg)
Manque de direction
Source: http://www.phpframeworks.com/
Friday, March 11, 2011
![Page 9: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/9.jpg)
Incapable de s’affirmer
Friday, March 11, 2011
![Page 10: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/10.jpg)
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
![Page 11: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/11.jpg)
Manque de communautéCode igniter
Yii
Symfony
WordPress
Friday, March 11, 2011
![Page 12: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/12.jpg)
WordPress(CodePress?)
Friday, March 11, 2011
![Page 13: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/13.jpg)
WordPress est facile
• Pour les usagés• Les designers• Vous (les développeurs)
Friday, March 11, 2011
![Page 14: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/14.jpg)
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 taxonomie
Friday, March 11, 2011
![Page 15: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/15.jpg)
WordPress est Rapide
• Fonctionnel après son installation• Prêt à l’utilisation ou au développement• Minimum de configuration• Batteries included
Friday, March 11, 2011
![Page 16: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/16.jpg)
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 designer
Friday, March 11, 2011
![Page 17: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/17.jpg)
M: Le modèleUn 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 configuration
Friday, March 11, 2011
![Page 18: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/18.jpg)
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
![Page 19: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/19.jpg)
C: Le contrôleurUn exemple https://gist.github.com/860392
Plutôt inexistant
• Gestion faite par l’admin• Utilisation de fonctions génériques• Hooks pour modifications
Friday, March 11, 2011
![Page 20: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/20.jpg)
Soyons clairJe pense que WordPress a le potentiel de devenir un framework
Friday, March 11, 2011
![Page 21: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/21.jpg)
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 URLs
Friday, March 11, 2011
![Page 22: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/22.jpg)
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
beau
Friday, March 11, 2011
![Page 23: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/23.jpg)
Et j’ai fait un projet(Dans le vrai monde, avec un client, des deadlines et des collaborateurs)
Friday, March 11, 2011
![Page 24: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/24.jpg)
Le voici
Friday, March 11, 2011
![Page 25: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/25.jpg)
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
views
Friday, March 11, 2011
![Page 26: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/26.jpg)
Donc(Parce que ça prend des conclusions...)
Friday, March 11, 2011
![Page 27: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/27.jpg)
• 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érience
Friday, March 11, 2011
![Page 28: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/28.jpg)
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
![Page 29: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/29.jpg)
Qu’est-ce qui vous manque?
(Maintenant parlons)
Friday, March 11, 2011
![Page 30: WordPress pour le développement d'aplications web](https://reader033.vdocuments.pub/reader033/viewer/2022051112/55838e5bd8b42a9e528b4b36/html5/thumbnails/30.jpg)
Isabelle Lo ezPrésidente
b
+1 (418) 264-5447 Blogue : [email protected] Skype / Posterous / Twitter : isatruc
Marc BoivinDirecteur web
+1 (418) 803-7139 Skype : [email protected] Blip.fm / Twitter : marcboivin
Marc BoivinDirecteur web
+1 (418) 803-7139 Skype : [email protected] Blip.fm / Twitter : marcboivin
Marc BoivinDirecteur web
+1 (418) 803-7139 Skype : [email protected] Blip.fm / Twitter : marcboivin
Marc BoivinDirecteur web
+1 (418) 803-7139 Skype : [email protected] Blip.fm / Twitter : marcboivin
Marc BoivinDirecteur web
+1 (418) 803-7139 Skype : [email protected] Blip.fm / Twitter : marcboivin
Marc BoivinDirecteur web
+1 (418) 803-7139 Skype : [email protected] Blip.fm / Twitter : marcboivin
Marc BoivinDirecteur web
+1 (418) 803-7139 Skype : [email protected] Blip.fm / Twitter : marcboivin
Marc BoivinDirecteur web
+1 (418) 803-7139 Skype : [email protected] Blip.fm / Twitter : marcboivin
Friday, March 11, 2011