Forum Clubic

Pb de href sous firefox

Salut à tous,

J’ai un chtit pb sur les liens de ma page à savoir :

J’ai un serveur web sur lequel mon site est hébergé. J’utilise une boucle en php pour récupérer le chemin UNC de différents fichiers (physiquement situés sur une autre machine) contenus dans une BDD. Après avoir récupéré ce chemin, j’affiche ce lien dans une cellule d’un tableau avec le code suivant :

[cpp]

<?php if(empty($Data_rqt_observation[tt_CheminFic])) { echo "&nbsp;"; }else{ echo "".Icone_doc($Data_rqt_observation[tt_CheminFic],$Extension)."[/url]";} ?> ... [/cpp]

le href une fois les variables remplacées doit donner qqch comme :

href=“file:\nom_de_pc\mon_doc.xls” par ex

Donc cette syntaxe me permet d’afficher correctement le document sous IE mais sous firefox, il me plante une erreur de sécurité javascript comme quoi il ne peut accéder au contenu du lien et rien ne se passe.

Qqun a-t-il déjà rencontré cette erreur ??

En vous remerkiant !!

Par expérience, je te conseillerai de remplacer \ par /, Mozilla a une tendance à ne pas les aimer.

Merci pour ta réponse, mais ça n’a pas eu l’effet escompté.

Voici le msg que me retourne la console javascript lors du clique sur le lien :

[cpp]Erreur de sécurité : le contenu situé à http://serveur_web/accueil2.php ne peut pas charger de données ou établir un lien vers file://machine/chemin/fichier.doc[/cpp]

Chose bizarre, quand je fais enregistrer le lien sous, il me charge le fichier en remplaçant les / par des _

En faisant le test, le fichier se rouverait sur la même machine, en chemins relatifs ça fctionne sans pb.

En fait, si qqun a une solution pour faire fctionner des liens vers des documents distants, sans que cela ne pose pb en plus s’il y a des espaces dans les noms de fichiers ou chemins …

A+

normale file: charge un fichier contenu sur l’ordinateur du client ce qui est une faille de sécurité !!!

met t fichiers sur ton serveur web et utilise http:// …

ps utilise urlencode() pour les nom bizar

Le pb c’est que je ne souhaite pas mettre les milliers de fichiers distants sur mon pauvres serveur web si tu vois ce que je veux dire :slight_smile:

si tu les met pas sur ton serveur tu seras le seul a les voir :)))))

ps : free offre 1Go !

nan mais je peux pas les mettre en local !! c’est qd même possible d’accéder à des fichiers distants en connaissant le chemin exact non ??

personne n’a jamais fais ça ?

non c pas possible…

le gars qui surf sur le web tout ce qu’il voit c des SERVEURS (qui sont la pour districuer des fichiers entre autre)

si tu installe un serveur web sur ton ordi et que tu as une ip fixe (et que tu te protege) tu pourras heberger des fichiers qui seront alors accessible du web !!!

mais faut etre 100% connecté jamais planté et tout et tout

apache sous linux

http://www.easyphp.org

Là c’est un projet au boulot en intranet quoi !! donc je m’en fous car je sais ques les docs ne bougent pas et que les machines sont accessibles en permanence que j’ai les droits et tout et tout !!
Et ma question n’est pas de savoir si free offre 1 Go d’espace disque à qui veut ou si Robert porte une paire de chaussette Kindy taille 42 !!
Y a bien une syntaxe qui permet de faire ça html ou autre non ?

non , t enerve po !!! :wink:

je voit pas en quoi tout mettre sur un serveur pose des pbs !

j’ai pas bien compris mais t quelque peu vague !!!

mais le gars qui surg sur l’intranet aura le meme pb !!!

et la reponse est toujours la meme : si tu laisse file:/
le seul endroit ou ces fichiers seront existant et accessible sera ta machine …

donc pour faire bien : on fait du PDF et ou balance tout sur le serveur Intranet…

