Il existe de nombreuses solutions de gestion des informations sur les produits commerciaux (PIM) disponibles sur le marché. Et il existe 3 solutions open source gratuites: Akeneo, Pimcore et OpenPIM que vous pouvez utiliser pour implémenter un système PIM dans votre entreprise. Je vais comparer ces 3 solutions entre elles.
1. Akeneo
Akeneo a une version gratuite et une version commerciale pour les entreprises. Vous pouvez voir une comparaison de ces versions sur https://www.akeneo.com/compare-editions/ .
Dans cette revue, nous n'utiliserons que la version gratuite car nous nous concentrons uniquement sur les solutions PIM gratuites.
1.1. Modèle de données
Akeneo utilise les objets Product comme entités pour stocker des informations sur les produits. Les produits ont des valeurs d'attribut associées à l'attribut correspondant. Différents types d'attributs sont pris en charge. Vous pouvez facilement créer un nouvel attribut dans l'interface utilisateur sans écrire de code. Vous pouvez trouver des détails ici .
Il est très important pour les systèmes PIM de pouvoir conserver un ensemble d'attributs différent en fonction du type de produit, par exemple, un lecteur MP3 a un ensemble d'attributs différent d'un T-shirt.
Akeneo utilise pour cela des objets Familles. Ainsi, chaque famille définit un ensemble d'attributs requis pour ce type de produit, et chaque produit a une référence à sa propre famille. Un produit ne peut appartenir qu'à une seule famille.
Les attributs d'Akeneo peuvent avoir différentes significations pour différentes langues et différents canaux. La prise en charge des attributs est assez bien faite et vous permet de résoudre divers problèmes commerciaux.
1.2. Hiérarchies
La hiérarchie à laquelle un produit peut appartenir est appelée catégories dans Akeneo. Vous pouvez avoir autant de hiérarchies que vous le souhaitez. Mais les catégories d'Akeneo sont très simples. Vous ne pouvez pas attribuer un attribut à une catégorie, ni restreindre si un produit ne peut être associé qu'à un ou plusieurs nœuds de catégorie, etc.
Toutes ces fonctionnalités peuvent être implémentées en développant des extensions système, mais ne sont pas disponibles depuis l'interface utilisateur. Et pour cela, vous devez faire un développement assez complexe en PHP, ce qui nécessitera des coûts supplémentaires.
1.3. Objets personnalisés
Souvent, dans PIM, il est nécessaire de stocker non seulement des informations sur le produit, mais également d'autres objets, par exemple, la marque ou le magasin (où se trouve ce produit), etc. Ces objets supplémentaires peuvent avoir leurs propres attributs.
Akeneo ne prend pas en charge les objets personnalisés dans la version gratuite. Cette fonctionnalité n'est prise en charge que dans la version commerciale . Encore une fois, vous pouvez créer votre propre extension et obtenir cette fonctionnalité, mais cela entraîne un coût supplémentaire.
1.4. Dépendances
Les relations sont utilisées dans PIM pour indiquer que les données ont des dépendances. Par exemple, que ce produit peut être remplacé par un autre, ou que le produit peut être vendu avec un autre, etc.
Akeneo ne prend en charge que les relations entre produits (car les objets personnalisés ne sont pas pris en charge). Vous pouvez définir un "Type d'association" et l'utiliser pour associer des produits.
Mais encore une fois, ces associations sont très simples. Par exemple, vous ne pouvez pas définir un attribut pour cette association, bien que cela puisse être très utile. Par exemple, cela est souvent utilisé dans les kits (ou des fonctions similaires) pour indiquer l'ordre des produits qu'ils contiennent.
1.5. Options
Les variantes représentent le même produit, mais avec des attributs différents (lorsque tous les autres attributs sont identiques). Par exemple, vous pourriez avoir un T-shirt de différentes couleurs et tailles.
Akeneo prend en charge les variantes, vous pouvez créer une «variante de famille» qui définit les attributs qui diffèrent https://help.akeneo.com/pim/serenity/articles/manage-your-families.html#manage-family-variants . Akeneo prend également en charge les options de l'interface utilisateur.
La limitation est que seuls 3 niveaux de variation peuvent être contrôlés pour différents produits.
1.6. Les atouts
Les actifs sont des images, des vidéos ou des fichiers associés aux produits. Il s'agit d'informations très importantes qui sont généralement stockées dans les systèmes PIM.
La version gratuite d'Akeneo a un support de fichiers très limité. Vous ne pouvez avoir qu'un champ dans lequel vous pouvez placer une image ou un fichier. Si vous avez besoin de plus d'images, vous devez créer plus de champs. Vous ne pouvez pas leur attacher d'attributs et vous ne pouvez pas avoir de structure pour eux.
1.7. Importer / Exporter
Akeneo a la capacité d'importer et d'exporter des données à partir de fichiers CSV, Excel et XML. Mais vous ne pouvez pas mapper les colonnes de votre fichier sur le modèle de données Akeneo. Akeneo dispose d'un ensemble de configurations d'importation / exportation prédéfinies, vous devez donc fournir les noms de colonne corrects pour charger ou exporter des données. De plus, vous ne pouvez pas transformer les données à la volée, ce qui est souvent nécessaire lors de l'intégration avec diverses sources.
Ainsi, les capacités d'importation et d'exportation d'Akeneo sont très limitées.
1.8. Exhaustivité du produit et qualité des données
Akeneo dispose d'un bon support pour déterminer l'exhaustivité du produit (cela fait partie de la qualité de ces produits) . Vous pouvez définir les attributs requis pour chaque type de produit (famille) et pour chaque canal. L'interface utilisateur prend également en charge l'affichage de ces informations.
Akeneo prend en charge certains aspects de la qualité des données produit, par exemple, le type d'attribut empêche certaines erreurs de l'utilisateur, la définition de l'exhaustivité du produit est également bonne. Mais encore une fois, la prise en charge du contrôle qualité personnalisé est très limitée. Il faut programmer à un niveau bas si l'on veut définir sa propre logique qualité (et cela arrive très souvent dans de vraies affaires).
La version commerciale prend en charge le moteur de règles, ce qui est bien, mais pas la version gratuite.
1.9. Logique personnalisée et extensions d'interface utilisateur
La mise en œuvre d'une logique personnalisée peut être très importante dans les systèmes PIM car l'entreprise est très différente et il est souvent nécessaire d'exécuter une logique supplémentaire lorsque vous travaillez avec des produits.
Akeneo ne prend en charge cela qu'avec du code PHP de bas niveau. Vous pouvez définir votre propre logique et vos propres formulaires, mais cela nécessite une connaissance du framework PHP et prend du temps.
1.10. Conclusion
La version gratuite d'Akeneo a des limitations assez importantes qui peuvent empêcher son utilisation dans les affaires réelles. La gestion limitée des fichiers ou le manque d'objets personnalisés et la possibilité de définir facilement une logique personnalisée peuvent empêcher de nombreuses entreprises d'utiliser la version gratuite. La prise en charge des hiérarchies et des relations est également trop simple pour répondre à tous les besoins de l'entreprise.
La version commerciale d'Akeneo a résolu la plupart de ces problèmes. De plus, Akeneo dispose d'une bonne communauté et d'un réseau de partenaires de soutien. Par conséquent, je recommanderais d'utiliser la version commerciale d'Akeneo si l'entreprise est prête à payer pour cela (ce n'est pas bon marché). Et si vous recherchez une solution PIM gratuite, je ne recommanderais pas d'utiliser Akeneo.
2. Pimcore
Pimcore n'est pas seulement une solution PIM mais aussi une solution MDM . Il dispose également de capacités DAM (Asset Management). Pimcore se commercialise également en tant que plate-forme de commerce numérique et de données client, il possède donc de nombreuses fonctionnalités. Dans notre examen, nous ne considérerons que PIM.
Pimcore a également des versions gratuites et commerciales - https://pimcore.com/en/platform/subscription . Mais les fonctionnalités PIM et DAM sur lesquelles nous nous concentrons existent dans toutes les éditions.
2.1. Modèle de données
Pimcore possède toutes les capacités nécessaires pour définir les attributs associés aux produits. Pour ce faire, ils utilisent des classes d'objets . De plus, vous définissez non seulement les attributs eux-mêmes, mais également la structure de l'interface utilisateur, comment ils seront affichés.
Pimcore prend même en charge l'héritage d'attributs, donc si vous avez un attribut sur l'élément parent, ils peuvent être hérités par les enfants. Il possède de nombreux types d'attributs, y compris des attributs spécifiques à une langue. Tout cela vous offre des options puissantes pour définir votre modèle de domaine. Pimcore a plus d'options qu'Akeneo pour définir le modèle de données.
Le seul problème potentiel que je vois ici est que le système génère des classes PHP pour chaque classe d'objets que vous créez, nous avons donc le code PHP réel derrière toute cette interface utilisateur et vous devez parfois utiliser ces informations. dans l'interface utilisateur, par exemple, définissez "Nom de la classe PHP" ou "Classe parente". Par conséquent, si vous êtes loin de la programmation, il peut être difficile pour vous de définir le modèle de données.
2.2. Hiérarchies
Étant donné que les classes d'objets sont utilisées partout par le système, vous pouvez également les utiliser pour créer des hiérarchies. Il est plus flexible qu'Akeneo. Vous pouvez définir vos structures en tant que classes d'objets comme vous le souhaitez, puis utiliser des relations pour les lier à d'autres objets.
2.3. Objets personnalisés
Encore une fois, les classes d'objets peuvent être utilisées pour représenter n'importe quelle donnée, pas seulement des produits ou des hiérarchies. Vous pouvez définir vos propres classes d'objets pour tout type de données que vous souhaitez stocker dans PIM, comme les marques, les magasins, etc. Vous pouvez leur attacher les attributs requis et définir l'interface utilisateur pour les afficher comme des produits ordinaires.
Dans ce domaine, Pimcore a donc plus d'opportunités qu'Akeneo.
2.4. Dépendances
Vous pouvez définir différents types de relations entre tous les objets du système https://pimcore.com/docs/pimcore/current/Development_Documentation/Objects/Object_Classes/Data_Types/Relation_Types.html .
Cela vous permet de créer les connexions logiques nécessaires entre vos données. Le seul inconvénient que je vois est l'incapacité de créer des attributs pour ces dépendances.
2.5. Options
Pimcore a un support intégré pour les variantes. Et une interface spécialisée pour eux. Je n'ai trouvé aucun problème avec cette fonctionnalité.
2.6. Les atouts
Pimcore se positionne comme une solution DAM complète (en plus de PIM et d'autres solutions). Donc, dans ce domaine, cela peut même être plus que nécessaire pour le PIM.
2.7. Importer / Exporter
Les capacités d'import / export de Pimcore sont également limitées. Cette prise en charge est meilleure qu'Akeneo car vous pouvez mapper des données de colonne CSV ou XSL à des classes d'objets, mais le mappage est très simple. Vous ne pouvez pas utiliser la transformation et effectuer des calculs à la volée.
Les formats XML ou JSON ne sont pas directement pris en charge, c'est également un inconvénient.
2.8. Exhaustivité du produit et qualité des données
Il n'y a pas de support intégré pour l'exhaustivité du produit, mais il est facile à implémenter à l'aide de champs calculés. Une logique plus complexe peut être implémentée en écrivant votre propre code PHP, mais cela nécessite un effort supplémentaire.
Dans l'ensemble, Pimcore prend en charge la qualité des données. Vous disposez d'options pour définir les types de champs, utiliser des champs calculés pour une validation supplémentaire et utiliser des flux de travail pour définir votre processus. Vous disposez également de fonctionnalités de reporting et de tableaux de bord pour vous aider à visualiser ces données.
2.9. Logique personnalisée et extensions d'interface utilisateur
Comme je l'ai mentionné, les champs calculés sont le moyen le plus simple d'ajouter votre propre logique. Tous les autres cas d'ajout d'une logique personnalisée et d'une interface utilisateur se font via la programmation PHP.
2.10. Conclusion
Pimcore est une excellente solution, et pas seulement pour PIM. Il a plus de fonctionnalités que la version gratuite d'Akeneo, mais vous devez faire beaucoup plus d'efforts pour mettre en œuvre le projet, car le système est assez difficile à apprendre et à configurer.
Je ne recommanderais pas Pimcore aux petites entreprises en raison de sa complexité et de l'utilisation de beaucoup de PHP sous le capot. Pimcore est votre choix si vous êtes une moyenne à grande entreprise à la recherche d'une solution complète pour PIM, DAM, e-commerce, MDM et CDP. De plus, vous devez vous rappeler que vous avez besoin de ressources avec une bonne connaissance de PHP pour implémenter votre projet si vous souhaitez l'implémenter vous-même.
3. OpenPIM , version anglaise
OpenPIM est une solution entièrement gratuite. Il n'a pas de version commerciale, mais vous pouvez obtenir un support commercial si nécessaire.
3.1. Modèle de données
OpenPIM a des capacités étendues de définition de modèle de données similaires à Pimcore. Vous pouvez définir votre type et lui lier les attributs requis .
Le système dispose de nombreux types d'attributs que vous pouvez utiliser. L'héritage des données n'est pas directement pris en charge, mais peut être facilement implémenté à l'aide d'actions - https://openpim.ru/docs/admin/guide/03_Actions.html .
3.2. Hiérarchies
OpenPIM adopte la même approche que Pimcore. Vous pouvez définir vos propres types et les utiliser comme hiérarchies (en plus des types utilisés pour les produits). Ensuite, vous pouvez utiliser des relations pour associer la structure au produit ou à toute autre donnée.
Lorsqu'un utilisateur travaille avec des structures dans Pimcore ou Akeneo, il peut les créer à sa guise, sans aucun contrôle. Si vous souhaitez limiter les niveaux et la manière dont ils seront créés, vous devrez utiliser votre propre code PHP. OpenPIM a plus d'options ici, vous pouvez définir des contraintes par configuration sans aucune programmation.
3.3. Objets personnalisés
Comme avec Pimcore, vous pouvez définir des types pour toutes les données. Vous pouvez ensuite attribuer des attributs à vos types et utiliser des relations pour les connexions logiques. Par conséquent, vous pouvez stocker tous les objets dans le système.
Le stockage d'informations supplémentaires est un aspect important de tous les systèmes PIM et OpenPIM a toutes les fonctionnalités nécessaires pour cela.
3.4. Dépendances
Les dépendances sont utilisées pour lier logiquement vos données - voir la documentation pour plus de détails . Mais ici, vous pouvez également attribuer des attributs et des dépendances, c'est plus que ce que peuvent faire Akeneo ou Pimcore.
Vous pouvez également limiter le nombre de ces dépendances, ce qui vous permet de modéliser des relations un-à-un, un-à-plusieurs et plusieurs-à-plusieurs.
3.5. Options
OpenPIM ne prend pas en charge les variantes intégrées. Ils peuvent être facilement modélisés dans le modèle de données à l'aide de types et de relations. De cette façon, vous pouvez facilement enregistrer ces informations, mais il n'y a pas d'interface utilisateur dédiée pour les options, vous devez donc utiliser l'interface normale pour les utiliser. C'est moins pratique qu'Akeneo ou Pimcore.
3.6. Les atouts
La version gratuite d'Akeneo ne prend pas en charge les actifs, Pimcore est un DAM complet, il prend donc en charge encore plus que nécessaire. OpenPIM se tient au milieu. Il prend en charge les actifs prêts à l'emploi, vous pouvez donc télécharger et lier des fichiers et des images à n'importe quel objet, vous pouvez créer des structures pour vos actifs et leur ajouter les attributs requis. Mais vous ne pouvez pas générer de fichiers dérivés de fichiers existants (par exemple, des images avec une résolution ou un format différent) comme dans les systèmes DAM. Ceci est généralement suffisant pour les systèmes PIM, mais Pimcore a certainement plus d'options dans ce domaine.
3.7. Importer / Exporter
OpenPIM a un excellent support d'importation et d'exportation car il utilise l'outil ETL gratuit complet, Talend. Pour plus de détails, voir https://openpim.ru/docs/admin/guide/02_ImportExport.html .
De cette façon, vous pouvez importer des données de n'importe quelle source: CSV, Excel, XML, fichiers texte, bases de données, services Web, etc. Et vous pouvez également exporter des données vers toutes ces sources.
3.8. Exhaustivité du produit et qualité des données
Tout comme dans Pimcore, OpenPIM n'a pas de fonctionnalité prête à l'emploi pour l'exhaustivité du produit, mais il est facile à implémenter via des actions . Cela nécessitera des compétences en programmation, mais pas autant que ce qui est nécessaire pour Pimcore, car ici vous pouvez définir une petite logique javascript qui sera exécutée sur certains événements, et cela vous permettra de définir la logique de l'exhaustivité du produit.
D'autres fonctionnalités de qualité des données incluent des types d'attributs et des contrôles supplémentaires que vous pouvez définir sur un attribut. Les actions peuvent également être utilisées pour ajouter votre propre logique. Et le système dispose de tableaux de bord pour visualiser tout cela. Ainsi, OpenPIM est bien placé pour valider et visualiser la qualité des données.
C'est le meilleur support import / export des trois solutions.
3.9. Logique personnalisée et extensions d'interface utilisateur
Comme je l'ai déjà écrit, la principale capacité à définir une logique personnalisée est les actions . Il s'agit d'un petit code javascript qui peut être exécuté lorsque certains événements se produisent, tels que la création ou l'enregistrement de données et d'autres. Vous avez toujours besoin de connaissances en programmation, mais c'est beaucoup plus facile que d'écrire votre propre code PHP. En conséquence, vous pouvez créer votre propre logique avec moins de temps et d'efforts.
L'inconvénient est que vous ne pouvez pas définir votre propre interface utilisateur si vous en avez besoin. Vous ne pouvez créer qu'un bouton qui exécutera certaines actions prédéfinies. Cela peut suffire dans certains cas, mais certainement pas pour tous.
3.10. Conclusion
Je recommanderais OpenPIM aux petites et moyennes entreprises qui cherchent à mettre en œuvre une solution PIM par elles-mêmes sans payer d'argent supplémentaire aux entreprises partenaires pour les aider dans le processus.
C'est facile à apprendre et à utiliser. Il présente certaines limites, telles que l'impossibilité de définir une interface utilisateur personnalisée, mais dans la plupart des cas, il couvre tous les besoins d'une implémentation de système PIM.
OpenPIM n'est pas très adapté aux grandes entreprises car il ne dispose pas de certaines des fonctionnalités requises par de telles entreprises, comme les flux de travail, les portails de fournisseurs, etc., mais il est bon pour les petites et moyennes entreprises.