{"id":16385,"date":"2019-11-08T10:00:45","date_gmt":"2019-11-08T10:00:45","guid":{"rendered":"https:\/\/digitalcommerce.kaliop.com\/?p=16385"},"modified":"2022-04-05T13:08:52","modified_gmt":"2022-04-05T13:08:52","slug":"akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution","status":"publish","type":"post","link":"https:\/\/www.tech-recette.infrawan.net\/fr\/akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution\/","title":{"rendered":"Akeneo PIM : comment visualiser l\u2019ensemble des jobs ex\u00e9cut\u00e9s et leur rapport d\u2019ex\u00e9cution"},"content":{"rendered":"<p>[:fr]<\/p>\n<p style=\"text-align: left;\"><a href=\"https:\/\/digitalcommerce.kaliop.com\/partenaire\/akeneo\/\">Akeneo PIM<\/a> est une puissante solution de<a href=\"https:\/\/digitalcommerce.kaliop.com\/expertise\/pim-gestion-de-linformation-produit\/\"><strong> gestion d\u2019information produit (Product Information Management)<\/strong><\/a> aujourd\u2019hui pl\u00e9biscit\u00e9e par nombre d\u2019acteurs du e-commerce pour sa simplicit\u00e9 d\u2019utilisation et les services rendus. Akeneo PIM permet de collecter, g\u00e9rer, enrichir l\u2019information produit, cr\u00e9er des catalogues, afin de les distribuer sur diff\u00e9rents canaux de diffusion (web, print, etc\u2026).<\/p>\n<p>Akeneo PIM \u00e9volue rapidement et pour le meilleur. Les performances ont \u00e9t\u00e9 grandement am\u00e9lior\u00e9es gr\u00e2ce \u00e0 l\u2019exploitation d\u2019index ElasticSearch. La solution propose d\u00e9sormais \u00e9galement une API REST robuste, qui permet d\u2019effectuer toutes sortes de requ\u00eates sur le catalogue, sa structure, son contenu. L\u2019interface graphique a \u00e9t\u00e9 enti\u00e8rement revue, pour le plus grand bonheur des utilisateurs.<\/p>\n<h2>Des changements apport\u00e9s dans le \u201cprocess tracker\u201d<\/h2>\n<p>Certaines fonctionnalit\u00e9s ont cependant disparu, alors qu\u2019elles avaient une utilit\u00e9 recherch\u00e9e. La premi\u00e8re qui me vient \u00e0 l\u2019esprit concerne l\u2019affichage de l\u2019historique des jobs ex\u00e9cut\u00e9s, dans le \u201cprocess tracker\u201d, le traqueur de processus.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter size-big wp-image-16390\" src=\"https:\/\/digitalcommerce.kaliop.com\/wp-content\/uploads\/2019\/09\/process-tracker-1280x762.png\" alt=\"\" width=\"680\" height=\"405\" \/><\/p>\n<p>Les jobs sont des commandes, des scripts charg\u00e9s d\u2019accomplir certaines t\u00e2ches : importer des donn\u00e9es d\u2019un ERP, exporter des donn\u00e9es CSV ou XLSX pour des clients comme <a href=\"https:\/\/digitalcommerce.kaliop.com\/partenaire\/magento-commerce\/\">Magento<\/a>, Oro Commerce, Salesforce et bien d\u2019autres. Mais les jobs ne se limitent bien s\u00fbr pas aux imports\/exports; on peut imaginer toutes sortes d\u2019op\u00e9rations effectu\u00e9es par des jobs. Dans tous les cas, les jobs manipulent des donn\u00e9es sensibles, et il est indispensable de pouvoir v\u00e9rifier si un job s\u2019est bien ex\u00e9cut\u00e9, s\u2019il y a eu des erreurs, des alertes, afin de pouvoir prendre les mesures n\u00e9cessaires le cas \u00e9ch\u00e9ant.<\/p>\n<p>Or, dans les anciennes versions du PIM Akeneo, un utilisateur poss\u00e9dant suffisamment de droits (un administrateur par exemple) pouvait visualiser l\u2019ensemble des jobs ex\u00e9cut\u00e9s et leur rapport d\u2019ex\u00e9cution. Sur les versions r\u00e9centes (2.x+), un utilisateur, m\u00eame dot\u00e9 des permissions les moins restrictives, ne voit plus que la liste des jobs qu\u2019il a lui-m\u00eame lanc\u00e9s.<\/p>\n<p>Beaucoup de clients ont \u00e9t\u00e9 \u00e9tonn\u00e9s de cette restriction lorsqu\u2019ils sont pass\u00e9s d\u2019une version 1.x \u00e0 une version 2.x ou 3.x, et m\u2019ont demand\u00e9 de \u201crestaurer\u201d le fonctionnement qu\u2019ils connaissaient. En effet, les administrateurs ne voient plus les jobs lanc\u00e9s par leurs collaborateurs ou en t\u00e2ches automatis\u00e9es, et n\u2019ont donc plus acc\u00e8s aux rapports qui leur permettaient de comprendre un dysfonctionnement.<\/p>\n<h2>Enrichir l\u2019Event Listener pour am\u00e9liorer le suivi des jobs<\/h2>\n<p>Je me suis donc pench\u00e9 sur la question, le code en l\u2019occurrence, et je me suis rapidement rendu compte que la requ\u00eate ex\u00e9cut\u00e9e pour retrouver la liste des jobs \u00e9tait modifi\u00e9e dans un Event Listener, de la fa\u00e7on suivante :<\/p>\n<p><script src=\"https:\/\/gist.github.com\/bOnepain\/24d7a81ae8b26309caccfc699fda228d.js\"><\/script><\/p>\n<p>Ce listener \u201cintercepte\u201d la requ\u00eate avant qu\u2019elle ne soit envoy\u00e9e, r\u00e9cup\u00e8re l\u2019identit\u00e9 de l\u2019utilisateur connect\u00e9 et ajoute une condition WHERE filtrant les ex\u00e9cutions de jobs pour ne r\u00e9cup\u00e9rer que celles lanc\u00e9es par l\u2019utilisateur en question.<\/p>\n<p>On peut assez facilement contourner cette restriction en \u00e9crivant notre propre listener :<\/p>\n<p><script src=\"https:\/\/gist.github.com\/bOnepain\/c36c0dc6ac8f0307246c435d2e6aff2a.js\"><\/script><\/p>\n<p>L\u2019am\u00e9lioration consiste \u00e0 informer le listener d\u2019une liste de r\u00f4les $notRestrictedRoles pour lesquels il n\u2019y a pas lieu de filtrer les r\u00e9sultats. Si l\u2019utilisateur courant poss\u00e8de l\u2019un de ces r\u00f4les, on sort du listener sans modifier la requ\u00eate, et l\u2019ensemble du r\u00e9sultat est renvoy\u00e9.<\/p>\n<h2>Surcharger la d\u00e9finition du service<\/h2>\n<p>Il ne faut pas oublier de surcharger la d\u00e9finition du service concern\u00e9 dans le container de l\u2019application (dans app\/config\/services.yml par exemple):<\/p>\n<p><script src=\"https:\/\/gist.github.com\/bOnepain\/d9b8f4e8470b5b256ee1eb67a258d6ed.js\"><\/script><\/p>\n<p>La liste des r\u00f4les pour lesquels ne pas filtrer est indiqu\u00e9e \u00e0 ce niveau. Dans cet exemple, un seul r\u00f4le aura acc\u00e8s \u00e0 l\u2019ensemble des r\u00e9sultats de la requ\u00eate : ROLE_ADMINISTRATOR.<\/p>\n<h2>Conclusion<\/h2>\n<p>Akeneo a fait le choix de n\u2019afficher nativement qu\u2019une liste de processus filtr\u00e9e en fonction de l\u2019utilisateur connect\u00e9. Cette restriction peut pr\u00e9senter un certain nombre d\u2019inconv\u00e9nients \u00e0 l\u2019usage. Il est n\u00e9anmoins relativement simple de surcharger ce comportement par d\u00e9faut en modifiant le Listener charg\u00e9 d\u2019ajouter le filtre sur la requ\u00eate.<\/p>\n<p>Par Benoit Wannepain, Expert Technique Akeneo<\/p>\n<p style=\"text-align: left;\"><strong>Si vous souhaitez \u00eatre accompagn\u00e9 pour la mise en place de votre PIM, <span style=\"font-family: inherit; font-size: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit;\"><a href=\"https:\/\/digitalcommerce.kaliop.com\/contact\/\">n\u2019h\u00e9sitez pas \u00e0 demander conseil \u00e0 nos experts certifi\u00e9s Akeneo<\/a>.<\/span><\/strong><\/p>\n<p>\u00a0[:]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[:fr] Akeneo PIM est une puissante solution de gestion d\u2019information produit (Product Information Management) aujourd\u2019hui pl\u00e9biscit\u00e9e par nombre d\u2019acteurs du e-commerce pour sa simplicit\u00e9 d\u2019utilisation et les services rendus. Akeneo PIM permet de collecter, g\u00e9rer, enrichir l\u2019information produit, cr\u00e9er des catalogues, afin de les distribuer sur diff\u00e9rents canaux de diffusion (web, print, etc\u2026). Akeneo PIM [&hellip;]<\/p>\n","protected":false},"author":53,"featured_media":25644,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","inline_featured_image":false},"categories":[1],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Jobs et rapport d&#039;ex\u00e9cution Akeneo PIM - Blog<\/title>\n<meta name=\"description\" content=\"Dans cet articile nous vous accompagnons dans la mise en place de votre PIM.\" \/>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jobs et rapport d&#039;ex\u00e9cution Akeneo PIM - Blog\" \/>\n<meta property=\"og:description\" content=\"Dans cet articile nous vous accompagnons dans la mise en place de votre PIM.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.tech-recette.infrawan.net\/fr\/akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-11-08T10:00:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-05T13:08:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.tech-recette.infrawan.net\/app\/uploads\/2019\/11\/BLOG-KALIOP-7.png\" \/>\n\t<meta property=\"og:image:width\" content=\"622\" \/>\n\t<meta property=\"og:image:height\" content=\"415\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Benoit Wannepain\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benoit Wannepain\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.tech-recette.infrawan.net\/fr\/akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution\/\",\"url\":\"https:\/\/www.tech-recette.infrawan.net\/fr\/akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution\/\",\"name\":\"Jobs et rapport d'ex\u00e9cution Akeneo PIM - Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.tech-recette.infrawan.net\/fr\/#website\"},\"datePublished\":\"2019-11-08T10:00:45+00:00\",\"dateModified\":\"2022-04-05T13:08:52+00:00\",\"author\":{\"@id\":\"https:\/\/www.tech-recette.infrawan.net\/fr\/#\/schema\/person\/67e5999bdfdf0bc5b14f5f2fc7d84ebc\"},\"description\":\"Dans cet articile nous vous accompagnons dans la mise en place de votre PIM.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.tech-recette.infrawan.net\/fr\/akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.tech-recette.infrawan.net\/fr\/akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.tech-recette.infrawan.net\/fr\/akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.tech-recette.infrawan.net\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Akeneo PIM : comment visualiser l\u2019ensemble des jobs ex\u00e9cut\u00e9s et leur rapport d\u2019ex\u00e9cution\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.tech-recette.infrawan.net\/fr\/#website\",\"url\":\"https:\/\/www.tech-recette.infrawan.net\/fr\/\",\"name\":\"\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.tech-recette.infrawan.net\/fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.tech-recette.infrawan.net\/fr\/#\/schema\/person\/67e5999bdfdf0bc5b14f5f2fc7d84ebc\",\"name\":\"Benoit Wannepain\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.tech-recette.infrawan.net\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/81b1cb8f270b29d2d4af01be9b165f47?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/81b1cb8f270b29d2d4af01be9b165f47?s=96&d=mm&r=g\",\"caption\":\"Benoit Wannepain\"},\"description\":\"[fr]J'ai d\u00e9couvert l'informatique et la programmation dans les ann\u00e9es 80. L'essor de l'Internet depuis les ann\u00e9es 90 m'a progressivement amen\u00e9 au d\u00e9veloppement d'applications web backend et \u00e0 la mise en place des infrastructures de serveurs n\u00e9cessaires au bon fonctionnement de celles-ci. Aujourd'hui, je m'int\u00e9resse particuli\u00e8rement au framework PHP Symfony et \u00e0 son \u00e9cosyst\u00e8me (Akeneo, EzPublish, Oro, ...).[\/fr]\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Jobs et rapport d'ex\u00e9cution Akeneo PIM - Blog","description":"Dans cet articile nous vous accompagnons dans la mise en place de votre PIM.","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"fr_FR","og_type":"article","og_title":"Jobs et rapport d'ex\u00e9cution Akeneo PIM - Blog","og_description":"Dans cet articile nous vous accompagnons dans la mise en place de votre PIM.","og_url":"https:\/\/www.tech-recette.infrawan.net\/fr\/akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution\/","article_published_time":"2019-11-08T10:00:45+00:00","article_modified_time":"2022-04-05T13:08:52+00:00","og_image":[{"width":622,"height":415,"url":"https:\/\/www.tech-recette.infrawan.net\/app\/uploads\/2019\/11\/BLOG-KALIOP-7.png","type":"image\/png"}],"author":"Benoit Wannepain","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Benoit Wannepain","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.tech-recette.infrawan.net\/fr\/akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution\/","url":"https:\/\/www.tech-recette.infrawan.net\/fr\/akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution\/","name":"Jobs et rapport d'ex\u00e9cution Akeneo PIM - Blog","isPartOf":{"@id":"https:\/\/www.tech-recette.infrawan.net\/fr\/#website"},"datePublished":"2019-11-08T10:00:45+00:00","dateModified":"2022-04-05T13:08:52+00:00","author":{"@id":"https:\/\/www.tech-recette.infrawan.net\/fr\/#\/schema\/person\/67e5999bdfdf0bc5b14f5f2fc7d84ebc"},"description":"Dans cet articile nous vous accompagnons dans la mise en place de votre PIM.","breadcrumb":{"@id":"https:\/\/www.tech-recette.infrawan.net\/fr\/akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.tech-recette.infrawan.net\/fr\/akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.tech-recette.infrawan.net\/fr\/akeneo-pim-comment-visualiser-lensemble-des-jobs-executes-et-leur-rapport-dexecution\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.tech-recette.infrawan.net\/fr\/"},{"@type":"ListItem","position":2,"name":"Akeneo PIM : comment visualiser l\u2019ensemble des jobs ex\u00e9cut\u00e9s et leur rapport d\u2019ex\u00e9cution"}]},{"@type":"WebSite","@id":"https:\/\/www.tech-recette.infrawan.net\/fr\/#website","url":"https:\/\/www.tech-recette.infrawan.net\/fr\/","name":"","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.tech-recette.infrawan.net\/fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/www.tech-recette.infrawan.net\/fr\/#\/schema\/person\/67e5999bdfdf0bc5b14f5f2fc7d84ebc","name":"Benoit Wannepain","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.tech-recette.infrawan.net\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/81b1cb8f270b29d2d4af01be9b165f47?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/81b1cb8f270b29d2d4af01be9b165f47?s=96&d=mm&r=g","caption":"Benoit Wannepain"},"description":"[fr]J'ai d\u00e9couvert l'informatique et la programmation dans les ann\u00e9es 80. L'essor de l'Internet depuis les ann\u00e9es 90 m'a progressivement amen\u00e9 au d\u00e9veloppement d'applications web backend et \u00e0 la mise en place des infrastructures de serveurs n\u00e9cessaires au bon fonctionnement de celles-ci. Aujourd'hui, je m'int\u00e9resse particuli\u00e8rement au framework PHP Symfony et \u00e0 son \u00e9cosyst\u00e8me (Akeneo, EzPublish, Oro, ...).[\/fr]"}]}},"_links":{"self":[{"href":"https:\/\/www.tech-recette.infrawan.net\/fr\/wp-json\/wp\/v2\/posts\/16385"}],"collection":[{"href":"https:\/\/www.tech-recette.infrawan.net\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tech-recette.infrawan.net\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tech-recette.infrawan.net\/fr\/wp-json\/wp\/v2\/users\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tech-recette.infrawan.net\/fr\/wp-json\/wp\/v2\/comments?post=16385"}],"version-history":[{"count":5,"href":"https:\/\/www.tech-recette.infrawan.net\/fr\/wp-json\/wp\/v2\/posts\/16385\/revisions"}],"predecessor-version":[{"id":34186,"href":"https:\/\/www.tech-recette.infrawan.net\/fr\/wp-json\/wp\/v2\/posts\/16385\/revisions\/34186"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tech-recette.infrawan.net\/fr\/wp-json\/wp\/v2\/media\/25644"}],"wp:attachment":[{"href":"https:\/\/www.tech-recette.infrawan.net\/fr\/wp-json\/wp\/v2\/media?parent=16385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tech-recette.infrawan.net\/fr\/wp-json\/wp\/v2\/categories?post=16385"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tech-recette.infrawan.net\/fr\/wp-json\/wp\/v2\/tags?post=16385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}