je n’ai pas d’autre reponse :confused:

Simplement, quand tu travailles dans un environnement professionnel, la documentation interne est stockée sur une seule et même machine. Donc je vais pas m’amuser à recopier des dizaines de gigas de docs en tous genres pour avoir en plus à les mettre à jour à 2 endroits différents.

Mais nous nous éloignons du sujet !!!

Je ne cherche pas à utiliser la syntaxe :
href=“file…”

plus qu’une autre, je veux simplement une solution !!

ps : je travaille dans un environnement professionel :wink:

si tu precise des le debut que c plusieur Go de doc on comprend mieux !!!

et tu peux pas mettre un tit serveur apache sur la machine qui contient ces Go de doc ?

et dans un environnement prof de toute façon c rien quelques Go :wink:

ps 2 : tout sur une seul machine c bof … combien d’utilisateurs concourants ?

non je peux pas pour les raisons évoquées plus haut !

Bon alors je vais tenter ça en javascript

quels raisons ??? elles sont top evoqué pour moi ! invisibles :slight_smile:

bon je vois que t vnr ! :confused: c bad

a moins qu’il y ai un souci de sécurité >>> met un serveur intranet sur la machine qui heberge les docs et tu pourra y acceder via une URL (http://…)

ps : je veux juste aider pas critiquer !

Donc si j’ai bien compris :
toutes les machines sont montées en reseau intranet, avec des fichiers partagés. Tu veux, sur le serveur, faire des liens vers ces fichier, mais firefox refuse de les charger pour des raisons de sécurité. Le problème c’est que même en javascript, firefox refusera toujours, car ce sera toujours firefox qui l’interpretera et detectera donc l’eventuel risque (d’ailleurs chez moi, même avec ie ca ne marche pas, et heureusement).
Une solution peut-être d’inserer dans ta page une portion de code qui ne sera pas interpretée par firefox (un code java ou flash) mais ça risque d’être lourd à coder pour pas grand chose.
Donc à part, comme suggeré plus haut, faire un serveur sur ta machine (environ 3 minutes d’installation et de configuration), je ne vois pas de solution simple.

je veux pas paraitre rabat joie , mais c tres sale comme solution, en gros pour que ça marche il faut que :

  • sur toutes les machines, les repertoires partagés soient montés au meme endroit avec les memes lettre de lecteur,
  • il faut que le serveur intranet marche
  • et que le serveur de fichiers marche
  • gerer toutes les autorisations pour tout le monde sur le serveur de fichier qui est au mieux un linux/samba au pire un NT/2000/XP

je fait de l’informatique depuis presque 10 ans (mon bac quoi) et mon experience me dit NON, ça va etre dur a maintenir et absolument pas evolutif vers par exemple un extranet d’entreprise !

mon conseil :

copie de tous les documents sur un serveur web dedié linux/apache
temps :

  • 1 heure pour l’install de linux
  • 1 heure pour la copie

si pas de PC a disposition ou pas envi d’installer linux :
–> utiliser un LiveCD Linux ( cad OS sur cd Bootable !!!, on met le cd dans le lecteur on boot et hop ! )
cf mandrakemove et autre : ça lit tout type de systeme de fichier !!!

temps : heu 1 heure si on patauge :wink:

1 - Mais alors, comment explique-t-on que IE soit capable sur le client de charger le fichier toujours via le chemin UNC ??

2 - Ca veut dire qu’il est impossible de DL un fichier situé physiquement sur une machine différente du serveur Web ??

1 : ie et l’exporateur de fichier (explorer.exe) partage de TROP nombreuse chose :confused: on peut passer de l’un a l’autre sans s’en rendre compte… en fait ie agit comme client web (navigateur) et comme client partage de fichier windows qui n’est plus du protocole HTTP (port 80)!!!

2 : un cient pur web (firefox) n’est capable de commercer qu avec des serveur web ! donc oui c impossible !!!
mais rien n’empeche d’avoir plusieur server web !!!