La 3ème édition de la Sylius Con a réuni 250 participants le 13 novembre 2024 au centre des congrès de Lyon. L’événement a proposé trois parcours distincts – une track Business et deux tracks techniques – permettant aux 25 speakers experts de partager leur savoir-faire et répondre aux attentes variées des participants.
Opening Keynote (Mikołaj Król)
Dans un premier temps, il a été mis en avant la politique de communication menée par Sylius via l’organisation d’events, meetup, avec un œil toujours présent sur la communauté ; chan slack par exemple. Il a été également mentionné le partenariat technique avec plateform.sh via le Sylius Cloud.
Évidemment (ce que tout le monde attendait), nous avons eu la primeur de la release de Sylius 2.0. Enfin ont été décernés les Sylius Award aux membres / sociétés reconnues dans la croissance constante de Sylius.
Create World-Class Sylius Plugins (Joachim Løvgaard)
Il s’agissait ici de plusieurs points importants pour la création de plugins (Sylius ou non)
- Bien définir ses dépendances composer (et surtout ne pas ajouter Sylius/Sylius)
- Suivre le semantic versioning
- Utiliser la prepend configuration
- Définir des valeurs par défaut pour la configuration
- Créer ses propres Entitées plutôt que de surcharger celles de Sylius (afin d’éviter les conflits) pouvant étendre les interfaces par défaut associées
- Utiliser les DataProviders plutôt que de surcharger les repository de base (pour les même raisons)
- Utiliser les DTOs & VOs pour le transfert de données structurées
- Tester : test fonctionnels, d’intégration, mutation testing
- Utiliser des outils d’analyse statique, les commentaires associés (psalm, phpstan, etc.) et les automatiser via les github actions
Pour la création de squelette de plugin : https://github.com/Setono/SyliusPluginSkeleton ou https://github.com/monsieurbiz/SyliusPluginMaker
Sylius Beyond E-commerce: Building the Perfect WordPress Competitor (Jacques Bodin-Hullin)
WordPress étant la source de 44% des sites internet mondiaux, PHP lui-même fait attention à garantir sa compatibilité. Or, si Sylius est déjà capable de remplacer WooCommerce, MonsieurBiz nous montre comment il a recréé dans Sylius les fonctionnalités CMS manquantes (et nécessaires) pour bon nombre de sites via SyliusCms.
- Editeur de contenu : SyliusRichEditorPlugin
- Configuration intégrée dans l’admin Sylius : SyliusSettingsPlugin
- Blocs réutilisables : SyliusCmsBlockPlugin
- Pages custom et Homepage : SyliusHomepagePlugin
- Menu : SyliusMenuPlugin
- Gestion des Media : SyliusMediaManagerPlugin
- Blogging : SyliusBlogPlugin
- Et pour désactiver la partie ecommerce de Sylius : SyliusNoCommercePlugin
Sylius Payment Overview and Future (Francis Hilaire)
Après avoir fait le point de l’existant et de ces limites avec l’intégration de Payum, dans Sylius 2.0 le concept de “Payment Requests” a été ajouté afin de simplifier l’intégration des providers ; que ce soit en back ou en front. Il est également possible de travailler de manière asynchrone avec les modes de paiement qui le supportent.
Adapting Price Calculation to B2B Needs (Luca Gallinari & Manuele Menozzi)
Là où les prix dans le B2C sont uniformes pour les utilisateurs avec une gestion des promotions au niveau du panier, dans le B2B, les prix sont spécifiques par utilisateurs (ou groupes) et utilisent de très nombreuses règles métiers pour être définis.
3 approches pour définir les prix B2B sont possibles :
- Le calcul des prix par l’ERP et son appel par API. Celui-ci demande une haute disponibilité.
- Le pré-calcul des prix pour tous les cas d’usages / utilisateurs. Celui-ci demande un énorme volume de stockage (et de calcul le cas échéant)
- Le calcul en temps réel. Celui-ci implique la duplication des règles de calcul de l’ERP et peut induire à un désalignement de la donnée.
C’est cette 3ème approche qui a été techniquement démontrée, via son implémentation dans Sylius par les 2 speakers de webgriffe.
Boost your Sylius apps and simplify deployment with FrankenPHP (Kévin Dunglas)
FrankenPHP est un module du serveur web Caddy fournissant (entre autres) : Le support de HTTP 2 et 3, HTTPS par défaut, les Early Hints, worker mode (travail en mémoire), un mode temps réel (via Mercure).
Pour une présentation complète de l’outil, de ses capacités et comment le mettre en place : https://frankenphp.dev/
Sylius as a… Vending machine? A tale of unusual Sylius’ use-cases (Konrad Alfaro)
A l’instar de ce qui été démontré par Jacques Bodin-Hullin, dans la seconde conférence, Sylius est avant tout une base de code et un cadre projet. Il est possible de l’utiliser comme bridge ETL via la puissance des API de API Platform. Sylius peut être une brique d’un projet plus gros, afin de répondre au besoin catalogue produit, de panier, de paiement, …
Developer Docs: The write way to streamline project (Ksenia Zvereva)
La documentation, c’est comme les sauvegardes : personne ne veut en faire mais en cas de problème “que dit la documentation ?”
Dans cette dernière conf, dynamique, on tente de répondre à une problématique récurrente des projets : la documentation.
Les problèmes initiaux sont souvent une fragmentation des sources entre différents outils et un gros volume de données.
Afin de tenter d’y remédier, il est nécessaire de :
- suivre une ligne directrice claire
- utiliser une interface utilisateur intuitive
- pouvoir extraire les données (en PDF par exemple)
- relire, partager propriété entre toute l’équipe, la garder à jour régulièrement
- ajouter des commentaires de code (OpenAPI pour les API)
- ne pas se baser sur une réunion à l’oral, mais écrire les choses (surement la chose la plus importante à mon avis)
- s’adapter à son audience
- incorporer la documentation au cycle de développement
Conclusion
Cette troisième édition de la Sylius Con (et la première hors de la Pologne) était vraiment réussie. Merci au staff, aux speakers, de nous avoir fait découvrir ce que Sylius est, peut être et va devenir.