SlideShare une entreprise Scribd logo
Sulu : LE CMS Ultime?
Meetup AFUP Montpellier
Julien Vinber - 24 mars 2022 - Crealead
Julien Vinber
● Junior depuis 20 ans
● Architecte technique chez CGI
● Coorganisateur des Meetup
● …
● …
LinkedIn : @julienvinber
C’est quoi un CMS?
CMS : Content Management System ou Système de gestion de contenu
Le CMS a pour but d’offrir un ensemble d’outils et de mécanisme pour gérer le contenu d’un site internet.
C’est quoi un CMS?
Alors pourquoi tous les projets
n’utilisent pas de CMS ?
La simplicité n’est pas un but, mais une ressource.
Alors pourquoi tous les projets n’utilisent pas de CMS ?
Pour nous les dev quand on pense CMS les concepts que l’on va associer :
● Code de merde (non je ne parlerais pas de wordpress)
● Extensible, mais après avoir compris la logique non documentée.
● Absence de liberté.
● Mécanisme absolument incompréhensible pour faire des choses simples dans la vraie vie.
● Il existe un plug-in pour cela (lourd, bugger et ne fait pas vraiment ce que l’on veut.)
Alors pourquoi tous les projets n’utilisent pas de CMS ?
Les CMS sont orienté Webmaster.
Quelquefois ils pensent aux utilisateurs.
Généralement ils concentrent les efforts en documentation à destination des décideurs.
Et le dev dans tout cela?
Alors pourquoi tous les projets n’utilisent pas de CMS ?
Alors pourquoi parler de Sulu?
SULU
=
Symfony (brut)
+
Bundle CMS
Alors pourquoi parler de Sulu?
Si je veux :
● Je peux créer mon entité Doctrine
● Je peux créer mon controller
● Les templates c’est du twig que je peux autant utiliser pour faire mes pages Sulu que pour mes controller.
● …
Alors pourquoi parler de Sulu?
Donc le CMS Ultime?
Forcément non.
Mais pas dénué d'intérêt,
si on accepte les défauts.
Donc le CMS Ultime?
Avantages
● La promesse et tenus, nous avons la liberté de faire ce que l’on veut en Symfony en oubliant Sulu
● Sulu est souple et permet facilement de personnaliser pour avoir le comportement attendu.
Exemple :
○ Nous avons pu créer une entité et facilement lui attacher tous les comportement des pages normale,
telle que la prévisualisation.
Avantages
Fonctionnalités :
● Gestion de page et leur contenu.
● Pas de systéme de gros Wysiwyg, mais des formulaires avec la possibilité de créer des champs multiple en
laissant l’utilisateur choisir.
● Gestion de média (image / vidéo / document)
● Traitement à la volée sur les images.
● Personnalisation de l’admin.
● Liberté entière pour gérer l’affichage.
● L’admin et le site web sont deux projets distincte.
● Gestion du cache en natif.
● Gestion d’utilisateur et des droits, multilangue, multisite…
● …
Avantages
Oui, mais…
Le plus gros défaut à mon sens et la taille de l’équipe qui travail sur le projet.
Inconvénient
● Parfois verbeux.
● Documentation bien faite, quand elle aborde le sujet. Mais il manque pas mal de points un peux plus
poussé.
● Si on veut vraiment faire ce que l’on veut pour l’admin il vaut mieux bien connaître React.
Inconvénient
Coté perf c’est mitigé.
● C’est un peux lourd
● Entre 200 et 300 requête par page sur un site “moyen riche”
● Sur Windows un site SF c’est un peux lent, mais cela reste utilisable. Avec Sulu c’est quasiment
insupportable.
● Une admin en react c’est plutôt lourd pour les phases de dev.
● Une temps moyen d’une petit second par pages
Mais il y as du cache (attention le cache peut se désactiver, par exemple avec un formulaire)
Inconvénient
Beaucoup de micro frustration :
● Une page Sulu, à une route Sulu. Mais la route n’est pas SF. Donc impossible de mélanger.
● Ils utilise le XML pour décrire les modèle de pages. Mais c’est très lourd et on à exploser les limite de
mémoire sur le projet (riche à ce niveaux).
● On peut personnaliser beaucoup de choses dans l’admin, sauf que Sulu charge ses blocs après nous,
impossible de personnaliser ce qu’il fond.
● Sulu utilise PHP CR, et passe par doctrine résultat cela fonctionne comme doctrine, mais sans jamais être
dû doctrine. Par exemple il y a deux système de fixture, identique, mais différent.
Inconvénient
Des choix discutables
● il y as 2 sous projets, donc 2 gestion de JS. Sauf que l’un est avec NPM, l’autre avec YARN.
● Les utilisateurs cela ce nomme des contacts.
● Les articles c’est avec elasticsearch. (une version sans arriveras peut-être en v3)
Inconvénient
Niveaux techniques
● On peut faire du PHP 8.1, mais rien de planifié pour du SF 6
● Pour l’admin utilise des script custom et lourd pour gérer l’API. On ne peux pas utiliser le sérialiseur de SF ou
API platforme pour avoir quelque chose de propre.
○ On c’est retrouver à explosé la mémoire car leur système aller chercher ultra loin dans les data.
● Ils utilisent de vieux bundle swiftmailer jms serializer
Inconvénient
En conclusion
Non, ce n’est pas le CMS Ultime.
Mais il n’est pas pour autant à jeter.
Si on le connais, parfait pour de petit site ou il y as un besoin d’avoir la main.
Pour des sites moyens? Je dirait plutôt oui pour des sites qui vont vivre dans le temps avec la même équipe, mais
à bien prendre en compte 2 points :
● Le coûts de familiarisation n’est pas négligeables.
● Il n’y a pas “le plug-in qui le fait déjà“ .
● C’est une solution faite pour les dev. Mais pas sans quelque frustration.
Pour des gros site? Je serais moins chaux, on doit faire des compromis et j’ai peur que leur coût ne soit pas
compatible avec la taille du projet.
Pour qui?
Je le réutiliserais?
Ce n’est pas une solution cout de coeur.
Mais je ne l'exclut pas.
?
D’autre CMS à base
de SF full stack
https://symfony.com/projects/contao
https://symfony.com/projects/kunstmaanbundles
https://symfony.com/projects/bolt
https://symfony.com/projects/symfonycmf

