Sylius a souvent l'image d'une solution classique pour faire des boutiques e-commerces basiques, mais il peut faire beaucoup plus. Sylius en mode Headless c’est possible ? Pourquoi ? Comment ? Au travers d'exemples tirés de retours d'expériences nous répondrons aux questions précédentes et vous aurez sûrement un nouveau point de vue sur Sylius après cette conférence.
Conférence donnée lors du AFUP Day 2021 Toulouse, ayant eut lieu le 28 mai 2021.
3. • Qu’est ce que Sylius? •
Haut standard de qualité et pas de dette technique
Testé et Testable
Facile à héberger et à faire évoluer
Prêt pour le Headless et les PWA
?
13. • SYLIUS HEADLESS •
Communication entre les différents Systèmes
Synchrone API Platform : REST (GraphQL) une API unifiée
Nouvelle API (presque) finie
Documentation
Création d’un SDK
?
30. • FRONT HEADLESS •
Server Side Rendering
Thèmes déjà existants
Simple
Performances réduites
Progressive Web App
Frameworks e-commerce existants
Génération de site statique
Coût plus élevé
i
i
31. • ERP HEADLESS •
Gestion des Crons
Récupération des statuts de commande x
fois par jours
Mise à jour stocks x fois par jours ou à
l’ajout au panier
Le site e-commerce a un décalage par
rapport à la réalité
Push de l’ERP
Mise à jour des statuts de commande
Mise à jour des stocks
Mise à jour en temps réel
34. • SYLIUS HEADLESS •
Quelques questions à se poser avant de se lancer
Est-ce utile pour notre projet ?
En avons nous vraiment besoin ?
Quelle est notre dépendance à chaque système externe ?
Comment gérons nous la résilience de notre application ?
?
?
?
i
?
Intégration progressivement les solutions externes
Sans headless
Toutes les briques fonctionnent avec la même base de code et communiquent directement les unes avec les autres, formant ainsi le site Web dans son ensemble.
Découpage de notre solution pour avoir 1 besoin = 1 système qui lui est associé
ex : front + EPR => plus d’infos + tard
Responsabilité découplée
chaque système est responsable des données qu’il produit
gestion de version séparées
La meilleure solution
utiliser la solution qui répond le mieux à notre besoin
Performance :
utilisation de plusieurs serveurs
plus flexible
Plusieurs administrations
a chaque système son administration
Dépendances externes
notre projet à des dépendances externes qu’il faut suivre
Résilience
gestion de la résilience de l’application
que se passe t-il si un système est indisponible
quel est notre niveau de dépendance à celui-ci ?
Marqué comme expérimental
API Platform + Swagger = doc auto générée
CRUD classique
Admin VS Shop
admin VS shop
2 endpoints
Sérialisation et normalisation et validation APIP
Définition des endpoints
Groupe de sérialisation
Workflow piloté par le headless
Workflow d’un panier
Modification de l’état (Validation) d’un panier
Workflow piloté dans un endpoint
Cammand Handler servent à la Validation et la persistance Doctrine