Lire un fichier ini en javascript (sans PHP)

quentino2 Messages postés 8 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 29 juillet 2009 - 19 mai 2009 à 12:43
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 20 mai 2009 à 11:38
Bonjour à tous,

J'ai un fichier ini qui contient de nombreuses lignes, chacun des blocs qui se succède ressemblent à celui-ci:

[020D04CE400C00C4]
PageName
= 020D04CE400C00C4
Available = Yes
Object = Etats-Unis
MetaClass =
Site
Pour chaque identifiant de type 020D04CE400C00C4 s'associe un fichier 020D04CE400C00C4.htm
J'ai développé un menu - grâce à ce site d'ailleurs - qui est appelé en haut de chaqu'une des pages de mon site intranet. Dans mon exemple, j'ai un sous-menu "Etats-Unis" et en cliquant dessus je souhaite qu'il me renvoie à la page 020D04CE400C00C4.htm qui lui est associée.

Ma fonction doit chercher la chaîne "Etats-Unis" et me renvoyer
020D04CE400C00C4, afin que je concatène ".htm" et ainsi avoir l'adresse de la page Etats-Unis.

Mes contraintes sont que le site doit être entièrement statique, donc
impossible d'utiliser PHP (et donc la fonction parse_ini_file(), donc
je ne peux utiliser que des fonctions locales de types Javascript.

L'un d'entre vous saurais t'il m'aider ?

Merci beaucoup

Quentin

15 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
19 mai 2009 à 13:40
Bonjour,

euh....
javascript, ça se passe coté client, sur ton micro, pas sur le serveur !
lire un fichier, en local, pas de souci ( enfin avec IE et FF ! )
sur le serveur, on peut y parvenir... avec IE ( je ne parierais pas avec les autres navigateurs )

>>Mes contraintes sont que le site doit être entièrement statique, donc impossible d'utiliser PHP
??? statique et php ???? rien à voir !
en javascript on fait aussi du dynamique !

tu es très vague, mais à priori, un fichier xml
    pourrait convenir ? va savoir ? ( si les mises se passent ailleurs )

>> donc je ne peux utiliser que des fonctions locales
certes... si ça se trouve un <script src="url de ce qu'il faut"....></script> suffirait ?

Cordialement
0
quentino2 Messages postés 8 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 29 juillet 2009
19 mai 2009 à 14:03
Je voulais dire que le site final doit être dans un répertoire totalement hermétique, donc pas possible de faire appel à une fonction PHP, il n'y a pas de serveur derrière. Les seuls choses admises, sont pour moi du code qui s'exécute dans la page, donc je pensais à javascript, code que j'utilise déjà pour remplir d'autres tâches sur ce même site d'ailleurs.

j'ai donc un fichier ./menu.htm et un fichier ./SiteConf.ini, un répertoire ./pages/ dan slequel on trouve une quantité de pages de type 020D04CE400C00C4.htm.

Tout ce que je connais c'est les nom "en français", et pour connaître quelle page correspond, je dois lire le fichier .ini qui m'indique que pour tel Object (ex: Etats-Unis) est associé telle PageName(ex: 020D04CE400C00C4).

De cette manière, je concatène ".htm" à mon PageName et j'ai le lien correspondant à Etats-Unis.

Je précise que je suis contraint à utiliser toute la structure présentée ici (le fichier ini, sa structuration, pas de langage qui requiert un serveur)

Donc oui, une fonction dans un <script> suffirait, faut-il encore coder ce script qui me permettrait de lire le fichier ini.

T'ais-je mieux éclairé pour que tu puissse éventuellement m'aider à coder ce script ?

Merci !

Quentin
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
19 mai 2009 à 14:16
>>il n'y a pas de serveur derrière
??? donc ton fichier va être sur chaque micro ???
??? comme la page html ???
du pur local ???
0
quentino2 Messages postés 8 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 29 juillet 2009
19 mai 2009 à 14:26
non mon site complet est dans un répertoire sur le réseau. on y accède en lançant le index.htm, quiconque ayant les autorisations d'accès peut l'afficher, le lien est donc un truc du genre P:\nomdusite\index.htm
c'est comme si ton site était en local sur ton pc ou sur une clé usb
0

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

Posez votre question
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
19 mai 2009 à 14:47
intranet et internet : même combat, c'est pareil ( presque ! )

sinon, si on suit ce que tu dis : avec IE et FF on sait lire
    n'importe quels fichiers texte locaux.
    avec tous, des fichiers xml.

