les cms basés sur framework - php tour 2011
Post on 26-Jun-2015
2.424 Views
Preview:
DESCRIPTION
TRANSCRIPT
Les CMSbasés sur frameworken environnement professionnel
@CenturionCMS
Qui sommes nous ?Une team de passionnés de web :
développeurs, architectes, UI/UX designers, … dans le métier depuis 15 ans
Centurion est un CMF, Content Management Frameworkadapté aux exigences uniques de
vos projets.
Les besoins ont changé& le web a bien changédepuis l’arrivée des CMS
Les CMS sont d’excellents outils
pour développer dessites éditoriaux
« simples »
Nos clients ont des besoinsde plus en plus
particuliers
ils veulent multi
multi sitesmulti languesmulti usersmulti sourcesmulti devicesmulti socialen gros c’est du
multi ...
Nos clients veulentContribuer une fois, et publier partout
M
Website
1 seuleMulti-publishing
plateforme
AndroidTablettes
IOSTablettes
M
oui, avec un CMS tout est possible.
mais à quel prix ?& en combien de temps ?
pour aller à Berlin?voiture ou avion?
avion!même si en voiture c’est
possible…
CMSContentMangementSystem
FrameworkBas niveau
trop haut
trop bas
CMS
Framework
trop haut
trop bas
les CMF sont tailléspour réaliser des “content
platform“conséquentes
Nos retours d’expérience projet
des projets conséquents
RSE GDF SUEZ NAMCO BANDAI PPR CFAO
Nos plateformes sont :
13 sites, 11 langues, 6 zones
Nos plateformes sont:
180 sites, 4 zones, 34 pays, 4 langues
Nos plateformes sont :
70 pays, 10 langues, 20000 users
Mathias Desloges& Laurent ChenayComment c’est fait!
Nos challenges techniquesComment être puissant et
fiable
tout en restant souple et simple pour le développeur ?
Nos challenges techniquesComment être puissant et
fiable
tout en restant souple et simple pour le développeur ?
SimplePourquoi faire compliquer quand on peut faire
simple ?
PuissantIl faut pouvoir coder toujours plus compliqué,
toujours plus vite !
OuvertEh oui, on a pas le monopole de la bonne idée ;)
Nous avons simplifié l’usage
de Zend Framework.
C’est ZF étendu, nos composants sont
génériques, clairs, réutilisables et flexibles.
Nous avons simplifié l’usage
de Zend Framework.
C’est ZF étendu, nos composants sont
génériques, clairs, réutilisables et flexibles.
Zend framework
Zend framework
des librairies qui étendent ZF
des modules orientés CMS
Zend framework
des librairies qui étendent ZF
VOTRE PROJET
Zend framework
CRUDGénération de
model
Gestion de cache
CMSArborescence
PagesTemplatingOutils SEO
Multilinguisme
USERSCompte utilisateurs avec profil avancé authentification gestion des groupes et des permissions
par groupe et par utilisateur
CONTENU METIERIntégration de référentiels
métier Import de flux externesPublication vers plateformes
externes
SOCIALPush de contenu générer automatiquement vers les réseaux sociaux twitter,
facebook …
Abstraction de données
Actions sur date
Dispatcher d’événements
Génération de modèles
Connecteur aux API « sociales »
Gestion de fichiers
Manipulation d’images
Magic Filters
MPTT
Trait
VOTRE PROJET
Génération de formulaire
Pourquoi ZF?The PHP Company
Pourquoi ZF?The PHP Company
Pourquoi Zend Framework ?
modulablecompletsimple
puissantouvert
bas niveau
Quelles problèmatiques?Quelles réponses?
Les interfaces d’administration c’est toujours la même
chose
Features “core”
CRUD• Génération des listes/formulaires | gestion de la persistance
• Simplement en héritant un controller
Features “core”
CRUD (Suite)Personnalisation simple : uniquement par de la “configuration”
Features “core”
CRUD
CRUD (Suite)Génération de formulaire automatique
Features “core”
Features “core”
CRUD (Suite)
CRUD=
Coût d’apprentissage très faible & Gain en temps de développement
élevé
Feature “core”
Le développeur connait son modèle de données sur le
bout des doigts…
Features “core”
…à force d’écrire ce genre de code
Features “core”
Magic filters• API pour fabriquer des requêtes
• API simple et intuitive
• Couvre 95% des requêtes faites usuellement
Features “core”
Magic filters (suite)
Features “core”
Magic filters (suite)Centurion
Features “core”
Magic filters (suite)Centurion
Zend Framework
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 contexteso Configuration du CRUDo “Getter” sur les rowso …
Features “core”
Magic filters=
Garde la puissance du SQLPlus tolérant au changement du
modèle
Features “core”
Ma brique “user” n’incorpore pas de CRM
Comment en ajouter une?
Features “core”
Signaux
Features “core”
Signaux=
Ajout simple de traitements en réaction à un « événement »
Minimise les risques de régression
Features “core”
Comment ajouter de la logique
à certain de mes modèles ?(tous étendent Zend_Db_Table)
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…
Features “core”
Trait (suite)Le trait
Une classe qui utilise le trait
Features “core”
Trait=
Factorisation de code grace à l’ “héritage multiple” et souplesse de
l’implémentation
Features “core”
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
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
Modules “built-in”
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”
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
Modules “add-on”
Resumé• Features “core” hautement génériques qui étendent Zend
Frameworksans 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
https://github.com/centurion-project/Centurion
centurion-project.org
We are seriousabout web platforms
by the way on recrute :-)
The End
top related