Fonction javascript en ActiveX

Résolu
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010 - 23 sept. 2009 à 15:11
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010 - 8 janv. 2010 à 20:35
bonjour à tous,

dans le cadre du développement d'un portail Web d'entreprise, j'ai été amené à créer une fonction en javascript (que je maitrise plutôt bien) permettant de lancer une connexion automatique à un pc ou serveur.
Je m'explique : Je passe des paramètre à cette fonction (adresse IP, user et password) pour qu'elle m'exécute ensuite un programme (en l'occurrence DameWare) en ligne de commande. Ce qui a pour effet d'aller cherche un exécutable présent sur chaque poste en local, en lui passant des paramètres. Tout fonctionne très bien, et voici la fonction :

function lance_exec(ip,admin,password)
{
var oShell = new ActiveXObject("Shell.Application");
var commandtoRun = "C:/Program Files/DameWare Development/DameWare NT Utilities/dwrcc.exe";
var commandParms = " -h: -c: -m:" + ip + " -u:" + admin + " -p:" + password +" -a:2";
oShell.ShellExecute(commandtoRun, commandParms, "", "", "0")
}
Cependant, je suis obligé d'aller activer toutes les options concernant les ActiveX pour la zone "intranet" d'internet Explorer, sinon rien ne ce passe. De plus, cela ne fonctionne pas avec Firefox. Je souhaiterai savoir s'il serai possible de créer un contrôle ActiveX, qui contiendrai cette fonction. Le but serai qu'un message apparaissent dans le navigateur lors de la première utilisation de cet activeX, pour demander à l'utilisateur s'il souhaite l'exécuter ou non et l'autorise en tout temps, ou non. J'ai beau chercher sur google ( I know google is my friend) mais je ne trouve pas comment faire cela. En quel langage dois-je développer mon activeX ? comment l'intégrer dans une page webv et comment lui transmettre des paramètres ? Avez-vous des infos ou un tuto à ce sujet ? Est-ce réellement un contrôle ActiveX qu'il me faut pour réaliser ce genre de chose ou est-ce quelque chose d'autre ?
Merci par avance
cordialement,

Paul

21 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
2 oct. 2009 à 08:57
allez alors chez nos amis de http://www.vbfrance.com/
là aussi d'excellentes compétences
qui sauront vous guider.
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 sept. 2009 à 15:27
Bonjour,

>>Cependant, je suis obligé d'aller activer toutes les
>>options concernant les ActiveX pour la zone "intranet"
>>d'internet Explorer,
oui.
ou de nommer la page "toto.hta" à la place de
"toto.htm", voire .htas

>>sinon rien ne ce passe.
si si : il y a des messages d'erreurs

>>De plus, cela ne fonctionne pas avec Firefox.
certes... et pas si simple,
non pas que les activeX ne fonctionnent pas
avec FF, mais c'est très très mal vu, vous
aurez du mal à avoir de l'aide de ce coté là,
et pour moi, c'est bien trop compliqué à faire,
pas sûr que cela soit "raisonnable".

>>En quel langage dois-je développer mon activeX ?
pas un souci de langage coté activeX, vous utilisez
celui qui vous convient, mais de javascript dans
les navigateurs qui permettent "aisément" ou pas,
voire pas du tout.

pour FF peut-être regarder du coté de XUL
( et ce sera incompatible avec IE ), mais
quid des autres navigateurs : ?

>>Est-ce réellement un contrôle ActiveX
>>qu'il me faut pour réaliser ce genre de chose
lancer un exécutable depuis javascript,
pas sûr que d'autres choix existent

voir la conception "autrement" ?
langage serveur (ou autres) par exemple

