HTML: Forcer l'ouverture d'un fichier local

Fermé
Anonyme209 Messages postés 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 - 15 nov. 2015 à 12:20
Anonyme209 Messages postés 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 - 22 nov. 2015 à 19:35
Bonjour,

Je crée un page HTML contenant des liens vers des fichiers locaux sur mon ordinateur (fichiers de différents formats).
Lorsque je clique sur un lien, si le fichier cible ne peut PAS être lu dans la navigateur (fichiers exécutables, Word, Excel, etc), mon navigateur m'ouvre une fenêtre et me propose "télécharger" le fichier. Cependant, je souhaite que mon navigateur m'ouvre directement le fichier avec le programme associé.
Je précise que je ne peux pas utiliser du PHP...

Merci de votre aide.
A voir également:

1 réponse

Salut,
hé bien c'est le fonctionnement normal d'un navigateur.
Le contraire est interdit volontairement(et logiquement, le web et http ne sont pas -heureusement- propriété de Microsoft).

Un fichier exécutable est fait pour fonctionner en local et surtout ne peut pas s'exécuter du navigateur web(heureusement, il suffit d'y réfléchir: .exe qui se lance en allant sur une page web=ordinateur piraté et ouvert à tout rien qu'en consultant une page) qui comme son nom l'indique est fait pour afficher des pages web et leur contenu.

Par contre vous avez depuis HTML5) l'attribut download:
http://www.w3schools.com/tags/att_a_download.asp

qui permet d'indiquer celui ci en tant que contenu téléchargeable et donc de ne pas faire chercher au navigateur un moyen d'ouvrir le fichier et affiner le référencement.

