-
Symfony/PHP ou J2EE ?
Bonjour,
Dans le cadre de la mise en oeuvre en entreprise d'une application de gestion, consistant globalement en un outil collaboratif de production pour un ensemble de services, s'est posée la question des outils à utiliser.
Après quelques discussions sur les contraintes internes, et quelques lectures de forums, je m'oriente aujourd'hui vers un développement PHP/Symfony ou J2EE+framework.
La base de donnée serait, idéalement Oracle 10g.
Le serveur web Apache est sous Linux Debian.
Je sais que le choix des outils est indiscutablement lié à la nature du projet, mais j'ai aujourd'hui quelques interrogations qui m'aideraient à me conforter dans mes choix :
- retours d'expériences sur projets Symfony ? En dehors de Dailymotion ou Yahoo, y a t-il beaucoup d'autres références, quelqu'un aurait-il déjà mené un projet d'entreprise sous Symfony ?
- y a t-il un gain réel de temps vis à vis de solutions J2EE, plus anciennes certes mais où il y aurait peut-être moins à "essuyer les plâtres" par rapport à une solution plus jeune ?
- retours d'expériences sur le temps de formation des équipes de développeurs PHP à Symfony ?
- maintenance post-projet : lors de la future mise en place d'une TMA sur le projet, des ressources PHP/Symfony sont-elles faciles à trouver par rapport à des ressources java ? Quid du temps d'appropriation et d'intervention sur ce type d'environnement ?
Bref, quelques retours d'expériences (idéalement plus sur des applications importantes plutôt que sur des petits sites web - mais je reste preneur de toute info) me seraient fort utiles pour la prise de décision.
En vous remerciant pour votre aide.
-
salut,
mon experience en symfony date d'une semaine, et je galere deja pas mal a trouver les solutions a mes problemes. c'est a cause de l'orm utilisé dans symfony, qui est propel. Je me suis rendu compte, en fouinant dans le code que propel ne permet pas l'utilisation de plusieurs bases de donnees (liés entre elles a travers les foreign keys). Ce n'est pas un besoin tres repandu certes, mais pour mon cas, j'en ai besoin. Je me suis rendu compte aussi qu'il ne gere pas bien l'un de ses propres tags ("external-schema"), et que dans son code, il passe un objet dans une fonction, sans specifier dans la fonction que l'objet sera passé par reference. Je ne suis pas experimenté en php5 mais quand j'ai debuggé j'ai trouvé que l'objet est revenu a son etat initial (avant l'appel). donc soit c'est un des signes d'immaturité de propel, soit les ressources de propel sont tres rares sur le net (deja trouver l'utilité de ce tag a ete un exploit). pour te donner une idee sur l'immaturité de propel, et toujours avec ce tag external-schema, le code qui traite ce tag cherche dans le debut du nom du fichier specifié dans ce tag un "/" pour savoir si c'est un path absolu ou relatif, donc si tu lui dis "c:\schema" il considere ca comme chemin relatif.
A part ca, tout semble parfait, c'est un bon framework a mon avis qui convient aux besoins les plus communs, apres pour les besoins specifiques (bases de donnees distribues etc), il faut bricoler.
De l'autre coté, j2ee et les framework qui tournent autour sont beaucoup plus matures, plus de ressources disponibles, une communauté plus large, un public plus professionnel, injection de dependences, orienté objet pur ... Mais peut etre moins rapide, moins souple (syntaxe php), plus coutant en ressources, en temps de deploiement, de developpement, de deboggage etc
Si j'avais le choix j'opterai pour j2ee (ejb3 ou spring+jpa ou hibernate).
bye
-
Merci beaucoup pour cette réponse ! Il est vrai que la question de la maturité de Propel nous est également apparue après nos premiers tests (gestion des clés primaires multiples et étrangères, gestions des vues, impossibilité actuelle de connexion à une base Oracle 10g avec la v1.3 de Propel, etc).
D'où mes réticences désormais à choisir ces technos pour un projet d'envergure à mi-chemin entre un intranet et une application de gestion...
-
Il est interessant de regarder du côté de l'orm Doctrine...vu que vous portez pas Propel dans votre coeur :D
Pour répondre à une question de ton premier post, former une équipe de développeur php à symfony n'est pas super compliqué non plus. Une série de tuto sur symphony-project.com te montre comme découvrir l'étendue du framework, puis ensuite faut se lancer...et trifouiller, comme partout ;)
Symfony 1.2 et Oracle, y'a ca, à savoir ce que ca vaut... :
http://www.oracle.com/technology/pub...a-symfony.html
C'est un bon framework professionel, à savoir s'il convient véritablement à ce que tu cherches...
EDIT :
OUPS j'avais pas regarder le second topic que tu as fait :D
Mille Excuses
-
Pas de souci Flo, merci pour ces précisions.
Nous allons, au niveau du projet, tenter du partir sur Symfony au moins pour le prototype (cela risque d'être conditionné par les possibilités de connexion entre Symfony 1.2 - Doctrine et Oracle 10g).
Par contre, il est vrai que le choix de Doctrine semble plus judicieux, surtout depuis que j'ai vu ce blog de SensioLabs :
http://www.sensiolabs.com/blog/post/...aux-Etats-Unis
Je n'ai pas forcément envie de me retrouver un jour avec des couts supplémentaires liés à une nécessité de migrer de Propel vers Doctrine.
Déjà qu'une version 2.0 de Symfony serait annoncée vers décembre 2009...
-
Migrer un application d'une version de symfony à une autre se fait très facilement ;) De ce côté fonce sans crainte, un ptit exemple ici : http://www.symfony-project.org/installation/1_2/upgrade
(Je me mouille un peu j'espère que les migrations vers les futures versions resteront de ce niveau)
Après beh Doctrine ou Propel ... faut faire un choix ^^ mais en effet ton lien est encourageant pour Doctrine.