Bonjour,

Je suis directeur technique d'un site de E-commerce (audience moyenne mais qui devrait bien croitre l'an prochain) et j'envisage une refonte de notre site l'an prochain.
Nous sommes pour le moment sur un framework "maison" en PHP5 et j'envisage de passer à un framework du marché. Bien sûr le premier qui vient à l'esprit en ce moment est symfony, mais je ne suis pas encore fixé, il faut dire que le choix est vaste…

Pourquoi ce changement?
D'abord pour rationaliser nos développements, ensuite pour gagner en efficacité et surtout pouvoir avoir une meilleur tolérance à la charge. Enfin parce que nous sommes dans une phase stabilisation métier, donc le choix d'un full maison qui était justifié jusque là, n'est plus pertinent.

Parmi mes questions :
Comment faire son choix, quel sont les critères de différenciations?
Peut-on faire le changement de manière progressive ou non?
Quelle est la difficulté d'apprentissage du framework?
Vu le niveau de mes développeurs (4 ans d'expérience en moyenne), quelle formation dois-je envisager?
Quels sont les vrais bénéfices à faire cette bascule?

En bref j'attends des conseils de personnes qui ont déjà vécu ce changement, me dire quelles ont été leur bon et mauvais choix, les pièges que je pourrai éviter…

Merci d'avance à tous. Smiley biggrin
Modérateur
Salut,

Question redondante....
Google est ton ami (pourquoi un framework php) et en faisant une recherche dans le forum, tu vas trouver pas mal de choses.

Sinon tu parles de sites e commerce, pourquoi ne te tournes tu pas vers un cms tels que Magento, Prestashop, Thelia, etc. ? Parceque derrière ces ouitils il y a aussi un cadre de travail. Smiley cligne
Modifié par niuxe (13 Oct 2014 - 23:45)
Bonjour,
merci de ta réponse, oui je connais google et effectivement c'est mon meilleur ami!

Peut-être me suis-je mal exprimé, ce que je recherche c'est plutôt des conseils de personnes qui sont passé par là, qui pourraient partager leur expérience, parce que la littérature (que j'ai lu) donne bien toute la théorie, mais moi ce qui m'intéresse c'est la pratique dans la vraie vie Smiley cligne

Les solutions que tu cites ne sont clairement pas faites pour nous car nous aurions beaucoup de développement spécifique, et pas mal de choses à "refaire" à cause des contrainte de notre marché, donc peu d'intérêt, surtout que comme je le dit nous sommes murs au niveau métier et avons une parfaite maitrise de toutes nos règles de gestion.

Merci de ton aide!
Modérateur
cet article peut t'orienter (mais ce n'est pas du tout une vraie vision) : http://bunpu.free.fr/index.php?post/Symfony2-retour-sur-experience-et-remise-en-question-sur-l-efficacite-du-framework

Perso, j'utilise Cake depuis plus de 4 ans et demi. Désormais quand je pense projet web, je pense Cakephp. Je ne fais plus rien à la main. J'utilise les solutions existantes qui fonctionnent parfaitement. C'est vrai que réinventer la roue peut être jouissif, mais dans le taf, tu n'as pas le temps.

Le choix d'un cadre de travail ne se fait pas à la légère puisqu'il faudra passer du temps à apprendre et comprendre l'outil. Si tu te plantes dans ce choix, les conséquences peuvent être désastreuses (je sais de quoi je parle puisqu'un ami s'est retrouvé avec le même problème. Il a utilisé une technologie exotique et son dev s'est fait la malle. Résultat, il a annoncé au client que le temps de livraison sera doublé...).

Avec Symfony, on peut faire de belles choses. Mais je trouve que l'investissement n'en vaut pas la chandelle (ex : Twig une belle hérésie !). C'est mon avis. D'ailleurs, je trouve que l'outil est une usine à gaz pour pas grand chose. Après je peux comprendre qu'il y ait des mordus de ce framework. Mais comme j'ai dit, c'est mon avis

Perso, si je devais apprendre un framework, ce serait soit Laravel soit Phalcon.
Modifié par niuxe (14 Oct 2014 - 14:18)
Bonjour,

Je rejoins l'avis de Niuxe, Symphony c'est une sacré usine à gaz, c'est un frameWork assez lourd qui demande beaucoup de réflexion et de recul avant de faire un tel choix.