Contenu connexe

Tendances

Td gei3 télmobile n°1
Td gei3 télmobile n°1Td gei3 télmobile n°1
Td gei3 télmobile n°1
Fabius N'YABA
 
Terraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみたTerraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみた
山下 達也
 
Cybersecurité dossier
Cybersecurité dossier Cybersecurité dossier
Cybersecurité dossier
MandyDentzer
 
GStreamer 101
GStreamer 101GStreamer 101
GStreamer 101
yuvipanda
 
Ad(microsoftの方)のOpenId Connect対応
Ad(microsoftの方)のOpenId Connect対応Ad(microsoftの方)のOpenId Connect対応
Ad(microsoftの方)のOpenId Connect対応
Naohiro Fujie
 
KeenLab iOS Jailbreak Internals: Userland Read-Only Memory can be Dangerous
KeenLab iOS Jailbreak Internals: Userland Read-Only Memory can be DangerousKeenLab iOS Jailbreak Internals: Userland Read-Only Memory can be Dangerous
KeenLab iOS Jailbreak Internals: Userland Read-Only Memory can be Dangerous
Priyanka Aash
 
sécurité informatique
sécurité informatiquesécurité informatique
sécurité informatique
Mohammed Zaoui
 
LCU14-103: How to create and run Trusted Applications on OP-TEE
LCU14-103: How to create and run Trusted Applications on OP-TEELCU14-103: How to create and run Trusted Applications on OP-TEE
LCU14-103: How to create and run Trusted Applications on OP-TEE
Linaro
 
Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)
Emertxe Information Technologies Pvt Ltd
 
Android audio system(audioflinger)
Android audio system(audioflinger)Android audio system(audioflinger)
Android audio system(audioflinger)
fefe7270
 
Introduction Linux Device Drivers
Introduction Linux Device DriversIntroduction Linux Device Drivers
Introduction Linux Device Drivers
NEEVEE Technologies
 
Developer Tutorial: WebAuthn for Web & FIDO2 for Android
Developer Tutorial: WebAuthn for Web & FIDO2 for AndroidDeveloper Tutorial: WebAuthn for Web & FIDO2 for Android
Developer Tutorial: WebAuthn for Web & FIDO2 for Android
FIDO Alliance
 
Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)
Emertxe Information Technologies Pvt Ltd
 
Linux Device Tree
Linux Device TreeLinux Device Tree
Linux Device Tree
艾鍗科技
 
