Précédent   Forum du club des développeurs et IT Pro > Java > Développement Web en Java
Développement Web en Java Forum d'entraide sur les technologies Web de Java (JSP/Servlets, Portlets, Applets, frameworks Web, etc.) Avant de poster -> FAQ Java EE
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 25/02/2013, 10h25   #1
boudu
Invité de passage
 
Homme
Inscription : février 2013
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : février 2013
Messages : 10
Points : 0
Points : 0
Par défaut JAVA/Servlet ou PHP ?

Bonjour à tous !

Je suis actuellement en stage et je dois choisir entre deux technos (Java/JSP/Servlet et PHP) alors que je ne les connais que très peu !

Du coup, j'aurais besoin de votre aide

En résumé : l'entreprise dans laquelle je travaille construit des mini-systèmes qui sont pilotables via une API HTTP un peu crade : pour donner un ordre, on envoie un POST HTTP qui a pour contenu une commande écrite dans un langage propriétaire, puis on reçoit la réponse du mini-système en HTTP juste après.

Le but est de faire une interface Web (hébergée sur un serveur de l'entreprise) auquel un administrateur pourrait se connecter pour mettre en marche ou arrêter (on/off) chacun des mini-systèmes.

http://www.imagup.com/data/1176449506.html

Autrement dit, l'administrateur irait sur sa page Web qui recense tous les services, et lorsqu'il cliquerait sur "on" pour allumer un système, il faudrait qu'un script ou un programme se lance/s'exécute en tâche de fond sur le serveur et donne des ordres au mini-système.

L'API HTTP étant très mal faite, l'objectif de mon stage est de faire une API Haut niveau (PHP/JAVA) qui utilise cette API HTTP mais qui donne quelque chose de bien plus intuitif à utiliser.
Si je choisis une architecture PHP pour piloter mes mini-systèmes, l'API sera en PHP.
Si je choisis une architecture JSP/Servlet pour les piloter, l'API sera en JAVA.

http://www.imagup.com/data/1176449557.html

Du coup voilà mes questions :
1) Est-ce que PHP et Java/JSP/Servlet permettent de répondre au besoin ? Par exemple pour moi le PHP permet de faire des scripts qui s'exécutent coté serveur pour construire des pages Web dynamiques, mais j'ai jamais entendu parler de faire des scripts qui s'exécutent comme des "programmes" de façon séquentielle et en tâche de fond sur le serveur.

2) Si les deux solutions sont possibles, laquelle vous choisisseriez et pourquoi ?

Merci d'avance de votre aide
boudu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 17h28   #2
PP(Team)
Membre confirmé
 
Homme Cédric
Développeur Web
Inscription : janvier 2007
Messages : 342
Détails du profil
Informations personnelles :
Nom : Homme Cédric
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2007
Messages : 342
Points : 254
Points : 254
Bonjour,

Ton application parait particulièrement "légère".
Utiliser Java/JSP me parait un peu lourd.

Je te conseillerais donc PHP.
Pour ce qui est de lancer des scripts avec PHP :
http://www.developpez.net/forums/d22...hp-t-che-fond/

Si le but est de faire une page "simple" (1 seule page non administrable) utilise du PHP pur. Sinon je te conseille un Framework (Symfony par exemple) qui te permettra de pouvoir administrer tes données.

Cordialement.
PP(Team) est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 23h30   #3
armel18
Membre actif
 
Homme armel
Développeur informatique
Inscription : août 2012
Messages : 96
Détails du profil
Informations personnelles :
Nom : Homme armel
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2012
Messages : 96
Points : 174
Points : 174
Citation:
Je suis actuellement en stage et je dois choisir entre deux technos (Java/JSP/Servlet et PHP) alors que je ne les connais que très peu !
si tu n'a aucune expérience ni maîtrise en programmation orientée objet la technologie Java EE ne va pas te faciliter la vie(enfin si tu veux vite finir ton projet) car la courbe d'apprentissage en Java est très élevée et nécessite beaucoup de prérequis contrairement au PHP(qui n'oblige pas de POO) où tu peux, au bout de quelques semaines, tout parfaire.Ensuite une architecture minimaliste(utilisant que l'api de sun) d'une appli Web en Java nécessite :JPA, entity beans, EJB3,JSF et un langage de description de pages comme JSP ou facelets.
En revanche avec PHP tu peux allez très vite donc je ne peux que te le conseiller.D'ailleurs google a été écrit en C


