nicolas pastorino - distribution de contenu scalable, le multicanal avec rest & ez publish

120
Distribution de contenu scalable Le multicanal, avec REST + eZ Publish

Upload: nicolas-pastorino

Post on 13-May-2015

896 views

Category:

Technology


2 download

DESCRIPTION

Présentation faite au PHP Tour 2011 à Lille. Plus d'information : http://afup.org/pages/phptourlille2011/sessions.php#572

TRANSCRIPT

Page 1: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Distribution de contenu scalable Le multicanal, avec REST + eZ Publish

Page 2: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Distribution de contenu scalable Le multicanal, avec REST + eZ Publish

Nicolas Pastorino - [email protected] Community - eZ Systems@jeanvoye - http://share.ez.no

Page 3: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Distribution de contenu scalable Le multicanal, avec REST + eZ Publish

Nicolas Pastorino - [email protected] Community - eZ Systems@jeanvoye - http://share.ez.no

PHP Tour 2011 - Lille - 24 Novembre

#phptour

Page 4: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Notre agenda :

Page 5: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

L’émotion multicanalNotre agenda :

Page 6: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

L’émotion multicanalREST

Notre agenda :

Page 7: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

L’émotion multicanalREST

API REST Extensible

Notre agenda :

Page 8: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

L’émotion multicanalREST

API REST Extensible

Notre agenda :

Recommandation de Contenu

Page 9: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

L’émotion multicanal

3

Page 10: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Page 11: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Le contenu en ligne nous touche,

Page 12: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Le contenu en ligne nous touche, il déclenche des émotions partout, sur tout terminal

Page 13: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Le contenu en ligne nous touche, il déclenche des émotions partout, sur tout terminal

Page 14: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Le contenu en ligne nous touche, il déclenche des émotions partout, sur tout terminal

Page 15: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Le contenu en ligne nous touche, il déclenche des émotions partout, sur tout terminal

Page 16: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Page 17: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Vous consommez du contenu, constamment

Page 18: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Vous consommez du contenu, constamment

Page 19: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Vous consommez du contenu, constamment

Page 20: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Vous consommez du contenu, constamment

Page 21: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Page 22: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Distribution de contenu multicanal = “emotions anywhere”

Page 23: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Page 24: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Pre-requis à la distribution multicanal

8

Page 25: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Pre-requis à la distribution multicanal

8

Séparation contenu / présentation à la source de contenu

1

Page 26: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Pre-requis à la distribution multicanal

8

Séparation contenu / présentation à la source de contenu

1

Page 27: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Pre-requis à la distribution multicanal

8

Séparation contenu / présentation à la source de contenu

1

Ne pas transiger sur l’expérience utilisateur 2

Page 28: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Pre-requis à la distribution multicanal

8

“The Superman Effect” Aral Balkan, DPC11

Séparation contenu / présentation à la source de contenu

1

Ne pas transiger sur l’expérience utilisateur 2

Page 29: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Pre-requis à la distribution multicanal

8

“The Superman Effect” Aral Balkan, DPC11

Séparation contenu / présentation à la source de contenu

1

Ne pas transiger sur l’expérience utilisateur 2

Avoir une seule source de contenu 3

Page 30: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Pre-requis à la distribution multicanal

8

“The Superman Effect” Aral Balkan, DPC11

Séparation contenu / présentation à la source de contenu

1

Ne pas transiger sur l’expérience utilisateur 2

Avoir une seule source de contenu 3

“Les annonceurs de contenu n’ont pas les moyens d’avoir une équipe éditoriale par canal de publication”

Page 31: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Page 32: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Ces3 règles simples

suffisentelles ?

Page 33: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Ces3 règles simples

suffisentelles ?

Nous venons à peine de quitter le sol.

Continuons...

Page 34: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

CMSSourceUnique de Contenu /

Page 35: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

CMSSourceUnique de Contenu /

Page 36: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

CMSSourceUnique de Contenu /

Flux de contenu monétisés

Page 37: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

CMSSourceUnique de Contenu /

Flux de contenu monétisés

ApplicationsMobilesSmartphones, Tablets

Page 38: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

CMSSourceUnique de Contenu /

Flux de contenu monétisés

ApplicationsMobilesSmartphones, Tablets

Contenu PushNewsletters3rd party : CRM, ERP

Page 39: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

CMSSourceUnique de Contenu /

Flux de contenu monétisés

ApplicationsMobilesSmartphones, Tablets

Contenu PushNewsletters

PrintPublication traditionnelle

3rd party : CRM, ERP

Page 40: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

CMSSourceUnique de Contenu /

Flux de contenu monétisés

ApplicationsMobilesSmartphones, Tablets

Contenu PushNewsletters

PrintPublication traditionnelle

Social Media

