E N D
1. Programmation JavaScript cours inspiré du cours de R. Vivian 
2. Plan Introduction à JS
Structure d’un script
Les chaînes de caractères
Les formulaires
Accéder aux éléments
Le langage objet JS
JS et les maths
JS et les cookies
JS et les popup
Annexes
Trucs et astuces des formulaires
Les tableaux
Le modèle objet JS 
3. I. Présentation JavaScript est un langage de programmation complètement lié au langage HTML.
Le développeur Internet code ses pages HTML en y intégrant des sources JavaScript.
Le visiteur, par l'intermédiaire de son navigateur, charge le code des pages. 
4. I. Présentation C'est le navigateur qui interprète le code HTML et JavaScript
L'interprétation dépend naturellement du type de navigateur utilisé et de sa version
JavaScript est un langage objet et événementiel 
5. I. Présentation Le développeur crée et utilise des objets ayant des propriétés et des méthodes.
L'interprète gérant votre page détecte automatiquement tous les événements déclenchés par le visiteur
passage de souris
clic
saisie clavier...
À ces événements sont associées des actions
Par exemple onClick permet de spécifier des actions lors d'un clic de souris sur un objet donné 
6. I.1 HTML et JavaScript Il y a plusieurs endroits dans une page web où il est possible d'intégrer du code JavaScript
 dans le corps de la page,
 en entête de page,
 dans un événement d'un objet de la page. 
7. I.1 HTML et JavaScript 
8. I.2 Variables JavaScript utilise l'instruction var pour la déclaration.
Pour déclarer une variable basique (càd de type entier, numérique, chaîne de caractères), il ne faut pas déclarer le type. Le navigateur le détecte tout seul.
Par contre toute nouvelle variable doit être initialisée. 
9. I.2 Variables : Exemple On remarque la présence du point virgule (;) à la fin de chaque instruction.
Il est possible de placer sur une même ligne plusieurs instructions séparées par des points virgules. 
10. I.2 Variables : Exemple Une variable déjà déclarée s'utilise ensuite normalement 
11. I.2 Variables : Exemple 
12. I.2 Variables : Exemple 
13. I.3 Objets Les éléments manipulés par JavaScript et affichés dans votre navigateur sont des objets
Càd des éléments 
Classés selon une hiérarchie pour pouvoir les désigner précisément
Auxquels on associe des propriétés et des méthodes 
14. I.3 Objets Cette notion est importante mais nous allons en aborder que le strict nécessaire pour ce cours!
Voyons cela sur un exemple concret
Imaginez un un jardin dans lequel on trouve
une branche sur laquelle se trouve un nid
une balançoire avec un trapèze, une corde et un autre nid
Une salade (ce sont des maraîchers d'occaz) 
16. I.3 Objets Le nid sur l'arbre est donc désigné par 	
Contrairement au nid situé sur la balançoire 
Imaginez maintenant que l'on veuille changer la couleur du nid (dans l'arbre) pour le peindre en vert
il suffirait de taper une commande du genre
C'est donc ainsi que l'on représente les objets en JavaScript, à la seule différence que ce n'est pas un jardin qui est représenté sous forme d'objets mais la fenêtre de votre navigateur... 
 
