Akeneo est un outil puissant d'emblée, mais chaque équipe d'e-commerce a ses propres flux de travail, outils et défis liés aux données. Parfois, une configuration PIM standard a besoin d'un petit coup de pouce pour s'adapter à la réalité de votre équipe.
C'est là qu'entrent en jeu les extensions d'Akeneo. Celles-ci vous permettent d'ajouter des vues personnalisées, des actions, des outils intégrés ou des fonctionnalités avancées directement dans l'interface d'Akeneo. Que vous ayez besoin de connecter des systèmes externes, d'afficher des données de produits provenant d'une autre source, de déclencher des flux de travail ou de créer une expérience d'enrichissement plus sur mesure, les extensions peuvent aider à réduire les changements de contexte et à rendre la gestion des informations produit plus efficace.
Dans cet article, nous décortiquerons les principaux types d'extensions Akeneo, le fonctionnement des composants personnalisés, ce que les développeurs doivent savoir sur le SDK d'extension Akeneo, et les moments où il est judicieux de faire appel à une agence partenaire d'Akeneo comme Blue Badger.
Qu'est-ce qu'une extension Akeneo?
Une extension Akeneo permet d'ajouter des vues, des actions ou des fonctionnalités personnalisées à l'interface du PIM Akeneo. Essentiellement, les extensions aident les équipes à rapprocher les informations externes, les flux de travail ou les outils du processus d'enrichissement des données produit.
Toutes les personnalisations ne nécessitent pas une interface entièrement sur mesure. Parfois, un simple lien vers un enregistrement dans un ERP ou vers un portail du fournisseur suffit. D'autres fois, vous pourriez avoir besoin d'un outil plus riche qui semble natif d'Akeneo et qui interagit avec les données produit, les autorisations des utilisateurs et les API externes pour accomplir ce que vous souhaitez.
Les principaux types d'extensions Akeneo
Akeneo propose cinq principaux types d'extensions que les développeurs peuvent exploiter :
-
Extensions de lien (Link Extensions) : L'option la plus simple. Celles-ci ouvrent le contenu externe dans un nouvel onglet du navigateur, ce qui les rend utiles pour la documentation, les panneaux d'administration, les fiches produits externes ou les outils connexes qui n'ont pas besoin de résider dans l'interface du PIM.
-
Extensions d'action (Action Extensions) : Elles déclenchent des tâches d'arrière-plan externes en effectuant une requête HTTP POST. Par exemple, un utilisateur pourrait cliquer sur un bouton dans Akeneo pour lancer une tâche de validation de produit, une demande de traduction, une synchronisation de données ou un flux de travail dans un autre système. Akeneo envoie des données contextuelles avec la requête, telles que l'utilisateur, la région locale, le canal, les données du produit sélectionné et l'horodatage.
-
Extensions de composant de données (Data Component Extensions) : Ces extensions récupèrent des données depuis un point de terminaison prédéfini via une requête HTTP GET et les affichent dans Akeneo. Elles sont utiles pour les informations en lecture seule, telles que les niveaux de stock externes, les résultats de validation, les détails des fournisseurs ou les données de performance en e-commerce.
-
Extensions Iframe : Utilisez-les pour intégrer une application Web hébergée en externe directement dans l'interface d'Akeneo. C'est une option pratique lorsque votre équipe possède déjà une application autonome et souhaite la rendre accessible depuis le PIM sans avoir à la reconstruire en tant que composant Akeneo natif.
-
Extensions de composant personnalisé (Custom Component Extensions) : L'option la plus flexible. Il s'agit d'applications JavaScript autonomes créées avec le SDK d'extension Akeneo et hébergées par Akeneo. Elles sont conçues pour des expériences PIM plus riches et d'apparence native, comme des outils d'enrichissement guidés, des tableaux de bord personnalisés, des écrans de validation interactifs ou des flux de travail nécessitant un accès direct au contexte et aux API d'Akeneo.
Choisir la bonne méthode ou le bon type d'extension Akeneo
Avant de développer quoi que ce soit, commencez par le cas d'utilisation. La meilleure extension pour Akeneo n'est pas toujours la plus avancée. C'est plutôt celle qui résout le problème d'affaires avec le moins de complexité inutile.
Par exemple :
-
Utilisez un lien lorsque les utilisateurs ont simplement besoin d'un accès rapide à une page, à un enregistrement ou à un outil externe.
-
Utilisez une action lorsque les utilisateurs doivent déclencher une tâche côté serveur depuis Akeneo, comme l'envoi de données produit vers un autre système ou le lancement d'un flux de travail externe.
-
Utilisez un composant de données lorsque les utilisateurs doivent consulter des données externes dans Akeneo, sans avoir besoin de les modifier ni d'interagir avec elles.
-
Utilisez un iframe lorsque vous possédez déjà une application auto-hébergée et souhaitez l'intégrer au PIM avec un minimum de modifications.
-
Utilisez un composant personnalisé lorsque vous souhaitez une expérience native dans le PIM qui exploite le SDK d'Akeneo, le contexte du PIM, les autorisations et les API.
-
Utilisez une application personnalisée (Custom App) ou un connecteur lorsque le travail porte principalement sur l'intégration dorsale (backend), comme la synchronisation des données, l'automatisation, les importations et exportations de catalogues, ou les opérations de longue durée. Les directives d'Akeneo distinguent les iframe, les composants personnalisés et les applications personnalisées en fonction des besoins d'hébergement, du niveau d'intégration au PIM et du cas d'utilisation. Il est recommandé d'utiliser des applications personnalisées pour les tâches plus lourdes, telles que la synchronisation et les opérations à grande échelle.
En règle générale, si l'enjeu principal est l'expérience utilisateur au sein du PIM, optez pour une extension. Si le défi principal concerne le transfert de données entre les systèmes, envisagez une application, un connecteur ou une intégration via une API.
Comment fonctionnent les composants personnalisés d'Akeneo
Les composants personnalisés constituent l'option d'extension avancée d'Akeneo. Il s'agit d'applications JavaScript conçues avec le SDK d'extension d'Akeneo et déployées directement dans le PIM. Une fois déployées, elles s'exécutent dans un bac à sable (sandbox) sécurisé et peuvent accéder aux API d'Akeneo via les méthodes du SDK.
Akeneo décrit le flux de travail des composants personnalisés en quatre étapes fondamentales : Compiler, Regrouper, Déployer et Exécuter.
Les développeurs conçoivent l'extension à l'aide du SDK, la compilent en un seul fichier JavaScript et la déploient via l'interface utilisateur ou l'API d'Akeneo. Le code s'exécute ensuite dans le bac à sable du PIM, avec un accès authentifié aux API du système.
C'est une excellente solution pour les équipes d'e-commerce qui ont besoin de personnalisations du PIM liées à des flux de travail opérationnels concrets. Par exemple, un composant personnalisé pourrait afficher la disponibilité des stocks provenant d'un ERP sur la page d'enrichissement du produit, présenter un tableau de bord sur l'exhaustivité des produits, guider les utilisateurs dans les exigences de contenu spécifiques à un marché, ou afficher le statut de traduction externe à côté des fiches produit.
Chez Blue Badger, notre plus récente intégration d'un composant personnalisé a permis à un client de visualiser, de filtrer et de fournir des commentaires sur les résultats de son studio photo directement depuis le PIM. Puisqu'Akeneo ne permet pas nativement aux utilisateurs de consulter le texte des attributs dans le même espace que les actifs numériques, la possibilité d'accéder à la galerie de photos tout en travaillant ailleurs dans le PIM permet de gagner un temps fou. Autrement, ce temps serait perdu à jongler entre les onglets et les fenêtres pour rédiger des textes de vente (romance copy), contrôler les statuts, faire des retours ou approuver des images.
Premiers pas avec les composants personnalisés et le SDK d'extension Akeneo
Pour créer un composant personnalisé, les développeurs doivent maîtriser JavaScript ou TypeScript, Node.js, npm, le SDK d'extension Akeneo, un environnement de développement, ainsi que les autorisations ou la méthode d'accès appropriées dans le PIM pour créer et gérer des extensions.
Commencez par cloner le dépôt du SDK d'extension et accédez au projet d'exemple de démarrage rapide :
-> git clone https://github.com/akeneo/extension-sdk.git
-> cd extension-sdk/examples/quickstart
-> make start
La commande make start installe les dépendances, configure l'environnement et crée l'extension dans le PIM pour la première fois. Une fois l'extension développée, la commande make build génère un fichier JavaScript prêt pour la production dans le répertoire dist/.
À partir de là, l'extension peut être déployée de deux manières : manuellement via l'interface du PIM Akeneo ou de manière programmatique via l'API. L'option manuelle est utile pour les premiers tests. Le déploiement via une API est préférable pour les pipelines CI/CD, les versions publiées et la gestion de multiples environnements.
À quoi le SDK d'extension Akeneo donne-t-il accès aux développeurs?
Le SDK d'extension Akeneo donne aux composants personnalisés accès aux ressources et au contexte du PIM. Cela inclut les API de produits, de modèles de produits, d'actifs, d'entités de référence, d'attributs, de catégories, de paramètres régionaux, de canaux, de flux de travail, d'informations sur les utilisateurs, ainsi que des données contextuelles basées sur l'emplacement où s'affiche l'extension.
Parmi les objets et méthodes importants du SDK, on retrouve :
-
PIM.api.product_uuid_v1 pour les données de produits par UUID
-
PIM.context pour le contexte tel que l'UUID du produit, les éléments sélectionnés dans la grille, les paramètres régionaux, le canal et la position
-
PIM.user pour les détails de l'utilisateur actuel et de ses groupes
-
PIM.navigate.internal() pour la navigation à l'intérieur du PIM
-
PIM.navigate.external() pour la navigation externe sécurisée
-
PIM.navigate.refresh() pour actualiser la page parente du PIM
-
PIM.api.external.call() pour appeler des API externes par le biais de la passerelle sécurisée d'Akeneo
Déploiement : Interface utilisateur vs API
Akeneo prend en charge deux parcours de déploiement pour les composants personnalisés.
La première option consiste à déployer via l'interface utilisateur. Un développeur ou un administrateur se connecte à Akeneo, navigue vers Système → Extensions, crée ou met à jour une extension, sélectionne « Script SDK » comme type et choisit une position telle que pim.product.panel ou pim.activity.navigation.tab. Il téléverse ensuite le fichier JavaScript compilé, configure les étiquettes et enregistre l'extension. L'extension devient alors disponible à l'emplacement configuré.
La deuxième option consiste à déployer via une API. Celle-ci utilise le point de terminaison /api/rest/v1/ui-extensions et permet aux équipes de déployer ou de mettre à jour des extensions de manière programmatique. Pour les extensions SDK, les paramètres requis comprennent un nom unique, un type défini sur sdk_script, une position, un fichier JavaScript compilé et une étiquette par défaut. Il s'agit de la meilleure option pour les flux de travail automatisés, les pipelines de déploiement et la promotion des environnements, du développement vers la préproduction, puis la production.
Positions : Où s'affichent les extensions dans Akeneo
La position de l'extension détermine l'endroit où elle apparaîtra dans l'interface du PIM Akeneo. Akeneo prend en charge diverses positions, telles que les en-têtes de produit, les onglets de produit, les onglets de catégorie, les barres d'action de la grille de produit, les onglets de navigation des activités et les panneaux de produit.
Tous les types d'extensions ne sont pas disponibles pour chaque position. Le choix de l'emplacement doit donc faire partie de la décision initiale de conception de l'extension, et non être déterminé à la toute fin. Les tableaux de bord, par exemple, pourraient être mieux adaptés à un panneau, tandis qu'une option d'exportation par lots trouverait plutôt sa place dans la grille de produits.
Identifiants et appels d'API externes
De nombreuses extensions Akeneo très utiles doivent communiquer avec des systèmes externes, tels qu’un ERP, un DAM, une plateforme de traduction, une vitrine d’e-commerce, un système de gestion d’entrepôt ou un outil d’analyse. Pour les composants personnalisés, Akeneo n'autorise pas les appels fetch directs ni les requêtes XMLHttpRequest depuis le bac à sable. Les requêtes externes doivent passer par les méthodes du SDK, plus précisément par PIM.api.external.call().
Pour les appels authentifiés, les identifiants ne doivent pas être codés en dur (hardcoded) dans le fichier JavaScript. Akeneo prend en charge le stockage des identifiants à l'aide des méthodes de jeton au porteur, d'authentification par base et d'en-têtes personnalisés. Les développeurs peuvent faire référence à un identifiant stocké avec credentials_code lors de requêtes externes.
La configuration devrait également être externalisée dans la mesure du possible. Les variables personnalisées peuvent être stockées sous forme d'objets JSON chiffrés dans le PIM et consultées via globalThis.PIM.custom_variables. Cela aide les équipes à réutiliser le même code d'extension entre les instances de développement, de préproduction, de production et auprès de multiples clients, sans avoir à réécrire l'application pour chaque environnement.
Autorisations, filtrage et déploiement progressif
Les extensions Akeneo peuvent être filtrées pour n'être accessibles qu'à des groupes d'utilisateurs spécifiques, à certains produits ou à des utilisateurs individuels. Cela s'avère utile pour restreindre les fonctionnalités sensibles aux administrateurs, proposer des outils différents selon les équipes, effectuer des tests bêta auprès d'utilisateurs ciblés ou n'afficher des extensions spécialisées que pour certaines familles de produits, catégories ou attributs. Si aucun groupe d'utilisateurs n'est sélectionné, l'extension est accessible à tous.
Pour les équipes d'e-commerce, c'est idéal pour un déploiement progressif. Vous n'avez pas besoin de lancer une nouvelle extension simultanément pour tous les marchandiseurs, spécialistes du marketing, chefs de produit et membres des opérations. Commencez avec un groupe restreint, testez le comportement sur de vraies données de produits, recueillez les commentaires, puis élargissez l'accès une fois que le flux de travail est stable et bien établi.
Les pièges courants des extensions Akeneo
La plus grande erreur que nous observons concerne les équipes qui surdéveloppent leurs extensions personnalisées. Si un composant de données peut afficher l'information externe dont votre équipe a besoin, ne passez pas directement à un composant personnalisé. Si un iframe permet d'intégrer proprement une application existante, la reconstruire en tant que composant natif ne vaut probablement pas l'effort.
Une autre erreur fréquente consiste à ignorer les limites des extensions. Les extensions d'action ont un délai d'attente maximal de 5 secondes, aucun mécanisme de relance automatique, aucune mise à jour de la progression en temps réel et une limite de 500 éléments pour les actions de la grille de produits. Cela les rend pratiques pour des déclenchements rapides, mais inadéquates pour des tâches de longue haleine, par exemple.
Les composants de données présentent également des limites claires. Ils sont en lecture seule, uniquement au format JSON, contrôlés par le format d'affichage d'Akeneo, limités en termes d'interactivité et ne se chargent qu'une seule fois à l'ouverture du panneau. Si les utilisateurs ont besoin de boutons, de formulaires, d'édition, d'actualisation ou d'une interface utilisateur sur mesure, un composant de données sera sans doute trop limité.
Les composants personnalisés s'accompagnent de leurs propres contraintes. Ils s'exécutent dans un bac à sable sécurisé ; les développeurs doivent donc recourir aux méthodes du SDK plutôt que de présumer un comportement de navigateur standard. Les requêtes réseau externes directes ne sont pas autorisées, et toute communication externe doit passer par la passerelle du SDK.
Enfin, ne négligez pas les vérifications de versions et d'environnements. La documentation d'Akeneo est versionnée selon les différentes éditions du PIM, et certaines directives peuvent varier selon que vous utilisez Product Cloud, Serenity ou une version antérieure.
Quand faire appel à une agence partenaire d'Akeneo?
Une agence partenaire d'Akeneo, comme Blue Badger, peut aider les marchands à définir la bonne stratégie d'extension avant même le début du développement. Cela implique de déterminer si le cas d'utilisation requiert un lien, une action, un composant de données, un iframe, un composant personnalisé, une application personnalisée, un connecteur ou une combinaison de ces approches.
Cela inclut également la planification de la manière dont l'extension interagira avec Shopify, Adobe Commerce, les systèmes ERP, les DAM, les outils de traduction, les plateformes d'analyse ou les intergiciels sur mesure.
C'est particulièrement précieux lorsque l'extension soutient un processus d'affaires à fort impact, tel que l'enrichissement de produits, la localisation, la visibilité des stocks, la syndication de catalogues, les flux d'approbation ou la préparation au lancement d'un site e-commerce.
Chez Blue Badger, nous pouvons aider les utilisateurs de PIM à identifier les aspects de leurs flux de travail qui bénéficieraient d'un développement sur mesure, et à concevoir une solution pour rendre leurs tâches quotidiennes au sein de l'outil plus simples et efficaces.
Conclusion
Bien réalisées, les extensions Akeneo peuvent aider les équipes d'e-commerce à enrichir les produits plus rapidement, à réduire les changements de contexte, à améliorer la qualité des données et à connecter plus efficacement le PIM au reste de l'écosystème technologique. Commencez par le cas d'utilisation, validez l'architecture, testez avec de vrais utilisateurs et ne développez que ce dont l'entreprise a réellement besoin.
Chez Blue Badger, nous possédons les compétences et l'expérience nécessaires pour créer des extensions Akeneo adaptées à votre équipe et à votre processus d'enrichissement et d'amélioration des informations produit, sans complexité excessive. Communiquez avec nous dès aujourd'hui pour en savoir plus.