javascript des fondamentaux aux concepts avances

Download Javascript Des Fondamentaux Aux Concepts Avances

Post on 20-Jul-2015

206 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

JavaScriptDes fondamentaux aux concepts avancs

EmmanuelGUTIERREZ

RsumCe livre sur Javascript est destin tous ceux qui se proccupent de donner plus dinteraction leurs sites web. Il vise deux objectifs : tout dabord matriser les fondements de JavaScript afin dlaborer les scripts les plus frquemment utiliss sur le net, puis dcouvrir le nouveau potentiel de JavaScript aussi bien grce son utilisation avec les feuilles de styles en cascade (CSS), le DHTML, AJAX quavec les bibliothques telles que Prototype ou Script.aculo.us. Aprs avoir prsent la syntaxe de base, le livre prend appui sur des exemples significatifs (gestion des formulaires, du temps, des menus de navigation, gliss-dpos, autocompltion), pour les commenter et dmontrer lomniprsence de JavaScript dans une architecture Web 2.0. Le livre accompagne le lecteur tout au long dun vritable parcours allant des rudiments de JavaScript jusqu la dcouverte des concepts les plus avancs. Les exemples de script cits dans louvrage sont en tlchargement sur cette page.

L'auteurAprs plusieurs annes passes en tant que formateur, Emmanuel Gutierrez est aujourd'hui consultant informatique, grant dun centre de formation qu'il a cr. Ses diffrentes missions en entreprises autour de la cration de sites web s'allient son exprience pdagogique pour fournir au lecteur un ouvrage rellement oprationnel pour matriser le dveloppement en JavaScript.

Ce livre numrique a t conu et est diffus dans le respect des droits dauteur. Toutes les marques cites ont t dposes par leur diteur respectif. La loi du 11 Mars 1957 nautorisant aux termes des alinas 2 et 3 de larticle 41, dune part, que les copies ou reproductions strictement rserves lusage priv du copiste et non destines une utilisation collective, et, dautre part, que les analyses et les courtes citations dans un but dexemple et dillustration, toute reprsentation ou reproduction intgrale, ou partielle, faite sans le consentement de lauteur ou de ses ayants droit ou ayant cause, est illicite (alina 1er de larticle 40). Cette reprsentation ou reproduction, par quelque procd que ce soit, constituerait donc une contrefaon sanctionne par les articles 425 et suivants du Code Pnal. Copyright Editions ENI

ENI Editions - All rigths reserved

- 1-

HistoriqueetversionsdeJavaScriptLemoinsquelonpuissedirecestqueJavaScriptestunlangagetrscontrovers.AudbutdelInternet,lespages taientconstituesuniquementdetextesetdelienshypertextes,cequirestreignaitlusagedesscientifiquesetdes universitaires. De toutes manires, les contraintes techniques de lpoque, notamment au niveau des dbits de transfert,nepouvaientpasproposerautrechosedemieux.Cestaumilieudesannes1990quelebesoindedisposer desitesInternetplusconviviauxetproposantplusdeservicesestapparu.BrendanEich,alorsingnieurinformaticien chezNetscapeestchargdudveloppementdunnouveaunavigateurweb.Ilenprofitepourdvelopperunlangage de Script, lorigine nomm LiveScript, et qui devait tre un complment Java (ces deux langages sont souvent confondusdufaitdeleurappellationquasiidentique,bienquilsnaientquepeudechosesencommun).Lobjetdece langage de script est de rendre les pages Internet plus attractives, plus conviviales pour le visiteur, en permettant davantagedechosessanspourautantfaireappellaprogrammationctserveur.Pourcefaire,lenavigateurdoit pouvoirinterprterlecodeJavaScript.NetscapedcidedimplmenternativementLiveScriptdanslaversion2.0deson navigateur(alorsbaptisNetscapeNavigator)ds1995.Dbutealors,unepriodedegrandepopularitdeslangages descriptetMicrosoftnepouvaitquesersoudresortirsapropreversion.CefutJscriptsortien1996etintgr sonnavigateurInternetExplorerdontladernireversionestaujourdhuiJscript.Net.LesversionsdeJavaScriptsesont alors succdes, apportant pour chacune dentre elles son lot damliorations. Tout le monde a pu constater que lInternetarapidementtenvahidepagescomportantdepetitsscriptspermettant,parexemple,dafficherlheure,la date, le nom du visiteur, ou effectuant la validation du contenu de champs de formulaire. Cependant, mme si JavaScript suit les instructions donnes par lECMA (European Computer Manufacturers Association), organisme international charg de la standardisation des systmes dinformation et de communication, les diteurs de logiciels (Microsoft dun ct avec Internet Explorer et Sun de lautre avec Firefox), ont labor, depuis le dbut, des navigateurs qui implmentent diffremment JavaScript. De ce fait, certains scripts peuvent trs bien sexcuter normalementsurunnavigateuretparadoxalement,gnreruneerreursurunautre.Cestenpartiecausedecela qu la fin des annes 1990, dautres langages tels ASP ou PHP deviendront plus populaires. Mais cest surtout lutilisation outrance de popup (fentre surgissante) qui est lorigine de la baisse dintrt pour lemploi de JavaScript.LeurprolifrationanormmentnuiJavaScriptetlexasprationdesutilisateursafiniparencacherles avantages aux yeux des dveloppeurs certains allant mme jusqu le considrer comme un souslangage. Heureusement, larrive des bloqueurs de popup intgrs aux navigateurs a permis JavaScript de redorer son blason. LetableausuivantpermetdelierlaversiondeJavaScriptaveccelledunavigateur : Annedesortie VersiondeJavaScript Navigateurscompatibles InternetExplorer3.0 1995 1.0 NetscapeNavigator2.0 InternetExplorer4.0 1996 1.1 NetscapeNavigator3.0 InternetExplorer4.0 1997 1.2 NetscapeNavigator4.0 1998 1.3 NetscapeNavigator4.5 InternetExplorer6.0 1999 1.4 NetscapeNavigator6.0 2000 2005 1.5 1.6 NetscapeNavigator6.0 Firefox1.0 Firefox2.0 2006 1.7 InternetExplorer7.0 Aujourdhui, JavaScript est redevenu un langage la mode. Il est dailleurs intressant de constater que les mmes personnes,qui,ilyaquelquestemps,dcriaientcelangage,lutilisentaujourdhuitortettravers.Eneffet,larrive denouvellestechnologieswebetnotammentduweb2.0,redonneaudveloppementJavaScriptuneplacecentrale, notammentparsonutilisationconjointeavecXMLouparsonutilisationasynchrone(Ajax),dontnousreparleronsplus tard.Cecidit,ilnestpasinutiledepointerdudoigtlesavantagesetleslimitesdelutilisationdeJavaScript.