17. I.3 Objets JavaScript intègre d'origine plusieurs type d'objets.
L'objet le plus grand est la fenêtre			window
Dans la fenêtre s'affiche une page		      document
ATTENTION, le respect des majuscules/minuscules est indispensable et source de nombreuses erreurs. 
19. I.3 Objets : Exemple Voyons en détail l'objet Date, très utile dans un environnement Internet.
La déclaration se fait toujours avec var.
Pour créer un objet, il faut utiliser le mot clé new suivi du type d'objet; ici date. Au moment du select il faudra revenir sur la notion de newAu moment du select il faudra revenir sur la notion de new 
20. I.3 ObjetsAffichage de la date 
21. I.5 Fonctions Les fonctions sont déclarées et codées dans l'entête de la page et peuvent être appelées ensuite à n'importe quel endroit de la page. 
22. I.5 Fonctions Pour déclarer une fonction on utilise le mot-clé function, suivi de son nom et des éventuels paramètres. 
23. I.5 Fonctions Le corps des fonctions est délimité par { et } dans lequel on place la déclaration des variables locales, propres à la fonction, ainsi que l'ensemble des traitements.
Remarque
non précédée de var, une variable a une visibilité globale.
Précédée de var, une variable a une visibilité limitée à la fonction ou elle a été définie. 
24. I.5 Fonctions Une fonction aura dans son corps une ou plusieurs instructions return qui permet(tent) de renvoyer une valeur ou un objet. 
Une fonction sans instruction return est une procédure. 
25. I.5 Fonctions : Exemple 
26. I.5 Fonctions : Exemple 
27. II Structure d'un Script Le JavaScript a une structure de programmation proche du langage C; moins riche naturellement 
28. II.1 Écrire un commentaire Indispensable les commentaires en programmation.
Pour mettre en commentaire une partie de code, jusqu'au prochain retour à la ligne 
29. II.1 Écrire un commentaire Pour mettre en commentaire plusieurs lignes de code 
30. II.2 Grouper les instructions Les instructions sont regroupées par les accolades { et }.
Il doit y avoir autant d'accolades ouvertes que d'accolades fermées.
Le groupement d'instructions est utile. 
31. II.2 Grouper les instructions Il permet par exemple de regrouper les instructions d'une fonction 
32. II.3 Test Conditionnel L'instruction if permet d'effectuer certaines actions uniquement quand  un test donné a pour valeur true(? vrai : valeur booléenne)
 
33. II.3 Test Conditionnel  Il y a 2 moyens d'utiliser if
Action à réaliser = une instruction
Action = plusieurs instructions En TDs faires les exercices classique sur les ifEn TDs faires les exercices classique sur les if 
34. II.3 Test Conditionnel L'instruction if peut être complétée par l'instruction else pour gérer les actions à associer à la valeur false du test 
35. II.3 Test Conditionnel Exemple En TDs faire les exos classiques sur les if-elseEn TDs faire les exos classiques sur les if-else 
36. II.4 Boucle for Une boucle for répète un groupe d'instructions tant que la partie condition est vraie.
Une ou plusieurs variables définissent le nombre d'itérations 
37. II.4 Boucle for Ces variables sont initialisées au 1er passage puis la condition est évaluée
Ensuite, à chaque début d'itération les instructions de la partie incrément sont exécutées
En générale elles modifient les variables d'itération
Après la partie incrément faite, la condition est réévaluée 
38. II.4 Boucle for : Exemples Faire une boucle pour i variant de 0 à 100 inclus par pas de 1
Faire une boucle pour i variant de 10 à 0 inclus par pas de -1 
39. II.4 Boucle for : Exemple Voici une application mathématique.
Il s'agit de calculer la somme des nombres de 1 à N. 
40. II.4 Boucle for : Astuces Écrire a++ est équivalent à a=a+1
Et a-- est équivalent à a=a-1 
Dans la même idée, on peut aussi remplacer a=a+5 par a+=5
Vous trouverez donc souvent les boucles for avec cette syntaxe 
41. II.4 Boucle for : Exemple En tds faire les tds classiques sur les boucles forEn tds faire les tds classiques sur les boucles for 
42. III Chaînes de caractères Tous les langages de programmation prévoient une gestion des chaînes de caractères
JavaScript est particulièrement bien adapté pour le traitement des chaînes 
43. III.1 Déclaration Pour déclarer une chaîne de caractères, vous pouvez utiliser les guillemets " ou l'apostrophe ' 
44. III.1 Déclaration Cela se corse quand il s'agit d'initialiser une chaîne avec un de ces caractères
Le secret est d'alterner les guillemets et les apostrophes selon les caractères spéciaux à afficher
Il faut veillez à ne pas fermer la chaîne de caractères avant sa fin normale pour éviter les erreurs JavaScript 
45. Exemple de déclaration incorrecte
Il existe aussi une autre solution
La variable chaine1 contient Je lui dis "Bonjour l'ami".
Javascript a interprété \" comme un guillemet. III.1 Déclaration 
46. Une variable peut être transformée en une chaîne de caractères à tout moment
Il est possible de modifier dynamiquement le type de la variable
A la fin de ce script, chaine est un nombre qui vaut 3.14159 ; pi est une chaîne qui contient "3.14152654". III.1 Déclaration 
47. III.1 Déclaration La différence peut sembler sans importance. Il n'en est rien!
Quand une variable est un nombre, il est possible de lui appliquer des opérations (addition, multiplication, ...)
Quand une variable est de type chaîne de caractères, on peut lui appliquer les méthodes propres aux objets chaînes 
48. III.2 Opérations L'opération de base est la concaténation de chaînes
Elle consiste à assembler deux chaînes en une
L'opérateur est le +, à ne pas confondre avec l'opérateur addition qui s'applique aux nombres
La variable chaine contient après ce script "Vive le JavaScript". La concaténation est une opération simple et très utile 
49. III.2 Opérations Une chaîne de caractères en JavaScript est un objet string sur lequel s'appliquent des propriétés et des méthodes.
La propriété length indique le nombre de caractères de la chaîne
 chaine.length retourne le nombre de caractères, ici 6 caractères 
