cg l/perl et javascript création de pages html interactives resume

Transcription

cg l/perl et javascript création de pages html interactives resume
CG L/PERL ET JAVASCRIPT
CRÉATION DE PAGES HTML INTERACTIVES
ISAAC COHEN
RESUME
Cet ouvrage décrit en détail la création de documents htmI dynamiques et interactifs.
Les documents dynamiques résultent de l'interface du protocole http et des
applications résidant sur le serveur www.
Après un rappel du langage html, le protocole http est décrit pour introduire les
interfaces cgi permettant la création de documents html dynamiques. Le langage Perl
s'est impose naturellement pour la création de tels documents car il permet un accès
simplifie au système et aux entrées/sorties standard représentant les canaux de
communication privilégies du protocole http.
Ce langage est décrit en détail afin que le lecteur des puisse réaliser des interfaces cgi évoluées.
Le langage Javascript permet une répartition des tâches entre le serveur www et le client accèdent à la ressource. Il permet d'effectuer
localement un nombre important de traitements et fournit une interactivité accrue en détectant les actions de l'utilisateur. Le langage
Javascript est introduit dans cet ouvrage pour permettre au lecteur le développement d'interfaces html interactives. Un nombre important
d'exemples illustrent les diffé​rentes fonctionnalités de Javascript et leur utilisation dans des documents html.
Les sujets abordés dans ce livre sont :
◊.
Le langage html ;
◊
Le protocole http et le transfert d'informations persistantes: les cookies;
◊
L’interface cgi ;
◊
Le langage Peri ;
◊
Le langage Javascript et son utilisation dans des documents html.
TABLE DES MATIERES
1
Introduction
1
2
Le langage HTML
5
2.1
2.2
2.3
2.4
2.4.3
2.5
La création de documents hypertexte .
2.1.1
Documents multimédias et documents conventionnels.
2.1.2
Aide au parcours des documents.
2.1.3
Structure des documents
2.1.4
Conception des pages.
2.1.5
Efficacité d'utilisation des pages Web.
Le langage HTML .
2.2.1
Le nom des balises.
2.2.2
Les attributs d'une balise.
La structure d'un document HTML
L'en-tête d'un document HTML
2.4.1
L'en-tête d'un fichier: HEAD
5
6
7
7
9
9
10
10
10
12
13
13
2.4.2
13
Adresse absolue du document: BASE.
Recherche par mots clés: ISINDEX .
2.4.4
Relations avec d'autres documents: LINK .
2.4.5
Insertion d'informations spécifiques: META
2.4.6
Mise en valeur de paragraphes: RANGE
2.4.7
Titre d'un document HTML: TITLE
Corps d'un document HTML .
2.5.1
Le corps d'un document: BODY
2.5.2
Interruption de lignes: BR .
14
14
16
17
18
18
18
19
2.5.2
2.5.3
2.5.4
2.5.5
2.5.6
2.5.7
2.5.8
2.5.9
2.5.10
2.5.11
2.5.12
2.5.13
2.5.14
2.5.15
3
19
19
20
21
22
23
24
29
32
33
33
34
35
35
Liens hypertexte et fonctions HTML avancées
37
3.1
37
38
44
45
45
47
50
52
53
56
57
58
60
64
65
67
67
69
70
71
72
73
75
78
3.2
3.3
3.4
3.5
3.6
3.7
4
Interruption de lignes: BR .
Définition de paragraphes: P
Classification des différentes parties d'un document: DIV
Titre de rubriques: H1-H6
Spécification des tabulations : TAB .
Texte préformaté: PRE
La mise en page de listes.
Typographie des caractères
Extraction automatique d'informations
Séparateur ou barre horizontale: HR
Les remarques: NOTE
Notes: FN
Citations: BQ ou BLOCKQUOTE
Spécification d'une adresse: ADDRESS
L'adressage universel de ressources: URL
3.1.1
Le champ scheme
3.1.2
Le champ path
3.1.3
Le codage des caractères réservés
Les liens hypertexte: A
L'insertion d'images: IMG
La gestion locale des images réactives: MAP
La définition de tableaux: TABLE
3.5.1
Attributs de la balise TABLE
3.5.2
Définition des lignes dans un tableau: TR (Table Row) .
3.5.3
Définition des cellules: TH et TD
La définition de formulaires: FORM
3.6.1
Les champs de saisie: INPUT
3.6.2
Les champs de saisie de texte: TEXTAREA
3.6.3
Les menus de sélection: SELECT
3.6.4
Liste d'options d'un menu: OPTION
3.6.5
Insertion de fichiers dans un formulaire
La définition des frames
3.7.1
La syntaxe des frames
3.7.2
Définition d'une région: FRAMESET
3.7.3
Définition du contenu d'une région: FRAME
3.7.4
Exemple
3.7.5
Comment adresser des régions
3.7.6
Exemples de partition
Le protocole HTTP et l'interface CGI
4.1
4.2
83
4.5
Le Protocole HTTP
Une transaction HTTP
4.2.1
La requête HTTP
4.2.2
La réponse HTTP
Saisie de données par le client
4.3.1
La balise ISINDEX
4.3.2
L'attribut ISMAP de la balise IMG
Codage des données saisies
4.4.1
Méthode de codage
4.4.2
Exemple: Le codage du contenu d'un formulaire
Exemple d'accès à l'information contenue dans un formulaire
83
85
86
88
92
92
92
93
93
94
96
4.6
4.7
Comparaison des méthodes GET et POST du protocole HTTP
Intercommunication de formulaires: trace du statut
97
98
4.8
Transfert d'informations persistantes: les Cookies HTTP
4.8.1
Initialisation d'un cookie par le serveur HTTP
4.8.2
Insertion d'un cookie par le client.
4.8.3
Exemples de transactions utilisant les cookies
4.8.4
Exemple d'utilisation: un compteur d'accès.
L'interface CGI
Les variables d'environnement.
4.10.1 Les variables relatives au serveur.
4.10.2 Les variables relatives à la connexion client-serveur.
4.10.3 Les variables relatives à la requête
Exemple d'accès aux variables d'environnement
4.11.1 Exemple d'accès en Boume Shell .
4.11.2 Exemple d'accès en C .
4.11.3 Exemple d'accès en PERL .
La définition URL d'un script.
La commande en ligne dans un script CGI
Le format du résultat d'un script CGI
4.14.1 En-tête explicite
4.3
4.4
4.9
4.10
4.11
4.12
4.13
4.14
99
99
101
101
102
106
107
107
108
109
110
111
111
112
112
112
113
113
4.15
5
En-tête explicite
En-tête implicite
CGI et sécurité.
Exemple: envoi de Mail
Comment y remédier? .
Conseils pour le développement de scripts CGI .
113
114
114
115
116
118
Le langage PERL
121
5.1
5.2
122
122
122
125
127
129
129
131
131
133
133
134
134
135
137
138
139
139
142
142
143
144
145
146
147
147
147
148
148
148
149
149
150
150
151
152
154
155
158
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
6
4.14.1
4.14.2
Scripts
4.15.1
4.15.2
4.15.3
La syntaxe de PERL
Les différents types de données
5.2.1
Les scalaires.
5.2.2
Les tableaux de scalaires
5.2.3
Les listes associatives (tableaux à indexation littérale) .
Les structures de contrôle.
5.3.1
L'instruction if
5.3.2
L'instruction while
5.3.3
Les instructions for et foreach
5.3.4
L'instruction goto .
5.3.5
L'interruption de boucles, last et next .
L'argument par défaut.
Les expressions régulières.
5.5.1
Les modèles définis par une classe de caractères.
5.5.2
La substitution et la traduction de chaînes
5.5.3
Les opérateurs split et join .
Les entrées -sorties
5.6.1
Les entrées -sorties de type texte.
5.6.2
Les canaux de communication (pipes)
5.6.3
Les opérateurs de test de fichiers.
La définition de fonctions.
5.7.1
Les arguments d'une fonction.
5.7.2
Les variables locales et globales
Les fonctions définies en PERL
5.8.1
Les fonctions mathématiques.
5.8.2
Les fonctions relatives aux scalaires et tableaux.
5.8.3
Les fonctions manipulant des chaînes de caractères.
5.8.4
Les fonctions relatives aux fichiers
5.8.5
Les fonctions relatives au système
Interaction avec le système d'exploitation (UNIX)
5.9.1
L'utilisation de la commande print
Quelques remarques sur le contexte de listes.
Exemple de scripts CGI en Perl: accès à un annuaire.
5.11.1 L'accès aux données
5.11.2 Le traitement des données
5.11.3 L'affichage du résultat
Exemple 2: Gestion d'un formulaire.
5.12.1 L'accès aux données
5.12.2 Traitement des données.
5.12.3 L'affichage du résultat
159
Le langage JavaScript
163
6.1
6.2
6.3
6.4
6.5
6.6
164
165
165
166
167
169
169
171
171
172
172
172
173
173
174
174
175
175
176
177
177
178
179
180
180
180
6.7
6.8
6.9
6.10
6.11
Utilisation de JavaScript dans un document HTML
Exemple 1: Affichage de texte.
Exemple 2: Définition d'une fonction.
Exemple 3: Interaction avec un formulaire
Exemple 4: Interaction avec un formulaire
La représentation des données en JavaScript .
6.6.1
Les valeurs.
6.6.2
Les variables
6.6.3
Les valeurs littérales
Les expressions et opérateurs JavaScript .
6.7.1
Les expressions conditionnelles
6.7.2
Les opérateurs arithmétiques.
6.7.3
Les opérateurs logiques de bits
6.7.4
Les opérateurs logiques
6.7.5
Les opérateurs de relation
6.7.6
Les opérateurs d'affectation
Le modèle objet en JavaScript.
6.8.1
Les propriétés d'un objet.
6.8.2
Les méthodes d'un objet
6.8.3
La définition des méthodes
6.8.4
Utilisation du mot clé this pour référencer un objet
La création de nouveaux objets: new .
La définition de méthodes lors de la création de l'objet.
Les instructions JavaScript
6.11.1 La déclaration de variables
6.11.2 Les commentaires.
6.12
7
181
182
182
184
185
185
186
188
189
191
191
Utilisation de JavaScript
193
7.1
7.2
7.3
JavaScript et HTML
La gestion des événements.
Quelques conseils de programmation.
7.3.1
La remise à jour de documents
7.3.2
Les guillemets
7.3.3
La définition de fonctions.
7.3.4
La définition de tableaux de valeurs.
Description des objets propres au client.
7.4.1
Description de la hiérarchie des objets associés au client
7.4.2
L'objet document
7.4.3
L'objet form
7.4.4
L'objet window .
Liste des objets définis en JavaScript .
Description des propriétés définies
Liste des méthodes définies
7.7.1
L'objet Date
7.7.2
Les objets document et history
7.7.3
Les formulaires, form
7.7.4
L'objet Math
7.7.5
L'objet string.
7.7.6
L'objet window .
Utilisation de JavaScript pour des applications client
7.8.1
Accès aux différents éléments du document HTML: l'objet document
7.8.2
Les liens hypertexte
7.8.3
Les formulaires.
7.8.4
Les frames
7.8.5
La création de fenêtres .
193
194
197
197
197
197
197
198
200
200
204
206
212
212
215
215
216
216
217
217
218
218
219
220
220
224
226
Vérification du contenu d'un formulaire.
Exemple pratique, la gestion locale d'un formulaire
Définition de cookies
228
230
238
7.4
7.5
7.6
7.7
7.8
7.9
7.10
7.11
8
6.11.3 La définition de fonctions.
6.11.4 Les instructions conditionnelles
6.11.5 Les boucles.
6.11.6 L'interruption de boucles: break.
6.11.7 L'interruption de l'itération courante: continue
Les objets et les fonctions pré définis .
6.12.1 Les chaÎnes de caractères, l'objet string.
6.12.2 Les structures mathématiques, l'objet Math.
6.12.3 La représentation des dates, l'objet Date.
6.12.4 La fonction eval
6.12.5 Les fonctions escape et unescape
La sécurité des serveurs Web
243
8.1
8.2
244
244
245
245
246
247
247
248
248
249
250
251
251
251
252
252
8.3
8.4
8.5
Remarques générales
Conseils pratiques.
8.2.1
Spécification des droits d'accès aux fichiers.
8.2.2
Paramétrage des options du serveur.
8.2.3
Quels droits faut-il affecter au serveur?
8.2.4
Utilisation d'une barrière coupe-feu: firewall
La diffusion restreinte de documents.
8.3.1
Restriction par adresse IP .
8.3.2
Restriction par nom d'utilisateur et mot de passe
8.3.3
L'utilisation de la cryptographie.
Fichiers d'accès et protection de la vie privée
Internet et réglementation juridique.
8.5.1
La protection des personnes
8.5.2
La fraude informatique.
8.5.3
Le cadre international.
8.5.4
Le commerce électronique.
Annexes
252
A
Codage URL des caractères ASCII
253
B
Représentation des caractères ISO-Latin en HTML
257
C
Adresses WWW utiles
261
C.1
C.2
C.3
261
262
262
D
Le langage HTML
Les scripts CGI -Perl .
JavaScript
Les éditeurs HTML
265
D.1
D.2
E
TOP
Les éditeurs HTML sous Windows
Les éditeurs HTML sous UNIX
265
271
Les serveurs Web
273
E.1
E.2
E.3
274
2Z9
280
Serveurs sous Windows
Serveurs sous UNIX
Serveurs sous d'autres plates-formes