Les CMS basés sur framework - PHP Tour 2011

2,998 views

Published on

Slides de la conférence donnée lors du PHP Tour à Lille le 24 novembre 2011

Ces Slides présentes la méthodologies et les implémentations mise en oeuvre dans le CMF (Content Managment Framework) Centurion.

Centurion, c'est un CMS ou CMF conçu à la façon d'un système de gestion de contenu basé sur Zend Framework en PHP 5. C'est une une solution de nouvelle génération permettant de gérer les utilisateurs et les contenu dans la même plateforme d'entreprise : http://centurion-project.org

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

  • Be the first to like this

No Downloads
Views
Total views
2,998
On SlideShare
0
From Embeds
0
Number of Embeds
54
Actions
Shares
0
Downloads
42
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Les CMS basés sur framework - PHP Tour 2011

  1. 1. Les CMSbasés sur frameworken environnement professionnel
  2. 2. @CenturionCMS Qui sommes nous ? Une team de passionnés de web :développeurs, architectes, UI/UX designers, … dans le métier depuis 15 ans
  3. 3. Centurion est un CMFaux exigences uniques de vos projets.
  4. 4. Les besoins ont changé & le web a bien changédepuis l’arrivée des CMS
  5. 5. Les CMS sont d’excellents outils pour développer dessites éditoriaux « simples »
  6. 6. Nos clients ont des besoinsde plus en plus particuliers
  7. 7. multi sites multi langues multi usersils veulent multi multi sources multi devices multi social en gros c’est du multi ...
  8. 8. Nos clients veulentContribuer une fois, et publier partout
  9. 9. 1 seule Multi-publishing plateformeM M Android IOS Tablettes Tablettes Website
  10. 10. oui, avec un CMS tout est possible. mais à quel prix ?& en combien de temps ?
  11. 11. pour aller à Berlin?voiture ou avion?
  12. 12. avion!même si en voiture c’est possible…
  13. 13. CMS Contenttrop haut Mangement Systemtrop bas Framework Bas niveau
  14. 14. trop haut CMStrop bas Framework
  15. 15. les CMF sont tailléspour réaliser des “content platform“ conséquentes
  16. 16. Nos retours d’expérience projet
  17. 17. des projets conséquentsRSE GDF SUEZ NAMCO BANDAI PPR CFAO
  18. 18. 13 sites, 11 langues, 6 zonesNos plateformes sont :
  19. 19. 180 sites, 4 zones, 34 pays, 4 languesNos plateformes sont:
  20. 20. 70 pays, 10 langues, 20000 usersNos plateformes sont :
  21. 21. Mathias Desloges& Laurent ChenayComment c’est fait!
  22. 22. Nos challenges techniquesComment être puissant et fiable tout en restant souple etsimple pour le développeur ?
  23. 23. Nos challenges techniquesComment être puissant et fiable tout en restant souple etsimple pour le développeur ?
  24. 24. SimplePourquoi faire compliquer quand on peut faire simple ? PuissantIl faut pouvoir coder toujours plus compliqué, toujours plus vite ! Ouvert Eh oui, on a pas le monopole de la bonne idée ;)
  25. 25. Nous avons simplifié l’usage de Zend Framework. C’est ZF tendu, noscomposants sont riques,clairs, utilisables et flexibles.
  26. 26. Nous avons simplifié l’usage de Zend Framework. C’est ZF tendu, nos composants sont riques, clairs, utilisable s et flexibles.
  27. 27. Zend framework
  28. 28. des librairies qui étendent ZF Zend framework
  29. 29. VOTRE PROJET des modules orientés CMSdes librairies qui étendent ZF Zend framework
  30. 30. VOTRE PROJET CMS USERS CONTENU METIER SOCIAL Arborescence Compte utilisateurs avec profil Intégration de référentiels Push de contenu générer Pages avancé authentification gestion métier Import de flux externes automatiquement vers les Templating des groupes et des permissions Publication vers plateformes réseaux sociaux twitter, Outils SEO par groupe et par utilisateur externes facebook … Multilinguisme Dispatcher Manipulation Gestion de Trait d’événements d’images cache Génération de Génération de Connecteur auxMagic Filters CRUD model modèles API « sociales » Abstraction de Génération de MPTT Actions sur date Gestion de fichiers données formulaire Zend framework
  31. 31. Pourquoi ZF?The PHP Company
  32. 32. Pourquoi ZF?The PHP Company
  33. 33. Pourquoi Zend Framework ? modulable puissant complet ouvert simple bas niveau
  34. 34. Quelles problèmatiques? Quelles réponses?
  35. 35. Features “core” Les interfaces d’administration c’est toujours la même chose
  36. 36. Features “core”CRUD• Génération des listes/formulaires | gestion de la persistance• Simplement en héritant un controller
  37. 37. Features “core”CRUD (Suite)Personnalisation simple : uniquement par de la “configuration”
  38. 38. CRUD
  39. 39. Features “core”CRUD (Suite)Génération de formulaire automatique
  40. 40. Features “core”CRUD (Suite)
  41. 41. Feature “core” CRUD = Coût d’apprentissage très faible & Gain en temps de développement élevé
  42. 42. Features “core” Le développeur connait son modèle de données sur le bout des doigts…
  43. 43. Features “core” …à force d’écrire ce genre de code
  44. 44. Features “core”Magic filters• API pour fabriquer des requêtes• API simple et intuitive• Couvre 95% des requêtes faites usuellement
  45. 45. Features “core”Magic filters (suite)
  46. 46. Features “core”Magic filters (suite)Centurion
  47. 47. Features “core”Magic filters (suite)CenturionZend Framework
  48. 48. Features “core”Magic filters (suite)• Une méthode pour les requêter tous• Etend sans rentrer en conflit avec la classe Zend_Db_Table_Select• Sécurisé (échappement automatique)• API unifiée > Syntaxe utilisable dans d’autres contextes o Configuration du CRUD o “Getter” sur les rows o …
  49. 49. Features “core” Magic filters = Garde la puissance du SQLPlus tolérant au changement du modèle
  50. 50. Features “core” Ma brique “user” n’incorpore pas de CRM Comment en ajouter une?
  51. 51. Features “core”Signaux
  52. 52. Features “core” Signaux =Ajout simple de traitements en réaction à un « événement » Minimise les risques de régression
  53. 53. Features “core” Comment ajouter de la logique à certain de mes modèles ? (tous étendent Zend_Db_Table)
  54. 54. Features “core”Trait (pourquoi attendre PHP 5.4)• Permet “d’ajouter” et “surcharger” des méthodes à une classe• Complètement transparent pour le développeur• Juste une Interface à implémenter• Disponible pour les models (table, row, select), les controllers, les forms…
  55. 55. Features “core”Trait (suite)Le traitUne classe qui utilise le trait
  56. 56. Features “core” Trait = Factorisation de code grace à l’ “héritage multiple” et souplesse de l’implémentation
  57. 57. Modules “built-in”Media• Gestion des duplicata• Collection d’effets : crop, resize / adaptative resize, …• Configurable pour le fonctionnement avec un CDN• Fournit un ensemble de composants pour la contribution
  58. 58. Modules “built-in”User• Gestion des user et de l’authentification• Gestion des groupes• Gestion des permissions par user et par groupe• Pas de gestion de profil• Émet des signaux
  59. 59. Modules “add-on”GeneratorGénère par reverse engineering :• les “models” par rapport à la base de données• les formulaires• Un controller backoffice (CRUD) par “model”• Un controller frontoffice par “model”
  60. 60. Modules “add-on”Social• Pousse du contenu sur les réseaux sociaux• Fournit un ensemble de “traits” qui simplifie l’implémentation• Pas de dépendance
  61. 61. Resumé• Features “core” hautement génériques qui étendent Zend Framework sans créer de conflits• Les modules built-in répondent aux besoins systématiques des applications web• Les modules “add-on” permettent de composer au mieux l’application finale
  62. 62. https://github.com/centurion- project/Centurion
  63. 63. centurion-project.org We are seriousabout web platforms
  64. 64. by the way on recrute :-)
  65. 65. The End

×