Premiers pas en JavaScript
33.3 fichiers TXT
cuy copyleft
  See You Why?  

 


base de donnees - cookies (33.2) | | base de donnees - fichiers CSV (33.4)

Contenu

 

 

I. JavaScript et bases de données

voir séquence précédente

 

II. Cookies

voir séquence précédente

 

III. Les fichiers TXT

En principe, le javascript ne permet pas de lire un fichier ou d'écrire un fichier, ni sur le poste du visiteur, ni sur le serveur.
Si l'on veut écrire sur le disque dur du serveur, le site doit avoir un hébergement qui supporte un langage de type serveur (PHP, ASP...).
Et si l'on veut écrire sur le disque dur du visiteur, exceptions faites des cookies, il faut utiliser le langage JAVA ou ActiveX, en sachant qu'un visiteur peut désactiver leur exécution.

Et pourtant, voyons ce que le HTML ou le JS peut faire avec des fichiers .txt.

 

A. HTML pur et fichier TXT

Employé à l'état pur, le HTML n'a pas besoin de JS pour ouvrir un fichier TXT, quel que soit le navigateur utilisé par votre ordinateur.

Un fichier TXT pourra être lu sur le serveur du site visité. Il suffira de créer un lien vers ce fichier (une adresse relative est alors possible), comme par exemple ce court fichier situé lui aussi chez notre hébergeur : voici. Le lien sera alors :
Il suffira de cr&eacute;er un lien vers ce fichier (une adresse relative est alors possible), comme par exemple ce court fichier situ&eacute; lui aussi chez notre h&eacute;bergeur<span class="fine">&nbsp;</span>: <a href="scripts/prolog.txt">voici</a>.

De la même façon, un fichier TXT pourra être lu sur tout autre serveur, mais dans ce cas on devra connaitre l'adresse du site et on utilisera une adresse absolue, comme ce fichier lu sur le site de Debian, une des versions LINUX : voilà. Le lien sera alors :
comme ce fichier lu sur le site de Debian, une des versions LINUX<span class="fine">&nbsp;</span>: <a href="http://d-i.alioth.debian.org/manual/fr.s390/install.fr.txt">voil&agrave;</a>.

Quant à écrire du texte sur les disques durs, les navigateurs et HTML ne le permettent pas.

Bref, sans JS le HTML pur ne permet que de lire des fichiers entiers écrits au format TXT, mais cela ne nous aide en rien pour traiter des bases de données. JS peut-il nous aider ?

 

 

B. JS et fichier TXT

Employé avec le JavaScript, nos possibilités ne vont pas beaucoup plus loin.
Comme avec les balises <frame> (voir HTML, cadres), on peut aussi incorporer le contenu d'un fichier texte dans une iframe (balise HTML et XHTML, qui sert au départ, à introduire une page HTML et XHTML au sein de votre document html...).
Nous avons cependant découvert que la même technique pouvait être utilisée pour incorporer des fichiers TXT.

affichage d'un fichier TXT

Entre les balises <script> et </script>,
premièrement, on définit une variable qui reprendra l'adresse du fichier TXT :
var mon_cadre_src="xxx.txt";
deuxièmement, on appelle l'iframe en modifiant les paramètres dont les valeurs non paraissent suffisamment explicites pour ne pas nécessiter d'explications complémentaires :
document.write('<iframe id="cadre_prem" src="'+mon_cadre_src+'" width="300px" height="300px" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="1" scrolling="yes"></iframe>');
L'id de cette iframe n'a d'autre utilité que de la distinguer d'un autre cadre, dans lequel on pourrait afficher autre chose.
Le tour est joué, vous pouvez tester ci-dessous.

 

Exemple

<html>
<body>

<h1>texte txt</h1>

<script type="text/javascript">
   var mon_cadre_src="../xxx.txt";
   document.write('<iframe id="cadre_prem" src="'+mon_cadre_src+'" width="300px" height="300px" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="1" scrolling="yes"></iframe>');


</script>


</body>
</html>

En fait, dans la démarche ci-dessus, on ne fait rien d'autre que d'afficher un fichier dont on donne l'adresse en paramètre. C'est loin de pouvoir prétendre d'employer un fichier txt comme base de données...

Cependant, il est possible de passer le contenu d'un fichier TXT dans une variable... premier pas qui devrait nous permettre, en manipulant cette variable, d'extraire des données.

Passer le contenu d'un fichier TXT en variable

Je vous disais en introduction que JS avait besoin d'Ajax pour lire des fichiers TXT. Nous verrons ici comment l'Ajax peut s'intégrer dans le JS. Même s'il suffit de recopier la routine, nous nous efforcerons d'amorcer un début d'explication pour des non initiés.

Créons une fonction que nous appellerons fichier_txt et qui nécessitera de recevoir en paramètre le nom du fichier à traiter.

function fichier_txt(fich) {
}

Créons un objet obj_pers selon une méthode différente selon que l'on vise un public client de Micro§oft IE ou des autres navigateurs. XMLHttpRequest a été conçu par Mozilla, puis adopté par les autres navigateurs, sur le modèle d'un objet ActiveX nommé XMLHTTP créé par Microsoft.

