webleads-tracker

Buy The Way | Il était une fois un PIM !
23347
post-template-default,single,single-post,postid-23347,single-format-standard,ajax_fade,page_not_loaded,,select-theme-ver-2.3,wpb-js-composer js-comp-ver-5.1.1,vc_responsive
Akeneo - Pim

Il était une fois un PIM !

Akeneo, entreprise Franco-Américaine dont Yoav Kutner est le co-fondateur et l’ancien CTO de Magento travaille avec une équipe technique basée à Nantes qui propose une solution open source de gestion de l’information produit, plus communément appelé PIM (Product Information Managment).
Si au départ, la notion de PIM est née dans l’industrie américaine dans l’optique de centraliser les accès aux données et de fournir des interfaces automatisées de maintien ou de consommation de données (imports/exports), Akeneo a su, lui-même, en tant qu’éditeur, développer un outil de PIM open-source qui est disponible aussi bien en version communautaire qu’en version entreprise. La société a d’ailleurs, en 2014, réalisé une levée de fonds de 1,8M€ auprès d’Alven Capital pour accélérer son développement à l’international.
Le travail fourni a abouti à la dernière version en date, la 1.3 que nous avons utilisé pour un de nos projets.

Les avantages techniques

  • Ce PIM a été conçu avec le framework Symfony2, de nombreux modules ont été développés notamment un module d’export pour Magento.
  • Il est possible d’importer un jeu de données via les fixtures. Ainsi, chaque développeur possède le même jeu de données, ce qui est pratique pour créer les familles, les attributs et autres. De ce fait, en pré-production et en production, on est sûr d’avoir la même base.
  • Grâce à Symfony2, on peut facilement créer des modules, notamment pour créer ses propres modules d’import et d’export sans toucher au cœur du PIM.
  • Le PIM utilise le système de l’EAV (Entity Attribute Value) comme sur Magento. Or, quand on sait qui est le co-fondateur, on comprend pourquoi.
  • Le PIM fonctionne avec les bases de données relationnelles mais également avec MongoDB.

Les avantages fonctionnels

Une interface simple utilisateur permet de prendre en main l’outil rapidement, et le PIM permet une gestion simple des différents canaux. On peut ainsi gérer des produits pour un site E-commerce, pour un ERP, etc.
Le PIM prend en compte également les traductions. Ainsi, vous pourrez utiliser le PIM avec un site multi-langues.
La solution propose également une gestion des catégories, familles, attributs, options d’attributs, etc.
Un des points forts de cet outil est la simplicité d’importer et d’exporter des données (produits, catégories etc.) : il est possible d’automatiser des imports/exports via le cron ou de les lancer manuellement.
Comme son nom l’indique, le PIM permet de gérer les informations produits, il intègre pour cela une gestion de complétude de produits : il suffit de choisir les attributs obligatoires pour chaque famille et canal, et ensuite pour chaque produit, le PIM indiquera le pourcentage de complétude par canal. Cela permet d’améliorer le référencement en voyant les produits non complets.

Les inconvénients techniques

Le PIM nécessite une bonne maîtrise de Symfony2 pour comprendre l’architecture et tous ses principes.

Les inconvénients fonctionnels

Il n’y a pas de gestion des positions que ce soit sur les produits dans leur catégorie ou des associations produits dans le produit concerné, du moins dans la partie communautaire.

Ce qu’il ne faut pas faire

Après plusieurs recherches sur internet, nous avons compris qu’il ne fallait pas réaliser des exports de plusieurs milliers de produits en mode développement (app_dev). En effet, il y a une mauvaise gestion de la mémoire à cause du profiler de Symfony2 qui met en mémoire chaque produit et qui peut saturer la mémoire vive.

De notre côté

Nous avons utilisé le PIM d’Akeneo pour l’un de nos clients qui possède une plateforme Magento 1.6 composée de 4 sites web. Comme à son habitude, son fournisseur lui transmet l’ensemble des données produits dispatchées dans plusieurs fichiers CSV ce qui empêche l’exploitation des fichiers tels quels.

Le PIM correspondait donc bien à ce genre de problématique. Nous avons créé un connecteur d’import qui met place les fichiers CSV dans une base de données, et avec les bonnes relations, nous avons récupéré chaque produit via le connecteur. Nous avons transformé les produits au passage pour répondre au besoin du client et les avons ajouté dans le PIM.
Nous avons créé un canal par site web, ainsi le client peut modifier chaque produit pour chaque site web dans le PIM. Notre client ne possède pas de produit configurable mais le PIM peut apparemment les gérer. De même, nous n’avons pas utilisé les groupes produits.
Concernant l’export des produits du PIM, nous avons utilisé le module d’export pour Magento.

Conclusion

En définitive, si cet outil demande beaucoup de travail pour des projets complexes qui réclament un traitement spécifique (ex. les imports de produits depuis une base de données), il répond parfaitement à des besoins simples sans spécificité particulière (avec des imports/exports natifs via CSV, il n’y a pas besoin de coder).

Johnny

Tags: