Avez vous une idée ?
Merci d'avance pour votre aide
NGUYEN
Avez vous une idée ?
Merci d'avance pour votre aide
NGUYEN
Avez vous une idée ?
Merci d'avance pour votre aide
NGUYEN
bonjour,
Je suis en train developper une application web en Java. Et je voulais
pouvoir lancer une application (Excel, Visio ...) sur le poste client
dans un programme Java
try{
Runtime runtime = Runtime.getRuntime();
Process slave = runtime.exec("c:/path/app.exe");
slave.waitFor();
}
catch(Exception e){
e.printStackTrace();
}
bonjour,
Je suis en train developper une application web en Java. Et je voulais
pouvoir lancer une application (Excel, Visio ...) sur le poste client
dans un programme Java
try{
Runtime runtime = Runtime.getRuntime();
Process slave = runtime.exec("c:/path/app.exe");
slave.waitFor();
}
catch(Exception e){
e.printStackTrace();
}
bonjour,
Je suis en train developper une application web en Java. Et je voulais
pouvoir lancer une application (Excel, Visio ...) sur le poste client
dans un programme Java
try{
Runtime runtime = Runtime.getRuntime();
Process slave = runtime.exec("c:/path/app.exe");
slave.waitFor();
}
catch(Exception e){
e.printStackTrace();
}
phuchau wrote:bonjour,
Je suis en train developper une application web en Java. Et je voulais
pouvoir lancer une application (Excel, Visio ...) sur le poste client
dans un programme Java
Je ne comprends pas très bien le "dans un programme java".
Tu fais une application web ou une application classique ?
Tu veux lancer un programme java depuis une application web ?
Ou lancer une application depuis un programme java ?
Dans tous les cas, ton serveur web ne peut pas lancer d'appli sur les postes
clients.try{
Runtime runtime = Runtime.getRuntime();
Process slave = runtime.exec("c:/path/app.exe");
slave.waitFor();
}
catch(Exception e){
e.printStackTrace();
}
Qui execute ce code ?
phuchau wrote:
bonjour,
Je suis en train developper une application web en Java. Et je voulais
pouvoir lancer une application (Excel, Visio ...) sur le poste client
dans un programme Java
Je ne comprends pas très bien le "dans un programme java".
Tu fais une application web ou une application classique ?
Tu veux lancer un programme java depuis une application web ?
Ou lancer une application depuis un programme java ?
Dans tous les cas, ton serveur web ne peut pas lancer d'appli sur les postes
clients.
try{
Runtime runtime = Runtime.getRuntime();
Process slave = runtime.exec("c:/path/app.exe");
slave.waitFor();
}
catch(Exception e){
e.printStackTrace();
}
Qui execute ce code ?
phuchau wrote:bonjour,
Je suis en train developper une application web en Java. Et je voulais
pouvoir lancer une application (Excel, Visio ...) sur le poste client
dans un programme Java
Je ne comprends pas très bien le "dans un programme java".
Tu fais une application web ou une application classique ?
Tu veux lancer un programme java depuis une application web ?
Ou lancer une application depuis un programme java ?
Dans tous les cas, ton serveur web ne peut pas lancer d'appli sur les postes
clients.try{
Runtime runtime = Runtime.getRuntime();
Process slave = runtime.exec("c:/path/app.exe");
slave.waitFor();
}
catch(Exception e){
e.printStackTrace();
}
Qui execute ce code ?
En créant un nouveau process coté serveur, tu vas lancer l'application
sur le serveur !
Il est impossible de démarrer une application sur le poste du client en
HTML (puisque c'est ce que renvoie ton serveur au client). Si le
navigateur pouvait lancer des process sur le client, ça serait
impossible à gérer d'un point de vue sécurité.
Si tu déploies sur un intranet dont tu maitrises le parc, tu peux
éventuellement trouver un workaround en utilisant un applet avec un
SecurityManager correctement configuré... Mais vérifies bien ton besoin,
car c'est assez étrange de procéder ainsi
Ne peux tu pas renvoyer directement le fichier à ouvrir à l'utilisateur
? Sous Windows, l'utilisateur peut choisir d'ouvrir ce fichier avec
l'application par défaut...
En créant un nouveau process coté serveur, tu vas lancer l'application
sur le serveur !
Il est impossible de démarrer une application sur le poste du client en
HTML (puisque c'est ce que renvoie ton serveur au client). Si le
navigateur pouvait lancer des process sur le client, ça serait
impossible à gérer d'un point de vue sécurité.
Si tu déploies sur un intranet dont tu maitrises le parc, tu peux
éventuellement trouver un workaround en utilisant un applet avec un
SecurityManager correctement configuré... Mais vérifies bien ton besoin,
car c'est assez étrange de procéder ainsi
Ne peux tu pas renvoyer directement le fichier à ouvrir à l'utilisateur
? Sous Windows, l'utilisateur peut choisir d'ouvrir ce fichier avec
l'application par défaut...
En créant un nouveau process coté serveur, tu vas lancer l'application
sur le serveur !
Il est impossible de démarrer une application sur le poste du client en
HTML (puisque c'est ce que renvoie ton serveur au client). Si le
navigateur pouvait lancer des process sur le client, ça serait
impossible à gérer d'un point de vue sécurité.
Si tu déploies sur un intranet dont tu maitrises le parc, tu peux
éventuellement trouver un workaround en utilisant un applet avec un
SecurityManager correctement configuré... Mais vérifies bien ton besoin,
car c'est assez étrange de procéder ainsi
Ne peux tu pas renvoyer directement le fichier à ouvrir à l'utilisateur
? Sous Windows, l'utilisateur peut choisir d'ouvrir ce fichier avec
l'application par défaut...
Jette un oeil au projet POI d'Apache, cette API te permettra
d'intégrer la génération de ton fichier Excel au traitement coté
serveur.
Il te suffira alors de renvoyer le contenu du fichier généré coté
serveur sur le navigateur (brancher un FileInputStream sur ton
response.getOutputStream()) en définissant le content type
correspondant.
Ta solution actuelle peut également fonctionner, mais en utilisant un
langage tel que VB, ta solution perd en portabilité (elle ne
fonctionnera plus que dans un environnement Windows).
Jette un oeil au projet POI d'Apache, cette API te permettra
d'intégrer la génération de ton fichier Excel au traitement coté
serveur.
Il te suffira alors de renvoyer le contenu du fichier généré coté
serveur sur le navigateur (brancher un FileInputStream sur ton
response.getOutputStream()) en définissant le content type
correspondant.
Ta solution actuelle peut également fonctionner, mais en utilisant un
langage tel que VB, ta solution perd en portabilité (elle ne
fonctionnera plus que dans un environnement Windows).
Jette un oeil au projet POI d'Apache, cette API te permettra
d'intégrer la génération de ton fichier Excel au traitement coté
serveur.
Il te suffira alors de renvoyer le contenu du fichier généré coté
serveur sur le navigateur (brancher un FileInputStream sur ton
response.getOutputStream()) en définissant le content type
correspondant.
Ta solution actuelle peut également fonctionner, mais en utilisant un
langage tel que VB, ta solution perd en portabilité (elle ne
fonctionnera plus que dans un environnement Windows).
Jette un oeil au projet POI d'Apache, cette API te permettra
d'intégrer la génération de ton fichier Excel au traitement coté
serveur.
Il te suffira alors de renvoyer le contenu du fichier généré coté
serveur sur le navigateur (brancher un FileInputStream sur ton
response.getOutputStream()) en définissant le content type
correspondant.
Ta solution actuelle peut également fonctionner, mais en utilisant un
langage tel que VB, ta solution perd en portabilité (elle ne
fonctionnera plus que dans un environnement Windows).
Jette un oeil au projet POI d'Apache, cette API te permettra
d'intégrer la génération de ton fichier Excel au traitement coté
serveur.
Il te suffira alors de renvoyer le contenu du fichier généré coté
serveur sur le navigateur (brancher un FileInputStream sur ton
response.getOutputStream()) en définissant le content type
correspondant.
Ta solution actuelle peut également fonctionner, mais en utilisant un
langage tel que VB, ta solution perd en portabilité (elle ne
fonctionnera plus que dans un environnement Windows).
Jette un oeil au projet POI d'Apache, cette API te permettra
d'intégrer la génération de ton fichier Excel au traitement coté
serveur.
Il te suffira alors de renvoyer le contenu du fichier généré coté
serveur sur le navigateur (brancher un FileInputStream sur ton
response.getOutputStream()) en définissant le content type
correspondant.
Ta solution actuelle peut également fonctionner, mais en utilisant un
langage tel que VB, ta solution perd en portabilité (elle ne
fonctionnera plus que dans un environnement Windows).
Jette un oeil au projet POI d'Apache, cette API te permettra
d'intégrer la génération de ton fichier Excel au traitement coté
serveur.
Il te suffira alors de renvoyer le contenu du fichier généré coté
serveur sur le navigateur (brancher un FileInputStream sur ton
response.getOutputStream()) en définissant le content type
correspondant.
Ta solution actuelle peut également fonctionner, mais en utilisant un
langage tel que VB, ta solution perd en portabilité (elle ne
fonctionnera plus que dans un environnement Windows).
Si le but est de générer un fichier Excel et un fichier Visio, la
portabilité...
La solution ne serait-elle pas plutôt de mettre un oeuvre un bon vieux
CGI ? Auquel cas, le recours à VB pour générer l'organigramme Visio est
une bonne idée, à défaut d'être la meilleure.
Néanmoins, j'aurais 3 questions pour l'auteur du thread, et une
suggestion de solution plus dans l'esprit Web :
1. pourquoi faut-il, pour générer le "bout" d'organigramme en visio,
générer d'abord un fichier Excel ?
2. pourquoi faut-il que l'organigramme soit généré en visio, qui a peu
de chance d'être visualisable par le navigateur du poste consultant ?
3. l'organigramme est-il si compliqué et surtout si dynamique qu'il
faille le dessiner à la volée plutôt que de le dessiner une fois pour
toutes et en faire un gif/jpg ?
En tout état de cause, je suggérerais personnellement le recours à XML
et XSL. Ton scénario devient le suivant : ton utilisateur se connecte,
sélectionne le bout d'organigramme qu'il veut consulter -> appel d'une
servlet qui génère, à partir des données issues de ta BDD un flux XML
reproduisant la hiérarchie à afficher :
<?xml version="1.0" encoding="ISO-8859-1"?>
<ARBRE>
<RESPONSABLE nom="Durand" prenom="Francis">
<TELEPHONE>
xx.xx.xx.xx.xx
</TELEPHONE>
<BUREAU>
524
</BUREAU>
<ETAGE>
2
</ETAGE>
</RESPONSABLE>
<SECRETAIRE>
...
</SECRETAIRE>
<LISTE_COLLABORATEURS>
<COLLABORATEUR nom="...>
</COLLABORATEUR>
<COLLABORATEUR nom="...>
</COLLABORATEUR>
...
</LISTE_COLLABORATEURS>
</ARBRE>
Il te reste à créer une feuille XSL (arbreEnHTML.xsl) qui va se charger
de générer une feuille HTML à partir de ton XML (phase de
transformation). Libre à toi de trouver la façon la plus adaptée en HTLM
pour décrire ton organigramme : recours à des tableaux, des images, etc...
2 solutions pour déclencher la transformation :
1. côté serveur : la servlet effectue la transformation à l'aide de
Xalan et renvoie le flux vers l'OutputStream de la servlet
2. côté client : la servlet renvoie directement le flux XML vers le
client, mais rajoute dans l'en-tête du document XML le nécessaire pour
le client, à savoir en 2ème ligne (avant la balise <ARBRE>) :
<?xml-stylesheet type="text/xsl" href="arbreEnHTML.xsl"?>
Dans ce cas, ton fichier xsl doit être adressable dans le document root
de ton serveur Web.
Tu trouveras des exemples de transformation sur le site de Xalan
(http://xml.apache.org/xalan-j/), et des explications sur XML/XSL sur le
site du W3C (http://www.w3schools.com/xml/xml_xsl.asp).
Solution pas si compliquée qu'elle en a l'air, portable, gratuite,
"Web", formatrice (tu toucheras aux servlets, à XML, aux XSL, au
transformateur Xalan, codage en Java).
Que demander de plus ? Un peu de support pour la suite ?
:-)
Jette un oeil au projet POI d'Apache, cette API te permettra
d'intégrer la génération de ton fichier Excel au traitement coté
serveur.
Il te suffira alors de renvoyer le contenu du fichier généré coté
serveur sur le navigateur (brancher un FileInputStream sur ton
response.getOutputStream()) en définissant le content type
correspondant.
Ta solution actuelle peut également fonctionner, mais en utilisant un
langage tel que VB, ta solution perd en portabilité (elle ne
fonctionnera plus que dans un environnement Windows).
Si le but est de générer un fichier Excel et un fichier Visio, la
portabilité...
La solution ne serait-elle pas plutôt de mettre un oeuvre un bon vieux
CGI ? Auquel cas, le recours à VB pour générer l'organigramme Visio est
une bonne idée, à défaut d'être la meilleure.
Néanmoins, j'aurais 3 questions pour l'auteur du thread, et une
suggestion de solution plus dans l'esprit Web :
1. pourquoi faut-il, pour générer le "bout" d'organigramme en visio,
générer d'abord un fichier Excel ?
2. pourquoi faut-il que l'organigramme soit généré en visio, qui a peu
de chance d'être visualisable par le navigateur du poste consultant ?
3. l'organigramme est-il si compliqué et surtout si dynamique qu'il
faille le dessiner à la volée plutôt que de le dessiner une fois pour
toutes et en faire un gif/jpg ?
En tout état de cause, je suggérerais personnellement le recours à XML
et XSL. Ton scénario devient le suivant : ton utilisateur se connecte,
sélectionne le bout d'organigramme qu'il veut consulter -> appel d'une
servlet qui génère, à partir des données issues de ta BDD un flux XML
reproduisant la hiérarchie à afficher :
<?xml version="1.0" encoding="ISO-8859-1"?>
<ARBRE>
<RESPONSABLE nom="Durand" prenom="Francis">
<TELEPHONE>
xx.xx.xx.xx.xx
</TELEPHONE>
<BUREAU>
524
</BUREAU>
<ETAGE>
2
</ETAGE>
</RESPONSABLE>
<SECRETAIRE>
...
</SECRETAIRE>
<LISTE_COLLABORATEURS>
<COLLABORATEUR nom="...>
</COLLABORATEUR>
<COLLABORATEUR nom="...>
</COLLABORATEUR>
...
</LISTE_COLLABORATEURS>
</ARBRE>
Il te reste à créer une feuille XSL (arbreEnHTML.xsl) qui va se charger
de générer une feuille HTML à partir de ton XML (phase de
transformation). Libre à toi de trouver la façon la plus adaptée en HTLM
pour décrire ton organigramme : recours à des tableaux, des images, etc...
2 solutions pour déclencher la transformation :
1. côté serveur : la servlet effectue la transformation à l'aide de
Xalan et renvoie le flux vers l'OutputStream de la servlet
2. côté client : la servlet renvoie directement le flux XML vers le
client, mais rajoute dans l'en-tête du document XML le nécessaire pour
le client, à savoir en 2ème ligne (avant la balise <ARBRE>) :
<?xml-stylesheet type="text/xsl" href="arbreEnHTML.xsl"?>
Dans ce cas, ton fichier xsl doit être adressable dans le document root
de ton serveur Web.
Tu trouveras des exemples de transformation sur le site de Xalan
(http://xml.apache.org/xalan-j/), et des explications sur XML/XSL sur le
site du W3C (http://www.w3schools.com/xml/xml_xsl.asp).
Solution pas si compliquée qu'elle en a l'air, portable, gratuite,
"Web", formatrice (tu toucheras aux servlets, à XML, aux XSL, au
transformateur Xalan, codage en Java).
Que demander de plus ? Un peu de support pour la suite ?
:-)
Jette un oeil au projet POI d'Apache, cette API te permettra
d'intégrer la génération de ton fichier Excel au traitement coté
serveur.
Il te suffira alors de renvoyer le contenu du fichier généré coté
serveur sur le navigateur (brancher un FileInputStream sur ton
response.getOutputStream()) en définissant le content type
correspondant.
Ta solution actuelle peut également fonctionner, mais en utilisant un
langage tel que VB, ta solution perd en portabilité (elle ne
fonctionnera plus que dans un environnement Windows).
Si le but est de générer un fichier Excel et un fichier Visio, la
portabilité...
La solution ne serait-elle pas plutôt de mettre un oeuvre un bon vieux
CGI ? Auquel cas, le recours à VB pour générer l'organigramme Visio est
une bonne idée, à défaut d'être la meilleure.
Néanmoins, j'aurais 3 questions pour l'auteur du thread, et une
suggestion de solution plus dans l'esprit Web :
1. pourquoi faut-il, pour générer le "bout" d'organigramme en visio,
générer d'abord un fichier Excel ?
2. pourquoi faut-il que l'organigramme soit généré en visio, qui a peu
de chance d'être visualisable par le navigateur du poste consultant ?
3. l'organigramme est-il si compliqué et surtout si dynamique qu'il
faille le dessiner à la volée plutôt que de le dessiner une fois pour
toutes et en faire un gif/jpg ?
En tout état de cause, je suggérerais personnellement le recours à XML
et XSL. Ton scénario devient le suivant : ton utilisateur se connecte,
sélectionne le bout d'organigramme qu'il veut consulter -> appel d'une
servlet qui génère, à partir des données issues de ta BDD un flux XML
reproduisant la hiérarchie à afficher :
<?xml version="1.0" encoding="ISO-8859-1"?>
<ARBRE>
<RESPONSABLE nom="Durand" prenom="Francis">
<TELEPHONE>
xx.xx.xx.xx.xx
</TELEPHONE>
<BUREAU>
524
</BUREAU>
<ETAGE>
2
</ETAGE>
</RESPONSABLE>
<SECRETAIRE>
...
</SECRETAIRE>
<LISTE_COLLABORATEURS>
<COLLABORATEUR nom="...>
</COLLABORATEUR>
<COLLABORATEUR nom="...>
</COLLABORATEUR>
...
</LISTE_COLLABORATEURS>
</ARBRE>
Il te reste à créer une feuille XSL (arbreEnHTML.xsl) qui va se charger
de générer une feuille HTML à partir de ton XML (phase de
transformation). Libre à toi de trouver la façon la plus adaptée en HTLM
pour décrire ton organigramme : recours à des tableaux, des images, etc...
2 solutions pour déclencher la transformation :
1. côté serveur : la servlet effectue la transformation à l'aide de
Xalan et renvoie le flux vers l'OutputStream de la servlet
2. côté client : la servlet renvoie directement le flux XML vers le
client, mais rajoute dans l'en-tête du document XML le nécessaire pour
le client, à savoir en 2ème ligne (avant la balise <ARBRE>) :
<?xml-stylesheet type="text/xsl" href="arbreEnHTML.xsl"?>
Dans ce cas, ton fichier xsl doit être adressable dans le document root
de ton serveur Web.
Tu trouveras des exemples de transformation sur le site de Xalan
(http://xml.apache.org/xalan-j/), et des explications sur XML/XSL sur le
site du W3C (http://www.w3schools.com/xml/xml_xsl.asp).
Solution pas si compliquée qu'elle en a l'air, portable, gratuite,
"Web", formatrice (tu toucheras aux servlets, à XML, aux XSL, au
transformateur Xalan, codage en Java).
Que demander de plus ? Un peu de support pour la suite ?
:-)