Your SlideShare is downloading. ×
Les CMS basés sur framework - PHP Tour 2011
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

Les CMS basés sur framework - PHP Tour 2011

2,324
views

Published on

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

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,324
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
28
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. Les CMSbasés sur frameworken environnement professionnel
  • 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. Centurion est un CMFaux exigences uniques de vos projets.
  • 4. Les besoins ont changé & le web a bien changédepuis l’arrivée des CMS
  • 5. Les CMS sont d’excellents outils pour développer dessites éditoriaux « simples »
  • 6. Nos clients ont des besoinsde plus en plus particuliers
  • 7. multi sites multi langues multi usersils veulent multi multi sources multi devices multi social en gros c’est du multi ...
  • 8. Nos clients veulentContribuer une fois, et publier partout
  • 9. 1 seule Multi-publishing plateformeM M Android IOS Tablettes Tablettes Website
  • 10. oui, avec un CMS tout est possible. mais à quel prix ?& en combien de temps ?
  • 11. pour aller à Berlin?voiture ou avion?
  • 12. avion!même si en voiture c’est possible…
  • 13. CMS Contenttrop haut Mangement Systemtrop bas Framework Bas niveau
  • 14. trop haut CMStrop bas Framework
  • 15. les CMF sont tailléspour réaliser des “content platform“ conséquentes
  • 16. Nos retours d’expérience projet
  • 17. des projets conséquentsRSE GDF SUEZ NAMCO BANDAI PPR CFAO
  • 18. 13 sites, 11 langues, 6 zonesNos plateformes sont :
  • 19. 180 sites, 4 zones, 34 pays, 4 languesNos plateformes sont:
  • 20. 70 pays, 10 langues, 20000 usersNos plateformes sont :
  • 21. Mathias Desloges& Laurent ChenayComment c’est fait!
  • 22. Nos challenges techniquesComment être puissant et fiable tout en restant souple etsimple pour le développeur ?
  • 23. Nos challenges techniquesComment être puissant et fiable tout en restant souple etsimple pour le développeur ?
  • 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. Nous avons simplifié l’usage de Zend Framework. C’est ZF tendu, noscomposants sont riques,clairs, utilisables et flexibles.
  • 26. Nous avons simplifié l’usage de Zend Framework. C’est ZF tendu, nos composants sont riques, clairs, utilisable s et flexibles.
  • 27. Zend framework
  • 28. des librairies qui étendent ZF Zend framework
  • 29. VOTRE PROJET des modules orientés CMSdes librairies qui étendent ZF Zend framework
  • 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. Pourquoi ZF?The PHP Company
  • 32. Pourquoi ZF?The PHP Company
  • 33. Pourquoi Zend Framework ? modulable puissant complet ouvert simple bas niveau
  • 34. Quelles problèmatiques? Quelles réponses?
  • 35. Features “core” Les interfaces d’administration c’est toujours la même chose
  • 36. Features “core”CRUD• Génération des listes/formulaires | gestion de la persistance• Simplement en héritant un controller
  • 37. Features “core”CRUD (Suite)Personnalisation simple : uniquement par de la “configuration”
  • 38. CRUD
  • 39. Features “core”CRUD (Suite)Génération de formulaire automatique
  • 40. Features “core”CRUD (Suite)
  • 41. Feature “core” CRUD = Coût d’apprentissage très faible & Gain en temps de développement élevé
  • 42. Features “core” Le développeur connait son modèle de données sur le bout des doigts…
  • 43. Features “core” …à force d’écrire ce genre de code
  • 44. Features “core”Magic filters• API pour fabriquer des requêtes• API simple et intuitive• Couvre 95% des requêtes faites usuellement
  • 45. Features “core”Magic filters (suite)
  • 46. Features “core”Magic filters (suite)Centurion
  • 47. Features “core”Magic filters (suite)CenturionZend Framework
  • 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. Features “core” Magic filters = Garde la puissance du SQLPlus tolérant au changement du modèle
  • 50. Features “core” Ma brique “user” n’incorpore pas de CRM Comment en ajouter une?
  • 51. Features “core”Signaux
  • 52. Features “core” Signaux =Ajout simple de traitements en réaction à un « événement » Minimise les risques de régression
  • 53. Features “core” Comment ajouter de la logique à certain de mes modèles ? (tous étendent Zend_Db_Table)
  • 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. Features “core”Trait (suite)Le traitUne classe qui utilise le trait
  • 56. Features “core” Trait = Factorisation de code grace à l’ “héritage multiple” et souplesse de l’implémentation
  • 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. 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. 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. 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. 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. https://github.com/centurion- project/Centurion
  • 63. centurion-project.org We are seriousabout web platforms
  • 64. by the way on recrute :-)
  • 65. The End