SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
WordPress, un framework complet?
                         Ses forces et ses faiblesses


                              ConFoo - 11 mars 2011




Friday, March 11, 2011
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
Pourquoi?
                         (Philosophons un peu)




Friday, March 11, 2011
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
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
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
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
Manque de direction




                                       Source: http://www.phpframeworks.com/




Friday, March 11, 2011
Incapable de s’affirmer




Friday, March 11, 2011
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
Manque de communauté
     Code igniter

     Yii

     Symfony


     WordPress




Friday, March 11, 2011
WordPress
                            (CodePress?)




Friday, March 11, 2011
WordPress est facile

                         •   Pour les usagés
                         •   Les designers
                         •   Vous (les développeurs)




Friday, March 11, 2011
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
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
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
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 configuration




Friday, March 11, 2011
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
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 modifications




Friday, March 11, 2011
Soyons clair
       Je pense que WordPress a le potentiel de devenir un framework




Friday, March 11, 2011
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
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
Et j’ai fait un projet
                    (Dans le vrai monde, avec un client, des deadlines et des collaborateurs)




Friday, March 11, 2011
Le voici




Friday, March 11, 2011
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
Donc
                         (Parce que ça prend des conclusions...)




Friday, March 11, 2011
•   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
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
Qu’est-ce qui vous
                         manque?
                           (Maintenant parlons)




Friday, March 11, 2011
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 : marcboivin




Friday, March 11, 2011

Mais conteúdo relacionado

Destaque

FCPE Collège Ampère à Oyonnax
FCPE Collège Ampère à OyonnaxFCPE Collège Ampère à Oyonnax
FCPE Collège Ampère à Oyonnaxcollegeampere
 
Les clefs pour réussir un projet d'interactivité dans les lieux publics et co...
Les clefs pour réussir un projet d'interactivité dans les lieux publics et co...Les clefs pour réussir un projet d'interactivité dans les lieux publics et co...
Les clefs pour réussir un projet d'interactivité dans les lieux publics et co...Ubleam France
 
Compte rendu de l’enquête
Compte rendu de l’enquêteCompte rendu de l’enquête
Compte rendu de l’enquêteplanfrance
 
Acces Au Marche Bresilien
Acces Au Marche BresilienAcces Au Marche Bresilien
Acces Au Marche Bresilienclvpor77
 
TOURISME : Ecrire pour le web - Fanch Daniel
TOURISME : Ecrire pour le web - Fanch DanielTOURISME : Ecrire pour le web - Fanch Daniel
TOURISME : Ecrire pour le web - Fanch DanielFanch Daniel
 
Journal Esprit de la France n°1
Journal Esprit de la France n°1Journal Esprit de la France n°1
Journal Esprit de la France n°1MarineLePen
 
Catalogue Diaporama Power Point Mai 2010
Catalogue Diaporama Power Point Mai 2010Catalogue Diaporama Power Point Mai 2010
Catalogue Diaporama Power Point Mai 2010carolinebonfils
 
Guide d'utilisation du portail documentaire BEM
Guide d'utilisation du portail documentaire BEMGuide d'utilisation du portail documentaire BEM
Guide d'utilisation du portail documentaire BEMPete_BEM
 
ABE - Cluster Ecobuild - Outils de Soutiens Régionaux aux Entreprises de la C...
ABE - Cluster Ecobuild - Outils de Soutiens Régionaux aux Entreprises de la C...ABE - Cluster Ecobuild - Outils de Soutiens Régionaux aux Entreprises de la C...
ABE - Cluster Ecobuild - Outils de Soutiens Régionaux aux Entreprises de la C...ecobuild.brussels
 
Abe comment démarrer son activité
Abe comment démarrer son activitéAbe comment démarrer son activité
Abe comment démarrer son activitéecobuild.brussels
 

Destaque (20)

Réseau social
Réseau socialRéseau social
Réseau social
 
FCPE Collège Ampère à Oyonnax
FCPE Collège Ampère à OyonnaxFCPE Collège Ampère à Oyonnax
FCPE Collège Ampère à Oyonnax
 
Les clefs pour réussir un projet d'interactivité dans les lieux publics et co...
Les clefs pour réussir un projet d'interactivité dans les lieux publics et co...Les clefs pour réussir un projet d'interactivité dans les lieux publics et co...
Les clefs pour réussir un projet d'interactivité dans les lieux publics et co...
 
E reputation
E reputationE reputation
E reputation
 
Compte rendu de l’enquête
Compte rendu de l’enquêteCompte rendu de l’enquête
Compte rendu de l’enquête
 