50. III.2 Opérations La méthode charAt(n) récupère le nième caractère
Attention, le premier caractère a comme indice 0
chaine.charAt(1) retourne "z" 
51. III.2 Opérations Il est utile de pouvoir extraire un morceau d'une chaîne
La question est de récupérer le jour, le mois et l'année dans 3 variables différentes 
52. III.2 Opérations substring attend 2 paramètres
l'indice du premier caractère (inclus),
l'indice du dernier caractère (exclus).
Si les deux paramètres sont inversés, javascript rétablit l'ordre logique
chaine.substring(6,10) et chaine.substring(10,6) sont identiques
Si le deuxième paramètre est omis, la chaîne retournée commence à l'indice indiqué et se termine à la fin de la chaîne. 
53. III.2 Opérations Deux méthodes permettent de retrouver une sous-chaîne d'une chaîne
Ces méthodes retrouvent la position d'une chaîne et retourne son indice
La méthode lastindexof(souschaine) retourne l'indice de la dernière occurrence de souschaine
Si la sous-chaîne n'est pas trouvé, lastindexof retourne -1 
54. III.2 Opérations JavaScript offre deux méthodes pour transformer les lettres (et des lettres uniquement) d'un mot en majuscules ou en minuscules
A la fin de ce script, maj contient CECI EST UN TEXTE et min contient ceci est un texte 
55. IV Formulaires Les formulaires sont la base des échanges entre le site et le visiteur.
JavaScript ne peut pas échanger d'information à partir de fichier texte ou de base de données. 
56. IV Formulaires JavaScript associé aux formulaires permet
d'assister et de guider le visiteur, 
de contrôler la saisie,
de faire des traitements(calcul, manipulation de chaînes de caractères), 
d'envoyer les résultats au serveur. 
57. IV Formulaires Pour intégrer des éléments de formulaire, il faut encadrer les balises par <form> et </form>.
Dans la suite de ce document, sont présentés tous les éléments de formulaire avec les propriétés, les méthodes et les événements associés. 
58. IV Formulaires 
59. IV.1 La balise <form>propriétés, méthodes, événements 
60. IV.1 définitions des méthodes et événements Une méthode est une fonction (ou procédure) de traitement de données associée à un objet
Un événement est une fonction (pas une procédure!) toujours associée à un objet mais qui réagit en fonction des interventions de l'utilisateur
Il utilise le clavier pour fournir des infos
Il sélectionne l'objet avec la souris
Il spécifie des valeurs de l'objet avec la souris
Cette notion d'événement est cruciale car elle est la base du fonctionnement des pgms InterNet
 Nous les étudierons tout au long de ce coursNous les étudierons tout au long de ce cours 
61. IV.2 L'élément input L'objet input est le plus utilisé de tous.
Il permet d'afficher
des champs texte,
des boutons, 
des radio-boutons, 
des cases à cocher, 
le champ caché, 
les boutons spéciaux reset et submit. 
62. IV.2 L'élément input propriétés 
63. IV.2 L'élément input méthodes et événements 
64. IV.2.1 Les Zones de Textes Une zone de texte est définie par la balise input avec un type text
 Propriétés acceptées
