help insérer des données dans une appli web "offline" - HTML/CSS - Programmation
Marsh Posté le 06-11-2007 à 11:39:44
j'explique différemment ce que je veux parce que c'est pas simple:
coté utilisateur, je veux qu'il ait juste à copier des fichiers sur sont terminal (quel qu'il soit) équipé d'un browser web récent (c'est le seul pré-requis, je veux qu'il n'air rien à "installer", ni aucune contrainte en terme d'OS et de plate-forme hard)
ce que je veux afficher est un (en fait 'des') tableaux contenant images, textes et liens web
De mon coté à moi (créateur de l'appli), j'envisage deux approches (mais peut-etre que d'autres solutions sont possibles)
- soit je génère des fichiers de données (csv, texte, excel.... je suis ouvert) à partir d'une application qui me permet de les créer facilement et de filtrer les données (par exemple extraire une partie de ma table de données "globale" pour en faire un fichier indépendant à afficher), et les pages web doivent être capables de présenter un tableau rempli avec les données du fichier
- soit c'est directement l'outil que j'utilise pour créer et gérer mes tables de données (excel par exemple) qui en enregistre les feuilles au format HTML... ca me semblait etre la bonne solution jusqu'à ce que je butte sur l'affichage propre d'une image .jpg dans une cellule (sans qu'excel renome/copie le fichier à sa sauce: je veux qu'il fasse un lien vers le fichier).
Marsh Posté le 06-11-2007 à 11:39:48
Yop !
Est-ce que vous pensez que mon projet est réalisable? => Non
Marsh Posté le 06-11-2007 à 11:54:57
c'est où que ca coince?
En fait, avec excel, je suis à deux doigts de faire ce que je veux
Je créé ma table avec le texte et les liens.
je filtre
j'exporte en HTML
tout ce que je demande de plus, c'est pour les images
- soit j'insère directement l'image et il me fait n'importe quoi
- soit j'insère un lien vers une image, mais dans la page HTML, c'est le lien qui s'affiche et pas l'image.... je voudrais juste un moyen de ne pas avoir à modifier à la main et ligne par ligne les fichiers HTML générés pour afficher les images (quitte à devoir insérer un peu de code HTML directement dans excel à la place du lien vers l'image, mais comme je suis une burne en HTML, j'ai peut etre fait des betises).
Y'a pas une alternative à excel qui me permettrait de faire la même chose plus proprement? (j'ai essayé rapidement calc, ca n'a pas l'air mieux)
Marsh Posté le 06-11-2007 à 12:06:41
Impossible à faire en stricte HTML+JS, il faut obligatoirement une technologie en plus derrière
Marsh Posté le 06-11-2007 à 12:51:42
heu... j'ai peut être une idée.
je fais comme j'ai décrit sous excel ou calc, mais à la place des images, je mets juste un lien vers le fichier .jpg.
j'exporte en HTML
Puis, suite à l'export, il me faut une commande shell (du genre de ce qui se fait sous unix) qui va modifier automatiquement le fichier : rechercher dans le fichier HTML (texte) tous les liens qui pointent vers un .jpg ( <href... *.jpg> ) et les remplacer par la syntaxe qui va bien pour afficher l'image ( <img src="fileimages/*.jpg" width="204" height="41"> )
Sous unix ou linux, c'est forcément faisable avec une grosse ligne de commande.... bien que j'ai totalement perdu la main sur ce genre de bricolage.
il n'y a pas sous windows un moyen de faire ca?
ca ferait une opération de plus (pour chaque table), mais bon, ca serait toujours largement mieux que de devoir modifier les fichiers HTML générés un par un et ligne à ligne... ca m'irait bien.
Marsh Posté le 06-11-2007 à 14:26:54
bon, ca marche.... il y a quelques manipulations à faire à la mains, mais j'ai trouvé une solution qui me semble acceptable.
j'utilise openoffice/calc pour avoir du code HTML correct, mais ca marche aussi sous excel
- je créé ma table de donnée en insérant les images sous ce format: <img src".\dossier_images\monimage.jpg>
- je filtre pour extraire les données qui m'intéressent à un instant t
- j'enregistre en HTML
et là, calc et excel sont "trop intelligents". En effet, ils modifient les < , > et " par leurs codes respectifs < > " , afin qu'ils soient bien affichés et ne soient pas interprétés par le browser... c'est exactement l'inverse de ce que je veux et c'est ca qui fait que l'affichage foire
donc il me suffit de prendre un éditeur de texte et de faire un "remplacer tout" de < par <, > par > et " par " (3 opérations à faire) puis réenregistrer le fichier
Pour moi, ca reste des manipulations pas trop lourdes pour les mises à jour/extractions de nouvelles requettes, et l'utilisateur lui a un simple fichier html lisible partout.
Marsh Posté le 06-11-2007 à 18:23:07
Tu as pratiquement les mêmes besoins que moi :
http://forum.hardware.fr/hfr/Progr [...] 9349_1.htm
Marsh Posté le 06-11-2007 à 19:45:11
FlorentG a écrit : Impossible à faire en stricte HTML+JS, il faut obligatoirement une technologie en plus derrière |
Hum, en fait, pas tout à fait. Bon, je considère ça plus comme de la bidouille même si ça fonctionne pas trop mal.
Il est en fait possible de lire des fichiers locaux depuis un navigateur sans avoir de serveur (mais pas d'en écrire -- encore heureux). Il suffit d'exploiter le "protocole" file:// et XmlHttpRequest. Par exemple, si tu affiches une page file:///C:/Temp/truc.html et que depuis cette page tu fais une requête XMLHttpRequest sur un fichier quelconque (relatif à la page donc, via le 2ème paramètre de XMLHttpRequest.open), lorsque ta requète sera terminée (XMLHttpRequest.readyState == 4), tu auras le contenu de ton fichier dans XMLHttpRequest.responseText (ou XMLHttpRequest.responseXML si c'est un fichier XML).
Bah, à partir de là tu peux modifier ta page comme tu veux.
Ça permet d'extraire les données dans un format facile à traiter et avoir une mise en page déjà toute faite à coté, sans te la farcir à l'extraction des données. Cela dit, mes besoins étaient ridiculement simples (un fichier, une source externe, sur laquelle je n'avais aucun contrôle).
Bémol : IE, depuis XP SP2 affiche un gros warning pour les scripts exécutés en locaux. Il faudra sans doute ajouter 127.0.0.1 comme site de confiance :(
Marsh Posté le 07-11-2007 à 05:06:46
tpierron a écrit :
|
Bah tu fous un mark of the web au debut de ton fichier http://msdn2.microsoft.com/en-us/library/ms537628.aspx
Code :
|
Marsh Posté le 07-11-2007 à 09:27:41
Personnellement j'avais eu un besoin tel que celui ci pour l'intranet d'un gros groupe (les fiéleux ne voulaient pas installer apache ou asp), bref heureusement qu'ils avaient le même parc (ie).
Il a fallut que je créé un serveur local, y réunisse tout le parc puis code une application bourrée d'active x, dont l'administration créé des fichiers xml en fonction du time() et affiche sur la page d'accueil le fichier xml le plus récent...
Un gros bordel mais bon m'en suis sorti \o/
(par contre niveau sécurité ... )
Marsh Posté le 06-11-2007 à 11:28:40
Yop!
j'aurais besoin de conseil à propos d'un truc que je voudrais réaliser
je voudrais réaliser un mini-site web, destiné à etre utilisé facilement "offline" (ce qui exclut toute techno "serveur" PHP, ASP, JSP...) , et permettant d'afficher une table de données. Les données à afficher sont soit du texte, soit des liens HTTP, soit des images.
L'objectif est de disposer d'une application multi-plate-formes, donc lisible par tout navigateur récent sans requérir le moindres plug-in ou application spécifiques intallée (je pense qu'on peut exclure le JAVA, mais pas le javascript)
Déjà est-ce que c'est faisable?
Pourquoi je ne veux pas réaliser un simple fichier HTML "statique" avec un tableau contenant les données "en dur"?
car je veux pouvoir facilement modifier ma table de données sans trifouiller dans le code HTML: je veux pouvoir réaliser différentes pages correspondant par exemple à différents filtres appliqués sur les données. Donc j'imagine utiliser excel (ou calc, ou autre appli au choix) pour générer différents fichiers de données, qui devront pouvoir être insérés dans les pages HTML (à moins que le filtrage puisse être réalisé directement via la page web, mais là ca me semble impossible sans une vraie base de données).
Pourquoi ne pas simplement utiliser la fonction "enregistrer en HTML" d'excel?
J'ai essayé, mais je n'arrive pas à insérer simplement un lien vers une image dans une cellule (qui doit etre affichée sous forme d'image et pas de lien)... d'autre part, le code HTML d'excel, heu.. comment dire...
Est-ce que vous pensez que mon projet est réalisable? si oui, dans quelle directions partiriez-vous?