if(window.XMLHttpRequest) {
    obj_pers = new XMLHttpRequest(); //Pour Chrome, Firefox, Opera et les autres...
} else if(window.ActiveXObject) {
    obj_pers = new ActiveXObject("Microsoft.XMLHTTP"); //Pour Internet Explorer
} else {
    return(false);
}

Et comme Apple, ainsi que son "ennemi juré" Micro§oft, refuse les standards de la programmation, il faut ajouter cette condition suivante pour les utilisateurs de Safari... sinon, bug :

if (obj_pers.overrideMimeType) {
    obj_pers.overrideMimeType("text/xml"); //Évite un bug de Safari
}

Il ne reste plus, à ce moment-là, qu'à ouvrir le fichier et à le stocker dans une variable :

obj_pers.open("GET", fich, false);
obj_pers.send(null);

if(obj_pers.readyState == 4) {
    return(obj_pers.responseText);
} else {
    return(false);
}

À titre d'information, le paramètre readyState peut avoir différentes valeurs :
0: non initialisé,
1: connexion établie,
2: requête reçue,
3: réponse en cours,
4: terminé.
Le lecteur comprendra mieux la condition if(obj_pers.readyState == 4).

Pas mal d'expliciter la fonction, encore faut-il l'appeler... le lecteur aura deviné qu'il suffit d'écrire : var mon_fichier = fichier_txt("../xxx.txt"); pour que la variable mon_fichier reçoive comme valeur, le contenu du fichier xxx.txt . Reste alors à traiter cette variable comme il se doit, avec l'aide de méthodes telles que split ou autres.

 

 

IV. Les fichiers CSV

voir suite >>>

 

VIII. Exercices relatifs aux bases de données

voir suite >>>

 

 

IX. Test relatif aux bases de données

voir suite >>>

 

 

 

 


base de donnees - cookies (33.2) | | base de donnees - fichiers CSV (33.4)

 

 

Merci de votre visite à partir de :

Vous êtes sur :
https://cuy.be/cours/jvs/jvs_333_txt.html

partager sur FaceBook...           consulter sur FaceBook...

 

copyleft
Des liens ne fonctionnent plus ?
Avez-vous des suggestions ?
des commentaires, des corrections, un encouragement... ?
Pour info : Non, il n'y a pas de version papier ou DOC, PDF, etc. de ces notes.


Envoyez-moi un E-Mail (cuy(point)w(at)skynet(point)be)

Attention (at) signifie @ et (point) signifie .

Accueil CUY = See you why?

Compteur gratuitEasyCounter     BelStat Monitored by BelStat - Your Site Counts
La 1 000 000e page a été visitée le 21 mai 2010.
La 2 000 000e page a été visitée ce 18 mars 2012, vers midi.
La 3 000 000e page a été visitée ce 7 janvier 2014 entre 18 h et 18 h 45,
La 4 000 000e page a été visitée ce 5 juin 2015 entre 15 h 49 et 15 h 52,
La 5 000 000e page a été visitée ce 29 aout 2017 après 23 h 30,
Et la 6 000 000e page visitée, trop tôt pour y penser ?
 
et, d'après BelStat, CUY est visité surtout en semaine, peu le weekend...
moins et irrégulièrement pendant les vacances :

visites sur 3 mois, de la mi octobre 2013 à la mi janvier 2014.
 
La 3 333 333e page visitée a eu lieu ce mardi 10 juin 2014, en début d'après midi...
La 3 666 666e page visitée a eu lieu ce dimanche 28 decembre 2014, vers 16 h...
Un tiers de million de pages visitées en 154 jours cela fait une moyenne de 2165 pages visitées par jour...
Deux tiers de million de pages visitées en 355 jours soit une moyenne de 1878 pages visitées par jour...
et seulement 1195 pages visitées quotidiennement pendant les vacances estivales
de la mi juin à la mi septembre 2014

Vous voulez lire quelques messages reçus ?
quelques encouragements ?
Cliquez ici


Fin septembre 2009, installation de ce compteur
qui ne compte chaque nouvel ordinateur visiteur qu'une seule fois
free counter
 
m-à-j du 22/11/2021 :

Depuis cette fin septembre 2009, parmi les 210 pays (sur 274 drapeaux connus) qui nous ont visité,
voici les 100 pays qui nous visitent le plus, 
Nos petits visiteurs, classés par date de visite, où un seul ordi nous a visité, sont :
199. Turkmenistan (TM May 10, 2017) ; 200. Lesotho (LS March 1, 2017) ;
201. Turks and Caicos Island (TC January 18, 2016
202. Cook Islands (CK September 19, 2015)  203. Faroe Islands (FO January 27, 2015
204. Virgin Islands American (VI November 12, 2014) ;
205. Belize (BZ September 29, 2014) ;206. Eswatini - Swaziland (SZ July 21, 2014) ;
207. Grenada (GD April 3, 2014) ; 208. Timor-Leste (TI March 29, 2014) ;
209. American Samoa (AS December 26, 2012) ; 210. Guyana (GY November 5, 2010).