name | value | defaultvalue | size | maxlength | disabled | readOnly | class | style
Méthodes acceptées
focus, blur
Evénements acceptés
onFocus, onBlur, onChange 
65. IV.2.2 Les Boutons Un bouton est défini par la balise input avec un type button
Propriétés acceptées
name | value | defaultvalue | size | maxlength | disabled | readOnly | class | style
Méthodes acceptées
focus | blur | click
Événements acceptés
onFocus | onBlur | onClick
L'événement le plus utilisé est onClick car il détecte le clic utilisateur. 
66. IV.2.3 Les Radio-Boutons Un radio-boutons est défini par la balise INPUT avec un type "radio"
Pour définir un groupe, il faut donner le même nom (champs name) à tous les radios.
Ainsi, la sélection sera unique pour l'ensemble du groupe. 
67. IV.2.3 Les Radio-Boutons Propriétés acceptées
name | value | checked | disabled | readOnly | class | style 
Méthodes acceptées
focus | blur | click
Evénements acceptés
onFocus | onBlur | onClick 
68. IV.2.4 les Cases à Cocher Une case à cocher est définie par la balise INPUT avec un type checkbox.
Contrairement aux cases à cocher, il n'y a pas d'exclusion entre les propositions. 
69. IV.2.4 les Cases à Cocher Ici, Majeur et Etudiant sont décochés à l'origine.
Mais il est possible de n'être ni l'un, ni l'autre, ou l'un des deux. 
70. IV.2.4 les Cases à Cocher Propriétés acceptées 
name | checked | disabled | readOnly | class | style 
Méthodes acceptées
focus | blur | click
Événements acceptés
onFocus | onBlur | onClick 
71. IV.2.5 Le password Password se présente comme une zone de texte.
Mais il affiche des * pour cacher le contenu du champ.
Il est aussi impossible de copier le contenu (CTRL+C).
Il est donc adapté à la saisie de mot de passe. 
72. IV.2.6 La valeur cachée Un champ caché est destiné à transmettre des informations dans le formulaire, sans que le visiteur ne s'en aperçoivent.
Cela peut être une adresse mail, un résultat de traitement, l'heure, un cookie ou toute autre information.
Naturellement, le champ n'apparaît pas! 
73. IV.2.6 La valeur cachée Propriétés acceptées
name | value | defaultvalue 
Naturellement, toutes les propriétés et les événements concernant son affichage et son apparence sont sans effet.
Remarque : Même s'il n'apparaît pas à l'écran, son contenu reste manipulable en JavaScript. 
74. IV.2.7 Les boutons spéciaux Les boutons reset et submit existent bien!
Il faut les décrire (Je préconise de les éviter)??? 
75. IV.3 Les menus de sélection Les listes sont définies par les balises <select></select>
Cette balise définie la zone de la liste. Les lignes de contenu de la liste sont alimentées par les balises <option></option > 
76. IV.3 Les menus de sélection Les listes peuvent se présenter de plusieurs manières, selon leur propriété.
Sur une ligne : size=1
Sur plusieurs lignes  mono-sélection :  size=4
Sur plusieurs lignes  multi-sélection multiple  size=4 
77. IV.3 L'élément option L'objet option est assez simple
Il peut avoir comme attributs
name, value, selected
selected force la sélection de cette occurrence dans la liste 
78. IV.3 L'élément optionpropriétés, méthodes, événements 
79. IV.4 les zones de textes multi lignes textarea L'objet textarea est essentiellement utilisé pour permettre au visiteur de saisir un texte assez long (message, descriptif...) 
80. IV.4 L'élément textareapropriétés, méthodes, événements 
81. IV.4 L'élément textareapropriétés, méthodes, événements Les 2 propriétés rows et cols qui indiquent respectivement le nombre de lignes et de colonnes de la zone
Le texte contenu dans l'élément textarea apparaît tel que dans le code source
Un retour à la ligne dans le code source crée une nouvelle ligne dans la zone 
82. V L'accès aux éléments Les éléments de formulaire sont des objets JavaScript
Voyons comment accéder via JavaScript aux objets d'un formulaire
Supposons le formulaire suivant 
83. V L'accès aux éléments 
84. V.1 Accéder au formulaire Le formulaire est un élément de l'objet document
Pour accéder au formulaire général, il faut écrire
forms est le tableau des formulaires de document
On peut accéder à un formulaire par
son nom comme indice dans forms ou
son entier comme indice dans forms ou
Les indices des tableaux commence à 0
son nom  tout simplement 
85. V.2 Accéder à un élément Pour accéder maintenant à la zone de texte, on écrit
elements est le tableau de tous les éléments du formulaire
On peut accéder à un élément par
son nom comme indice dans elements ou 
son entier comme indice dans elements ou 
son nom tout simplement 
86. V.3 Manipuler les propriétés d'un élément Par exemple, pour placer dans la zone de texte le mot "NOUVEAU", il faut écrire 
87. V.4 Appeler une méthode d'un élément Pour donner le focus au champ texte du haut de cette page, il faut appeler la méthode focus() sur cet élément 
88. V.5 Intégrer du JavaScript dans un événement Un événement est déclenché par le navigateur en réaction à une action de l'utilisateur ou d'un changement quelconque détecté
L'événement le plus classique, appelé onClick, est… le clic sur un bouton 
89. V.5 Intégrer du JavaScript dans un événement Reprenons l'exemple précédent, et plaçons "NOUVEAU" dans la zone de texte du formulaire à l'aide d'un bouton 
90. V.5 Intégrer du JavaScript dans un événement Dans le bouton, on a rajouté l'événement onClick qui reçoit le code JavaScript à exécuter lors du clic sur le bouton
Le code javascript doit se mettre entre " ou entre '
Il faut faire très attention à alterner les " et '
On peut écrire onClick='alert("Bonjour")' ou onClick="alert('Bonjour')" 
91. V.6 L'objet this Il est fastidieux d'accéder aux éléments de formulaire par toute la chaîne	document.forms.elements
Un objet JavaScript this permet de raccourcir ce chemin d'accès
this représente l'objet JavaScript en cours d'utilisation 
92. V.6 L'objet this exemple Quand un zone de texte reçoit l'attention (le focus), un message apparaît dans la barre de statut pour indiquer son nom; le message disparaît quand le champ perd le focus 
93. V.6 L'objet this exemple Reprenons encore une fois notre champ texte qui peut voir son contenu changer lors du clic sur un bouton
 Grâce à this.form, on peut accéder au formulaire de l'élément en cours