Personnellement j'utilise CodeIgniter, un framework plutôt léger. Il existe plein de petit plugin qui peuvent "s'installer" simplement et éviter de réécrire la roue en plus ou moins bien d'ailleurs. Il possède une super doc donc pour de l'autodidacte c'est génial. Il ont également un forum d’entre-aide où les gens sont plutôt réactifs.

Je pense que le choix doit être discuter aussi avec l'équipe, après 4 ans de développement ils ont bien dû faire leur expérience sur plus ou moins un certain nombre de plateforme non ? Cependant à ne pas confondre "j'ai envie de découvrir" et "il est conseillé d'utiliser".

La migration ne peut se faire petit à petit, les framework ont chacun leur règle de nommage concernant leurs urls. L'intérêt de passer d'un FrameWork Maison à un FrameWork reconnu est principalement de ne pas avoir de problème "d'entretien" (/de maintenance) et pour le remplacement ou le recrutement d'un développeur son intégration peut être faite plus rapidement et sans mobilisation de tiers personne.

Le choix du FrameWork est la première interrogation, pense aussi aux règles de développement pour obtenir un code de qualité et unifié.
J'ai dû mal à comprendre pourquoi tu veux passer d'un système maison à un framework. Limite la transition inverse m'aurait moins surpris.

Question charge, c'est franchement pas sûr que tu y gagnes. Tous les framework et CMS que j'ai déjà pu essayé avaient toujours plus ou moins un parfum d'usine à gaz (certains plus que d'autres quand même).
De mon point de vue, l'avantage du système maison c'est qu'on fait exactement que ce dont on a besoin. Donc sauf si c'est vraiment codé avec les pieds, ça sera nécessairement toujours plus performant que n'importe quel CMS ou framework.

Je serais d'avis de dire que tant que tout le monde n'en a pas marre parce que c'est le gros bordel dans le code, tant que la charge tient encore bien avec quelques réserves, et tant que tu n'envisage pas une méga refonte en partant de quasi-zéro qui pour l'une ou l'autre raison est inéluctable, mieux vaut conserver et faire évoluer un système qui marche. Vu de l'extérieur c'est quand même du temps que tu passes à ne rien faire de visible finalement.

Après si tu y tiens toujours, pour faire son choix, c'est difficile de donner des noms en fait... les comparaisons véritablement objectives sur les performances ou la facilité d'utilisation sont très compliquées à faire, et c'est en définitive surtout une question personnelle. IL faut vraiment en essayer plusieurs soi-même pour se faire une idée... pour moi c'est du même ordre que Java vs C#, ou windows vs mac.
Modérateur
Pourquoi je ne m'intéresse pas à Symfony ?
- Twig (Quelle hérésie)
wikipedia a écrit :

Le langage PHP fut créé en 1994 par Rasmus Lerdorf pour son site web. C'était à l'origine une bibliothèque logicielle en C dont il se servait pour conserver une trace des visiteurs qui venaient consulter son CV. Au fur et à mesure qu'il ajoutait de nouvelles fonctionnalités, Rasmus a transformé la bibliothèque en une implémentation capable de communiquer avec des bases de données et de créer des applications dynamiques et simples pour le Web.

- lourd (dans le sens que la courbe d'apprentissage peut être fastidieuse - ça ne se justifie pas, il y a des solutions plus simples. ex : Où est l'intérêt de twig comme moteur de rendu ? )
- lourd (dans le sens que tu décides de faire un one page portfolios par exemple. C'est tuer une mouche avec un tank)
- et là pour moi, le plus gros point noir : les technologies utilisées et la philosophie entre chaque version (sous versions comprises) est pour ainsi dire très déroutante....

Sinon, oui c'est un bon framework (les deux versions confondues) ! J'ai vu tourné des app avec Symfony 1.2 -> 1.4 et 2+. Ça fonctionne sans problème. Doctrine est un très bon outil. Il facilite pas mal de choses. Il y a une plus grande modularité dans ton projet (sa force). C'est un outil complet ! Symfony gère mieux le multi-site (hmvc entres autres si je ne m'abuse). Après tout dépend de comment organiser ton / projets car Symfony ne se justifie pas toujours (un tank pour une mouche).

Peut être que cette info t'a échappée qui sait : http://www.sitepoint.com/best-php-frameworks-2014/