今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>
今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>
今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>
Naoto Miyachi
 
QCM Sécurité Informatique
QCM Sécurité InformatiqueQCM Sécurité Informatique
QCM Sécurité Informatique
Zakariyaa AIT ELMOUDEN
 
PE102 - a Windows executable format overview (booklet V1)
PE102 - a Windows executable format overview (booklet V1)PE102 - a Windows executable format overview (booklet V1)
PE102 - a Windows executable format overview (booklet V1)
Ange Albertini
 
Alphorm.com Formation Palo Alto : Installation et configuration de base
Alphorm.com Formation Palo Alto : Installation et configuration de baseAlphorm.com Formation Palo Alto : Installation et configuration de base
Alphorm.com Formation Palo Alto : Installation et configuration de base
Alphorm
 
U boot-boot-flow
U boot-boot-flowU boot-boot-flow
Protection contre l'ARP poisoning et MITM
Protection contre l'ARP poisoning et MITMProtection contre l'ARP poisoning et MITM
Protection contre l'ARP poisoning et MITM
ESD Cybersecurity Academy
 

Tendances (20)

Td gei3 télmobile n°1
Td gei3 télmobile n°1Td gei3 télmobile n°1
Td gei3 télmobile n°1
 
Terraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみたTerraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみた
 
Cybersecurité dossier
Cybersecurité dossier Cybersecurité dossier
Cybersecurité dossier
 
GStreamer 101
GStreamer 101GStreamer 101
GStreamer 101
 
Ad(microsoftの方)のOpenId Connect対応
Ad(microsoftの方)のOpenId Connect対応Ad(microsoftの方)のOpenId Connect対応
Ad(microsoftの方)のOpenId Connect対応
 
KeenLab iOS Jailbreak Internals: Userland Read-Only Memory can be Dangerous
KeenLab iOS Jailbreak Internals: Userland Read-Only Memory can be DangerousKeenLab iOS Jailbreak Internals: Userland Read-Only Memory can be Dangerous
KeenLab iOS Jailbreak Internals: Userland Read-Only Memory can be Dangerous
 
sécurité informatique
sécurité informatiquesécurité informatique
sécurité informatique
 
LCU14-103: How to create and run Trusted Applications on OP-TEE
LCU14-103: How to create and run Trusted Applications on OP-TEELCU14-103: How to create and run Trusted Applications on OP-TEE
LCU14-103: How to create and run Trusted Applications on OP-TEE
 
Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)
 
Android audio system(audioflinger)
Android audio system(audioflinger)Android audio system(audioflinger)
Android audio system(audioflinger)
 
Introduction Linux Device Drivers
Introduction Linux Device DriversIntroduction Linux Device Drivers
Introduction Linux Device Drivers
 
Developer Tutorial: WebAuthn for Web & FIDO2 for Android
Developer Tutorial: WebAuthn for Web & FIDO2 for AndroidDeveloper Tutorial: WebAuthn for Web & FIDO2 for Android
Developer Tutorial: WebAuthn for Web & FIDO2 for Android
 
Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)
 
Linux Device Tree
Linux Device TreeLinux Device Tree
Linux Device Tree
 
今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>
今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>
今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>
 
QCM Sécurité Informatique
QCM Sécurité InformatiqueQCM Sécurité Informatique
QCM Sécurité Informatique
 
PE102 - a Windows executable format overview (booklet V1)
PE102 - a Windows executable format overview (booklet V1)PE102 - a Windows executable format overview (booklet V1)
PE102 - a Windows executable format overview (booklet V1)
 
Alphorm.com Formation Palo Alto : Installation et configuration de base
Alphorm.com Formation Palo Alto : Installation et configuration de baseAlphorm.com Formation Palo Alto : Installation et configuration de base
Alphorm.com Formation Palo Alto : Installation et configuration de base
 
U boot-boot-flow
U boot-boot-flowU boot-boot-flow
U boot-boot-flow
 
Protection contre l'ARP poisoning et MITM
Protection contre l'ARP poisoning et MITMProtection contre l'ARP poisoning et MITM
Protection contre l'ARP poisoning et MITM
 

Similaire à Sulu LE CMS Ultime

FinistJUG - J’ai besoin d’une appli web rapidement
FinistJUG -   J’ai besoin d’une appli web rapidementFinistJUG -   J’ai besoin d’une appli web rapidement
FinistJUG - J’ai besoin d’une appli web rapidementHoracio Gonzalez
 
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidementENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidementHoracio Gonzalez
 