Citation:
Est-ce que PHP et Java/JSP/Servlet permettent de répondre au besoin ? Par exemple pour moi le PHP permet de faire des scripts qui s'exécutent coté serveur pour construire des pages Web dynamiques, mais j'ai jamais entendu parler de faire des scripts qui s'exécutent comme des "programmes" de façon séquentielle et en tâche de fond sur le serveur
Tu peux faire ton projet avec PHP.Avec PHP tu peux faire appel à un programme(écrit dans n'importe quel langage) s'exécutant à l’extérieur de ton serveur web:

-la fonction exec, system,passthru... permet d'exécuter un programme externe.par exemple dans un script php je peux exécuter un programme java:

Code :
1
2
3
4
5
6
7
 
<?php
exec('java -jar path-to-my-jar/monProgramme.jar');
 
//ou encore faire appel à un script shell:
exec(sh monProgramme.sh');
?>
-Une autre façon de faire appel à ton programme extérieur est d'écrire un script cgi en PHP pour pouvoir appeler ton programme depuis un client web.Dans ton cas l'usage d'un script cgi me paraît plus adapté.
armel18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 01h24   #4
kox2ee
Membre expérimenté
 
Homme
Ed Nat
Inscription : janvier 2013
Messages : 323
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Ed Nat
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2013
Messages : 323
Points : 587
Points : 587
Bonjour,
L'important n'est pas uniquement le choix de la technologie (Java EE ou PHP) mais peut-être plus celui de la conception même de ton application, qui pourra t'orienter vers des choix de technos :

Si tu veux faire en sorte que ton code soit facile à déboguer, réutilisable, maintenable et évolutif, tu auras intérêt, quelque soit la taille de ton application, à séparer les couches :
  • V : vues, Présentation (affichage et interfaces de pilotage)
  • C : Contrôle (appel des traitements en réponse aux choix faits dans l'interface/ Modification des vues après réponse des traitements)
  • M : traitements effectués (envoi de requêtes Http pour les commandes, réception de réponses).

Imagine qu'une fois ton client web terminé, ton tuteur/maître de stage te demande de faire une version client lourd, ou client mobile de ton programme... (allez, pilotage des mini-systèmes par tél mobile pour tout le monde !)
Même si c'est très certainement peu envisageable, il serait dommage d'avoir à tout recommencer, et de ne pas pouvoir réutiliser toute une partie de ton code (les traitements par exemple).

Pour la séparation des couches, je serai tenté de te conseiller Java EE, qui permet de l'implémenter assez naturellement, sans avoir besoin de mettre en oeuvre de Frameworks supplémentaires qui risqueraient, pour un projet de cette taille, de te faire perdre plus de temps qu'ils ne t'en feraient gagner (en java comme en PHP):
  • JSP pour la présentation
  • Servlet pour le contrôle/Gestion des évènements sur application/session/request
  • Java pour le modèle

Dernière chose, Java est certainement un peu plus complexe, et le coût à l'entrée est un peu plus important qu'avec PHP, mais il facilite une conception plus rigoureuse (parce qu'il est 100% objet, assez fortement typé, et propose des moyens d'implémentation de MVC sans ajouts) qui peut ensuite s'avérer payante.
Il est certainement possible d'être tout aussi propre en PHP, mais en s'imposant une rigueur que le langage n'offre pas encore totalement.
kox2ee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 08h35   #5
PP(Team)
Membre confirmé
 
Homme Cédric
Développeur Web
Inscription : janvier 2007
Messages : 342
Détails du profil
Informations personnelles :
Nom : Homme Cédric
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2007
Messages : 342
Points : 254
Points : 254
"kox2ee" pour info, sur l'aspect objet et MVC de PHP, c'est pour cela que j'ai proposé l'utilisation d'un Framework (notamment Symfony) qui permet de développer proprement.
Le problème (comme avec l'utilisation de Struts et autre) est le temps d'apprentissage.
Maintenant "boudu", si le but est de rester développeur à terme, apprendre Java EE ou PHP "frameworké" ne peut qu'être utile pour toi plus tard.

Cordialement.
PP(Team) est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 09h57   #6
boudu
Invité de passage
 
Homme
Inscription : février 2013
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : février 2013
Messages : 10
Points : 0
Points : 0
Merci à tous pour vos réponses !

En effet, l'application que je compte faire est assez légère.
J'ai déjà développé en JAVA mais je n'ai jamais fait de J2EE même si je connais la théorie.

Avec vos réponses, je crois avoir compris que PHP est meilleur si l'application reste légère, mais que J2EE devient plus intéressant si le projet a des chances d'évoluer.

Pour le moment, le projet n'a pas prévu d'évoluer au delà de ce que je vous ai présenté dans mon premier message, mais je vais vérifier ça avec mon tuteur

Je mettrai à jour ce topic en fonction des réponses que j'aurai, pour avoir des retours !

Merci encore pour vos réponses
boudu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 10h22   #7
boudu
Invité de passage
 
Homme
Inscription : février 2013
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : février 2013
Messages : 10
Points : 0
Points : 0
J'ai une question bête, mais :

Supposons que j'opte pour une application en PHP, qui exécute des traitements (programmes) écrits en JAVA.

Ces programmes se trouvent sur le serveur, mais de quoi est-ce que le serveur a besoin pour les exécuter ? Une machine virtuelle JAVA suffit, non ?

Je veux dire : dans ce contexte, on économise l'utilisation d'un serveur d'applications et tout ça, c'est bien ça ?
boudu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 10h41   #8
rg77140
Membre éclairé
 
Inscription : mai 2008
Messages : 257
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 257
Points : 368
Points : 368
Oui, si tu veux juste exécuter des jar Java tu as juste besoin d'une JRE. Pas besoin d'un serveur d'application qui n'entre en jeu que lorsque tu as besoin de créer des servlets et des JSP...

Romain.
rg77140 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 11h09   #9
boudu
Invité de passage
 
Homme
Inscription : février 2013
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : février 2013
Messages : 10
Points : 0
Points : 0
Ok merci de la confirmation
boudu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h57.


 
 
 
 
Partenaires

Hébergement Web