Pourquoi Tomcat est plus utilisé que PHP en entreprise

a marqué ce sujet comme résolu.

Salut,

Je m'amuse à regarder de temps en temps les offres d'emploie sur internet histoire de m'informer sur les technos à la mode et utiles pour plus tard. Et je me rend souvent compte que la plupart du temps, dès qu'il y a besoin d'une application backend, Tomcat apparait très souvent.

J'y ai jamais touché, et je me demande pourquoi ce choix, alors qu'il y a plein d'autre choix tel que PHP, Python, Ruby ? Est-ce que Oracle fournis de meilleur écosystème que les solutions opensource ? Est-il plus simple pour faire du collaboratif avec du Java(IDE plus aboutis) ? Ou tout simplement il y a t-il de meilleur performance ?

Merci de votre aide :)

+0 -0

les technos à la mode et utiles pour plus tard.

plutôt contradictoire ^^

Et je me rend souvent compte que la plupart du temps, dès qu'il y a besoin d'une application backend, Tomcat apparent très souvent.

Tomcat = Java = langage qui allie cohorte de développeur mal payée et suffisamment peu de liberté pour que lesdits développeurs soient obligés de faire un programme un minimum maintenable au même coût qu'un dev php qui comme il est mal payé codera mal.

Tomcat n'est pas édité par Oracle mais par la fondation Apache, donc c'est open source ;).

Pour les perfs, en entreprise, pour les intranet, ils aiment bien ASP.NET…

OK, et si on répondait aux questions au lieu de troller tout le monde en groupe, est-ce que ce ne serait pas plus productif ?

  • Java est en effet un langage assez paranoïaque et verbeux, ce qui a des tas d'inconvénients pour un projet perso (lourdeur de développement en particulier) mais de gros avantages en entreprise (l'IDE peut automatiser un max de choses). En résumé, Java est un bon langage pour les gros projets (dans le sens "beaucoup de développeurs").
  • Cela dit les dernières versions du langage vont dans le sens de moins de lourdeur
  • Néanmoins on peut faire des projets impossibles à maintenir en Java ! En général par empilement de milliards de couches inutiles (projet énorme).
  • Java est performant, très loin devant PHP, Python ou Ruby. J'ai au boulot des applications qui tiennent plusieurs dizaines de fois la charge de Zeste de Savoir en consommant sensiblement moins de CPU. Toute personne qui prétend le contraire s'est arrêté aux antiques JVM des années 90 et n'a aucune idée des outils modernes. Du coup, les entreprises l'aiment bien pour tout ce qui a besoin de gérer des règles métier complexe, où tu ne peux pas accélérer le truc en mettant un max de cache partout.
  • PHP est un langage complètement cassé - Java (et ses IDE) permet d'éviter de se poser des méta-questions sur le langage.
  • Les entreprises sont souvent très conservatrices sur les langages utilisés. Ceci exclut (et à raison la plupart du temps) tout ce qui est à la mode.
  • Java est libre, une grosse partie de son environnement est libre (je ne parle pas des énormes logiciels hein), on peut le faire tourner sous Linux (contrairement à tout ce qui est .NET de mémoire).
  • Les développeurs Java ne sont pas spécialement mal payés (salaires déclarés, donc comprendre "fixe + variable + avantages + primes + intéressement).

Et effectivement, Tomcat c'est Apache et pas Oracle - en fait on peut faire du Java sans jamais installer le moindre truc copyrighté Oracle.

heu, Spacefox, sauf quand tu troll tu dis exactement ce que je dis.

contrairement à tout ce qui est .NET de mémoire

.NET 90% compatible linux à travers mono (90% car WPF pas encore supporté, des travaux sont réalisés, mais GTK# est largement conseillé). ASP.NEt est full compatible mono et aussi opensource.

Java est performant, très loin devant PHP, Python ou Ruby.

là on est d'accord.

Toute personne qui prétend le contraire s'est arrêté aux antiques JVM des années 90 et n'a aucune idée des outils modernes.

Encore une fois. Java 1.7 est vraiment performant (testé sur plusieurs application, j'ai pas regardé JEE néanmoins), Java 1.8 doit être de la même veine, sans compté qu'ils ont vraiment ajouté de bonnes choses.

PHP est un langage complètement cassé - Java (et ses IDE) permet d'éviter de se poser des méta-questions sur le langage.

Stp, pas "fractal of bad design", cet article c'est 30% de réalisme, 30% de bullshit, 30% de flamming gratuit et 10% de troll de bas étage.

Sinon, merci pour le lien des salaires.

.NET 90% compatible linux à travers mono

"Compatible" ou "supporté officiellement" ?

Est-ce que je peux installer mes applications .NET sur du Linux/Mono et venir me plaindre à l'éditeur si ça déconne ?

PS : Quoiqu'on dise sur l'article sur PHP, il n'empêche que ce langage a des défauts de conception critiques.

"Compatible" ou "supporté officiellement" ?

il y a une nuance entre les deux? (question honnête)

PS : Quoiqu'on dise sur l'article sur PHP, il n'empêche que ce langage a des défauts de conception critiques.

yep. Mais c'est dommage de citer cette source là alors qu'elle dessert totalement l'argument.

il y a une nuance entre les deux? (question honnête)

En entreprise, énorme, parce que la plupart des entreprises vont refuser d'installer une solution qui n'est pas supportée officiellement.

C'est par exemple ce qui fait que PostgreSQL met si longtemps à monter : il n'est pas développé par une entreprise, il faut passer par des tiers pour avoir un support, ce qui est compliqué et donc fait peur.

Concernant l'article sur PHP, si tu as des sources qui le démontent, ça m'intéresse.

Concernant l'article sur PHP, si tu as des sources qui le démontent, ça m'intéresse.

SpaceFox

J'ai hésité à le faire moi même (d'ailleurs ça pourrait être intéressant car il cite quand même quelques vrais problèmes, donc les ressortir du milieu du tas de m**** pourrait être utile) mais j'ai préféré faire une rapide recherche google.

donc :

P.S La prochaine fois que tu voudras parler des faiblesses de PHP tu ferrais mieux de citer ce site là : http://phpsadness.com/ et encore…

EDIT: Semblerait que j'ai cassé le markdown avec un liens vers les résultats google :p

+0 -0

OK, merci pour le dernier lien :)

Par contre la prochaine fois que tu veux répondre à cet article, cet article ; les autres sont redondants ou nécessitent de retrouver les informations pertinentes au milieu d'une masse de blagues (en particulier d'assertions de personnes qui n'ont jamais vu autre chose que PHP, ou qui confondent "très utilisé" et "bien conçu").

L'un des arguments que je n'ai pas vu cité ici quant à l'adoption de Java EE pour un gros projet et qui me semble pourtant essentiel, c'est ce qu'EST une grosse plateforme d'entreprise (intranet, vente en ligne, gestion de stocks, service en ligne divers, …).

En fait, j'étendrais ce que SpaceFox appelle "projet perso" par "plateforme web standalone de taille relativment limitée". En cela, ZdS est un bon exemple. ZdS propose un ensemble d'outils permettant la rédaction et le partage de connaissances. Ca peut être gros, lourd, mais c'est relativement cadré. Là où Amazon, EBay, … Proposent une plateforme qui, fonctionnellement, me paraît sensiblement plus complexe (comprendre : avec plein de fonctionnalités complexes cachées au visiteur : l'envoi de courriels en masse, outils de reporting, …).

