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

Java Discussion :

Executer commande sur client


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Points : 78
    Points
    78
    Par défaut Executer commande sur client
    Bonjour à tous,

    j'aurais besoin de vos lumières pour un problème. Je réalise un site web. Il est calé sur un serveur particulier. Et j'aimerais pouvoir lancer une commande dos sur un client.

    Cette commande va lancer un programme installé sur le pc client. Par exemple j'aimerais lancer word.

    Jusque là je développais sur un serveur qui possédait le programme que je souhaitais lancé donc je n'avais pas fait attention que runtime.exe s'exécuté côté serveur... Mais maintenant que je fini mon développement sur le "vrai" serveur je me rend compte de mon erreur.

    Est-ce possible ? J'ai vu qu'il existait autrement JWS mais si j'ai bien compris il faut le .war du programme que l'on veut lancer. Si je reprend mon exemple avec word, comme je ne l'ai pas développer je n'ai pas le .war....

    Merci pour toutes les pistes que vous pourriez me donner.

  2. #2
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Pour des raisons assez évidentes de sécurité, il n'est pas possible de lancer un executable sur un client qui se connecte sur ton serveur. D'autant que tu n'est jamais sur que le client en question a bien l'executable que tu veux lancer...
    Il faudrait préciser ce que tu veux lancer exactement. Par exemple, si c'est simplement le logiciel de messagerie, tu peux utiliser un lien avec le mot clé "mailto". De meme, la plupart des fichiers documents classiques (par exemple pdf) s'ouvrent directement sur le browser si tu mets un lien vers l'un d'eux.

    par contre, si tu veux utiliser des executables un peu plus exotiques, il va falloir passer par une applet ou du jws qui s'executent coté client (si celui-ci l'autorise).

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Alors tu confond tout.

    Est-ce possible? Oui, et non. Tu pense bien que, moi, je n'ai pas envie que n'importe quel site que je visite puisse lancer comme ça des applications de ma machine. Donc globalement c'est non, le serveur ne peut pas.
    Il reste cependant une alternative: te baser sur quelque chose qui tourne déjà chez le client: une applet java. Mais par défaut une applet c'est déjà coincé dans une sandbox, donc ça ne peut pas appeler des autres applications. Pour le faire, ça doit sortir de la sanbox: donc être signée, avec un certificat valdie (qu'il faut dont acheter) et ensuite, l'utilisateur doit cliquer oui sur les popups de sécurité qui apparaissent. Avec javawebstart, le principe restera le même, tu remplacera simplement l'applet par un application javawebstart.

    un .war, c'est pour une application web java. Javawebstart, ça utilise des jar, tout comme les applets. Word n'est pas une application java, tu n'en aura jamais un .war ou un .jar. Tu aura un package .msi pour l'installation.

    Pour le reste, je ne comprends pas tes bidouille. Quel est le but final? Parce que j'ai du mal à voir l'intérêt de lancer word depuis une page web.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Points : 1 036
    Points
    1 036
    Par défaut
    Bonjour,

    Si tu envoies un fichier .doc sur ton client et que word est installé, word s'ouvrira sur le client...
    Tu n'as besoin de rien d'autre.

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Jimmy_ Voir le message
    Bonjour,

    Si tu envoies un fichier .doc sur ton client et que word est installé, word s'ouvrira sur le client...
    Tu n'as besoin de rien d'autre.
    En effet, en précisant le bon "contentType" ça se fera tout seul...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    Ok je vais entrer un peu dans les détails pour que vous comprenez et que vous puissiez m'aider un peu aussi^^

    Actuellement je réalise un site interne pour une entreprise. Tous leur parc info à la même architecture interne (je parle de l'installation des programmes).

    Par l'intermédiaire de ce site je veux pouvoir réaliser 2 choses :
    - ouvrir le SAP Logon
    - ouvrir le mstsc (connexion au bureau à distance de Windows)

    Pour ces 2 choses j'ai les commande dos qui vont bien. Comme il ne faut pas uniquement ouvrir un programme, mais l'ouvrir avec les bonne variables. Par exemple pour le mstsc je lui joins un fichier contenant l'adresse ip sur laquelle je veux me connecter.
    En ce qui concerne le SAP Logon je lui joins des paramètres précisant le SID de l'instance SAP ainsi que le client.

    Enfin bref je ne vois pas comment me dépatouiller avec sa... Surtout que l'objet principal du site est l’accès à ces 2 programmes. Dites moi si vous voyez une façon de pouvoir réaliser sa. Merci

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Applet signée, je ne vois pas d'autres solutions...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ActiveDirectory, et tu déploie les .bat qui vont bien sur tous les profils utilisateurs me semblerait le choix le plus judicieux. Si ils ont tous exactement les mêmes progs installer, il y a de fortes change que tout soit déjà déployé par active directory.

    Si pas d'active directory, foutre les .bat dans un .exe qui les tappe sur le bureau. Et demander à tout le monde de l'installer. De toutes façons, entre leur expliquer quelles trois cases qu'ils doivent cocher pour autoriser l'applet et leur expliquer comment lancer l'exe une seule fois ....

    Ha oui, et sans active directory tu va te bouffer la queue, parce que tu devra aller sur tous les postes installer et mettre à jour java à chaque fois....


    Je ne sais pas quelle analyse tordue est arrivée à la conclusion qu'il fallait lancer des trucs par un site web

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    Non mais y a pas eu d'analyse du tout... eh moi je suis arrivé sans me poser de question en me disant "java c'est magique, on peut tout faire avec".

    Par contre vous me parlez tous en chinois. Je vais reprendre tout sa à tête reposée demain. Si vous aviez des docs/tuto/exemples... accessibles et en français de préférence je prend.

    Sinon je vais fouiller tout sa demain et je reviendrais surement vers vous. Merci en tout cas.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    Un autre truc me viens à l'esprit et il est très important.

    Donc je développe (= stage) ce site pour une société qui est un sous traitant d'une plus grosse. Et c'est cette dernière qui nous met à disposition son réseau et des pc. Sur ces pc nous n'avons aucun droit, nous ne pouvons rien installer (ie est installé, on ne peut pas installer d'autre navigateur, et on ne peut même pas le mettre à jour...).

    Avec les solutions que vous me proposez je ne pense pas que nous aurions les droits suffisant...

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Avec une applet signée, ça va suffire pour lancer les programmes de l'utilisateur actif...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    Ok mais comment peut-on signer une applet qui n'est pas de nous ? De ce que je vois sur le net on a besoin d'un .jar non ?

  13. #13
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Avec une applet signée, ça va suffire pour lancer les programmes de l'utilisateur actif...
    Non, il faut
    -> une applet signée
    -> une java à jour (plus de 1 version de retard, les applets se désactivent) ou alors très ancienne (avant que oracle ne commence à serrer la vis sur les sécurités). Et vu la description du réseau, je le sent pas trop.
    -> le plugin java installé (ce n'est pas d'office le cas)
    -> des sécurités dans la configuration mises pour que l'on puisse exécuter des applets (si la case exécuter les applets est décochée, c'est cuit)
    -> que l'utilisateur clique oui sur les prompts

    Citation Envoyé par Lolosan Voir le message
    Ok mais comment peut-on signer une applet qui n'est pas de nous ? De ce que je vois sur le net on a besoin d'un .jar non ?
    Pourquoi cette applet ne viendrait pas de vous, c'est toi qui écrit le code il me semble

    Par contre j'ai du mal à comprendre pourquoi le client refuserait le déploiement de vos scripts alors qu'ils vous ont mandaté pour effectuer cette tâche. C'est comme demander au mécano de réparer ta voiture sans ouvrir le capot ni les portières. Et pas touche aux boulons des pneus.
    Je peux comprendre, et c'est normal, que vous n'ayez pas les droit de faire des installations, mais le client doit surement avoir des procédure genre: "tu fournis un .msi, ils le poussent sur une environnement de test puis le poussent sur l'environnement de production". Parce que là tu te mord la queue. Même si t'arrive à faire fonctionner l'applet, tu va quand même devoir demander au client d'installer java, d'activer les applets et de mettre à jour java régulièrement.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    La demande de création du site ne viens pas de la société qui gère notre parcs info mais de ma société. Elle a besoin de ce site pour gagner du temps sur ses taches quotidiennes.

    Après je peux voir pour débloquer quelques droits mais il faut vraiment que la solution sois légère et nous donne le minimums de droits possibles je pense.

    Et concernant l'applet signé je pensais qu'il fallait signer l'appli que l'on souhaité utiliser (dans mon cas mstsc) et non mon site... enfin bref j'étais à côté de la plaque.

    Et concernant l'active directory, comment je peux voir s'il est sur les postes ou non ?

    Toute suggestion sera la bienvenu. Merci

  15. #15
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Donc je résume pour voir si j'ai bien compris

    ta boite X travaille pour la boite Y

    les employés de X n'ont pas envie de se taper la configuration à la main de deux outils donc demandent une solution "automatique", en exécutant un .bat préconfiguré
    les employé de X travaillent sur des PC de Y et donc sont limités en droits. Mais, tous les outils sont installés, juste pas la config.
    Toi, tu dois développer une solution pour les employés X pour qu'il puissent cliquer pour ouvrir leur application facilement. Ta solution, tu l'a dans un .bat que tu voudrais lancer depuis la page web.

    Question: pourquoi tu ne te contente pas de mettre les .bat en téléchargement sur le site? Il auront juste à les lancer après les avoir téléchargés.

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    Tu as très bien résumé la situation ou presque. Je n'ai pas de .bat.

    Le truc c'est que je vais représenter un ensemble de serveur (plus d'une centaine) et l'utilisateur final en cliquant dessus pourra s'y connecter via le SAP Logon ou bien le mstsc. Moi en sachant où la personne aura cliqué je lance le programme avec les information concernant le serveur. Le but est d'avoir un outil unique (habituellement ils en utilisent plusieurs), et plus rapide.

    En gros si je comprend bien, il faudrait que je génère à chaque fois un .bat (avec mes commandes à l’intérieur), que la personne le charge et le lance ? Donc la personne a chaque fois qu'elle voudra se connecter sur un serveur devra réaliser toutes ces actions... Un utilisateur se connecte à beaucoup de serveur dans la journée, si toutes les 5min il doit télécharger le fichier et le lancer.... Ne peut-on pas réalise cela de manière invisible pour l'utilisateur ? Ou alors qu'il le fasse une seule fois et qu'après sa ne se vois plus ?

  17. #17
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ben la solution de base, ça aurait été de faire ça en local (une application swing par exemple) et pas sur le serveur (qui lui ne peut rien lancer facilement chez le client) Toutes les solution transparentes que je vois passerait inévitablement par l'installation de quelque chose sur le poste client à une moment ou un autre:

    L'applet nécessite java à jour et, de toutes façons, ils seront emmerdés à longueur de journée par les popup de sécurité. Sans compter qu'il faut investir dans un certificat si ta boite n'en a pas un.
    Télécharger des bat toutes les 5 minutes, c'est vrai que ça va devenir rapidement le bordel
    Rajouter un plugin dans internet explorer pour gérer des protocole comme sap:// nécessite de les développer est installer.


    Note: pour remote desktop, tu peux peut être t'en sortir avec l'activex pour remote desktop:

    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

    Pour SAP, il existe peut être quelque chose de similaire. donc là l'idée c'est d'avoir le remote desktop / sap sans lancer les programmes...

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    Je vais tenter dans un premier temps de faire fonctionner l'activex que tu m'as montré.

    Sinon comme solution de secourt, tu parles de swing (que je ne connais pas), comme mon site est développé en JSF je garde tout mon code java pas de problème avec sa. Est-ce possible avec swing de réaliser des interfaces à partir de mon JSF parce que créer toutes les interfaces à la main alors que j'avais casi fini mon site...

  19. #19
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Non, pas possible, les techno n'ont rien à voir. L'une c'est destiné à faire de l'affichage dans une fenêtre, l'autre c'est destiné à génerer des pages web

    Je ne dirais pas que tu as casi fini. Selon moi, vu que tu n'a pas encore codé le core-buisness (lancer les connexions distance) c'est tout juste un prototype très avancé :-)

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    A ben pour moi lancer ces 2 programmes sa se faisait en 2 lignes, et comme j'ai fait toute la partie connexion à la BD avec ajout/suppression/modif de mes données j'y était presque...

    Mouai je sens que je vais devoir tout refaire... enfin merci beaucoup pour l'aide.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Execution commande sur une base de données
    Par chrno dans le forum C#
    Réponses: 7
    Dernier message: 04/11/2008, 15h33
  2. executer une commande sur un serveur depuis une page web
    Par nico33410 dans le forum Général Conception Web
    Réponses: 12
    Dernier message: 21/04/2007, 19h02
  3. Executer n Command sur une connection
    Par voyageur dans le forum Accès aux données
    Réponses: 3
    Dernier message: 25/01/2007, 11h19
  4. Réponses: 6
    Dernier message: 09/11/2005, 17h29
  5. Réponses: 4
    Dernier message: 03/12/2004, 11h18

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