Pour des fichiers bureautique(libre office est nettement mieux qu'Office de Microsoft et gratuit remplace progressivement dans administrations+entreprises la solution commerciale) vous avez des extensions qui permettent de lire ces fichiers.
Ce n'est pas l'idéal et l'affichage des fichiers n'est pas garantit respectueux, cela force les utilisateurs à avoir l'extension et savoir s'en servir.

Je ne sais pourquoi vous parlez de PHP, éventuellement il y a peut être des librairies d'encodage vers les fichiers de bureautique.

Je ne sais pas quel est vôtre but mais utiliser des solutions de bureautique faite pour le secrétariat et l'administration locale sur un réseau étendu (mondial) est incohérent.
La bureautique est comme son nom l'indique pour faire un travail de bureau, pour faire une publication web vous ne pouvez(ni devez) utiliser de tels outils.

Utilisez des outils adéquats, comme une base de données alimentant votre site et générant des documents pdf s'il est nécessaire de les télécharger.
Il faudra passer par php ou équivalent, éventuellement un CMS qui les générera- tout dépends des besoins spécifiques de votre site/programme. On parle de système d'informations:
https://www.commentcamarche.net/contents/1083-systeme-d-information

Ce n'est pas seulement la façon qu'il faut faire mais aussi le moyen d'automatiser, càd. faire une fois pour tout les feuilles de tableur ou page de traitement de texte toute la mise en page(par document de même type bien sûr) avec HTML et CSS permettra de réutiliser à l'infini cette mise en page à travers ce qui se nomme des pages dynamiques. Votre solution n'en est pas une car elle obligera tout le monde à faire un fichier de texte ou de tableur pour pouvoir la convertir(vers une page web ou mieux une base de données) et la diffuser.

Simplifiez vous la vie, cela veut parfois dire apprendre des outils performants et adaptés.
La bureautique c'est pour la bureautique, pour le web vous devez utiliser les technologies(la plupart gratuites et libres) qui y sont associées( plus simple et normées que celles de la bureautique qui comme son nom l'indique est faite pour faire un travail de bureau).
0
ps:bien sûr tout les fichiers qui apparaissent dans la page HTML sont téléchargé sur l'ordinateur(donc en local). Les fichiers que vous indiquez ne sont tout simplement pas fait pour l'être par le navigateur. Soit pour la sécurité(fichier exécutable) soit par qu'il leur faut un programme spécial. La pertinence des tableurs et traitement de textes ne l'est absolument pas sur une page web: HTML avec CSS sont un système de mises en pages permettant d'avoir tout les affichages que l'on veut(mieux et plus simple que les traitements de textes et tableurs). Pour retenir des informations vous pouvez utiliser une base de données qui est nettement plus performante et simple à utiliser(c'est son but).
Avec les textes et valeurs dans le tableur retenues dans un base vous aurez plus performants qu'un word ou excel(bien plus) et mis à jour instantanément pour le ou les publics auquel la publication est destinée. Si toutefois vous êtes obstiné surt l'utilisation de tels fichiers le plus simple est de les transformer en .txt(donc sans formatage de word) et pour les tableurs dans formats dits à séparateur(comme le CSV) afin de pouvoir les utiliser dans vos pages(leur contenu).
0
Anonyme209 Messages postés 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 15
16 nov. 2015 à 18:54
Bonjour,

Je crois que nous ne nous sommes pas très bien compris.
Sur une page HTML, je liste des documents, situés sur mon ordinateur et non accessibles en ligne.
Ensuite, j'ouvre cette page en local avec mon navigateur.
Et je souhaite que, lorsque je clique sur le lien d'un document, il l'ouvre directement (ou me demande si je veux l'ouvrir) au lieu de me proposer de le télécharger.
J'ai cité les fichiers exécutables, Word, Excel à titre d'exemples, mais ça pourrait être n'importe quel autre type.
L'attribut download ne m'est pas utile, c'est justement ce que je voudrais éviter.

Merci de votre aide.
0
Ok j'avais pas compris ça.
Mais le raisonnement reste le même, ouvrir un fichier sans que l'utilisateur le demande explicitement(un clic ne l'est pas, c'est la manière du web à nous développeurs de nous coller et non l'inverse) ne laisse pas le choix.
Pour ça il y a les préférences du navigateur(par défaut ou modifié par l'utilisateur si il veut ce comportement) et représenterais un risque.

L'appareil qu'utilise l'internaute aussi entre en jeu:
Que se passerais il si cela était possible? il faudrait déjà que l'utilisateur aie un programme qui puisse lire le fichier et que ce programme(celui que veut l'utilisateur) soit le programme par défaut pour le type de fichiers concerné.
Cela présente plus un risque d'erreurs et de problèmes qu'autre chose:
Vous proposez d'ouvrir un fichier word à quelqu'un qui n'a pas de traitement de textes installé, utilise un mobile...
Vous proposez un .exe mais l'utilisateur utilise un mac, linux, son mobile ou sa tablette, sans parler de la sécurité d'ouvrir un fichier directement, que ce soit un .exe ou autre il peut très bien contenir un programme malveillants!

Je ne parles même pas des raisons de sécurité(fichier vérolé ouvert direct=pas bon).

Pour les autres infos revoyez mon avis et la possibilité(avantageuse et plus simple) de présenter directement vos documents sinon vous aurez un système d'informations qui tient pas debout et sera lourd(suffit de comparer le poids d'un fichier avec celui d'un enregistrement du même contenu en texte pour les contenus textes, en texte pour un lien vers une autre ressource).
Comme vous évoquez des fichiers images si le but est de les afficher autant le faire dans la page web plutôt que de faire télécharger l'utilisateur(ce que fait le navigateur c'est son boulot).

Forcer un système d'exploitations à ouvrir un fichier est heureusement impossible.

En espérant vous orienter vers une bonne façon de faire.
Je ne connais pas votre besoin mais par soucis d'améliorer d'un clic l'ergonomie vous allez à contre courant des pratiques normales et saines, obligatoires aussi.
Revoyez donc votre façon de faire si vous voulez améliorer votre site car ce chemin qui ne mène à rien me sembles désavantagé par rapport à une solution d'affichage normal dans la page(et une gestion des contenus propres et viable sur la durée, ce que n'est pas votre méthode).
0
Anonyme209 Messages postés 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 15
22 nov. 2015 à 19:35
D'accord, merci.
0