Manager @ SensioLabs Passions : rap français – e-commerce Smile intégrateur de solutions open source Plus de 60 projets de plus 250 jours Magento, Drupal, Jahia, Liferay, Sf2, Spring… E-commerce o 10 millions de produits et plus… o 200 pages / secondes et plus o Multi Store, Multi Marchand, Multi Canaux, Marketplace…
Marketplace : Fnac, Drive : Chronodrive, Auchan Drive… o Abonnement : Birchbox o Ventes flash : Voyages privés B2B prix négocié par client : o gestion de CE, vente de voitures… … Il faut concentrer ses forces sur le métier pour créer du lien avec le client et le faire revenir Alternative : avoir un produit incroyable… sans aucune concurrence.
middleware PHP » Symfony 2 comme Middleware : le liant applicatif Le développement spécifique sert à combler le gap entre les progiciels référents et le besoin client. o Respect des domaines fonctionnels
une même application. !!! Difficulté de maintenance !!! Règles métiers complexes et inutiles Modification de la structure d’un outil Faire d’un blog un e-commerce… Il faut séparer les deux applications o CMS o E-commerce On ne fait pas des slides avec Excel !
! Core API Une gestion fine des ACL via un serveur oauth, autres… Concevoir des applications par domaine : faire peu mais faire mieux o Faciliter la mise à jour d’un service / sa maintenance / sa disponibilité Oublions les applications monolithiques o La segmentation applicative à partir des Controlleur n’est pas suffisante Et si on envisageait la segmentation par domaine fonctionnel ?
Stateless : scalabilité horizontale Sécurisé : SSL + token Test facile et documentation automatique NelmioApiBundle Gestion de version applicative Varnish pour définir la fréquence de rafraichissement des données
/ CDN quand vous modifiez une information produit / catalogue… Si vous n’avez pas de calcul à faire sur votre catalogue (création de vue), prix le plus le bas… Stockez le dans Solr ou Elasticsearch : scalable, API Rest Ayez des alertes sur vos services et flux : New Relic, Monitoring… N’ayez pas peur d’utiliser des services tiers : Prediggo, Compario, LiveFyre, Gigya… Les bundles Socle : MSSecurityExtraBundle, StofDoctrineExtensionBundle, LiipCacheControlBundle, MonologBundle, Symfony-cmf/Routing, TemplatedUriBundle API : JMSSerializerBundle, FosRestBundle, BazingaHateoasBundle, NelmioApiDocBundle, BazingaFakerBundle
s3, MongoGridFS Sonata Media Bundle Thumbor : service intelligent de gestion d’images (Détections de visages, motifs) Interface intelligente de gestion des medias ? Ckfinder ? Mise en place de queue de traitement asynchrone pour les traitements de masse.
la guerre Créer une machine à état grâce aux bundles : github.com/yohang/Finite DoctrineStateMachineBundle Gestion des différents états de la commande ou du panier Une tâche en parallèle vérifie les états des commandes pour déclencher des actions Liée à des systèmes tiers comme la notification de paiement ou de remboursement, la gestion d’abonnement… Votre e-commerce n’est pas un outil de Business Intelligence, gardez uniquement des KPI simples sur votre interface d’administration
interlocuteurs ESB ERP CRM BI WMS DAM MARKETPLACE (lengow, mirakl…) Dans différents formalismes : SOAP REST EDI CSV... HATEHOAS Messapack pour les applications mobiles Organisation votre modèle de données Modèle de base pour gérer votre modèle Créer des services pour manipuler vos interfaces SOAP / REST exposées MONITORER LES FLUX !!!
différentes applications Utilisateur : o FosUserBundle o HWIOAuthBundle o FosCommentBundle o … SonataAdminBundle Centraliser les événements utilisateurs et suivre l’activité de ses utilisateurs Real user monitoring / New Relic Insight
pour indexer la PIM et bénéficier des avantages d’un moteur de recherche o API REST o Fonctionnalités liées à un moteur de recherche Recommandation : up sell, cross sell… Ajout de la gestion d’affinité produit à chaque achat ou création de liste de produits pour effectuer un système de recommandation simple Définition de règle métier avec ExpressionLanguage pour l’association de produit Intégrer des outils tiers : Prediggo, Fred Hopper, Compario…
Placer du contenu CMS pour faire vivre vos catégories Le contenu des experts, le rappel concernant la sécurité de paiements ESI / SSI / Hinclude / pjax / turbolinks Content as a Service / Data as a Service Sulu.io Pagekit
d'un prestataire monétique : o PayumBundle Utilisez un PSP – payment service provider : be2bill, paybox… o Facilité d’ouverture de nouveaux de pays o Gestion de la fraude o API de gestion des paiements Paiement One-Click Paiement 3 x sans frais par CB (et relances automatique) Paiement à l’expédition Paiement simple Remboursement partiel/total depuis le Back-Office Paiement Cross-Canal Autorisation simple (vérification de la validité de la carte)
fallback sur les pages les plus consommatrices : une version dégradée de l’application. Prévoir son application stateless de façon à faciliter la scalabilité horizontale Découplage des services et des sites Ratchet ? WebRTC ? Hébergement scalable Cluster de base de données et d’indexation Création d’instance à la volée pour s’adapter à la charge : o Docker, Serf, Mesos… Predictive auto-scaling (Scryer/Netflix) Traffic pattern : variable