Pourquoi choisir un CMS Open Source ?
Pourquoi choisir un CMS Open Source ?Pourquoi choisir un CMS Open Source ?
Pourquoi choisir un CMS Open Source ?OSInet
 
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !Horacio Gonzalez
 
Comment choisir son cms
Comment choisir son cmsComment choisir son cms
Comment choisir son cms
StrasWeb
 
Des poneys à Liberation.fr
Des poneys à Liberation.frDes poneys à Liberation.fr
Des poneys à Liberation.frliberation_dev
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tous
jwajsberg
 
Création de blog et sites internet
Création de blog et sites internetCréation de blog et sites internet
Création de blog et sites internet
piera5
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Eric D.
 
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
SOAT
 
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
mbrechet
 
Optimisation de son site web
Optimisation de son site webOptimisation de son site web
Optimisation de son site web
Christophe Avonture
 
Les nouveaux challenges techniques pour le SEO
Les nouveaux challenges techniques pour le SEOLes nouveaux challenges techniques pour le SEO
Les nouveaux challenges techniques pour le SEO
Groupe Neper
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ?
haricot
 
Forum PHP 2014 day 1
Forum PHP 2014 day 1Forum PHP 2014 day 1
Forum PHP 2014 day 1
Olivier (DaffyDuke) Duquesne
 
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Guillaume RICHARD
 
Publier en ligne via un CMS
Publier en ligne via un CMS Publier en ligne via un CMS
Publier en ligne via un CMS
CRDPRouen
 
Les performances Web mobile
Les performances Web mobileLes performances Web mobile
Les performances Web mobile
Jean-Pierre Vincent
 

Similaire à Sulu LE CMS Ultime (20)

FinistJUG - J’ai besoin d’une appli web rapidement
FinistJUG -   J’ai besoin d’une appli web rapidementFinistJUG -   J’ai besoin d’une appli web rapidement
FinistJUG - J’ai besoin d’une appli web rapidement
 
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidementENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
 
Pourquoi choisir un CMS Open Source ?
Pourquoi choisir un CMS Open Source ?Pourquoi choisir un CMS Open Source ?
Pourquoi choisir un CMS Open Source ?
 
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
 
Comment choisir son cms
Comment choisir son cmsComment choisir son cms
Comment choisir son cms
 
Des poneys à Liberation.fr
Des poneys à Liberation.frDes poneys à Liberation.fr
Des poneys à Liberation.fr
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tous
 
Création de blog et sites internet
Création de blog et sites internetCréation de blog et sites internet
Création de blog et sites internet
 
Pourquoi un CMS
Pourquoi un CMSPourquoi un CMS
Pourquoi un CMS
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
 
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
 
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
 
Cms oss-27012006
Cms oss-27012006Cms oss-27012006
Cms oss-27012006
 
Optimisation de son site web
Optimisation de son site webOptimisation de son site web
Optimisation de son site web
 
Les nouveaux challenges techniques pour le SEO
Les nouveaux challenges techniques pour le SEOLes nouveaux challenges techniques pour le SEO
Les nouveaux challenges techniques pour le SEO
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ?
 
Forum PHP 2014 day 1
Forum PHP 2014 day 1Forum PHP 2014 day 1
Forum PHP 2014 day 1
 
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
 
Publier en ligne via un CMS
Publier en ligne via un CMS Publier en ligne via un CMS
Publier en ligne via un CMS
 
Les performances Web mobile
Les performances Web mobileLes performances Web mobile
Les performances Web mobile
 

Plus de Julien Vinber

PHP8.2_SF8.2.pdf
PHP8.2_SF8.2.pdfPHP8.2_SF8.2.pdf
PHP8.2_SF8.2.pdf
Julien Vinber
 
Swoole Meetup AFUP¨Montpellier 27/01/2021
Swoole   Meetup  AFUP¨Montpellier 27/01/2021Swoole   Meetup  AFUP¨Montpellier 27/01/2021
Swoole Meetup AFUP¨Montpellier 27/01/2021
Julien Vinber
 
Et si on en finissait avec CRUD ?
Et si on en finissait avec CRUD ?Et si on en finissait avec CRUD ?
Et si on en finissait avec CRUD ?
Julien Vinber
 