Fais toi un avis perso (créer un crud par exemple) sur les 5 - 6 frameworks qui ont le vent en poupe. Il va falloir que tu te poses les bonnes questions telles que par exemple : Ok ce framework est pas mal, mais est ce qu'il est complet et est ce qu'il répond à mon / mes besoins ? Est ce que je vais trouver la ressource avec cet outil (dev web - doc - extension / composants / etc. - etc.) ? Il y a quelques temps, j'avais répondu et lu des réponses pertinentes sur un sujet similaire. Je me souviens que les réponses du sujet avaient été pertinentes. fais une petite recherche.

Comme je te l'ai dit, pourquoi ne te tournes tu pas vers un CMS tels que Magento ou Prestashop ou Thelia ? Ce sont déjà des solutions e commerce que tu peux largement développer. Même avec un CMS comme Drupal ou Joomla, tu peux faire énormément de choses tels que du e-commerce. À la base, ce n'est pas fait pour ça, mais tu peux très bien le faire. Quand on commence à regarder un framework, c'est plutôt pour développer quelque chose qui ne se fait pas encore ou que les solutions proposées ont des contraintes.


@QuentinC : Dans l'absolue, je suis entièrement d'accord avec toi (pourquoi changer alors que ça tourne). Cependant, je mets le gros bémol. C'est un site e-commerce. Le jour où un dev web arrive, il doit se former à l'outil (il y a un coût). Pour peu qu'il doit apprendre dans la précipitation, il risque de faire des sottises. Normalement, il y a toujours quelqu'un pour veiller au grain. Demain, un chef de projet arrive et demande de mettre en, place l'administration d'un chat ou autres choses. Il va falloir développer alors qu'avec d'autres outils cette solution existe déjà et est peut être facile à mettre en place. http://extensions.joomla.org/extensions/communication/chat
Modifié par niuxe (14 Oct 2014 - 22:08)
Bonjour!

D'abord un grand merci pour vos réponses.

Je constate ici que le sujet est loin d'être tranché (un peu comme dans ma tête).

Effectivement le site tourne bien, on en a une parfaite maitrise, il respecte plus ou moins le MVC (bas oui des fois pour aller vite on est tenté de mettre un peu de métier dans la vue), j'ai mis en place des règles de codages strictes et clair (dans le code et dans la base) dès le début donc c'est compréhensible! Donc effectivement la question se pose : pourquoi changer?

Je ne suis pas sur d'avoir la réponse en vérité, et c'est un peu pour ça que j'en parle à quiconque veut bien m'écouter (ou me lire).

Je suis d'accord qu'il ne faut pas céder à un effet de mode, mais il ne faut pas non plus passer à côté des "bonnes innovations"! D'autre part, quand je vois le marché de l'emploi, je me dis qu'une offre "Développeur Full-stack sur framework maison " ça va pas attirer les foules, et le problème se situe justement là aussi (comme le disait Mini-truc), il faut penser au remplacement de l'équipe, on sait que les développeurs ne restent pas indéfiniment.

D'autre part il y a l'approche REST qui est aussi intéressante dans l'optique d'avoir un cœur métier multi support (ou j'ai rien compris et je me mets le doigt dans l’œil?

@niuxe : j'ai bien vu ce comparatif sur sitepoint mais il y en a 1000 et selon les sites, c'est yii, symfony, phalcon qui arrive en tête. Sur les CMS, en fait je gère 2 sites de e-commerce, celui dont je parle depuis le début (qui vends des produits complexes, et sous fortes contraintes réglementaires) et un autre qui est sous prestashop (qui vends des produits plus simples mais avec des contraintes de vente plus élevées).
Or quand je vois comme le prestashop a été maltraité et combien il a été compliqué de passer en 1.5 (beaucoup de redéveloppements perso), j'ai vraiment pas envie de faire la même chose…

Pour résumer vos conseils me font dire qu'il faut que j'étudie bien le périmètre fonctionnel à moyen terme, en fonction de ça :
-soit le périmètre reste inchangé, du coup je peux consacrer du temps à améliorer l'existant (revoir le MVC strictement, faire du tuning sur les requêtes SQL, améliorer le caching…)
-soit on ajoute de nouvelles fonctionnalités qui sont dispo dans les frameworks et du coup on peut passer du temps sur la bascule.

En tous cas merci encore d'avoir pris du temps pour me répondre! Smiley ravi