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