Cordialement [mon Site] [M'écrire] Bul
0
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
23 sept. 2009 à 15:56
Merci beaucoup pour cette réponse rapide.
Qu'entendez-vous par "'voir la conception "autrement" ?
langage serveur (ou autres) par exemple" ???

Je vais me documenter plus amplement sur les activeX. Si je comprend bien, il faut que je développe un activeX, peu importe le langage, pour faire ce genre de chose. Mais comment faire en sorte que l'activeX s'installe automatiquement lorsque l'on lance la navigateur ?
Existe-il une solution qui me permettrai d'obtenir le même résultat sous Firefox ?
sinon si vous avez une autre solution, je suis preneur.
Merci !!!!
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 sept. 2009 à 16:13
>>voir la conception "autrement"
_ concevoir l'application totalement différemment
_ changer de langage
_ faire cela coté serveur
_ oublier dwrcc.exe ( que fait-il d'ailleurs ??? )
_ ...

>>si je comprend bien, il faut que je développe un activeX,
ben non,
l'activeX c'est "Shell.Application";
si vous créez la votre, vous aurez les
mêmes "restrictions"

>>obtenir le même résultat sous Firefox
déjà répondu
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
23 sept. 2009 à 16:18
Merci ecore !

dwrcc.exe correspond au logiciel que je souhaite executer...Il est présent en local sur chaque poste...
Le faire à partir du serveur, dans un auter langage, pas de problèmes, mais comment procéder svp ?
Je pense laisser tomber l'activeX vu que ce n'est pas compatible avec FF.
Est-ce réalisable en applet java ?
Merci
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 sept. 2009 à 16:30
>>dwrcc.exe correspond au logiciel que je souhaite executer
certes !! mais il fait quoi ?
quand je disais faire cela coté serveur, je ne
pensais pas trop à lancer un exécutable
mais y faire au moins le boulot de ce
dwrcc.exe , encore faut-il à quoi il sert.
>>Est-ce réalisable en applet java ?
java, asp, php, .net, ruby... probablement.
0
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
23 sept. 2009 à 16:36
Oui désolé !!!!
En fait dwrcc.exe correspond au logiciel de prise en main à distance Dameware. Donc en fait, je lance ce programme en ligne de commande avec des commutateurs, par exemple "-a" pour préciser l'adresse ip...
Ce programme permet d'effectuer des prises en main à distance sur des postes de travail. Nous l'utilisons dans mon entreprise mais il est lassant de devoir saisir chaque fois les identifiants et adresses...Cette technique permet de tout automatiser. C'est un soft type PcAnywhere ou encore VNC Viewer.

Mon problème est donc que je souhaite lancer un exe en lui passant des paramètre, sachant que cet exe correspond à un programme installé sur chaque poste client, et il faudrait que je puisse exécuter ce programme aussi bien depuis IE (actuellement c'est ok) que depuis FireFox...
Et je bloque !!!

Pour l'écriture d'un applet, je ne sais pas si cela sera adapté...Un applet n'est pas vraiment seulement destiné à exécuter un programme en local, si ? (pardonnez mon ignorance !!!)
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 sept. 2009 à 16:50
>>Ce programme permet d'effectuer des prises en main
>>à distance sur des postes de travail.
il n'a donc pas à être lancé
depuis ces postes à priori

>>lassant de devoir saisir chaque fois
>>les identifiants et adresses.
certes, mais pourquoi le lancer depuis les postes ?

et : vous le lancez systématiquement ? chaque jour ?
sur chaque poste ?

il faut que vous nous expliquiez pourquoi !

un tel logiciel est fait pour intervenir
à distance pour régler des problèmes
ce n'a pas à être systématique

ou alors pour l'utilisez pour autre chose ?

peut-être qu'un simple transfert de
fichiers entre micro/serveur, automatisé
suffit (?)

java peut-être utilisé en local aussi
et pas lui seulement,
mais la question, à mon humble avis, et
ça ne fait pas le moine, est ailleurs
0
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
23 sept. 2009 à 16:59
En fait, j'ai developpé des tableaux en php, qui interrogent une base MYSQL, pour nous fournir une liste de serveurs. Ces serveurs sont ceux de nos clients, et nous devons nous connecter régulièrement dessus, afin de régler des incidents. Chaque technicien ce connecte au minimum à 5 serveurs par jour.
Auparavant, chaque personne lançait le logiciel Dameware (dwrcc.exe), et y renseignai adresse ip, user et mot de passe pour pouvoir ce connecter au serveur. Ces informations étaient récupérées dans la tableau dont je vous parle. Ce qui faisait perdre un temps précieux.
Afin d'éviter cela, j'ai créer un lien dans chaque ligne du tableau, qui appel un javascript (fonction fournie dans mon premier post "lance_exe") qui a donc pour but d'appeler le logiciel dameware, mais en ligne de commande, en lui passant les trois paramètre IP+user+password. Ce qui évite aux techniciens de le saisir, et lance le logiciel dameware, qui ce connecte automatiquement au serveur, sans demandez quoique ce soit.
Ce que je voudrai donc, c'est pouvoir lancer le logiciel dameware en ligne de commande (et donc je pense qu'il faut qu'il soit installé en local sur chaque poste ???) afin qu'il ce connecte automatiquement au serveur avec les paramètres données. Cela fonctionne très bien avec IE, en modifiant les options internet concernant les activeX en zone intranet, mais sous firefox, j'ai des erreurs, me disant que le ActiveX object n'est pas déclaré, ce qui est donc normal, vu que FF ne gère pas les activeX par défaut...
En espérant vous avoir fournis assez d'information, et encore merci à vous de prendre la peine de m'aider, c'est vraiment sympa !!
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 sept. 2009 à 18:40
je comprends un peu mieux le pourquoi du comment !

votre souci c'est donc de se connecter,
grâce à dwrcc.exe, à des serveurs sans
que ceux qui se connectent ne saisissent
à chaque fois les coordonnées.

obligé de passer par un navigateur ?

et par exemple : renommer votre "page.htm"
en "page.hta" ne conviendrait pas ?
( c'est du javascript avec activeX sans
messages d'avertisements , considéré comme
un exécutable y compris l'aspect, exécuté
par mshta.exe, qui se sert bien sûr du
moteur IE, mais "ce n'est pas IE" )
0
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
23 sept. 2009 à 21:14
merci beaucoup ! Par contre, est-ce la page sur laquelle j'ai ma liste de serveurs que je dois renommer en hta pour ensuite coder ? car cette page est en php...
en fait oui nous nous connectons souvent sur des serveurs, car je travail sur un plateau help-desk.
J'ai chercher des tuto sur HTA, et d'après ce que je comprend, il faudrait que je renomme ma page en HTA et que je code...Le problème est qu'elle comporte du code PHP...
Sinon, est-ce possible d'appeller une page HTA qui contiendra ma fonction qui lance dwrcc.exe, tout en lui passant mes trois paramètre, qui ne sont rien d'autre que des variables ?
Merci !
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
24 sept. 2009 à 09:25
ce que je voulais dire ( pas été très clair ! ), c'est :

_ un programme, un script, écrit avec le
langage que vous préférez
( javascript+ hta peuvent faire )
_ installé sur chaque poste
_ qui consulte la base de données
soit directement,
soit en appelant le php
_ qui lancera la prise en main à distance
0
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
24 sept. 2009 à 15:29
ok je comprend le principe, cependant il s'agit d'un portail web, et je ne vois pas comment installer un script en local sur chaque machine...Je n'aurai jamais pensé qu'il était aussi compliqué d'executer des programmes à partir d'une page web, malgré toutes les options de sécuritée...Il faut vraiment que je trouve une solution compatible IE/FF qui me permette cela...Et je crois que ce n'est pas gagné...
Sinon, en installant un script sur le poste, puis-je faire en sorte que celui-ci soit appelé lorsque j eclique sur un bouton d'une page web, qu'il recupère des variables transmises afin de les utiliser ? Si oui, comment puis-je procédez exactement, car je comprend le principe, mais je ne vois pas du tout comment mettre cela en place...
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
24 sept. 2009 à 15:39
>>compatible IE/FF
je crois qu'avec Fx, ça ne va pas être simple !
>>portail web
plutôt s'orienter vers : java, .net, et/ou autres
enfin, ce n'est que mon avis, et ça ne fait pas
le moine.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
24 sept. 2009 à 15:45
>>Sinon, en installant un script sur le poste,
bah.. dans ce cas, autant y installer
l'exécutable/le .hta... qui fera tout
le boulot
ou je n'ai pas compris ?
>>appel au click sur un bouton d'une page web
on pourrait... et retomber sur ce qui bloque
depuis le début : puisque page web
0
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
24 sept. 2009 à 15:54
ok...Je ne comprend plus grand chose là...Installer un hta en local ok, mais est-ce possible de lui transmettres des variables ? De faire en sorte qu'un lien sur mon portail web appel le hta local de chaque poste ? Je trouve que c'est un peu complexe pour pas grand chose au final, si ca peu me solutionner la vie je vais le faire, mais c'est vraiment dommage de devoir installer en composant en local sur les postes, mais bon je peux m'en accomoder, je ne vais pas faire le difficil...Après j'ai bien compris que je peux utiliser n'importe quel langage, mais comment faire ? on en reviens toujours au meme problème...Je pensai qu'il serai vraiment plus simple de pouvoir lancer des executable depuis un navigateur...Dommage qu'apparament il faille passer par toutes ces méthodes tortueuses !!! J'avais pensé developpé un applet Java, on m'a dit que ca pouvai solutionner mon problème, mais je ne vois pas comment, ni pour quelles actions exactement...Dur dur de trouver des infos sur ce genre de choses !!! je suis perdu là !!! trop de théorie tue le théorie lol
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
24 sept. 2009 à 16:10
un .hta c'est un .htm
qui n'affiche pas d'erreurs, de messages...
en utilisant les activeX
c'est considéré/traité comme un exécutable

>>De faire en sorte qu'un lien sur mon portail
>>web appel le hta local de chaque poste
euh... un .hta c'est "un exécutable",
on retombe sur les mêmes soucis qu'avec votre dwrcc.exe

je suggérais "l'inverse" :
sur le poste, on clique sur le .hta ou un
exécutable réalisé dans un autre langage,
( ou sur un raccourci bien sur )

java "semble vous tenter" : ça ne posera
aucun souci de réaliser cela à priori
( [i]et pas obligatoirement avec un applet,
qui ne fonctionne qu'à travers un navigateur !/i )
allez voir nos amis sur http://www.javafr.com
0
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
1 oct. 2009 à 14:03
merci beaucoup pour vos réponses et votre implication.
Désolé du temps que j'ai mis pour répondre, j'étais sur un gros projet de développement en DOTNET, je développe également des outils de supervision, ce portail web est secondaire, mais j'aime bien ^^
Je vais regarder du coté de java...Donc si je comprend bien, ma solution consiste à développer un appel java, à qui je pourrai passer des paramètres, pour qu'ensuite il lance mon dwrcc.exe (si j'ai bien tout compris ) ?
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 oct. 2009 à 14:14
>>ma solution consiste à développer un appel java,
je ne sais pas ce que vous appelez "un appel java" ?
un applet c'est géré par les navigateurs
java est un langage "à part entière", pas
uniquement tributaire des navigateurs
ce n'est pas le seul, mais vous sembliez tenté
par celui-ci, aucune raison d'y résister ;o)
allez voir nos amis de http://www.javafr.com/
les intervenants sont très compétents et
sauront vous conseiller
0
aforpien Messages postés 118 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 12 mai 2010
1 oct. 2009 à 16:25
Merci, dsl pour appel java, faut de frappe, j'ai été trop vite.

Mais réflexion faite, je suis bien plus performant en vb dotnet qu'en java.
Je n'ai toujours pas compris le principe de "comment faire", peu importe la langage à utiliser, je ne vois pas comment arriver à faire mon exécution d'application...Comment communiquer entre le navigateur et un programme externe réaliser en java ou dotnet ?...Faut-il l'installer sur les postes ? puis-je faire une installation automatique ? Je ne vois pas comment faire, car si je doit appeller un programme java ou un programme .NET, le résultat sera le meme que si je lance dwrcc.exe directement...

Si quelqu'un à déjà réaliser ce genre de chose, merci de me donner les grandes lignes de "comment faire", car là, meme avec toutes ces infos, je n'arrive pas à en déduire une solution efficace.

Je vais continuer à chercher, merci pour vos renseignements.
0
Rejoignez-nous