Acces Au Marche Bresilien
Acces Au Marche BresilienAcces Au Marche Bresilien
Acces Au Marche Bresilien
 
Publicidad
PublicidadPublicidad
Publicidad
 
TOURISME : Ecrire pour le web - Fanch Daniel
TOURISME : Ecrire pour le web - Fanch DanielTOURISME : Ecrire pour le web - Fanch Daniel
TOURISME : Ecrire pour le web - Fanch Daniel
 
Wissenschaftsvermittlung für EU-Projekte in Sonnenphysik
Wissenschaftsvermittlung für EU-Projekte in SonnenphysikWissenschaftsvermittlung für EU-Projekte in Sonnenphysik
Wissenschaftsvermittlung für EU-Projekte in Sonnenphysik
 
Des logements basse énergie et durables à hastière
Des logements basse énergie et durables à hastièreDes logements basse énergie et durables à hastière
Des logements basse énergie et durables à hastière
 
La prostitution et les communes
La prostitution et les communesLa prostitution et les communes
La prostitution et les communes
 
Présentation post 2015 dakar rsc
Présentation post 2015 dakar rscPrésentation post 2015 dakar rsc
Présentation post 2015 dakar rsc
 
Journal Esprit de la France n°1
Journal Esprit de la France n°1Journal Esprit de la France n°1
Journal Esprit de la France n°1
 
Gummies
GummiesGummies
Gummies
 
Catalogue Diaporama Power Point Mai 2010
Catalogue Diaporama Power Point Mai 2010Catalogue Diaporama Power Point Mai 2010
Catalogue Diaporama Power Point Mai 2010
 
Guide d'utilisation du portail documentaire BEM
Guide d'utilisation du portail documentaire BEMGuide d'utilisation du portail documentaire BEM
Guide d'utilisation du portail documentaire BEM
 
ABE - Cluster Ecobuild - Outils de Soutiens Régionaux aux Entreprises de la C...
ABE - Cluster Ecobuild - Outils de Soutiens Régionaux aux Entreprises de la C...ABE - Cluster Ecobuild - Outils de Soutiens Régionaux aux Entreprises de la C...
ABE - Cluster Ecobuild - Outils de Soutiens Régionaux aux Entreprises de la C...
 
Abe comment démarrer son activité
Abe comment démarrer son activitéAbe comment démarrer son activité
Abe comment démarrer son activité
 
Diapositivas del grupo 4
Diapositivas del grupo 4Diapositivas del grupo 4
Diapositivas del grupo 4
 
Ppt presentation
Ppt presentationPpt presentation
Ppt presentation
 

Semelhante a Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02

Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm
 
2 - java : caractéristiques de java
2 - java : caractéristiques de java2 - java : caractéristiques de java
2 - java : caractéristiques de javaopentuto
 
Develop on Apache Ofbiz
Develop on Apache OfbizDevelop on Apache Ofbiz
Develop on Apache Ofbizbakhtout
 
Alphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkMSDEVMTL
 
AlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPAlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPjulien pauli
 
Conference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à ParisConference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à ParisChipway
 
A la queue leu leu
A la queue leu leuA la queue leu leu
A la queue leu leunautilebleu
 
Zend Framework 2.0 - Le gestionnaire de modules
Zend Framework 2.0 - Le gestionnaire de modulesZend Framework 2.0 - Le gestionnaire de modules
Zend Framework 2.0 - Le gestionnaire de modulesVincent Blanchon
 
Afterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et DockerAfterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et DockerJulien Chable
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcoreMSDEVMTL
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologiewyggio
 
Liferay Portail Web Enterprise Plateforme Collaborative
Liferay Portail Web Enterprise Plateforme CollaborativeLiferay Portail Web Enterprise Plateforme Collaborative
Liferay Portail Web Enterprise Plateforme CollaborativeSavoir-faire Linux
 

Semelhante a Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02 (20)

Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux
 
Mac app store redux
Mac app store reduxMac app store redux
Mac app store redux
 
FinistJUG - Apache TomEE
FinistJUG - Apache TomEEFinistJUG - Apache TomEE
FinistJUG - Apache TomEE
 
2 - java : caractéristiques de java
2 - java : caractéristiques de java2 - java : caractéristiques de java
2 - java : caractéristiques de java
 
Develop on Apache Ofbiz
Develop on Apache OfbizDevelop on Apache Ofbiz
Develop on Apache Ofbiz
 
Alphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateur
 
Présentation de Drupal
Présentation de DrupalPrésentation de Drupal
Présentation de Drupal
 
Etude des Frameworks PHP
Etude des Frameworks PHPEtude des Frameworks PHP
Etude des Frameworks PHP
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity framework
 