En fait Java EE prend tout son nitérêt, selon moi, quand le projet n'est plus "un simple site web" (c'est flou… j'en conviens) mais qu'on a besoin d'interconnecter beaucoup de petites briques fonctionnelles par ci par là et surtout surtout, partager et factoriser un maximum de composants entre ces différentes briques.

Je n'ai pas retrouvé, dans beaucoup de langages et/ou frameworks d'outils aussi aboutis que maven et/ou Nexus par exemple (il me semble que Python dispose d'un système relativement équivalent) simplifiant drastiquement la gestion des dépendances dans un projet de très grande envergure. Publier un composant ou un artifact dans un dépôt, le versionner comme il faut pour qu'une autre brique logicielle de la plateforme s'en serve à bon escient (et éventuellement dans un contexte différent du web) me semble relativement simple (c'est relatif) dans le contexte Java EE, nettement plus complexe avec d'autres technologies. NB (edit) : et surtout ils sont généralement plus mûrs : c'est de Java EE que ce genre d'outils a emergé.

Et je pense que c'est aussi ce genre d'outils qui poussent les gens en entreprise à s'orienter vers Java EE. En gros : l'assurance de pouvoir suivre l'apparition de nouveaux modules (mais des vrais gros modules hein, pas juste un petit système d'authentification) au fil de la vie du projet, sans se retrouver : soit à tout recoder, soit à bricoler des passerelles "à la main" impossibles à maintenir.

+2 -0

Je n'ai pas retrouvé, dans beaucoup de langages et/ou frameworks d'outils aussi aboutis que maven et/ou Nexus par exemple (il me semble que Python dispose d'un système relativement équivalent) simplifiant drastiquement la gestion des dépendances dans un projet de très grande envergure. Publier un composant ou un artifact dans un dépôt, le versionner comme il faut pour qu'une autre brique logicielle de la plateforme s'en serve à bon escient (et éventuellement dans un contexte différent du web) me semble relativement simple (c'est relatif) dans le contexte Java EE, nettement plus complexe avec d'autres technologies.

python possède pas mal d'outils qui font ça, mais il faut les "installer" un par un ou bien les mettre en dépendance du projet dans le requirements.txt.

