Partage
  • Partager sur Facebook
  • Partager sur Twitter

JEE vs Symfony

    14 mars 2012 à 10:28:17

    Bonjour,

    Dans le cadre d'un projet collectif qui a pour but de développer un espace numérique de travail, avec certains spécifications ,c'est que ce site là doit permettre le maximum d’échange entre les utilisateurs,on a pensé de faire un truc similaire à Facebook !,mais notre problème c'est qu'on est encore égarer dans le choix technologique enfin de compte et après un filtrage ,il nous reste le Framework Symfony et la technologie JEE (j'ai déjà travaillé avec le php5 ainsi que le Java mais j'ai jamais fait un projet de ce poids là ) , J'avoue ne pas savoir sur quels technologies commencer le projet .
    Alors j'ai besoin de votre expérience pour me dire quel'est la meilleur solution et pourquoi?
    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      14 mars 2012 à 11:27:00

      La meilleure solution dépend entièrement des compétences de ton équipe. Il est possible de faire des choses magnifiques avec les 2 frameworks. La plus grande erreure serait de choisir un framework "plus puissant" pour rapidement découvrire que l'équipe n'y connaît absolument rien.

      Si tu connais déjà le PHP et Java, alors tu dois pouvoir te former ta petite idée de ce que tu préfères. Parles-en à ton équipe, et si tous le monde est d'accord lancez-vous.

      Souviens-toi, cette décisions est un détail, et je vous conseille d'éviter de passer trop de temps à discuter de ceci. L'essentiel est de commencer à coder le plus rapidement possible.
      • Partager sur Facebook
      • Partager sur Twitter
        14 mars 2012 à 11:35:09

        Citation : Babarock

        Souviens-toi, cette décisions est un détail, et je vous conseille d'éviter de passer trop de temps à discuter de ceci. L'essentiel est de commencer à coder le plus rapidement possible.


        Absolument pas d'accord. Cette décision est primordiale et a des implications énormes sur ton projet.
        Tu ne gères pas, tu ne conçois pas, tu n'héberges pas un projet PHP comme un projet Java, et tu ne le réalises pas avec les mêmes personnes.


        Mais ce n'est pas un choix du "meilleur framework", mais un choix plus humain ou, si tu n'as aucune contrainte humaine, purement technologique.

        Pour moi, les questions à se poser sont, dans l'ordre :
        1. Y a-t-il une contrainte technique bloquante ? (PHP imposé par exemple) (je suppose que non vu que tu te poses la question.
        2. Est-ce que les gens qui vont développer connaissent une seule des deux technologies ? Si oui, tu prends celle là.
        3. Est-ce que les développeurs connaissent un seul des deux langages ? Si oui, tu prends le framework de ce langage.
        4. S'ils ne connaissent aucun de ces langages - ou les deux, lequel préfèrent-ils ?
        5. S'il n'y a aucune préférence, laquelle de ces compétences préfèrent-ils développer ?

        Pour faire très simples entre les deux langages :
        • PHP a l'avantage d'être plus connu et d'être plus facile à héberger.
        • Java a pour lui les performances et la robustesse du langage.
        • Partager sur Facebook
        • Partager sur Twitter
          14 mars 2012 à 11:45:42

          Citation : Babarock


          Si tu connais déjà le PHP et Java, alors tu dois pouvoir te former ta petite idée de ce que tu préfères. Parles-en à ton équipe, et si tous le monde est d'accord lancez-vous.


          nous avons trop discuté mais en fin de compte,il y a pas une contrainte de compétences ,on essaye de chercher la technologie la plus pointue et qui va nous permettre de réussir le projet en minimum de temps et avec le maximum de performances
          • Partager sur Facebook
          • Partager sur Twitter
            14 mars 2012 à 12:50:12

            Il faut que vous identifiez clairement les fonctionnalités dont vous allez avoir besoin, et que vous regardiez quelle techno propose le plus de librairies adaptées à vos besoins, c'est ça qui vous fera gagner un temps considérable (à la fois pour le dvp, l'intégration et les tests).

            Je ne suis absolument pas partial, et te conseille de te tourner vers le Java EE. Quand on n'a pas l'expérience d'un projet de grande envergure en équipes, cette plate forme offre l'avantage de forcer à une certaine rigueur ou tout du moins une certaine rigidité, ce qui n'est vraiment pas le cas avec PHP.
            • Partager sur Facebook
            • Partager sur Twitter
              14 mars 2012 à 13:34:35

              Citation : SpaceFox


              <puce>Java a pour lui les performances et la robustesse du langage.</puce>
              </liste>


              dans tous mes recherche ,je trouve que le langage Java est plus puissant et robuste que d'autres,est ce que vous pouvez me dire ou on peux voir cette robustesse ???

              Citation : Coyote

              Il faut que vous identifiez clairement les fonctionnalités dont vous allez avoir besoin,


              En fait l'objectif de la plate forme est de permettre le maximum d’échange entres les différents utilisateurs,qui sera destiné aux établissements d’enseignement supérieur,pour les fonctionnalités ça sera surtout tout ce qui concerne la gestion des Ressources numériques,informatives ,visioconf...

              Citation : Coyote

              Je ne suis absolument pas partial, et te conseille de te tourner vers le Java EE. Quand on n'a pas l'expérience d'un projet de grande envergure en équipes, cette plate forme offre l'avantage de forcer à une certaine rigueur ou tout du moins une certaine rigidité, ce qui n'est vraiment pas le cas avec PHP.


              est ce que je peux avoir des raisons plus parlant o_O

              merciiii
              • Partager sur Facebook
              • Partager sur Twitter
                14 mars 2012 à 15:41:40

                Ton besoin est trop vague pour pouvoir te donner une réponse objective. Exprimes ton besoin de façon plus détaillée, "gérer des ressources" c'est trop vague, ça va de la GED au système distribué en passant par tout et n'importe quoi.
                • Partager sur Facebook
                • Partager sur Twitter
                  14 mars 2012 à 16:53:49

                  Petite erreur : je voulais dire "je ne suis pas impartial", puisque je bosse avec Java EE, et non pas "je ne suis pas partial"... :-°
                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 mars 2012 à 18:12:22

                    Mon avis n'est pas réellement objectif étant donné que je travaille actuellement avec J2EE mais d'après ce que j'ai pu en voir (j'ai suivi une conférence sur symphony 2 il n'y a pas longtemps), symphony commence à répondre a des problématiques (assemblage des composants, injections de dépendance, framework de persistance, techno de rendu visuel...) auxquelles J2EE répond depuis des années.
                    Je dirais donc J2EE plus mature et robuste mais légèrement moin accessible pour des débutants.
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      15 mars 2012 à 2:10:48

                      J2EE est clairement plus professionnel que le php. D'ailleurs le J2EE n'est qu'une spécification, à toi de voir quels composants et frameworks tu utiliseras (ejb, hibernate, struts, spring, jsf..).
                      Cependant Symfony2 est pas mal et reprend pas mal de concepts existant en java depuis des années (ORM, moteur de template, persistance etc...), tout en étant bien plus facile à prendre en mains. :)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        15 mars 2012 à 13:11:14

                        Citation : Expert Masqué

                        D'ailleurs le J2EE n'est qu'une spécification, à toi de voir quels composants et frameworks tu utiliseras (ejb, hibernate, struts, spring, jsf..).


                        et d’après vous,quel framework vous me conseillez?? :-°
                        • Partager sur Facebook
                        • Partager sur Twitter
                          15 mars 2012 à 13:40:51

                          C'est une question vide de sens, car sans expérience préalable le framework utilisé n'a absolument aucune importance.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            15 mars 2012 à 18:15:18

                            Citation : Coyote

                            sans expérience préalable le framework utilisé n'a absolument aucune importance.


                            Car tu seras complètement largué quoiqu'il advienne.


                            Si on te parle d'inversion de contrôle, de DispatcherServlet, de FormBackingObject etc. et que tu n'as strictement jamais touché à JEE (en mode brut de décoffrage) j'imagine que tu dois pédaler dans la semoule.

                            Démarrer de brut en blanc avec un framework sans connaître JEE, ça doit être faisable, mais tu dois franchement rien comprendre à ce que tu fais au début. Si t'es en stage, c'est cool t'as des gens pour t'aider mais dans le cadre d'un projet perso ça doit être assez démotivant non ?

                            Certains parmi vous ont-ils tenté l'aventure ? Ça m'intéresserait d'avoir des avis.




                            Sinon, pour zero.h :
                            Avant toute chose : spécifie les fonctionnalités de ton application. Qu'est ce que ça doit faire ? Pour quel type d'utilisateurs ? En entrant de plus en plus dans le détail des fonctionnalités (jusqu'à obtenir des cas d'utilisations assez précis et représentatifs) :
                            - machin se connecte (automatiquement via son login Windows le cas échéant)
                            - il décide de déposer un document en ligne (quel type de document ? support de cours ?)
                            - si le document existe déjà, alors on lui propose de créer une nouvelle version du document
                            - le document est accessible à x personnes
                            - il est disponible dans les résultats de recherche "plein-texte" pour certains utilisateurs
                            - ...
                            Voilà pour un cas des plus fictifs.

                            En plus des cas d'utilisation, essaie de prendre du recul et voir ton application de façon plus générale : quel type de "ressources" ? dans quel but ? combien d'utilisateurs ? quelles sont les attentes en termes de performances ? tout est-il accessible en HTTP ou y'a-t-il des services annexes ? S'agit-il d'un système distribué ? Est-il multip-plateforme ? Faut-il prévoir différents types de clients à long terme (navigateur web et application desktop, et application mobile pourquoi pas), ...

                            Du tout petit cas d'utilisation que j'ai écrit ici on pourrait déjà en conclure :
                            - y'a un système d'authentification spécial, via NTLM, donc ça peut faire pencher la balance vers une techno ou une autre
                            - y'a une grosse problématique de stockage et d'indexation de documents : donc faut "lire à l'intérieur" des documents, ce qui peut aussi faire pencher la balance pour une technologie ou l'autre.
                            - ...


                            Sans une base solide, on ne peut pas te répondre précisément (pas besoin de m'envoyer un autre MP), si tu ne veux ou peux pas rentrer dans les détails mais que tu as déjà un pseudo cahier des charges très fourni, alors essaie d'en tirer les informations techniques qui, à ton sens, sont importantes dans le choix de la technologie (ex : gros volume de documents, beaucoup de web services, énormément de routines à faire tourner en continu pour analyser / dataminer des données, communication temps-réel, cartographie, manipulation d'images, de documents PDF, utilisation intensive d'une base de données et que sais-je encore, on peut trouver bien des besoins :)

                            La balle est dans ton camp.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              1 mars 2013 à 10:38:58

                              Bonjour,

                              tout le monde dit "JEE plus mature et plus performant" que le PHP ou plutôt que Symfony 2,

                              mais où sont les preuves et où sont les benchmarks ?

                              Cordialement,

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Ce n'est pas intéressant quand ça marche, mais quand ça ne marche pas !

                                1 mars 2013 à 11:45:21

                                Dans un cas général Java est plus performant que PHP et C++ est plus performant que Java.

                                Il n'y a pas vraiment de preuve ou de benchmark concernant JEE et Symfony2 (afficher un simple Hello World ne suffit pas).

                                En terme de performance on reprochait au PHP de ne pas avoir un pool de connexion, mais avec les technologies actuels c'est quelque chose de négligeable.

                                Après je te renvoie au post de SpaceFox.

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Site : https://gokan-ekinci.appspot.com | Miagiste en recherche d'emploi | Profil [Dév. Java SE & EE | Dév. QlikView]
                                  12 mars 2013 à 10:05:35

                                  Infochimiste a écrit:

                                  tout le monde dit "JEE plus mature et plus performant"

                                  Plus strict, plus etoffé, plus facilement testable, plus robuste, oui. Mais performant, non, tout le monde ne dit pas cela.

                                  -
                                  Edité par Coyote 12 mars 2013 à 10:05:47

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    13 mars 2013 à 10:18:38

                                    Bonjour Coyote,

                                    j'ai pas l'intention de lancer un troll rassures-toi (et j'ai grandement apprécié ton tutoriel JEE :) ), j'ai d'ailleurs remarqué que le framework Symfony 2 embarque moults et moults principes liés à Spring.

                                    On me parle souvent de limitations de langage, j'aimerai juste plus de retours à ce sujet: clairement, pour du web y a t il un truc que je ne puisse pas faire en PHP qui justifierai l'emploi de Java? 

                                    Si je reconnais sans problème la robustesse de Java (et sa logique orientée Pattern, ce qui me plait beaucoup), est ce pour autant que ce langage est adaptée dans le cadre d'un projet web ? J'ai souvent l'impression que la partie Java web est surtout utile quand on a déjà un lourd applicatif Java et qu'il faut au final qu'une nouvelle vue...

                                    Si tu as quelques ressources de comparatifs (pas trop trollesques) entre ces 2 technos (PHP/Java web) je prends.

                                    Cdt,

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Ce n'est pas intéressant quand ça marche, mais quand ça ne marche pas !

                                      13 mars 2013 à 10:35:24

                                      j'ai d'ailleurs remarqué que le framework Symfony 2 embarque moults et moults principes liés à Spring.

                                      => Qui lui-même doit emprunter à RoR... 


                                      Si je reconnais sans problème la robustesse de Java (et sa logique orientée Pattern, ce qui me plait beaucoup)

                                      => Dans tous les langages tu as des patterns, sauf que c'est moins visible avec PHP car typé dynamiquement.


                                      pour du web y a t il un truc que je ne puisse pas faire en PHP qui justifierai l'emploi de Java?

                                      => Je pense que non, avec PHP5.4 (et supérieur) + Symfony2 tu peux faire les mêmes choses qu'en Java EE aujourd'hui. Par contre il me semble que tu n'as pas les listeners en PHP (même si tu as un semblant avec Symfony).

                                      est ce pour autant que ce langage est adaptée dans le cadre d'un projet web ?

                                      => Question paradoxale... ben oui, sinon on n'en ferait pas. Par contre est-ce que Java EE et Symfony2 sont adaptés pour faire un site plutôt statique de 2 ou 3 pages ? C'est ça qu'il faut se poser comme question (la réponse est non ;) ).

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Site : https://gokan-ekinci.appspot.com | Miagiste en recherche d'emploi | Profil [Dév. Java SE & EE | Dév. QlikView]
                                        27 novembre 2015 à 15:20:20

                                        Je sais bien que c'est un déterrage de post, et j'en suis désolé, mais j'avais une petite question qui m'aiderais à faire mon choix, en grand rapport avec le sujet initial.

                                        Avec Symfony on a les bundles qui sont super pratiques pour gérer des users ou autre (FOSUserBundle), y a t-il quelque chose de similaire avec Java EE ?

                                        -
                                        Edité par Akiat 27 novembre 2015 à 15:23:14

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          28 novembre 2015 à 10:30:38

                                          Il y a des trucs qui sont prévus avec la JSR 375 mais rien de standard pour le moment. Franchement pour avoir essayé FOSUserBundle il y a quelques années (à l'époque Alexandre avait commencé à rédiger son tutoriel) c'est vraiment du caca ce truc (ça a peut-être changé depuis, je ne sais pas).
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Site : https://gokan-ekinci.appspot.com | Miagiste en recherche d'emploi | Profil [Dév. Java SE & EE | Dév. QlikView]
                                            28 novembre 2015 à 18:59:43


                                            Akiat a écrit:

                                            Je sais bien que c'est un déterrage de post, et j'en suis désolé, mais j'avais une petite question qui m'aiderais à faire mon choix, en grand rapport avec le sujet initial.

                                            Avec Symfony on a les bundles qui sont super pratiques pour gérer des users ou autre (FOSUserBundle), y a t-il quelque chose de similaire avec Java EE ?

                                            -
                                            Edité par Akiat hier à 15:23


                                            les jar
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              29 novembre 2015 à 13:29:17

                                              Quel rapport avec les jars ?
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Site : https://gokan-ekinci.appspot.com | Miagiste en recherche d'emploi | Profil [Dév. Java SE & EE | Dév. QlikView]
                                                29 novembre 2015 à 21:49:00

                                                Gugelhupf a écrit:

                                                Quel rapport avec les jars ?


                                                C'est l'équivalent des bundles de Symfony.

                                                Tu peux trouver pas mal d'API toutes faites en Java, généralement distribuées en .jar, exemple Spring Security (pour reprendre l'exemple de la gestion des utilisateurs avec FOSUserBundle)

                                                -
                                                Edité par pockpicket 29 novembre 2015 à 21:49:59

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  15 novembre 2016 à 9:58:19

                                                  Java EE remporte la bataille.

                                                  Pourquoi ?

                                                  Il y a beaucoup de fonctionnalités existant en Java EE mais non présentes en Symfony.

                                                  J'ai justement un petit exemple :

                                                  Imaginez une impression sans l'en-tête de page sur une page web:

                                                  Pour imprimer un contenu sans l'en-tête de page, vous pouvez :

                                                  1- soit utiliser javascript/css3(cette solution n'est pas prouvée car je n'ai jamais réussi à le faire d'ailleurs), avec css2 cela ne fonctionne pas

                                                  2- soit générer un fichier pdf qu'on va devoir imprimer

                                                  3- soit créer un Etat programmé et ensuite lancer l'impression de l'Etat(cette solution existe en PHP selon les docs sauf la mise en place est fastidieuse , vous allez devoir installer le bon module php_print qui n'est souvent pas compatible avec votre serveur web)

                                                  4- soit créer un Rapport avec un simple glisser/déplacer via JasperReports de Java EE(une solution qui n'existe pas en PHP). Il existe certains startup qui ont essayé de créer un ReportBuilder php, mais malheureusement, les solutions ne sont loin d'être fiables et je doute que ces outils soient reconnus sur les hébergeurs php. En C#.NET , la solution équivalente est Crystal Reports


                                                  En bref, vous auriez compris où je vais en venir, la 4è solution n'existe pas en php, or c'est souvent la solution idéale pour faire une impression sur papier A4 dans une application de gestion commerciale.

                                                  Les grandes entreprises préfèrent continuer à utiliser des solutions complètes capable de remplir tous les besoins, surs et ayant fait leurs preuves depuis des années pour ne pas risquer d'avoir une application incapable de remplir leurs futurs besoins.

                                                  D'ailleurs, une vraie application à mes yeux est souvent une application où il y a de l'argent qui tourne de façon nette. Une application comme yahoo ou facebook(à l'image de PHP) ne présente pas une application pro à mes yeux , les applications comme les jeux vidéo(à l'image de Node.js ou python) ne sont pas des applications à mes yeux(désolé pour les fans).

                                                  Une application à mes yeux est à l'image des grosses applications financières(qui sont souvent écrites en Java EE ou .NET) pour le web, et des grosses applications embarquées pour le desktop et l'embarqué(pour le C/C++)

                                                  -
                                                  Edité par sergechantave 15 novembre 2016 à 10:13:20

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  JEE vs Symfony

                                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                  • Editeur
                                                  • Markdown