Your SlideShare is downloading. ×
0
Distribution decontenu scalable    Le multicanal, avec   REST + eZ Publish
Distribution de            contenu scalable                                  Le multicanal, avec                          ...
Distribution de            contenu scalable                                  Le multicanal, avec                          ...
Notre agenda :
Notre agenda :L’émotion multicanal
Notre agenda :L’émotion multicanal       REST
Notre agenda :L’émotion multicanal       RESTAPI REST Extensible
Notre agenda :L’émotion multicanal       RESTAPI REST ExtensibleRecommandation de Contenu
L’émotion multicanal                       3
Le contenu en ligne noustouche,
Le contenu en ligne noustouche, il déclenche desémotions partout, sur toutterminal
Le contenu en ligne noustouche, il déclenche desémotions partout, sur toutterminal
Le contenu en ligne noustouche, il déclenche desémotions partout, sur toutterminal
Le contenu en ligne noustouche, il déclenche desémotions partout, sur toutterminal
Vous consommez ducontenu, constamment
Vous consommez ducontenu, constamment
Vous consommez ducontenu, constamment
Vous consommez ducontenu, constamment
Distribution decontenumulticanal =“emotionsanywhere”
Pre-requis à la distribution multicanalNicolas Pastorino - IPCse11   24/11/2011   8
Pre-requis à la distribution multicanalSéparation contenu /présentation à la    1source de contenu Nicolas Pastorino - IPC...
Pre-requis à la distribution multicanalSéparation contenu /présentation à la    1source de contenu Nicolas Pastorino - IPC...
Pre-requis à la distribution multicanalSéparation contenu /présentation à la    1source de contenuNe pas transiger surl’ex...
Pre-requis à la distribution multicanalSéparation contenu /présentation à la    1source de contenuNe pas transiger surl’ex...
Pre-requis à la distribution multicanalSéparation contenu /présentation à la    1source de contenuNe pas transiger surl’ex...
Pre-requis à la distribution multicanalSéparation contenu /présentation à la    1source de contenuNe pas transiger surl’ex...
Ces3 règles simplessuffisent  elles ?
Ces3 règles simplessuffisent   Nous  elles ?   venons à            peine de            quitter le            sol.         ...
Source        /Unique deContenu            CMS
Source        /Unique deContenu            CMS
Flux de                  contenu                  monétisésSource        /Unique deContenu            CMS
Flux de                  contenu                  monétisés                  Applications                  MobilesSource  ...
Flux de                  contenu                  monétisés                  Applications                  MobilesSource  ...
Flux de                  contenu                  monétisés                  Applications                  MobilesSource  ...
Flux de                  contenu                  monétisés                  Applications                  MobilesSource  ...
"Les consommateurs de media sur plusieurscanaux ont un degré d’engagement plus élevé queceux présents sur un seul canal.Pl...
Having a REST ?   :)
Having a REST ?   :)           Nous n’y           sommes               pas           encore...
“Les media ainsi que les grandes marques se doivent dereconnaître qu’ajouter le canal mobile au “mix multicanal”ne signifi...
Plus    PetitDénominateur Commun :
Plus    PetitDénominateur Commun : API REST
Nous venons de couvrir les         basesfonctionnelles          pour   augmentervotre REACH au travers de      multiples  ...
Nous venons de couvrir les         basesfonctionnelles          pour   augmentervotre REACH                  Maintenant au...
REST       16
REpresentationalStateTransfer
REpresentationalStateTransferREST est un ensemble de principes qui définit comment lesstandards Web tels que HTTP et les U...
REpresentationalStateTransferREST est un ensemble de principes qui définit comment lesstandards Web tels que HTTP et les U...
REpresentationalStateTransfer                   h"p://www.infoq.com/ar4cles/rest-­‐introduc4on                   h"p://en....
REpresentationalStateTransferLes objectifs de REST incluent :• Scalabilité des interactions entre composants• Interfaces G...
API REST Extensibleau coeur du CMS eZ Publish                             19
Au coeur du CMS eZ PublishAPI REST Extensible    REST                      comme fonctionnalité                           ...
Au coeur du CMS eZ PublishAPI REST ExtensibleContrôleur frontal dédiéNicolas Pastorino - IPCse11   24/11/2011   21
At the core of the eZ Publish CMSExtensible REST API                                                        REST   setup  ...
At the core of the eZ Publish CMSExtensible REST API                                                        REST   setup  ...
Au coeur du CMS eZ PublishAPI REST Extensible                                   Mapping                       contenu <-->...
Au coeur du CMS eZ PublishAPI REST Extensible                     Makes data availableNicolas Pastorino - PHPTour 2011   2...
Au coeur du CMS eZ PublishAPI REST Extensible                      Makes data reusableNicolas Pastorino - PHPTour 2011   2...
Au coeur du CMS eZ PublishAPI REST Extensible   Le contenu est “libéré”Nicolas Pastorino - PHPTour 2011   24/11/2011   25
Au coeur du CMS eZ PublishAPI REST Extensible                                   Motif dʼURINicolas Pastorino - PHPTour 201...
Au coeur du CMS eZ PublishAPI REST Extensible                                   Juste un jeton pour déclencher une règle d...
Au coeur du CMS eZ PublishAPI REST Extensible                                   Juste un jeton pour déclencher une règle d...
Au coeur du CMS eZ PublishAPI REST Extensible                                   Juste un jeton pour déclencher une règle d...
Au coeur du CMS eZ PublishAPI REST Extensible                                   Juste un jeton pour déclencher une règle d...
Prefix filterezpRestPrefixFilterInterfaceRetourne :  “Provider” à utiliser  Version de lʼAPI à utiliserNicolas Pastorino - PH...
API versionéeclass ezpRestRouter extends ezcMvcRouter{    public function createRoutes()    {        // ezpRestApiProvider...
API versionéeezpRestVersionedRoute                                   Version intègre la notion de version   à la décision ...
Au coeur du CMS eZ PublishAPI REST Extensible  Construisez la vôtre,étendez le(s) interface(s)Nicolas Pastorino - PHPTour ...
Etendre les interfaces                                   REST providersNicolas Pastorino - PHPTour 2011         24/11/2011...
Etendre les interfacesezpRestProviderInterfaceNicolas Pastorino - PHPTour 2011   24/11/2011   33
Vue générale des points dʼentrée
Nicolas Pastorino - PHPTour 2011   24/11/2011   35
Configuration des routes - Exempleclass ezpRestRouter extends ezcMvcRouter{    public function createRoutes()    {        $...
API REST ExtensibleFonctionnalités clés                       37
Fonctionnalités clésAPI REST ExtensibleResources de type ContenuNicolas Pastorino - PHPTour 2011   24/11/2011   38
Fonctionnalités clésGET /[api]/v1/content/object/ <objectId>/fields HTTP/1.1Nicolas Pastorino - PHPTour 2011   24/11/2011 ...
Fonctionnalités clésfields/<fieldname>        type (datatype string)        identifier (attribute identifier)        value (st...
Fonctionnalités clés   GET /[api]/v1/content/object/         <objectId>/field/    <FieldIdentifier> HTTP/1.1Nicolas Pastor...
Recommendation de ContenuYooChoose, eZ Recommender Engine                                   42
Une sélection drastiquedoit être faite parmi l’infinitéde contenus publiés
Une sélection drastiquedoit être faite parmi l’infinitéde contenus publiésQuellepentechoisir ?
Une sélection drastiquedoit être faite parmi l’infinitéde contenus publiés
Une sélection drastiquedoit être faite parmi l’infinitéde contenus publiésJe n’ai que30mins par jour,que dois-je lire ?
Une sélection drastiquedoit être faite parmi l’infinitéde contenus publiésN’avez vouspas cetteimpression,parfois :
On a parfois besoin d’un guide pour choisir la bonnepente à skier, le bon contenu       à consommer
On a parfois besoin d’un guide pour choisir la bonnepente à skier, le bon contenu       à consommer
On a parfois besoin d’un guide pour choisir la bonnepente à skier, le bon contenu       à consommer
On a parfois besoin d’un guide pour choisir la bonnepente à skier, le bon contenu       à consommerContentrecommendation
Recommandation de ContenuNicolas Pastorino - IPCse11   24/11/2011   47
Recommandation de ContenuTracker laconsommationde contenuNicolas Pastorino - IPCse11   24/11/2011   47
Recommandation de ContenuTracker laconsommationde contenu            +             Apprendre les             metadonnéesNi...
Recommandation de ContenuTracker laconsommationde contenu            +             Apprendre les             metadonnées  ...
Apprentissage des comportements, Cloud-based, grâce aux :  • Evènements   “Visualisation, Achat, Rating, Partage”  • Modèl...
Recommandation de ContenuNicolas Pastorino - IPCse11   24/11/2011   49
Recommandation de Contenu                              Filtrage HybrideOptimiser la qualité de la recommandation en combin...
Recommandation de Contenu                                Filtrage HybrideOptimiser la qualité de la recommandation en comb...
Recommandation de Contenu                                       Filtrage HybrideOptimiser la qualité de la recommandation ...
Recommandation de Contenu                                       Filtrage HybrideOptimiser la qualité de la recommandation ...
Recommandation de Contenu                                          Filtrage HybrideOptimiser la qualité de la recommandati...
Recommandation de ContenuNicolas Pastorino - IPCse11   24/11/2011   50
Recommandation de ContenuI/O par RESTConnection native par n’importe quel clientHTTP-enabled ( simple avec PHP, extensionn...
Famous Last Slides                     51
RECAP
RECAPL’émotion multicanal
RECAPL’émotion multicanal       REST
RECAPL’émotion multicanal       RESTAPI REST Extensible
RECAPL’émotion multicanal       RESTAPI REST ExtensibleRecommandation de Contenu
Find me on Twitter : @jeanvoyeNotez cette présentation : http://joind.in/4350Slides disponibles bientôt à http://slideshar...
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish
Upcoming SlideShare
Loading in...5
×

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

921

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
921
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Nicolas Pastorino - Distribution de contenu scalable, le multicanal avec REST & eZ Publish"

  1. 1. Distribution decontenu scalable Le multicanal, avec REST + eZ Publish
  2. 2. Distribution de contenu scalable Le multicanal, avec REST + eZ PublishNicolas Pastorino - nfrp@ez.noDirector Community - eZ Systems@jeanvoye - http://share.ez.no
  3. 3. Distribution de contenu scalable Le multicanal, avec PHP Tour 2011 - Lille - 24 Novembre REST + eZ PublishNicolas Pastorino - nfrp@ez.noDirector Community - eZ Systems #phptour@jeanvoye - http://share.ez.no
  4. 4. Notre agenda :
  5. 5. Notre agenda :L’émotion multicanal
  6. 6. Notre agenda :L’émotion multicanal REST
  7. 7. Notre agenda :L’émotion multicanal RESTAPI REST Extensible
  8. 8. Notre agenda :L’émotion multicanal RESTAPI REST ExtensibleRecommandation de Contenu
  9. 9. L’émotion multicanal 3
  10. 10. Le contenu en ligne noustouche,
  11. 11. Le contenu en ligne noustouche, il déclenche desémotions partout, sur toutterminal
  12. 12. Le contenu en ligne noustouche, il déclenche desémotions partout, sur toutterminal
  13. 13. Le contenu en ligne noustouche, il déclenche desémotions partout, sur toutterminal
  14. 14. Le contenu en ligne noustouche, il déclenche desémotions partout, sur toutterminal
  15. 15. Vous consommez ducontenu, constamment
  16. 16. Vous consommez ducontenu, constamment
  17. 17. Vous consommez ducontenu, constamment
  18. 18. Vous consommez ducontenu, constamment
  19. 19. Distribution decontenumulticanal =“emotionsanywhere”
  20. 20. Pre-requis à la distribution multicanalNicolas Pastorino - IPCse11 24/11/2011 8
  21. 21. Pre-requis à la distribution multicanalSéparation contenu /présentation à la 1source de contenu Nicolas Pastorino - IPCse11 24/11/2011 8
  22. 22. Pre-requis à la distribution multicanalSéparation contenu /présentation à la 1source de contenu Nicolas Pastorino - IPCse11 24/11/2011 8
  23. 23. Pre-requis à la distribution multicanalSéparation contenu /présentation à la 1source de contenuNe pas transiger surl’expérience 2utilisateur Nicolas Pastorino - IPCse11 24/11/2011 8
  24. 24. Pre-requis à la distribution multicanalSéparation contenu /présentation à la 1source de contenuNe pas transiger surl’expérience 2 “The Superman Effect” Aral Balkan, DPC11utilisateur Nicolas Pastorino - IPCse11 24/11/2011 8
  25. 25. Pre-requis à la distribution multicanalSéparation contenu /présentation à la 1source de contenuNe pas transiger surl’expérience 2 “The Superman Effect” Aral Balkan, DPC11utilisateurAvoir une seule sourcede contenu 3 Nicolas Pastorino - IPCse11 24/11/2011 8
  26. 26. Pre-requis à la distribution multicanalSéparation contenu /présentation à la 1source de contenuNe pas transiger surl’expérience 2 “The Superman Effect” Aral Balkan, DPC11utilisateurAvoir une seule source “Les annonceurs de contenu n’ont pas lesde contenu 3 moyens d’avoir une équipe éditoriale par canal de publication” Nicolas Pastorino - IPCse11 24/11/2011 8
  27. 27. Ces3 règles simplessuffisent elles ?
  28. 28. Ces3 règles simplessuffisent Nous elles ? venons à peine de quitter le sol. Continuons ...
  29. 29. Source /Unique deContenu CMS
  30. 30. Source /Unique deContenu CMS
  31. 31. Flux de contenu monétisésSource /Unique deContenu CMS
  32. 32. Flux de contenu monétisés Applications MobilesSource / Smartphones, TabletsUnique deContenu CMS
  33. 33. Flux de contenu monétisés Applications MobilesSource / Smartphones, TabletsUnique deContenu CMS Contenu Push Newsletters 3rd party : CRM, ERP
  34. 34. Flux de contenu monétisés Applications MobilesSource / Smartphones, TabletsUnique deContenu CMS Contenu Push Newsletters 3rd party : CRM, ERP Print Publication traditionnelle
  35. 35. Flux de contenu monétisés Applications MobilesSource / Smartphones, TabletsUnique deContenu CMS Contenu Push Newsletters 3rd party : CRM, ERP Print Publication traditionnelle Social Media
  36. 36. "Les consommateurs de media sur plusieurscanaux ont un degré d’engagement plus élevé queceux présents sur un seul canal.Plus ils regardent la TV, écoutent la radio, passentdu temps en ligne, etc.., plus ils consomment de lapublicité.La distribution de contenu multicanal auraégalement un impact important sur la structurede revenus des announceurs de contenu. Cettetechnologie devient hautement différenciante entreces derniers.
  37. 37. Having a REST ? :)
  38. 38. Having a REST ? :) Nous n’y sommes pas encore...
  39. 39. “Les media ainsi que les grandes marques se doivent dereconnaî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.”
  40. 40. Plus PetitDénominateur Commun :
  41. 41. Plus PetitDénominateur Commun : API REST
  42. 42. Nous venons de couvrir les basesfonctionnelles pour augmentervotre REACH au travers de multiples canaux.
  43. 43. Nous venons de couvrir les basesfonctionnelles pour augmentervotre REACH Maintenant au travers de les multiples détails canaux. techniques
  44. 44. REST 16
  45. 45. REpresentationalStateTransfer
  46. 46. REpresentationalStateTransferREST est un ensemble de principes qui définit comment lesstandards 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 )
  47. 47. REpresentationalStateTransferREST est un ensemble de principes qui définit comment lesstandards 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://www.infoq.com/ar4cles/rest-­‐introduc4on h"p://en.wikipedia.org/wiki/Representa4onal_State_Transfer
  48. 48. REpresentationalStateTransfer h"p://www.infoq.com/ar4cles/rest-­‐introduc4on h"p://en.wikipedia.org/wiki/Representa4onal_State_Transfer
  49. 49. REpresentationalStateTransferLes 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 lasécurité, encapsuler les systèmes “legacy” h"p://www.infoq.com/ar4cles/rest-­‐introduc4on h"p://en.wikipedia.org/wiki/Representa4onal_State_Transfer
  50. 50. API REST Extensibleau coeur du CMS eZ Publish 19
  51. 51. Au coeur du CMS eZ PublishAPI REST Extensible REST comme fonctionnalité coeurNicolas Pastorino - IPCse11 24/11/2011 20
  52. 52. Au coeur du CMS eZ PublishAPI REST ExtensibleContrôleur frontal dédiéNicolas Pastorino - IPCse11 24/11/2011 21
  53. 53. At the core of the eZ Publish CMSExtensible REST API REST setup REST eZP REST  request FC eZ  Publish web-­‐requestNicolas Pastorino - PHPTour 2011 24/11/2011 22
  54. 54. At the core of the eZ Publish CMSExtensible REST API REST setup REST eZP REST  request FC eZ  Publish web-­‐requestNicolas Pastorino - PHPTour 2011 24/11/2011 22
  55. 55. Au coeur du CMS eZ PublishAPI REST Extensible Mapping contenu <--> ressourceNicolas Pastorino - PHPTour 2011 24/11/2011 23
  56. 56. Au coeur du CMS eZ PublishAPI REST Extensible Makes data availableNicolas Pastorino - PHPTour 2011 24/11/2011 24
  57. 57. Au coeur du CMS eZ PublishAPI REST Extensible Makes data reusableNicolas Pastorino - PHPTour 2011 24/11/2011 24
  58. 58. Au coeur du CMS eZ PublishAPI REST Extensible Le contenu est “libéré”Nicolas Pastorino - PHPTour 2011 24/11/2011 25
  59. 59. Au coeur du CMS eZ PublishAPI REST Extensible Motif dʼURINicolas Pastorino - PHPTour 2011 24/11/2011 26
  60. 60. Au coeur du CMS eZ PublishAPI REST Extensible Juste un jeton pour déclencher une règle de ré-écriture Call + GET Host / Prefix / Provider / Version / params ezpRestPrefixFilterInterfaceNicolas Pastorino - PHPTour 2011 24/11/2011 27
  61. 61. Au coeur du CMS eZ PublishAPI REST Extensible Juste un jeton pour déclencher une règle de Prefix ré-écritureProvider ezpRestPrefixFilterInterfaceVersionNicolas Pastorino - PHPTour 2011 24/11/2011 27
  62. 62. Au coeur du CMS eZ PublishAPI REST Extensible Juste un jeton pour déclencher une règle de Prefix ré-écritureProvider ezpRestPrefixFilterInterfaceVersionNicolas Pastorino - PHPTour 2011 24/11/2011 27
  63. 63. Au coeur du CMS eZ PublishAPI REST Extensible Juste un jeton pour déclencher une règle de Prefix ré-écritureProvider ezpRestPrefixFilterInterfaceVersionNicolas Pastorino - PHPTour 2011 24/11/2011 27
  64. 64. Prefix filterezpRestPrefixFilterInterfaceRetourne : “Provider” à utiliser Version de lʼAPI à utiliserNicolas Pastorino - PHPTour 2011 24/11/2011 28
  65. 65. API versionéeclass 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 ); }} Nicolas Pastorino - PHPTour 2011 24/11/2011 29
  66. 66. API versionéeezpRestVersionedRoute Version intègre la notion de version à la décision de routageNicolas Pastorino - PHPTour 2011 24/11/2011 30
  67. 67. Au coeur du CMS eZ PublishAPI REST Extensible Construisez la vôtre,étendez le(s) interface(s)Nicolas Pastorino - PHPTour 2011 24/11/2011 31
  68. 68. Etendre les interfaces REST providersNicolas Pastorino - PHPTour 2011 24/11/2011 32
  69. 69. Etendre les interfacesezpRestProviderInterfaceNicolas Pastorino - PHPTour 2011 24/11/2011 33
  70. 70. Vue générale des points dʼentrée
  71. 71. Nicolas Pastorino - PHPTour 2011 24/11/2011 35
  72. 72. Configuration des routes - Exempleclass 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 ) ); }} Nicolas Pastorino - PHPTour 2011 24/11/2011 36
  73. 73. API REST ExtensibleFonctionnalités clés 37
  74. 74. Fonctionnalités clésAPI REST ExtensibleResources de type ContenuNicolas Pastorino - PHPTour 2011 24/11/2011 38
  75. 75. Fonctionnalités clésGET /[api]/v1/content/object/ <objectId>/fields HTTP/1.1Nicolas Pastorino - PHPTour 2011 24/11/2011 39
  76. 76. Fonctionnalités clésfields/<fieldname> type (datatype string) identifier (attribute identifier) value (string representation of data) id (object attribute numerical ID) classattribute_id (class attribute numerical ID)Nicolas Pastorino - PHPTour 2011 24/11/2011 40
  77. 77. Fonctionnalités clés GET /[api]/v1/content/object/ <objectId>/field/ <FieldIdentifier> HTTP/1.1Nicolas Pastorino - PHPTour 2011 24/11/2011 41
  78. 78. Recommendation de ContenuYooChoose, eZ Recommender Engine 42
  79. 79. Une sélection drastiquedoit être faite parmi l’infinitéde contenus publiés
  80. 80. Une sélection drastiquedoit être faite parmi l’infinitéde contenus publiésQuellepentechoisir ?
  81. 81. Une sélection drastiquedoit être faite parmi l’infinitéde contenus publiés
  82. 82. Une sélection drastiquedoit être faite parmi l’infinitéde contenus publiésJe n’ai que30mins par jour,que dois-je lire ?
  83. 83. Une sélection drastiquedoit être faite parmi l’infinitéde contenus publiésN’avez vouspas cetteimpression,parfois :
  84. 84. On a parfois besoin d’un guide pour choisir la bonnepente à skier, le bon contenu à consommer
  85. 85. On a parfois besoin d’un guide pour choisir la bonnepente à skier, le bon contenu à consommer
  86. 86. On a parfois besoin d’un guide pour choisir la bonnepente à skier, le bon contenu à consommer
  87. 87. On a parfois besoin d’un guide pour choisir la bonnepente à skier, le bon contenu à consommerContentrecommendation
  88. 88. Recommandation de ContenuNicolas Pastorino - IPCse11 24/11/2011 47
  89. 89. Recommandation de ContenuTracker laconsommationde contenuNicolas Pastorino - IPCse11 24/11/2011 47
  90. 90. Recommandation de ContenuTracker laconsommationde contenu + Apprendre les metadonnéesNicolas Pastorino - IPCse11 24/11/2011 47
  91. 91. Recommandation de ContenuTracker laconsommationde contenu + Apprendre les metadonnées = Content RecommendationNicolas Pastorino - IPCse11 24/11/2011 47
  92. 92. 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
  93. 93. Recommandation de ContenuNicolas Pastorino - IPCse11 24/11/2011 49
  94. 94. Recommandation de Contenu Filtrage HybrideOptimiser la qualité de la recommandation en combinant les méthodes de qualification des comportementsNicolas Pastorino - IPCse11 24/11/2011 49
  95. 95. Recommandation de Contenu Filtrage HybrideOptimiser la qualité de la recommandation en combinant les méthodes de qualification des comportements Content-based filtering  “Content like this” ~Nicolas Pastorino - IPCse11 24/11/2011 49
  96. 96. Recommandation de Contenu Filtrage HybrideOptimiser la qualité de la recommandation en combinant les méthodes de qualification des comportements Content-based Collaborative filtering filtering  “Content like this”  “Customers who were interested in this product also bought …” ~Nicolas Pastorino - IPCse11 24/11/2011 49
  97. 97. Recommandation de Contenu Filtrage HybrideOptimiser la qualité de la recommandation en combinant les méthodes de qualification des comportements Content-based Collaborative Community- Stereotype- Context-based filtering filtering based filtering based filtering filtering  “Content like this”  “Customers who  “Customers like you  Recommendation  Recommendation were interested in also bought …” combines content depends on this product also cluster with affinity location, time, bought …” vectors mood, environment … Rock ~ ~ Pop R&BNicolas Pastorino - IPCse11 24/11/2011 49
  98. 98. Recommandation de Contenu Filtrage HybrideOptimiser la qualité de la recommandation en combinant les méthodes de qualification des comportements Content-based Collaborative Community- Stereotype- Context-based filtering filtering based filtering based filtering filtering  “Content like this”  “Customers who  “Customers like you  Recommendation  Recommendation were interested in also bought …” combines content depends on this product also cluster with affinity location, time, bought …” vectors mood, environment … Rock ~ ~ Pop R&B + A/B testing + near cold-start recommendationsNicolas Pastorino - IPCse11 24/11/2011 49
  99. 99. Recommandation de ContenuNicolas Pastorino - IPCse11 24/11/2011 50
  100. 100. Recommandation de ContenuI/O par RESTConnection native par n’importe quel clientHTTP-enabled ( simple avec PHP, extensionnative pour le CMS eZ Publish )Cloud-based : mise à l’échelle facileDifférentes méthodes de trackingd’évènements : JS, built-in the CMS Nicolas Pastorino - IPCse11 24/11/2011 50
  101. 101. Famous Last Slides 51
  102. 102. RECAP
  103. 103. RECAPL’émotion multicanal
  104. 104. RECAPL’émotion multicanal REST
  105. 105. RECAPL’émotion multicanal RESTAPI REST Extensible
  106. 106. RECAPL’émotion multicanal RESTAPI REST ExtensibleRecommandation de Contenu
  107. 107. Find me on Twitter : @jeanvoyeNotez cette présentation : http://joind.in/4350Slides disponibles bientôt à http://slideshare.net/jeanvoyeeZ Communityhttp://share.ez.noeZ Publish Community Projecthttps://github.com/ezsystems/ezpublishhttp://share.ez.no/download Merci !http://share.ez.no/get-involvedYooChoose, recommendation enginehttp://www.yoochoose.comeZ Systems & eZ Publish Enterprise Editionhttp://ez.no
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×