pour ce que je connais ASP.NET possède aussi tous ces outils (NuGet pour le gestionnaire de package et de dépendance, des intégrations jenkins etc., et la batterie d'outils proposés par VS)

En entreprise, pour les gros projets, on a deux techno majeures : - Java EE (même si je ne sais pas exactement quelle implémentation de JEE est utilisée, je sais qu'il existe JSP qui semble être populaire mais j'ai pas de stat fiable là dessus) - ASP.NET qui est très utilisé pour sa forte intégration aux serveurs utilisés en intranet qui sont presque à 100% du Windows Server (2008 R2 ou 2012)

ASP.NET qui est très utilisé pour sa forte intégration aux serveurs utilisés en intranet qui sont presque à 100% du Windows Server (2008 R2 ou 2012)

Qu'entends-tu par là ? Qu'ASP.NET est presque intégré à 100% à du Windows Server, ou que presque 100% des serveurs d'intranets sont du Windows Server ?

Parce que dans le cas, c'est simplement faux. Les clients de ton entreprise peuvent te laisser croire ça, mais ce n'est qu'une petite vision de l'ensemble. De ce que je vois de la clientèle d'amis qui sont dans le développement d'intranets, il existe une proportion non négligeable d'intranets qui tournent sous du Linux (Java EE et parfois PHP).

Si tu le dis. Personnellement c'est le genre d'assertion que je ne crois pas tant que je n'ai pas vu de source fiable. La seule chose dont je suis certain, c'est que ceux qui font du l'intranet sous Linux ne manquent pas de boulot (mais peut-être que c'est un marché de niche).

Je n'ai pas retrouvé, dans beaucoup de langages et/ou frameworks d'outils aussi aboutis que maven et/ou Nexus par exemple (il me semble que Python dispose d'un système relativement équivalent) simplifiant drastiquement la gestion des dépendances dans un projet de très grande envergure. Publier un composant ou un artifact dans un dépôt, le versionner comme il faut pour qu'une autre brique logicielle de la plateforme s'en serve à bon escient (et éventuellement dans un contexte différent du web) me semble relativement simple (c'est relatif) dans le contexte Java EE, nettement plus complexe avec d'autres technologies. NB (edit) : et surtout ils sont généralement plus mûrs : c'est de Java EE que ce genre d'outils a emergé.

Niveau gestion de dépendances il y a maintenant un très bon outil en PHP et qui commence à être utilisé par de plus en plus de projets. Il s'agit de Composer qui a en outre l'avantage par rapport à d'autres projets qu'il est réellement capable de faire de la résolution de dépendances (dans le sens ou il est capable de dire si oui ou non toutes tes dépendances peuvent être installées en même temps avec les versions que tu demande sachant que les versions en questions peuvent être exprimé sous différentes formes (version fixe, range définit, branche x.y. ou x. fixé, stabilité etc…) et que si il y a une solution de possible il la trouvera et l'installera. Pour ceux que ça intéresse cette résolution est implémenté à l'aide d'un SAT Solveur.)
Après, concernant Maven c'est bien plus qu'un système de gestion de dépendances mais plutôt un système de Makefile avec gestion de dépendances intégrées je dirais.

Sinon, il est vrai que pour toutes ces grosses applications le JAVA s'impose souvent. Mais c'est peut être aussi par habitude, car on a déjà les compétences, car on est certains que c'est possible/maintenable etc…

P.S Il me semble aussi que niveau intranet il y a beaucoup de travail sous linux…

+0 -0

.NET 90% compatible linux à travers mono (90% car WPF pas encore supporté, des travaux sont réalisés, mais GTK# est largement conseillé). ASP.NEt est full compatible mono et aussi opensource.

artragis

Pour info, il y a 4 ans, la dernière fois que j'ai parlé de .NET, tout ce qui était WinForm était dépassé, et WPF était la seule solution recommandée pour de nouveaux projets, étant donné que Microsoft arrêtait de faire évoluer le reste. A ce moment, Microsoft préparait le terrain pour Silverlight2 et Windows Phone, mais, à mon sens, le C# étant très jeune, je pense que les adopters ont suivi le mouvement et développent leurs projets actuels en WPF. Si Mono n'a pas de support WPF, ce n'est pas un support viable de .NET.

Si tu le dis. Personnellement c'est le genre d'assertion que je ne crois pas tant que je n'ai pas vu de source fiable.

SpaceFox

Les grosses boites, composées de workstations, utilisent quasiment toutes du Windows, car elles utilisent aussi Citrix XenApp. Mais là, on parle de très grosses boites (ou je taff, Securitas et TNT par exemple), pas de la petite société du coin avec 5 ordis ^^ . Je suppose que les plus petites structures se tournent vers des solutions moins coûteuses…

Bonjour Gregoire,

J’ai du mal à comprendre de quel article tu parles. Ici, c’est le sujet d’un forum. Si tu parles d’un des articles qu’à linker SpaceFox, il aurait fallu le préciser lequel.

Ce sujet à plus de 3 ans. Quand on veut réagir à un sujet de plus de 3 mois, la bonne méthode est de créer un nouveau sujet en expliquant la raison en argumentant notre réaction.

Ton message ici à été signalé comme incompréhensible par d’autres membres du forum. Peut-être devrais-tu argumenter ? Mais dans un autre sujet, car ici, c’est déterrage !

Sur ce, bonne journée.

PS: Je ferme ce sujet. Tu peux toujours me contacter par MP. Ou comme je t’ai dis contribué au forum par la création d’un nouveau sujet. D’ailleurs, il y a un tutoriel pour Participer aux forums.

+0 -0
Ce sujet est verrouillé.