3rd party : CRM, ERP

Page 41: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Page 42: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

"Les consommateurs de media sur plusieurs canaux ont un degré d’engagement plus élevé que ceux présents sur un seul canal.

Plus ils regardent la TV, écoutent la radio, passent du temps en ligne, etc.., plus ils consomment de la publicité.

La distribution de contenu multicanal aura également un impact important sur la structure de revenus des announceurs de contenu. Cette technologie devient hautement différenciante entre ces derniers.

Page 43: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Page 44: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Having a REST ?

:)

Page 45: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Having a REST ?

:)

Nous n’y sommes

pas encore...

Page 46: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Page 47: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

“Les media ainsi que les grandes marques se doivent de reconnaître qu’ajouter le canal mobile au “mix multicanal” ne signifie pas créer un canal annexe. Les architectes de stratégies mobiles attestent que:

• Le mobile n’est pas l’expérience desktop minifiée,

• L’environnement de l’utilisateur est un élément de l’expérience mobile,

• Les utilisateurs mobile ne sont pas simplement un sous-ensemble des visiteurs - certains sont nouveaux.”

Page 48: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Page 49: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

PlusPetit

Dénominateur Commun :

Page 50: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

PlusPetit

Dénominateur Commun :

API REST

Page 51: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Page 52: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Nous venons de couvrir les

bases fonctionnelles

pour augmenter

votre REACHau travers de

multiples canaux.

Page 53: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Nous venons de couvrir les

bases fonctionnelles

pour augmenter

votre REACHau travers de

multiples canaux.

Maintenantles détails techniques

Page 54: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

REST

16

Page 55: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

REpresentational State Transfer

Page 56: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

REpresentational State Transfer

REST est un ensemble de principes qui définit comment les standards Web tels que HTTP et les URIs devraient être utilisés

• Donner un ID à toute “chose”• Lier les “choses” ensemble (“HATEOAS”)• Utiliser les méthodes standards• Adopter des représentations multiples pour les ressources• Communiquer “sans état” ( statelessly )

Page 57: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

REpresentational State Transfer

REST est un ensemble de principes qui définit comment les standards Web tels que HTTP et les URIs devraient être utilisés

• Donner un ID à toute “chose”• Lier les “choses” ensemble (“HATEOAS”)• Utiliser les méthodes standards• Adopter des représentations multiples pour les ressources• Communiquer “sans état” ( statelessly )

h"p://en.wikipedia.org/wiki/Representa4onal_State_Transferh"p://www.infoq.com/ar4cles/rest-­‐introduc4on

Page 58: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

REpresentational State Transfer

h"p://en.wikipedia.org/wiki/Representa4onal_State_Transferh"p://www.infoq.com/ar4cles/rest-­‐introduc4on

Page 59: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

REpresentational State Transfer

Les objectifs de REST incluent :

• Scalabilité des interactions entre composants• Interfaces Génériques• Déployement indépendant des composants• Composants intermédiaires pour réduire la latence, renforcer la sécurité, encapsuler les systèmes “legacy”

h"p://en.wikipedia.org/wiki/Representa4onal_State_Transferh"p://www.infoq.com/ar4cles/rest-­‐introduc4on

Page 60: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

API REST Extensible

19

au coeur du CMS eZ Publish

Page 61: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Au coeur du CMS eZ Publish

REST comme fonctionnalité coeur

20

API REST Extensible

Page 62: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Contrôleur frontal dédié

21

Au coeur du CMS eZ Publish API REST Extensible

Page 63: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011 22

REST setup

REST

FC

eZPREST  request

eZ  Publishweb-­‐request

At the core of the eZ Publish CMS Extensible REST API

Page 64: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011 22

REST setup

REST

FC

eZPREST  request

eZ  Publishweb-­‐request

At the core of the eZ Publish CMS Extensible REST API

Page 65: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011 23

Mapping contenu <--> ressource

Au coeur du CMS eZ Publish API REST Extensible

Page 66: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011 24

Makes data availableMakes data available

Au coeur du CMS eZ Publish API REST Extensible

Page 67: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011 24

Makes data reusableMakes data reusable

Au coeur du CMS eZ Publish API REST Extensible

Page 68: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011 25

Le contenu est “libéré”

Au coeur du CMS eZ Publish API REST Extensible

Page 69: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011

Motif dʼURI

26

Au coeur du CMS eZ Publish API REST Extensible

Page 70: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011 27

Prefix Provider VersionGET Host / / / / Call + params

Juste un jeton pour déclencher une règle de ré-écriture

ezpRestPrefixFilterInterface

Au coeur du CMS eZ Publish API REST Extensible

Page 71: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011 27

Prefix

Provider

Version

Juste un jeton pour déclencher une règle de ré-écriture

ezpRestPrefixFilterInterface

