Kirostaz
Messages postés29Date d'inscriptionmercredi 14 novembre 2007StatutMembreDernière intervention10 juin 2008
-
14 nov. 2007 à 10:36
barny80
Messages postés1Date d'inscriptionvendredi 25 novembre 2005StatutMembreDernière intervention10 juin 2010
-
10 juin 2010 à 16:44
Bonjour,
Je travaille sur in intranet.
Mon but est de pouvoir ouvrir un fichier Word présent sur le serveur depuis une page php via ce lien :
<td background="img/ouvrir0.gif" style="cursor:hand;" width="198" height="24" onclick="ouvriractivex();">
Ouvrir le document
</td>
qui appelle donc cette fonction JS :
{
try {
wsh = new ActiveXObject("WScript.Shell");
wsh.run ('cmd /c "<?php echo $monchemin;?><?php echo $nomfic;?>.rtf"');
}
catch(err)
{
txt="Erreur lors de la création de l'objet ActiveX.\n\n"
txt+="Informations : " + err.description + "\n\n"
txt+="Veuillez contacter votre administrateur réseau.\n\n"
alert(txt)
}
}
Et j'ai le droit à cette erreur : Un composant ActiveX ne peut pas créer un objet.
J'ai essayé pas mal de solutions :
- Ajouter le serveur en site de confiance
- Modifier les registres
- Ajouter les DLL via regserv
etc etc
On a meme essayé un script de modification au lancement de la session :
Ca a fonctionné un temps mais ça met une m**** pas possible .
Le but est qu'en fait chaque personne qui ouvre le docuement, ouvre celui présent sur le serveur ( d'où la ligne de commande ) afin que les modifications apporté au document Word soit directement appliqué sur le fichier serveur et non sur une copie locale du fichier, et ce afin que si qqn vient consulter le fichier par la suite, il voit les modifications.
Auriez vous une solution pour régler mon problème ou une solution alternative ( sans upload/download de l'utilisateur ).
Kirostaz
Messages postés29Date d'inscriptionmercredi 14 novembre 2007StatutMembreDernière intervention10 juin 2008 15 nov. 2007 à 13:37
J'avais éssayé cela aussi, malheureusement sans succès en local non plus, avec la même erreur.
J'ai donc tenté un coup de bluff : réinitialiser IE.
Options Internet > Avancés > Réinitiliser . Cette option où il est précisé qu'il faut utiliser ça qu'en cas d'extrême recours ...
Bon j'ai re-réglé ce qui devait l'être sans toucher à aucune option concernant l'ActiveX, sans même rajouter le serveur aux sites de confiances, et là Bingo, il l'a éxécuté en me demandant si je voulais bien le faire tourner parcequ'il étais pas signé, mais après validation mon word c'est bien ouvert avec le bon fichier.
J'ai donc modifié le paramètre de sécurité concernant les scripts non signés, et non voilà repartis comme en l'an 40.
Sincèrement, je sais pas du tout d'où venais le soucis, tout ce que je peux dire c'est que maintenant ça fonctionne.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 15 nov. 2007 à 13:54
>>tout ce que je peux dire c'est que maintenant ça fonctionne.
nickel... c'est l'essentiel
>>je sais pas du tout d'où venait le soucis
>>Options Internet > Avancés > Réinitiliser
tu avais du modifier je ne sais quoi je ne sais où qui interdisait les ActiveX
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 14 nov. 2007 à 11:34
bonjour,
d'abord, IE doit être autorisé à traiter les ActiveX
/ Outils / Options Internet / Sécurité
choisir la zone ( ici, à priori, Intranet Local )
cliquer sur personaliser la niveau
et cocher les "choses voulues" dans "Contrôles ActiveX et Plug-ins"
rien d'autre n'est à faire ( et surtout pas au niveau du registre )
ensuite, et surtout ! JavaScript, gère les données
sur le micro du Client, pas ceux sur le serveur.
soit, Word ( multi-utilisateurs ) à installer sur le serveur
soit, développer l'accès aux données du serveur dans un ActiveX
soit, fichier serveur => fichier client, MAJ, fichier client ==> serveur
soit...
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 14 nov. 2007 à 11:40
soit langage serveur qui envoit ce fichier ( ajax ou pas )
dans une page vers le client qui renvoie les données mise à jour.
<hr /> Cordialement Bul [mon Site] [M'écrire]
Vous n’avez pas trouvé la réponse que vous recherchez ?
Kirostaz
Messages postés29Date d'inscriptionmercredi 14 novembre 2007StatutMembreDernière intervention10 juin 2008 14 nov. 2007 à 13:05
J'ai déjà fait tout ça, IE accepte les controles ActiveX que se soit en zone intranet ou internet.
Je sais aussi que JS est coté client, mais comme chaque user à les droits sur le répertoire ou sont stocké les documents, on peux donc les lancés via \\serveur\doc\doc.rtf dans l'éxécuteur de commande. Je veux donc lancer ceci dans l'éxécuteur du client , ce qui va donc ouvrir le bon fichier ( stocké sur le serveur ) dans le Word du client, qui va pouvoir le modifier directement sans passé par une copie locale.
Le soucis vient du fait que l'objet ActiveX ne se créer pas, mais IE semble correctement configuré, accepte les ActiveX, et donc je ne vois pas du tout d'ou peut venir le soucis.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 14 nov. 2007 à 13:44
>>Le soucis vient du fait que l'objet ActiveX ne se crée pas,
pas tout à fait : les autorisations ne permettent pas de le créer
>>IE semble correctement configuré
probablement pas ?
si on lançait directement Word, ça voudrait dire que Word n'est pas
installé sur ce poste, mais sur new ActiveXObject("WScript.Shell");
la question ne se pose pas, à part autoriser les ActiveX en local...
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 14 nov. 2007 à 13:47
et attention d'ailleurs au fait de lancer ça part shell,
ça ne va pas ouvrir le fichier dans Word, mais dans
le programme chargé de gérer les fichiers .rtf
( et chez moi, par exemple, ce n'est pas Word
qui est limité aux fichiers .doc )
<hr /> Cordialement Bul [mon Site] [M'écrire]
Kirostaz
Messages postés29Date d'inscriptionmercredi 14 novembre 2007StatutMembreDernière intervention10 juin 2008 14 nov. 2007 à 14:08
Par défaut, ici Word est configuré pour ouvrir le rtf, mais encore, là n'est pas vraiment le soucis, du moment que l'utilisateur puisse l'editer correctement et le sauvegarder sur le serveur et non en local, ça m'irais déjà bien !
Kirostaz
Messages postés29Date d'inscriptionmercredi 14 novembre 2007StatutMembreDernière intervention10 juin 2008 15 nov. 2007 à 17:44
C'est bien ça le truc, c'est que j'avais rien touché avant , et que , encore plus bizarre ( mais venant d'Ie .... ), ma requete de création d'objet ne marchait pas sur mon poste ... on dit donc que ça viens de mon poste, et que IE est mal configuré, soit, mais ça ne marchais pas chez les autres non pls, alors comment expliquer qu'une fois que j'ai réinitialiser mon IE, et que le miens , ça marche chez moi et chez tout le monde.....
barny80
Messages postés1Date d'inscriptionvendredi 25 novembre 2005StatutMembreDernière intervention10 juin 2010 10 juin 2010 à 16:44
Bonjour,
par rapport au message de Bultez (du mercredi 14 novembre 2007 à 18:04)
Pour moi ça fonctionne avec un fichier local mais pas avec un distant.
Je ne sais pas quoi mettre dans nom de fichier : http://10.99.99.99:8080/Web/fichiers/fic1.doc ou fichiers/fic1.doc ou ...
Le problème indiqué par le debuggeur est que le nom de fichier est invalide.