Octo Maven.pdf
Octo Maven.pdfOcto Maven.pdf
Octo Maven.pdf
 
Sonar-Hodson-Maven
Sonar-Hodson-MavenSonar-Hodson-Maven
Sonar-Hodson-Maven
 
AlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPAlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHP
 
Conference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à ParisConference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à Paris
 
A la queue leu leu
A la queue leu leuA la queue leu leu
A la queue leu leu
 
Zend Framework 2.0 - Le gestionnaire de modules
Zend Framework 2.0 - Le gestionnaire de modulesZend Framework 2.0 - Le gestionnaire de modules
Zend Framework 2.0 - Le gestionnaire de modules
 
Afterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et DockerAfterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et Docker
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcore
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologie
 
Liferay Portail Web Enterprise Plateforme Collaborative
Liferay Portail Web Enterprise Plateforme CollaborativeLiferay Portail Web Enterprise Plateforme Collaborative
Liferay Portail Web Enterprise Plateforme Collaborative
 
HTML5 & SilverLight 5
HTML5 & SilverLight 5HTML5 & SilverLight 5
HTML5 & SilverLight 5
 

Mais de ma14

Rencontre KSL
Rencontre KSLRencontre KSL
Rencontre KSLma14
 
Du visionnement de vidéos à la créationd e contenus en temps réel
Du visionnement de vidéos à la créationd e contenus en temps réelDu visionnement de vidéos à la créationd e contenus en temps réel
Du visionnement de vidéos à la créationd e contenus en temps réelma14
 
Tutoriel vidéos imovie
Tutoriel vidéos imovieTutoriel vidéos imovie
Tutoriel vidéos imoviema14
 
Communauté de Pratique: Favoriser l'engagement
Communauté de Pratique: Favoriser l'engagementCommunauté de Pratique: Favoriser l'engagement
Communauté de Pratique: Favoriser l'engagementma14
 
Présentation de la recherche Animation de communauté globale MA14
Présentation de la recherche Animation de communauté globale MA14Présentation de la recherche Animation de communauté globale MA14
Présentation de la recherche Animation de communauté globale MA14ma14
 
présentation agence de presse
présentation agence de presse présentation agence de presse
présentation agence de presse ma14
 
Comment la presse doit-elle utiliser Internet comme outil de promotion.
Comment la presse doit-elle utiliser Internet comme outil de promotion.Comment la presse doit-elle utiliser Internet comme outil de promotion.
Comment la presse doit-elle utiliser Internet comme outil de promotion.ma14
 

Mais de ma14 (7)

Rencontre KSL
Rencontre KSLRencontre KSL
Rencontre KSL
 
Du visionnement de vidéos à la créationd e contenus en temps réel
Du visionnement de vidéos à la créationd e contenus en temps réelDu visionnement de vidéos à la créationd e contenus en temps réel
Du visionnement de vidéos à la créationd e contenus en temps réel
 
Tutoriel vidéos imovie
Tutoriel vidéos imovieTutoriel vidéos imovie
Tutoriel vidéos imovie
 
Communauté de Pratique: Favoriser l'engagement
Communauté de Pratique: Favoriser l'engagementCommunauté de Pratique: Favoriser l'engagement
Communauté de Pratique: Favoriser l'engagement
 
Présentation de la recherche Animation de communauté globale MA14
Présentation de la recherche Animation de communauté globale MA14Présentation de la recherche Animation de communauté globale MA14
Présentation de la recherche Animation de communauté globale MA14
 
présentation agence de presse
présentation agence de presse présentation agence de presse
présentation agence de presse
 
Comment la presse doit-elle utiliser Internet comme outil de promotion.
Comment la presse doit-elle utiliser Internet comme outil de promotion.Comment la presse doit-elle utiliser Internet comme outil de promotion.
Comment la presse doit-elle utiliser Internet comme outil de promotion.
 

Marcboivin wordpresspourledveloppementdapplicationsweb-110328123533-phpapp02

  • 1. WordPress, un framework complet? Ses forces et ses faiblesses ConFoo - 11 mars 2011 Friday, 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 optionel Friday, 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 écoeurant Friday, 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’autre Friday, 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
  • 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 WordPress Friday, 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 taxonomie Friday, March 11, 2011
  • 15. 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
  • 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 designer Friday, 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 configuration Friday, 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 modifications Friday, March 11, 2011
  • 20. Soyons clair Je pense que WordPress a le potentiel de devenir un framework Friday, 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 URLs Friday, 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 beau Friday, 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
  • 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 views Friday, 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érience Friday, 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 : marcboivin Friday, March 11, 2011