Au coeur du CMS eZ Publish API REST Extensible

Page 72: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011 27

Prefix

Provider

Version

Juste un jeton pour déclencher une règle de ré-écriture

ezpRestPrefixFilterInterface

Au coeur du CMS eZ Publish API REST Extensible

Page 73: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011 27

Prefix

Provider

Version

Juste un jeton pour déclencher une règle de ré-écriture

ezpRestPrefixFilterInterface

Au coeur du CMS eZ Publish API REST Extensible

Page 74: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011

Prefix filter

28

Retourne :

“Provider” à utiliser

Version de lʼAPI à utiliser

ezpRestPrefixFilterInterface

Page 75: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011

API versionée

29

class ezpRestRouter extends ezcMvcRouter{ public function createRoutes() { // ezpRestApiProvider $routes = array( new ezcMvcRailsRoute( '/content/node/:nodeId/listAtom', 'ezpRestAtomController', 'collection' ), new ezcMvcRailsRoute( '/content/node/:nodeId/list', 'ezpRestContentController', 'list' ), new ezcMvcRailsRoute( '/content/node/:nodeId', 'ezpRestContentController', 'viewContent' ), new ezcMvcRailsRoute( '/content/node/:nodeId/fields', 'ezpRestContentController', 'viewFields' ), new ezcMvcRailsRoute( '/content/node/:nodeId/field/:fieldIdentifier', 'ezpRestContentController', 'viewField' ), new ezcMvcRailsRoute( '/content/object/:objectId', 'ezpRestContentController', 'viewContent' ), new ezcMvcRailsRoute( '/content/object/:objectId/fields', 'ezpRestContentController', 'viewFields' ), new ezcMvcRailsRoute( '/content/object/:objectId/field/:fieldIdentifier', 'ezpRestContentController', 'viewField' ),

new ezpRestVersionedRoute( new ezcMvcRailsRoute( '/foo', 'myController', 'myActionOne' ), 1 ), new ezpRestVersionedRoute( new ezcMvcRailsRoute( 'e/foo', 'myController2 or myControlerWhichExtendsmyController', 'myBetterAndScalingAction' ), 2 ), ); return ezcMvcRouter::prefix( '/api', $routes ); }}

Page 76: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011

API versionée

intègre la notion de version à la décision de routage

30

Version

ezpRestVersionedRoute

Page 77: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011

Construisez la vôtre, étendez le(s) interface(s)

31

Au coeur du CMS eZ Publish API REST Extensible

Page 78: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011

Etendre les interfaces

32

REST providers

Page 79: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011

Etendre les interfaces

ezpRestProviderInterface

33

Page 80: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Vue générale des points dʼentrée

Page 81: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011 35

Page 82: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011

Configuration des routes - Exemple

36

class ezpRestRouter extends ezcMvcRouter{ public function createRoutes() { $providerRoutes = ezpRestProvider::getProvider( ezpRestPrefixFilterInterface::getApiProviderName() )->getRoutes();

$routes = array( new ezpMvcRailsRoute( '/fatal', 'ezpRestErrorController', 'show' ), new ezpMvcRailsRoute( '/http-basic-auth', 'ezpRestAuthController', 'basicAuth' ), new ezpMvcRailsRoute( '/login/oauth', 'ezpRestAuthController', 'oauthRequired' ), new ezpMvcRailsRoute( '/oauth/token', 'ezpRestOauthTokenController', 'handleRequest'),

// ezpRestVersionedRoute( $route, $version ) // $version == 1 should be the same as if the only the $route had been present new ezpRestVersionedRoute( new ezpMvcRailsRoute( '/foo', 'myController', 'myActionOne' ), 1 ), new ezpRestVersionedRoute( new ezpMvcRailsRoute( '/foo', 'myController', 'myActionOneBetter' ), 2 ),

);

return ezcMvcRouter::prefix( '/api', array_merge( $providerRoutes, $routes ) ); }}

Page 83: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

API REST Extensible

37

Fonctionnalités clés

Page 84: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011

Resources de type Contenu

38

Fonctionnalités clésAPI REST Extensible

Page 85: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011

Fonctionnalités clés

GET /[api]/v1/content/object/<objectId>/fields HTTP/1.1

39

Page 86: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011

Fonctionnalités clés

fields/<fieldname>

type (datatype string)

identifier (attribute identifier)

value (string representation of data)

id (object attribute numerical ID)

classattribute_id (class attribute numerical ID)

40

Page 87: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - PHPTour 2011

Fonctionnalités clés

GET /[api]/v1/content/object/<objectId>/field/

<FieldIdentifier> HTTP/1.1

41

Page 88: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Recommendation de Contenu

42

YooChoose, eZ Recommender Engine

