CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Pourquoi java/asp et pas PHP

CoupDouble
CoupDouble
Niveau 10
10 août 2016 à 22:02:31

Salut,

Je travaille actuellement dans une petite entreprise de 50.000 clients et une quinzaine d'employés.

Quand je suis arrivée toute l'infrastructure informatique était déjà en place.
En gros, l'entreprise a son serveur dédié et toute la partie "données business" (clients, données des factures, contrats) est gérée dans un logiciel comptable (en C#).

Les employés ne l'utilisent pas directement mais via un outil d'administration (affichage des fiches client, générations des factures en pdf, envoie des émails de rappels, gestion des inscriptions incomplètes, etc) ENTIÈREMENT DÉVELOPPÉ EN PHP (c'est la que j'interviens) qui récupère chaque soir les données du logiciel comptable via un export automatisé. Pour les inserts/updates, cela se fait via un webservice.

De mon point de vue, les performances sont tout à fait correctes et l'outil d'administration est assez facile a améliorer et à maintenir.

D'où ma question un peu bizarre en fait, puisque cette structure fonctionne bien, pourquoi java et C# sont si populaires pour des "outils de gestion" en milieu pro? Et pourquoi pas PHP qui fait relativement bien le taff? C'est une question de performance? De limitations? Une raison historique peut être?

N'hésitez pas à répondre juste au titre sans tenir compte de ma petite histoire, c'est juste dans le but de fixer un contexte :p)

tbol
tbol
Niveau 20
10 août 2016 à 22:16:31

Pour C# c'est souvent la continuité de la culture Microsoft dans certaines entreprises avec un stack Windows, Sharepoint, Office, DotNET et SQL Server. Pour Java c'est encore autre chose car avec Java EE et des serveurs d’applications tu peux faire de très gros projets comme par exemple le projet Amadeus qui gère 5000 sites web, ce qui ne serais pas facile à organiser avec PHP. Pour ce genre de projets en réalité Java n’a pas d'équivalent, même du coté C#.

Actuellement, Amadeus GDS héberge plus de 170 compagnies aériennes dans la centrale de réservation (offre commerciale dénommée "Altéa Reservation") et distribue des produits de voyage à environ 350 000 agents de voyage et un peu plus de 5 000 sites web.

deepblue
deepblue
Niveau 16
11 août 2016 à 13:58:45

Avec FPM (ou équivalent genre HHVM), tu peux maintenant avoir des serveurs dédiés à l'exécution de PHP avec du load balancing qui va bien. Ça permet de répondre à des monter en charges conséquentes.

deepblue
deepblue
Niveau 16
11 août 2016 à 14:26:35

(sous-entendu qu'on peut faire du lourd avec PHP)

Arthur340
Arthur340
Niveau 3
14 août 2016 à 15:03:54

Je vais prendre le couple de technologies que je connais le mieux, à savoir Java / PHP.

Avantages de PHP (non exhaustif) :

  • Temps de développement et coûts peu élevés ;
  • Excellente documentation ;
  • Test et déploiements plus rapides ;
  • Rapide ;
  • Multi plateforme ;
  • Bonne compatibilité avec les bases de données, extrêmement performant lors des connexions ;
  • Supporté par beaucoup de serveurs Web ;
  • Léger ;
  • Supporte la programmation orientée objet et procédurale ;
  • Supporte beaucoup de protocoles.

Inconvénients de PHP (non exhaustif) :

  • Fonctions nommées de manière aléatoire, et noms peu explicites ;
  • Typage faible (peut donner suite à des erreurs) ;
  • Aspect orienté objet peu recherché ;
  • Ne supporte pas d'objets / variables d'application (maximum session) ;
  • La conversion de données binaires / changement de bases n'est parfois pas bien respecté ;
  • Lent pour les tâches avancées (fichiers zip, rédaction de PDF, rédaction de XML...) ;
  • Gestion des erreurs abracadabrantesque ;
  • Peut facilement devenir sale (mélange HTML + PHP, SQL et JavaScript).

Avantages de JavaEE (non exhaustif) :

  • Rapidité correcte ;
  • Inclus dans le framework Oracle, à l'instar de C# avec .NET ;
  • Extrêmement flexible ;
  • Référence dans le domaine de l'orienté objet ;
  • API très complète, beaucoup de librairies supportées ;
  • Typage fort (peut aussi être un inconvénient) ;
  • Bon support des SGBD ;
  • Avec un framework comme Primefaces, peut être extrêmement performant (chargement de pages partiel, entièrement AJAX en peu de lignes de code etc.) ;
  • Force le développeur à avoir une certaine rigueur (c.f JSF) et même sale, cela reste lisible ;
  • Multi plateforme ;
  • Supporte le clustering.

Inconvénients de JavaEE (non exhaustif) :

  • Lorsque la technologie est mal maitrisée, les performances peuvent être mauvaises ;
  • Temps et coûts de développement élevés ;
  • Peu pertinent sur les petites applications ;
  • Requiert une architecture serveur particulière (serveur Web + règles pare-feu spécifiques) ;
  • Certains problèmes sont difficilement contournables ;
  • Anciennes versions de JSF abominables à maintenir (vraiment...) ;
  • Requiert des connaissances en gestion des threads (ainsi, de l'expérience).

PHP est très populaire et facile à prendre en main mais il faut être réaliste : c'est un langage assez sauvage.
Java, de son côté, est capable de supporter de très grosses charges de travail, dispose de fonctionnalités avancées mais requiert de bonnes connaissances pour être maîtrisé. Même de bons développeurs Java avec 20 ans d'expériences ne connaissent qu'une partie de l'API...

tbol
tbol
Niveau 20
14 août 2016 à 23:46:05

Le 11 août 2016 à 13:58:45 deepblue a écrit :
Avec FPM (ou équivalent genre HHVM), tu peux maintenant avoir des serveurs dédiés à l'exécution de PHP avec du load balancing qui va bien. Ça permet de répondre à des monter en charges conséquentes.

Tu est en train de dire qu'on peut gérer des gros sites avec PHP grâce au load balancing, encore heureux, il y à de très gros sites en PHP.

Moi j’étais en train de dire que Amadeus gère 5000 sites avec Java EE et des serveurs d'applications c'est encore autre chose.

deepblue
deepblue
Niveau 16
15 août 2016 à 13:48:05

J'ai parlé de load balancing* sur les serveurs d’application de PHP (FPM). On parle bien de la même chose :-)

.* ce n'est peut-être pas le bon terme, je n'ai cependant rien de mieux en tête

Message édité le 15 août 2016 à 13:51:17 par deepblue
Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment