Spryker, un nouveau framework e-commerce PHP

Publié le Mis à jour le Par ,

Le monde de la solution technique e-commerce est très vaste, avec une variété d’acteurs fournissant tous types de solutions recouvrant les besoins métiers avec plus ou moins de contraintes sur leurs évolutions. Spryker se positionne entre la solution complètement intégrée comme Magento, Hybris ou ATG et le développement spécifique ou à l’aide d’une librairie comme Sylius. Sa cible : les projets e-commerce où le besoin ne correspond pas exactement à ce que savent faire les outils phares : produits dématérialisés, locations…

Techniquement, nous avons à faire à du code PHP respectant les bonnes pratiques (SOLID, etc.) et au design réfléchi, embarquant un ensemble d’autres solutions pour des besoins spécifiques : Elastic Search pour la recherche/catégorisation, Redis pour le cache produits, RabbitMQ pour la gestion des piles de traitement, etc. L’architecture, assez innovante, distingue le Back End (nom de code Zed) et le Front End (nom de code Yves). Même si les deux sont développés en Silex, les similitudes s’arrêtent là : le back écrit dans MySQL, une synchronisation est faite de MySQL vers Elastic Search et Redis où le Front les lit. Le Front communique donc très peu avec le Back et quand il le fait c’est via des APIs JSON.

Sur le papier, cela permet de bonnes performances (~50ms) pour les pages non transactionnelles (sans aucun cache HTTP). Ce qui corrobore assez bien nos propres résultats lorsque nous avons mis en place des architectures similaires pour nos clients.

Fonctionnellement, la solution offre un certains nombre de modules autonomes et totalement découplés les uns des autres, à activer en fonction des besoins projets (gestion du multicanal, des factures, des prix, de la logistique, des traductions, des listes de voeux… plus d’une cinquantaine de modules). En revanche, l’outil ne propose pas de PIM ou de DAM intégré, préférant se concentrer sur son cœur de métier e-commerce et laisser des solutions spécialisées répondre à ces besoins.

Bien que n’ayant pas encore de référence en Production, le projet porté par Boris Lokschin ((CEO de Spryker, ex-CEO de Symmetrics)) et Fabian Wesner ((CTO de Spryker, ancien de chez Rocket Internet et Project A)) a l’air diablement intéressant et pourrait répondre à de nombreux besoins trop innovants pour les solutions établies et ne nécessitant pas pour autant un développement spécifique complet.