les cms basés sur framework - php tour 2011

Post on 26-Jun-2015

2.424 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

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