Lire un fichier ini en javascript (sans PHP)

Signaler
Messages postés
8
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
29 juillet 2009
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
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

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
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
Messages postés
8
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
29 juillet 2009

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
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
>>il n'y a pas de serveur derrière
??? donc ton fichier va être sur chaque micro ???
??? comme la page html ???
du pur local ???
Messages postés
8
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
29 juillet 2009

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
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
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,...
Messages postés
8
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
29 juillet 2009

>> 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
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
>>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.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
oubli des liens pour des fichiers texte normaux !
  , FileSystemObject
: exclusif IE
<gras>Pages journanlières
, gestion fichiers IE et FF avec liens pour explications
Messages postés
8
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
29 juillet 2009

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
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
Bonjour,
peut être que ce lien pourra t'aider

LECTURE ET RÉCUPÉRATION DES LIGNES D'UN FICHIER TEXTE
;O)
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
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.
@+
Messages postés
8
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
29 juillet 2009

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
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
ça ne te ferait jamais qu'une étape supplémentaire !
traiter le fichier texte, le convertir en xml, traiter le xml.
@+
Messages postés
8
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
29 juillet 2009

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
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
c'est pas un souci, mais c'est inutile !
pourquoi ajouter une transformation en xml ?
le traitement du fichier texte est toujours à faire.