ENI Editions - All rigths reserved

- 1-

LimitesetavantagesdeJavaScriptComme nous lavons dj prcis, JavaScript est un langage universel qui se retrouve dans de nombreuses pages HTML, en complment de ce code. Grce JavaScript, les pages HTML sont plus riches et disposent de nombreuses fonctionnalitssupplmentaires. Savoir rdiger des scripts en JavaScript, cest permettre aux visiteurs de vos pages HTML daccder dautres fonctionnalits, dautres services et damliorer ainsi la professionnalisation dun site. Ainsi, il y a encore quelques temps, lorsquun utilisateur choisissait un identifiant pour la premire fois, il fallait cliquer sur un bouton et attendre unerponsedelapartduserveur.Et,celuici,parfois,invitaitrecommencerleprocessusdecration,lepseudotant djpris.Alorsquaujourdhui,aveclemploidelatechnologieAJAX,lecontrleseffectueenarrireplanpendantque levisiteurcompltesafiche.IlestindniablequeJavaScriptcontribuefortementlaconvivialitdunsiteInternetet amliore,parconsquent,lafidlisationdesvisiteurs. tantdonncettelargediffusion,savoirrdigerdesscriptsJavaScriptestdevenu,aujourdhui,uneconnaissancede basedetoutdveloppeurweb. Pour autant, lusage de JavaScript nest pas rserv au web, en effet plusieurs logiciels du march tels Adobe PhotoshopouAdobeIllustratorutilisentdesvariantestrsprochesdeJavaScriptpourautomatisercertainestches. Encequiconcerneladifficultdulangage,certainspourraienttrerticentslanalysedespagesHTMLcontenantdu codeJavaScript,maisfinalementavecunpeudetempsetderecherche,JavaScriptestunlangagedontlamatriseest assez facile. DautantplussivoustesdjfamilieravecdautreslangagestelsleVisualBasicoulelangageC,par exemple,mmesiuneadaptationquelquesparticularitsesttoutdemmencessaire. linverse, JavaScript ne peut pas tout faire. Comme cest un langage de script qui sexcute ct client, il lui est impossibledesinterfaceravecunebasededonnesdetypeMysqlouSQL,parexemple.Pourremplircettemission,il faut imprativement passer par de la programmation ct serveur avec des langages tels ASP ou PHP. Autre point important,JavaScriptnestpasenmesuredcrireoudeliresurledisquedurduposteclient(hormislescookiesquine sontquedepetitsfichierstexteetdontnoustraiteronslesdiffrentsaspectsauchapitreAmliorerlinteractivitavec JavaScriptetCSS).Cettedernirelimitationnenconstituepaspourautantundfaut,carainsiJavaScriptnepropage pasdinfectionsviralesfortementdangereuses. UneautreparticularitdeJavaScriptrsidedanslefaitquilnencessitepasdditeurparticuliernidecompilateur.Il esttrsfacilederdigerdesscriptsdirectementdanslecodedelapageHTMLenpassantparunsimplediteurde textedetypeWordpadouunditeurdecodeHTML.Ilexiste,cependant,desoutilsdeconceptiondontlapportnest pasngligeable.

ENI Editions - All rigths reserved

- 1-

OutilsdeconceptionLesoutilspermettantdinsrerducodeJavaScriptsontnombreux.Celavadusimplelogicielditeurdetexte,comme parexempleWordPaddeWindows,loutilspcifiqueAptanaStudio,enpassantparlesditeursdecodeHTMLtels DreamweaverouFrontPage,aveclesquelsilestpossibledinsrerdesblocsJavaScript.Lusagedeceslogicielspermet dedisposerduncertainsnombredoutilsfacilitantlcritureducode.Ilest,parexemple,fortsimplede:q

vrifierunesyntaxeparlacolorationautomatiqueducode disposerdelautocompltion(propositiondesmthodesoupropritsdisponiblesdelobjet) connatrelavaleurdunevariablelorsdelexcutiondunscript.

q

q

Pour cela, vous pouvez opter pour un logiciel tel Aptana que vous pouvez tlcharger ladresse http://www.aptana.com.MalheureusementcetIDE(environnementdedveloppement)estenanglais,cequipeuttre dcourageant.Ilsavreracependantutilepourledbogageaummetitrequedautresoutilsdontnousreparlerons auxchapitressuivants. Votreoutildeconceptionslectionn,ilconvientdeconstruireunenvironnementdedveloppementetdetestsafinde perdreleminimumdetempslorsdelarecherchedeserreurs,quisurviendrontinvitablement.

ENI Editions - All rigths reserved

- 1-

Paramtragesetenvironnementop