IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

JAVA/Servlet ou PHP ? [Débutant(e)]


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2013
    Messages : 10
    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

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Par défaut
    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.

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    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


    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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é.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    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 : 325
    Par défaut
    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.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Par défaut
    "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.

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2013
    Messages : 10
    Par défaut
    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

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2013
    Messages : 10
    Par défaut
    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 ?

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Par défaut
    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.

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2013
    Messages : 10
    Par défaut
    Ok merci de la confirmation

Discussions similaires

  1. Java/Servlet ou PHP ?
    Par boudu dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 08/03/2013, 15h08
  2. Applet Java ou Script PHP
    Par LordBob dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 03/10/2006, 13h12
  3. [Debutant(e)]java.servlet introuvable
    Par roninou dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 07/02/2006, 12h20
  4. [JAVA][SERVLET][TOMCAT][COOKIE] addCookie(cookie) marche pas
    Par nickylarson34 dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 08/08/2005, 17h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo