-
Symfony ou Laravel
Bonjour à tous,
Je cherche à créer un site de e-commerce que je souhaite évolutif. Des fonctionnalités assez simples au début pour ensuite aller vers des fonctionnalités plus poussées, et qui j'espère à terme puisse générer pas mal de transactions.
En bref, je souhaiterais une solution "scalable".
En terme de framework, il y a apparemment deux frameworks très populaires, Symfony et Laravel, même si j'ai quand même l'impression que Symfony est surtout utilisé en France.
J'ai aussi vu Prestashop, mais que je sens bien en deça en termes de popularité.
Lequel me conseilleriez-vous dans mon cas ? Lequel m'offrira plus de garanties sur le long terme ?
Merci d'avance pour vos avis ;)
-
salut,
Pour avoir utilisé Symfony pendant plusieurs années, j'ai fini par l'abandonner. À mes yeux c'est de la branlette intellectuelle. Pour arriver à en faire le tour, je ne te dis pas la courbe d'apprentissage.
Tu vas utiliser des paquets d'outils tiers (avec leurs lots de problèmes), tu vas te manger des tonnes de fichiers de configuration. Pour déboguer le moindre truc, quand tu vois la pile d'appels tu pleures. Et je suis loin d'être novice en PHP. Pour vendre leur truc, c'est simple, tu entends toujours les mêmes arguments : ça pose un cadre, ça structure une équipe, tu ne réinventes pas la roue et le meilleur d'entre tous "ça fait plus pro", comme me l'a dit un jour un gourou de SF. Sauf que si tu as des développeurs un minimum compétents, tout ça se fait naturellement.
À la différence, la prise en main de Laravel m'a semblé beaucoup plus simple, j'ai essayé Laravel 5 (je ne parle pas des dernières versions). L'approche est structurante (comme symfony) mais beaucoup plus pragmatique. Il y a moins de nœuds au cerveau. J'ai eu l'impression de produire un résultat acceptable beaucoup plus rapidement (ça semble l'impression générale de beaucoup de devs)
Après il y a d'autres aspects à prendre en compte : pour utiliser ces outils, il va te falloir d'une part apprendre plein de nouvelles syntaxes (Blade, Twig, Doctrine, Eloquent), la logique architecturale derrière chaque framework et enfin disposer d'un moteur de cache qui tourne au taquet, sinon cela ne sera pas tout simplement exploitable en production (la surcouche que cela crée est telle...)
Je te finis dans le monde professionnel : c'est mitigé. Il y a plusieurs années, j'avais constaté un engouement assez fort pour symfony (c'est pour cette raison que je m'y étais mis moi aussi), depuis à peu près 2 ans, je trouve que cela se tasse vraiment. Laravel va finir par supplanter symfony. En tout cas, toutes les boites internationales que je côtoie ont tendance à privilégier Laravel. Il y a une maintenance des projets sf mais les nouveaux projets démarrent plus souvent sur Laravel. Les raisons sont multiples : à l'international, Laravel dispose de plus de ressources humaines, la difficulté à trouver des devs SF multi-versions, le coût des devs SF...
Le plus gros problème de ces framework, c'est qu'ils ont perdu de vue qu'une application est une unité. Que les éléments qui la composent ne sont pas interchangeables juste parce que tu le décides. Dans leur esprit, tout doit être dynamique, interchangeable en deux coups de cuillère à pot (c'est beau sur le papier). Sauf que pour parvenir à donner ou maintenir cette illusion, cela nécessite de concevoir une architecture logicielle de dingue (la pile d'appels). C'est une erreur à mes yeux.
Comme en toute chose, il ne faut pas oublier que "l'enfer est pavé de bonnes intentions".
Personnellement, j'opterai pour une solution e-commerce basée sur Laravel.