Page 89: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Page 90: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Une sélection drastique doit être faite parmi l’infinité de contenus publiés

Page 91: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Une sélection drastique doit être faite parmi l’infinité de contenus publiés

Quelle pente choisir ?

Page 92: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Une sélection drastique doit être faite parmi l’infinité de contenus publiés

Page 93: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Une sélection drastique doit être faite parmi l’infinité de contenus publiésJe n’ai que 30mins par jour, que dois-je lire ?

Page 94: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Une sélection drastique doit être faite parmi l’infinité de contenus publiésN’avez vous pas cette impression, parfois :

Page 95: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Page 96: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

On a parfois besoin d’un guide pour choisir la bonne

pente à skier, le bon contenu à consommer

Page 97: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

On a parfois besoin d’un guide pour choisir la bonne

pente à skier, le bon contenu à consommer

Page 98: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

On a parfois besoin d’un guide pour choisir la bonne

pente à skier, le bon contenu à consommer

Page 99: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

On a parfois besoin d’un guide pour choisir la bonne

pente à skier, le bon contenu à consommer

Content recommendation

Page 100: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Recommandation de Contenu

47

Page 101: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Recommandation de Contenu

47

Tracker la consommation de contenu

Page 102: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Recommandation de Contenu

47

Tracker la consommation de contenu

+

Apprendre les metadonnées

Page 103: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Recommandation de Contenu

47

Tracker la consommation de contenu

+

Apprendre les metadonnées

=

Content Recommendation

Page 104: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Page 105: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Apprentissage des comportements, Cloud-based, grâce aux :

• Evènements “Visualisation, Achat, Rating, Partage”

• Modèles Utilisateurs qui on vu A ont aussi vu B

• Stéréotypes Affinités calculées sur la base de larges ensembles de contenu

Page 106: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Recommandation de Contenu

49

Page 107: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Recommandation de Contenu

49

Filtrage HybrideOptimiser la qualité de la recommandation en combinant

les méthodes de qualification des comportements

Page 108: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Recommandation de Contenu

49

Content-based filtering

~

“Content like this”

Filtrage HybrideOptimiser la qualité de la recommandation en combinant

les méthodes de qualification des comportements

Page 109: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Recommandation de Contenu

49

Content-based filtering

~

“Content like this”

Collaborative filtering

“Customers who were interested in this product also bought …”

Filtrage HybrideOptimiser la qualité de la recommandation en combinant

les méthodes de qualification des comportements

Page 110: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Recommandation de Contenu

49

Content-based filtering

~

“Content like this”

Collaborative filtering

“Customers who were interested in this product also bought …”

Community-based filtering

~

“Customers like you also bought …”

Stereotype-based filtering

Recommendation combines content cluster with affinity vectors

Rock

Pop

R&B

Context-based filtering

Recommendation depends on location, time, mood, environment …

Filtrage HybrideOptimiser la qualité de la recommandation en combinant

les méthodes de qualification des comportements

Page 111: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Recommandation de Contenu

49

Content-based filtering

~

“Content like this”

Collaborative filtering

“Customers who were interested in this product also bought …”

Community-based filtering

~

“Customers like you also bought …”

Stereotype-based filtering

Recommendation combines content cluster with affinity vectors

Rock

Pop

R&B

Context-based filtering

Recommendation depends on location, time, mood, environment …

Filtrage HybrideOptimiser la qualité de la recommandation en combinant

les méthodes de qualification des comportements

+ A/B testing + near cold-start recommendations

Page 112: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Recommandation de Contenu

50

Page 113: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

24/11/2011Nicolas Pastorino - IPCse11

Recommandation de Contenu

50

I/O par REST

Connection native par n’importe quel client HTTP-enabled ( simple avec PHP, extension native pour le CMS eZ Publish )

Cloud-based : mise à l’échelle facile

Différentes méthodes de tracking d’évènements : JS, built-in the CMS

Page 114: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

Famous Last Slides

51

Page 115: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

RECAP

Page 116: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

RECAP

L’émotion multicanal

Page 117: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

RECAP

L’émotion multicanalREST

Page 118: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

RECAP

L’émotion multicanalREST

API REST Extensible

Page 119: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

RECAP

L’émotion multicanalREST

API REST ExtensibleRecommandation de Contenu

Page 120: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish

eZ Communityhttp://share.ez.no

eZ Publish Community Projecthttps://github.com/ezsystems/ezpublishhttp://share.ez.no/download http://share.ez.no/get-involved

YooChoose, recommendation enginehttp://www.yoochoose.com

eZ Systems & eZ Publish Enterprise Editionhttp://ez.no

Find me on Twitter : @jeanvoye

Notez cette présentation : http://joind.in/4350Slides disponibles bientôt à http://slideshare.net/jeanvoye

Merci !