Successfully reported this slideshow.
Your SlideShare is downloading. ×

Sylius sans e-commerce pourquoi et comment ?

Sylius sans e-commerce pourquoi et comment ?

Download to read offline

Après plusieurs années d'utilisation de Sylius pour du e-commerce, cette solution fait ses preuves et continue son bout de chemin à la vitesse d'une fusée ! Son utilité en dehors de ce cadre peut surprendre mais est tout à fait justifiée et le but est de vous le montrer. Après un bref tour d'horizon sur comment "retirer" la partie e-commerce de Sylius, nous verrons comment il peut vous être utile pour vos projets quels qu'ils soient.

Après plusieurs années d'utilisation de Sylius pour du e-commerce, cette solution fait ses preuves et continue son bout de chemin à la vitesse d'une fusée ! Son utilité en dehors de ce cadre peut surprendre mais est tout à fait justifiée et le but est de vous le montrer. Après un bref tour d'horizon sur comment "retirer" la partie e-commerce de Sylius, nous verrons comment il peut vous être utile pour vos projets quels qu'ils soient.

Advertisement
Advertisement

Sylius sans e-commerce pourquoi et comment ?

  1. 1. Maxime Huran Lead Developer chez Monsieur Biz @maximehuran
  2. 2. Sylius sans e-commerce Pourquoi et comment ?
  3. 3. Sylius 1.10 PHP 8 Symfony 5
  4. 4. Pourquoi ? • Exper'se Sylius / Symfony chez Monsieur Biz • Un backoffice • Un front • Des bundles / plugins Sylius
  5. 5. ChannelBundle
  6. 6. ThemeBundle
  7. 7. UserBundle
  8. 8. AdminUserBundle
  9. 9. ResourceBundle GridBundle On va les u*liser tout à l'heure !
  10. 10. Comment ?
  11. 11. Première approche Monofony
  12. 12. Monofony Avantages • E-commerce totalement supprimé • Possibilité d'ajouter des bundles Sylius supplémentaires • Mise à jour indépendante des bundles Sylius
  13. 13. Monofony Inconvénients • Dépendant des mainteneurs Monofony • Non compa6ble avec les plugins Sylius
  14. 14. Deuxième approche : SyliusNoCommercePlugin
  15. 15. SyliusNoCommercePlugin Avantages • Rapide à me+re en place (composer require) • Profite des MAJ de Sylius • Possibilité de passer à un site e-commerce facilement
  16. 16. SyliusNoCommercePlugin Inconvénients • Le e-commerce est caché mais toujours présent
  17. 17. Des exemples concrets
  18. 18. BPI Talents
  19. 19. MeetMyCoach
  20. 20. D'autres projets Plein d'autres exemples mais ce n'est pas le sujet aujourd'hui.
  21. 21. Des plugins pour aller encore plus loin
  22. 22. AdminBe(erLogin
  23. 23. AlertMessage
  24. 24. CmsPage
  25. 25. Homepage
  26. 26. Menu
  27. 27. Se#ngs
  28. 28. Comment ? Avec du code
  29. 29. Installer Sylius • Développer sous Sylius en 40 minutes top chrono h7ps:/ /www.maximehuran.fr/ developpez-sous-sylius-en-40-minutes- top-chrono/ • InstallaCon - Sylius DocumentaCon h7ps:/ /docs.sylius.com/en/1.10/book/ installaCon/installaCon.html
  30. 30. Require monsieurbiz/sylius- no-commerce-plugin
  31. 31. Créons nos en)tés !
  32. 32. Author • First name • Last name Book BookTransla*on • Title • Descrip,on Book • Transla(ons (Une par langue) • Author
  33. 33. Author
  34. 34. BookTransla*on
  35. 35. Book
  36. 36. Migra&ons
  37. 37. Sylius Resources
  38. 38. Documenta*on Sylius h"ps:/ /github.com/Sylius/SyliusResourceBundle/blob/master/ docs/index.md
  39. 39. Admin rou*ng
  40. 40. • alias : Alias de notre resource dans le sylius_resources • section : admin pour nous (va générer des URL de la sec<on admin) • templates : CRUD Sylius de base, on peut les personnaliser
  41. 41. • redirect : Redirec*on après le formulaire (show, sinon index, update possible) • except: Routes à exclure ['delete', 'update', 'index', 'show', 'create', 'bulk_delete'] • Existe aussi only (Dans le sens inverse)
  42. 42. • grid : Grid u)lisée, on va revenir dessus ensuite. • vars: Tableau de variables, on a notamment une icon pour l'admin • type : On prévise que c'est un type Sylius Resource.
  43. 43. Autres paramètres • path : URL custom • identifier : Pour u/liser autre chose que id en iden/fier • criteria : Pour ajouter un critère à nos routes • etc. h"ps:/ /github.com/Sylius/SyliusResourceBundle/blob/master/ docs/rou:ng.md
  44. 44. Ajout des liens dans le menu admin
  45. 45. Aller on clique dessus !
  46. 46. Sylius Grid
  47. 47. Possibilités • Ac$ons custom (Main, item, bulk) • Filtres custom • U$liser des templates twig pour les fields (Sylius en fournit, ex : yesno) • etc.
  48. 48. Documenta*on Sylius h"ps:/ /github.com/Sylius/SyliusGridBundle/blob/master/docs/ index.md
  49. 49. CRUD
  50. 50. Formulaires
  51. 51. Valida&ons
  52. 52. Modifica(on
  53. 53. Suppression
  54. 54. Suppresion en masse A"en%on aux erreurs humaines !
  55. 55. Et les APIs ?
  56. 56. /api/v2/docs
  57. 57. Des fixtures • Fixture Factory • Fixture On peut inclure la première dans la seconde mais on a moins de possibilités
  58. 58. Fini le back, en avant le front !
  59. 59. Resource Controller
  60. 60. Possibilités des routes avec Sylius • Redirec(ons après des ac(ons (Après créa(on de commentaire, rediriger à tel endroit) • Ajouter des variables customs (Labels de boutons, routes de boutons, etc.) • U(liser un repository par(culier dans le show (Espace privé sur un type de client) • U(liser un form type custom si la page con(ent un form
  61. 61. Documenta*on Sylius • h#ps:/ /github.com/Sylius/SyliusResourceBundle/blob/master/ docs/index_resources.md • h#ps:/ /github.com/Sylius/SyliusResourceBundle/blob/master/ docs/show_resource.md
  62. 62. Lister les derniers auteurs en homepage
  63. 63. Modifier le repository
  64. 64. Déclarer notre Ui Element (Lame)
  65. 65. Configura)on de notre homepage
  66. 66. Récapitulons
  67. 67. Tout ce qu'on a fait • Gérer des en*tés et traduc*on • U*liser les CRUD Sylius via les Sylius Resources (Routes et Form) • Manipuler les Grid Sylius pour un affichage FO et BO • Ouvrir les APIs pour nos en*tés • Générer des fixtures pour nos en*tés • Créer un UI Element pour l'u*liser dans le Rich Editor
  68. 68. Et ensuite ? • U#liser le Rich Editor dans la descrip#on d'un livre • U#liser un thème custom en front • Ajouter une ges#on de commentaires sur les livres
  69. 69. Encore plus fou • Plugin de blog • U.liser le plugin Elas.csearch pour afficher nos en.tés • Plugin de widgets • Theme headless qui appelle les APIs
  70. 70. Développer avec Sylius c'est top !
  71. 71. Le dépot Github h"ps:/ /github.com/monsieurbiz/sylius-no- commerce-demo
  72. 72. Merci ! Vos ques(ons Venez nous voir au stand Sylius !

×