et... rien (?) ne t'empêche de mettre tes données
directement en js. dans des array par exemple ou même directement en html,...
0
quentino2 Messages postés 8 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 29 juillet 2009
19 mai 2009 à 15:02
>> sinon, si on suit ce que tu dis : avec IE et FF on sait lire n'importe quels fichiers texte locaux. avec tous, des fichiers xml.

Donc, que doit faire le fichier XML, il est appelé comment, il va chercher les données comment, je les récupères comment ?

>> et... rien (?) ne t'empêche de mettre tes données directement en js. dans des array par exemple ou même directement en html,...

Comme je l'ai précisé, le fichier .ini est quelque chose qui m'est imposé, donc si, cette contrainte m'empêche ta proposition de mettre mes données dans du html ou du js. Ou alors j'ai mal compris, dans ce cas comment vois-tu cela ?

Je ne comprend pas bien tes réponses par rapport à ma question !

Je reitère, maintenant que le contexte est posé:

Je cherche une fonction permettant de lire le fichier ini qui a une structure comme ci-dessous. Ma fonction doit chercher la chaîne "Etats-Unis" et me renvoyer
"020D04CE400C00C4"

[020D04CE400C00C4]
PageName
= 020D04CE400C00C4
Available = Yes
Object = Etats-Unis
MetaClass =
Site
Quentin
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
19 mai 2009 à 15:19
>>Donc, que doit faire le fichier XML, il est appelé comment,
>>il va chercher les données comment, je les récupères comment ?
recherche un peu, foultitude d'exemples
( , CCF
, SU .... uniquement pour 3 des miens )
mais la structure de ton fichier doit être modifié !
et si ce n'est pas possible, ce n'est pas parce qu'on t'impose
    des bétises qu'il ne faut pas les faire rectifier !!!

sinon, pour un fichier texte normal : activeX FileSystemObject pour IE
et Components.classes["@mozilla.org/file/local;1"]... pour FF
pas possible avec les autres navigateurs à ce jour.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
19 mai 2009 à 15:24
oubli des liens pour des fichiers texte normaux !
  , FileSystemObject
: exclusif IE
<gras>Pages journanlières
, gestion fichiers IE et FF avec liens pour explications
0
quentino2 Messages postés 8 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 29 juillet 2009
19 mai 2009 à 15:35
En fait le fichier ini est généré par un progiciel, tout comme les pages ayant pour nom 16 caractères hexadécimaux.
C'est pour éviter de payer de la presta de quelques milliers d'euros auprès de l'éditeur que je cherche à contourner en tentant de trouver quelques scripts permettant ce que génère leur usine à gaz.

Je regarde tout ça et je reviens tenir au courant le topic.

Merci à toi

Quentin
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
19 mai 2009 à 20:04
Bonjour,
peut être que ce lien pourra t'aider

LECTURE ET RÉCUPÉRATION DES LIGNES D'UN FICHIER TEXTE
;O)
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
20 mai 2009 à 10:06
ah c'est vrai ! j'avais oublié cette
possibilité de lire un fichier texte,
proposée par petoleTeam !
et ça doit baigner avec tous les navigateurs.
@+
0
quentino2 Messages postés 8 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 29 juillet 2009
20 mai 2009 à 11:13
J'ai l'impression que le plus "facile" serait de convertir mon fichier .ini en XML, ensuite j'ai des fonctions toutes faîtes qui me permettront de l'exploiter. cf: http://www.codetoad.com/xml_javascripti_tutorial.asp

Néanmoins je ne sais pas comment convertir un fichier ini en xml, la seule chose que j'ai trouvé sur google nécéssite un compilateur C, autant dire que je ne pas le porter vers du web, si ?

cf: http://www.scriptol.fr/xml/scripts.php
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
20 mai 2009 à 11:18
ça ne te ferait jamais qu'une étape supplémentaire !
traiter le fichier texte, le convertir en xml, traiter le xml.
@+
0
quentino2 Messages postés 8 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 29 juillet 2009
20 mai 2009 à 11:26
c'est pas un soucis, si à la fin j'arrive à ce que je veux !
Tu sais comment je pourrais convertir le ini en xml ? via un script lancé dans mon code html biensûr :x
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
20 mai 2009 à 11:38
c'est pas un souci, mais c'est inutile !
pourquoi ajouter une transformation en xml ?
le traitement du fichier texte est toujours à faire.
0
Rejoignez-nous