Php 7.4 2020-01-28 - afup
Php 7.4   2020-01-28 - afupPhp 7.4   2020-01-28 - afup
Php 7.4 2020-01-28 - afup
Julien Vinber
 
Symfony vs laravel
Symfony vs  laravelSymfony vs  laravel
Symfony vs laravel
Julien Vinber
 
Meet up symfony 16 juin 2017 - Les PSR
Meet up symfony 16 juin 2017 -  Les PSRMeet up symfony 16 juin 2017 -  Les PSR
Meet up symfony 16 juin 2017 - Les PSR
Julien Vinber
 
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireMeet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaire
Julien Vinber
 
Meetup symfony 30 janvier 2017 - événement
Meetup symfony 30 janvier 2017 - événementMeetup symfony 30 janvier 2017 - événement
Meetup symfony 30 janvier 2017 - événement
Julien Vinber
 

Plus de Julien Vinber (8)

PHP8.2_SF8.2.pdf
PHP8.2_SF8.2.pdfPHP8.2_SF8.2.pdf
PHP8.2_SF8.2.pdf
 
Swoole Meetup AFUP¨Montpellier 27/01/2021
Swoole   Meetup  AFUP¨Montpellier 27/01/2021Swoole   Meetup  AFUP¨Montpellier 27/01/2021
Swoole Meetup AFUP¨Montpellier 27/01/2021
 
Et si on en finissait avec CRUD ?
Et si on en finissait avec CRUD ?Et si on en finissait avec CRUD ?
Et si on en finissait avec CRUD ?
 
Php 7.4 2020-01-28 - afup
Php 7.4   2020-01-28 - afupPhp 7.4   2020-01-28 - afup
Php 7.4 2020-01-28 - afup
 
Symfony vs laravel
Symfony vs  laravelSymfony vs  laravel
Symfony vs laravel
 
Meet up symfony 16 juin 2017 - Les PSR
Meet up symfony 16 juin 2017 -  Les PSRMeet up symfony 16 juin 2017 -  Les PSR
Meet up symfony 16 juin 2017 - Les PSR
 
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireMeet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaire
 
Meetup symfony 30 janvier 2017 - événement
Meetup symfony 30 janvier 2017 - événementMeetup symfony 30 janvier 2017 - événement
Meetup symfony 30 janvier 2017 - événement
 

Dernier

MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
Horgix
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
abderrahimbourimi
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 

Dernier (6)

MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 

