Vous êtes sur la page 1sur 16

Le Web Dynamique avec JavaScript

Prsentation de

JavaScript

Prsentation de JavaScript

Sommaire
Prsentation de JavaScript
Introduction Java et JavaScript Quelques aspects techniques Conclusion

Contrle du contenu et de lapparence de pages Web Contrle de fonctionnalits du Navigateur Internet Gestion du contenu dune page Web Gestion dinteractions avec lutilisateur

Liens avec les applets Java Manipulation et gestion dimages Lecture et criture de Cookies Autres fonctionnalits intressantes

Prsentation de JavaScript

Sommaire de la section
Introduction
JavaScript : quelques repres fondamentaux Client-side et Serveur-side Quest ce que JavaScript sait faire Quest ce JavaScript ne sait pas faire

Java et JavaScript
Complmentarit et Intgration Diffrences entre Java et JavaScript

Exemples et aspects techniques


Un exemple lmentaire Intgration avec les formulaires HTML Gestion des aspects de scurit Comparatif avec dautres environnements

Bibliographie & @ internet

Prsentation de JavaScript Introduction

Quelques repres fondamentaux (1)


Contexte dutilisation
JavaScript(JS) sutilise dans le contexte du Web principalement au travers dun navigateur Internet JS permet lexcution de code informatique intgr des pages Web JS est un des outils permettant de dvelopper du Web Dynamique

Contexte technique
JS nest pas simple, et ncessite une relative bonne connaissance des techniques de programmation JS nest pas un sous-ensemble de Java JS n est pas une alternative Java mais une technologie complmentaire JS est un Langage de troisime gnration cousin de Java, du langage C ou du Basic en terme de forme de programmation

Prsentation de JavaScript Introduction

Quelques repres fondamentaux (2)


Principales caractristiques
JS est Interprt, faiblement typ et sans notion de pointeurs Types de base simples (nombre, chane et boolen) Les fonctions et les variables peuvent tre dclares nimporte o Les fonctions admettent un nombre de paramtre variable JS comme Java est indpendant du matriel et donc portable

JavaScript et lObjet
Langage bas sur les objets mais non orient objet Les objets sont simples et informels, il possdent des proprits et des mthodes associes Existence dun systme de ramasse-miettes
JS est en gnral intgr dans dautres logiciels (navigateurs) qui fournissent des donnes sous forme dobjets utiliss par les scripts JavaScript

Prsentation de JavaScript Introduction

JavaScript Client-side et Server-side


Objet de ce cours

Prsentation de JavaScript Introduction

Ce que JavaScript sait faire (1)


Le rel intrt de JS tient de son troite liaison avec les navigateurs Internet
Contrle du contenu et de lapparence de page Web
write() faire apparatre un texte supplmentaire dynamiquement construire une page dynamiquement partir de rien

Contrle de fonctionnalits du Navigateur Internet


affichage de message par boite de dialogue ou dans la barre de status saisie de donnes simples ouverture et gestion de laffichages d URL dans des fentres du navigateur

Gestion du contenu dune page Web


accs la liste des liens hypertextes, images, applets Java,... dune page accs lensemble des contrles boutons, zone de saisie,... dune page

Gestion dinteractions avec lutilisateur


gestions d actions lies des vnements utilisateur : dplacement de la souris sur un contrle, validation dune saisie, dun Submit sur un formulaire...

Prsentation de JavaScript Introduction

Ce que JavaScript sait faire (2)


Liens avec les applets Java
fonctionnalit Netscape LiveConnect invocation de mthode dapplet Java depuis JS lecture et criture de proprits d applet Java depuis JS

Manipulation et gestion dimages


possibilit de raliser des effets sur images : passage de la souris sur une image ou lors d un clique sur image...

Lecture et criture de Cookies


Cookies : initialement prvu pour les scripts CGI, code crit et lu par le serveur CGI et mmoris sur le client pour gnrer des pages en fonction du contexte client. JS peut lire et crire des Cookies et peux parfois remplacer l utilisation de script CGI

etc..
Utilisation de dlai window.setTimeout() Utilisation de fonctions sophistiques de gestion de la Date et Heure

Prsentation de JavaScript Introduction

Ce que JavaScript NE sait PAS faire


JS est prvu pour tre utilis au travers de navigateur Internet et ne comporte pas de proprits propres aux dveloppement dapplications indpendantes standalone
JS ne comporte pas de fonctionnalits graphiques exceptes celles permettant le formatage dlments de pages HTML (images, fontes,) JS ne permet pas la lecture et lcriture de fichiers quelconques sur le disque JS ne supporte pas de services rseaux, il peux seulement imposer au navigateur de tlcharger une URL JS ne gre pas de multitches ... Note : JS sappuie sur les procdures dentres/sorties dautres logiciels lors de lexcution des scripts