Le chemin pour accéder à zonedetexte est ensuite classique 
94. V.6 L'objet this exemple Un bouton sert principalement à déclencher une action JavaScript.
Nous avons déjà vu dans le paragraphe Intégrer du JavaScript dans un événement comment détecter le click sur un bouton
La propriété value contient le libellé du bouton.
Comme pour une zone de texte, ce libellé est accessible
checked est de type booléen
Il contient true si l'objet est coché et false sinon. 
95. V.7 Accéder auxzones de texte La principale action en JavaScript sur une zone de texte est de manipuler son contenu
Imaginons un formulaire appelé myform qui possède un champ texte appelé myfield
On accède au contenu du champ par
Il faut bien penser à ajouter la propriété value pour accéder au contenu 
96. V.8 Accéder auxradio-boutons 
97. V.9 Accéder aux menus de sélection 
98. V.9 Accéder auxmenus de sélection Pour récupérer l'indice la ligne sélectionnée		this.form. liste.selectedIndex 
Pour récupérer le nombre de lignes		this.form.liste.options.length
Pour récupérer la valeur de la ligne sélectionnée 
99. V.10 Accéder auxtextarea Une zone de texte multi-lignes a comme propriété principale value qui contient le texte de la zone
Pour récupérer le contenu de la zone, on utilise		document.nom. zone.value
Afin de pouvoir traiter la chaîne résultante, il faut traduire l'ensemble de scaractères spéciaux (RC, #, LF, …) en un code compréhensible
La fonction escape(car) retourne le code correspondant à car
La fonction unescape(code) retourne le caractère correspondant
Par exemple escape("#") retourne "%23" et unescape("%23") retourne "#" 
100. VII.1 Conversion chaîne de caractères en nombres Les variables ne sont pas typées
Mais il est utile de savoir transformer une chaîne en un entier ou un réel (nombre à virgule)
Imaginons ce script 
101. VII.2 L'objet Math La plupart des fonctions mathématiques sont des méthodes de l'objet Math
Retourne une valeur entre 0 et 1 
102. VII.3 L'objet Math et ses méthodes 
103. VII.3 L'objet Math et ses méthodes 
104. A.1 Introduction Nous allons voir de nombreuses astuces pour rendre un formulaire dynamique et attractif, en réaction aux événements générés par l'utilisateur
Il est nécessaire de bien connaître le principe des formulaires HTML pour tirer partie de ces astuces. 
105. A.2 Donner le focusà un élément Le premier champ texte a le focus au chargement de la page
Cliquez sur les boutons pour donner le focus aux autres éléments
La prise de focus est possible pour tous les types d'objets 
106. A.2 Donner le focusà un élément 
107. A.3 Changer le libellé 
108. A.4 Autoriser un seul clic Accepte le premier clic sur le bouton et empêche les suivants
Utile pour éviter de recevoir 3 fois le même message quand un visiteur bégaie sur le bouton "Envoyer" ! 
109. A.4 Autoriser un seul clic 
110. A.5 Valider un formulaire Il est souvent utile de vérifier la saisie d'un formulaire avant de le valider
L'idéal est de créer un bouton (de type "button" et pas "submit") qui appelle une fonction javascript qui contrôle la saisie et soumet ou non le formulaire 
111. A.5 Valider un formulaire Voyons un exple de saisie d'un email
 