Sulu LE CMS Ultime

  • 1. Sulu : LE CMS Ultime? Meetup AFUP Montpellier Julien Vinber - 24 mars 2022 - Crealead
  • 2. Julien Vinber ● Junior depuis 20 ans ● Architecte technique chez CGI ● Coorganisateur des Meetup ● … ● … LinkedIn : @julienvinber
  • 4. CMS : Content Management System ou Système de gestion de contenu Le CMS a pour but d’offrir un ensemble d’outils et de mécanisme pour gérer le contenu d’un site internet. C’est quoi un CMS?
  • 5. Alors pourquoi tous les projets n’utilisent pas de CMS ?
  • 6. La simplicité n’est pas un but, mais une ressource. Alors pourquoi tous les projets n’utilisent pas de CMS ?
  • 7. Pour nous les dev quand on pense CMS les concepts que l’on va associer : ● Code de merde (non je ne parlerais pas de wordpress) ● Extensible, mais après avoir compris la logique non documentée. ● Absence de liberté. ● Mécanisme absolument incompréhensible pour faire des choses simples dans la vraie vie. ● Il existe un plug-in pour cela (lourd, bugger et ne fait pas vraiment ce que l’on veut.) Alors pourquoi tous les projets n’utilisent pas de CMS ?
  • 8. Les CMS sont orienté Webmaster. Quelquefois ils pensent aux utilisateurs. Généralement ils concentrent les efforts en documentation à destination des décideurs. Et le dev dans tout cela? Alors pourquoi tous les projets n’utilisent pas de CMS ?
  • 10. SULU = Symfony (brut) + Bundle CMS Alors pourquoi parler de Sulu?
  • 11. Si je veux : ● Je peux créer mon entité Doctrine ● Je peux créer mon controller ● Les templates c’est du twig que je peux autant utiliser pour faire mes pages Sulu que pour mes controller. ● … Alors pourquoi parler de Sulu?
  • 12. Donc le CMS Ultime?
  • 13. Forcément non. Mais pas dénué d'intérêt, si on accepte les défauts. Donc le CMS Ultime?
  • 15. ● La promesse et tenus, nous avons la liberté de faire ce que l’on veut en Symfony en oubliant Sulu ● Sulu est souple et permet facilement de personnaliser pour avoir le comportement attendu. Exemple : ○ Nous avons pu créer une entité et facilement lui attacher tous les comportement des pages normale, telle que la prévisualisation. Avantages
  • 16. Fonctionnalités : ● Gestion de page et leur contenu. ● Pas de systéme de gros Wysiwyg, mais des formulaires avec la possibilité de créer des champs multiple en laissant l’utilisateur choisir. ● Gestion de média (image / vidéo / document) ● Traitement à la volée sur les images. ● Personnalisation de l’admin. ● Liberté entière pour gérer l’affichage. ● L’admin et le site web sont deux projets distincte. ● Gestion du cache en natif. ● Gestion d’utilisateur et des droits, multilangue, multisite… ● … Avantages
  • 18. Le plus gros défaut à mon sens et la taille de l’équipe qui travail sur le projet. Inconvénient
  • 19. ● Parfois verbeux. ● Documentation bien faite, quand elle aborde le sujet. Mais il manque pas mal de points un peux plus poussé. ● Si on veut vraiment faire ce que l’on veut pour l’admin il vaut mieux bien connaître React. Inconvénient
  • 20. Coté perf c’est mitigé. ● C’est un peux lourd ● Entre 200 et 300 requête par page sur un site “moyen riche” ● Sur Windows un site SF c’est un peux lent, mais cela reste utilisable. Avec Sulu c’est quasiment insupportable. ● Une admin en react c’est plutôt lourd pour les phases de dev. ● Une temps moyen d’une petit second par pages Mais il y as du cache (attention le cache peut se désactiver, par exemple avec un formulaire) Inconvénient
  • 21. Beaucoup de micro frustration : ● Une page Sulu, à une route Sulu. Mais la route n’est pas SF. Donc impossible de mélanger. ● Ils utilise le XML pour décrire les modèle de pages. Mais c’est très lourd et on à exploser les limite de mémoire sur le projet (riche à ce niveaux). ● On peut personnaliser beaucoup de choses dans l’admin, sauf que Sulu charge ses blocs après nous, impossible de personnaliser ce qu’il fond. ● Sulu utilise PHP CR, et passe par doctrine résultat cela fonctionne comme doctrine, mais sans jamais être dû doctrine. Par exemple il y a deux système de fixture, identique, mais différent. Inconvénient
  • 22. Des choix discutables ● il y as 2 sous projets, donc 2 gestion de JS. Sauf que l’un est avec NPM, l’autre avec YARN. ● Les utilisateurs cela ce nomme des contacts. ● Les articles c’est avec elasticsearch. (une version sans arriveras peut-être en v3) Inconvénient
  • 23. Niveaux techniques ● On peut faire du PHP 8.1, mais rien de planifié pour du SF 6 ● Pour l’admin utilise des script custom et lourd pour gérer l’API. On ne peux pas utiliser le sérialiseur de SF ou API platforme pour avoir quelque chose de propre. ○ On c’est retrouver à explosé la mémoire car leur système aller chercher ultra loin dans les data. ● Ils utilisent de vieux bundle swiftmailer jms serializer Inconvénient
  • 25. Non, ce n’est pas le CMS Ultime. Mais il n’est pas pour autant à jeter.
  • 26. Si on le connais, parfait pour de petit site ou il y as un besoin d’avoir la main. Pour des sites moyens? Je dirait plutôt oui pour des sites qui vont vivre dans le temps avec la même équipe, mais à bien prendre en compte 2 points : ● Le coûts de familiarisation n’est pas négligeables. ● Il n’y a pas “le plug-in qui le fait déjà“ . ● C’est une solution faite pour les dev. Mais pas sans quelque frustration. Pour des gros site? Je serais moins chaux, on doit faire des compromis et j’ai peur que leur coût ne soit pas compatible avec la taille du projet. Pour qui?
  • 28. Ce n’est pas une solution cout de coeur. Mais je ne l'exclut pas. ?
  • 29. D’autre CMS à base de SF full stack https://symfony.com/projects/contao https://symfony.com/projects/kunstmaanbundles https://symfony.com/projects/bolt https://symfony.com/projects/symfonycmf