Prsentation de JavaScript JavaScript et Java

Complmentarit et Intgration
Complmentarit
JS est facile utiliser et maintenir car intgr une page HTML Un code Java scrit dans un fichier spcifique rutilisable... JS peut contrler le navigateur et le contenu des pages affiches mais ne peut pas raliser doprations graphiques ou ncessitant de la communication rseau Java noffre aucune interface de contrle de navigateurs, mais permet de raliser des fonctions graphiques, des appels rseaux, du multitche

Intgration
LiveConnect de Netscape permet JavaScript de communiquer avec linterprteur java intgr au navigateur et de contrler et accder aux attributs manipuls par les applets Java de la page.

Prsentation de JavaScript JavaScript et Java

Diffrences entre JavaScript et Java


JavaScript Interprt par le client - non compil Bas sur les objet, pas de classes ni dhritage,... Encapsul dans HTML Dclaration optionnelle des variables (typage faible) Rfrences vrifies lexcution Pas de fonctionnalit graphiques Intgration dans larchitecture sous-jacente de navigateurs Issu de Netscape Corporation

Java compil avant excution sur le client Orient objet Applets distinctes de HTML Dclaration obligatoire des variables (typage fort) Rfrences vrifies la compilation Fonctionnalits graphiques compltes de Java Environnement indpendant de navigateurs (sauf LiveConnect) Issu de Sun Microsystem

JavaScript utilise un nombre restreint de types de donnes du langage Java

Prsentation de JavaScript Exemples et aspects techniques

Un exemple lmentaire
<SCRIPT LANGAGE=JavaScript> <!-- commentaire pour masquer le scrpipt pour les anciens navigateur function carre (i) { document.write ("le carre de " + i + " est : "); return i * i; } // fin du masquage --> </SCRIPT> <BODY> <H1>Exemple JavaScript :</H1> <SCRIPT> document.write(carre(1), "<BR>") document.write(carre(2), "<BR>") document.write(carre(3), "<BR>") document.write(carre(4), "<BR>") document.write(carre(5), "<BR>") </SCRIPT> <BR> Fin de l'exemple. </BODY>

Prsentation de JavaScript Exemples et aspects techniques

Intgration avec les formulaires HTML


JS sintgre aisment dans une page HTML
<HEAD> <TITLE> Exemple dutilisation de JavaScript</TITLE> <SCRIPT LANGUAGE="JavaScript"> var v1 = 50; var tab1 = new Object(); tab1[0] = 4000; tab2 = 6000; function f1() { var f = document.maForm; var num = parseInt(f.num.value);} function fn() { ... } </SCRIPT> </HEAD> <BODY> <FORM NAME = "maForm"> <INPUT TYPE=text NAME="num" SIZE=2 onChange="f1()"> </FORM> </BODY>

JS supporte le chargement dun script


<SCRIPT SRC="../../javascript/courdier.js"></SCRIPT>

Prsentation de JavaScript Exemples et aspects techniques

Windows/Documents/Forms/Browser

Prsentation de JavaScript Exemples et aspects techniques

La scurit
JavaScript est un code tlcharg et excut sur une machine cliente : problme de scurit
Limite du langage : pas de possibilit de lire, crire, supprimer, lister des fichiers ou rpertoires sur le poste d'excution client
pas d'altration de donnes ni de greffe de virus possible

Pas d'accs direct d'autres machines au travers du rseau


impossible de cracker des password intranet sans tre vu par le firewall

Pas d'accs aux proprits prives du navigateur


impossible d'accder l'historique de navigation, aux sites favoris, etc.

Il existe des brches chaque version des navigateurs on en trouve !

Prsentation de JavaScript

Bibliographie & @ internet


Quelques rfrences
David Flanagan, JavaScript The Definitive Guide, ed. OREILLY, 1997 Philippe CHALEAT et Daniel CHARNAY, "Programmation HTML et JavaScript", ed. Eyrolles, 1999 Nigel McFarlane, "Le guide du programmeur JavaScript", ed. Erolles, 1999 Paul Wilton, Matriser JavaScript, ed. CampusPress, 2001

Sites Netscape
http://home.netscape.com/one_stop/intranet_apps/index.html Source for starter applications, technical information, tools, and expert forums for quickly building and dynamically deploying open intranet applications. http://help.netscape.com/kb/tools/index.html Technical support page for information on the LiveWire Database Service. http://developer.netscape.com/tech/javascript/ssjs/ssjs.html Support page for information on server-side JavaScript.

Autres @ Internet
http://javaScript.netscape.com http://www.javasoft.com ( et tous les liens associs... ) http://scriptsearch.internet.com/JavaScript/