112. A.6 Vider un champà la prise de focus 
113. A.7 Détecterla touche Entrée Utile dans les formulaires de recherche, où la plupart des utilisateurs tapent [Entrée] pour valider la recherche, sans cliquer sur le bouton "Rechercher"
L'appui sur [Entrée] déclenche la soumission du formulaire qu'il est possible de détecter avec l'événement onSubmit 
114. A.8 Empêcher la saisied'un champ Dès que la curseur souris arrive sur ce champ, il est enlevé
Cela rend impossible la saisie ou la modification de son contenu
L'astuce est d'utiliser l'événement onFocus qui détecte l'arrivée du curseur dans le champ 
115. I.4 Tableaux En JavaScript, les tableaux sont des objets.
Leurs déclarations sont identiques à celles vues précédemment. 
116. I.4 Tableaux En JavaScript, le premier élément d'un tableau est indexé à 0
Il est possible de déclarer un tableau sans fixer sa dimension
Alors la taille du tableau s'adapte au fur et à mesure à son contenu 
117. I.4 Tableaux Pour accéder aux éléments du tableau, on utilise les crochets [ et ] 
118. I.4 Tableaux Des méthodes associées à l'objet permettent d'effectuer des traitements ou d'accéder à des propriétés.
On utilise la notation pointée pour appliquer une méthode sur un objet ou pour accéder à une propriété. 
119. I.4 Tableaux : Exemple 
120. I.4 Tableaux : Exemple 
136. VI.1 Introduction JavaScript est un langage Objet
Cette approche permet de développer des scritps réutilisables évolutifs et paramétrables
Ce chapitre présente les principes généraux de la programmation objet 
137. VI.2 Déclaration On utilise l'instruction new à laquelle on adjoint
 soit un type d'objet prédéfini (Date, Array, ...)
soit une instruction qui permet de créer les propriétés de cet objet 
138. VI.2 Déclaration : Exemple L'instruction Chien fait appel au mot this qui représente l'objet en cours (ici, mon_chien) 
139. VI.2 Déclaration : Exemple La variable mon_chien est maintenant un objet de type chien qui contient les propriétés nom et race
Naturellement, il est possible de rajouter des propriétés très facilement, sans se soucier des questions d'indices qu'imposerait un tableau du type 
140. VI.2 Déclaration : Exemple 
141. VI.3 L'utilisation des méthodes Lors de la création d'un objet, Il est également possible d'associer des méthodes à celui-ci
La déclaration des méthodes se fait pendant la création de l'objet 
142. VI.3 le with On remarque encore l'utilisation de this qui représente l'objet sur lequel est appliquée la méthode
Il est possible aussi de déclarer la fonction avec le mot with 
143. JavaScript et les cookies Chapitre VIII 
144. VIII.1 À quoi servent-ils ? Les cookies sont très utilisés, par tous les sites commerciaux et par de plus en plus de sites personnels
La raison est simple. Un cookie permet de stocker de manière permanente des informations sur le poste du visiteur, qui pourront être récupérées lors des futures visites
Voyons quelques unes des principales informations stockées dans les cookies
Le nombre de visites, la date de la dernière visite,
Un identifiant et un mot de passe pour une reconnaissance automatique du visiteur.
Une liste de mots-clés utilisés dans les moteurs de recherche pour cibler les publicités à afficher (Exemple : beaucoup de moteurs de recherche) 
Une liste de paramètres de préférences de navigation pour personnaliser la page présentée (Exemple : Mon Yahoo !) 
Des informations à transférer d'une page à l'autre du site.  
145. VIII.2 Comment stockerles informations ? Le type d'informations à stocker n'a aucune influence sur le code
Un cookie est un fichier de texte qui contient une chaîne de caractères représentant les informations 
146. VIII.2 Comment stockerles informations ? 
147. VIII.2 Comment stockerles informations ? 
148. JavaScript et les PopUp Chapitre IX