nicolas pastorino - distribution de contenu scalable, le multicanal avec rest & ez publish
DESCRIPTION
Présentation faite au PHP Tour 2011 à Lille. Plus d'information : http://afup.org/pages/phptourlille2011/sessions.php#572TRANSCRIPT
![Page 1: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/1.jpg)
Distribution de contenu scalable Le multicanal, avec REST + eZ Publish
![Page 2: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/4.jpg)
Notre agenda :
![Page 5: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/5.jpg)
L’émotion multicanalNotre agenda :
![Page 6: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/6.jpg)
L’émotion multicanalREST
Notre agenda :
![Page 7: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/7.jpg)
L’émotion multicanalREST
API REST Extensible
Notre agenda :
![Page 8: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/9.jpg)
L’émotion multicanal
3
![Page 10: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/10.jpg)
![Page 11: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/11.jpg)
Le contenu en ligne nous touche,
![Page 12: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/16.jpg)
![Page 17: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/17.jpg)
Vous consommez du contenu, constamment
![Page 18: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/18.jpg)
Vous consommez du contenu, constamment
![Page 19: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/19.jpg)
Vous consommez du contenu, constamment
![Page 20: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/20.jpg)
Vous consommez du contenu, constamment
![Page 21: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/21.jpg)
![Page 22: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/22.jpg)
Distribution de contenu multicanal = “emotions anywhere”
![Page 23: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/23.jpg)
![Page 24: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/31.jpg)
![Page 32: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/32.jpg)
Ces3 règles simples
suffisentelles ?
![Page 33: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/34.jpg)
CMSSourceUnique de Contenu /
![Page 35: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/35.jpg)
CMSSourceUnique de Contenu /
![Page 36: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/36.jpg)
CMSSourceUnique de Contenu /
Flux de contenu monétisés
![Page 37: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/38.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/39.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/40.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/41.jpg)
![Page 42: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/42.jpg)
"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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/43.jpg)
![Page 44: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/44.jpg)
Having a REST ?
:)
![Page 45: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/45.jpg)
Having a REST ?
:)
Nous n’y sommes
pas encore...
![Page 46: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/46.jpg)
![Page 47: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/47.jpg)
“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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/48.jpg)
![Page 49: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/49.jpg)
PlusPetit
Dénominateur Commun :
![Page 50: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/50.jpg)
PlusPetit
Dénominateur Commun :
API REST
![Page 51: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/51.jpg)
![Page 52: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/52.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/53.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/54.jpg)
REST
16
![Page 55: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/55.jpg)
REpresentational State Transfer
![Page 56: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/56.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/57.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/58.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/59.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/60.jpg)
API REST Extensible
19
au coeur du CMS eZ Publish
![Page 61: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/61.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/62.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/63.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/64.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/65.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/66.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/67.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/68.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/69.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/70.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/71.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/72.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/73.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/74.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/75.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/76.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/77.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/78.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/79.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/80.jpg)
Vue générale des points dʼentrée
![Page 81: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/81.jpg)
24/11/2011Nicolas Pastorino - PHPTour 2011 35
![Page 82: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/82.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/83.jpg)
API REST Extensible
37
Fonctionnalités clés
![Page 84: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/84.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/85.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/86.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/87.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/88.jpg)
Recommendation de Contenu
42
YooChoose, eZ Recommender Engine
![Page 89: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/89.jpg)
![Page 90: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/90.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/91.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/92.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/93.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/94.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/95.jpg)
![Page 96: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/96.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/97.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/98.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/99.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/100.jpg)
24/11/2011Nicolas Pastorino - IPCse11
Recommandation de Contenu
47
![Page 101: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/101.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/102.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/103.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/104.jpg)
![Page 105: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/105.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/106.jpg)
24/11/2011Nicolas Pastorino - IPCse11
Recommandation de Contenu
49
![Page 107: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/107.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/108.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/109.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/110.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/111.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/112.jpg)
24/11/2011Nicolas Pastorino - IPCse11
Recommandation de Contenu
50
![Page 113: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/113.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/114.jpg)
Famous Last Slides
51
![Page 115: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/115.jpg)
RECAP
![Page 116: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/116.jpg)
RECAP
L’émotion multicanal
![Page 117: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/117.jpg)
RECAP
L’émotion multicanalREST
![Page 118: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/118.jpg)
RECAP
L’émotion multicanalREST
API REST Extensible
![Page 119: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/119.jpg)
RECAP
L’émotion multicanalREST
API REST ExtensibleRecommandation de Contenu
![Page 120: Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish](https://reader034.vdocuments.us/reader034/viewer/2022042700/5552ce59b4c90581158b50a6/html5/thumbnails/120.jpg)
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 !