Le JavaScript est souvent utilis� comme un langage de script c�t� client. Cela signifie que le code JavaScript est �crit dans une page HTML. Quand un internaute fait une requ�te sur une page HTML avec du JavaScript dedans, le script est envoy� au navigateur qui traduit le code et le renvoie � la diff�rence d'un code PHP qui est interpr�t� par le serveur. Fort heureusement, de nos jours la plupart des navigateurs peuvent manipuler le JavaScript, mais naturellement il arrive que certains d'entre eux bloquent sur certaines parties de code. Le fait que le script se situe dans une page HTML signifie que vos scripts peuvent �tre vus et copi�s par celui qui consulte votre page. N�anmoins, pensez que vous-m�me pouvez recopier du code afin de le comprendre et l'utiliser. Le JavaScript peut �tre employ� dans d'autres contextes que celui du navigateur Web. Netscape a cr�� le JavaScript c�t� serveur comme le langage CGI qui peut faire les m�mes choses que Perl et l'asp. Il n'y a donc rien qui vous emp�che de cr�er des programmes complexes. JavaScript et Java Le JavaScript n'est pas identique � Java. Bien que les noms soient tr�s semblables, le Javascript est principalement un langage de script � utiliser dans des pages HTML, alors que Java est un vrai langage de programmation qui fait des choses tout � fait diff�rentes de JavaScript. En outre il est beaucoup plus difficile d'apprendre Java. Il a �t� d�velopp� par Sun pour l'usage de programmes n�cessitant une certaine puissance de calcul. Le JavaScript a �t� d�velopp� par Netscape pour le c�t� client (dans le navigateur) et pour les scripts c�t� serveur. � l'origine le langage s'appelait Live Script, mais au dernier moment Netscape a chang� le nom de son langage de Script en "JavaScript". Ceci a �t� fait purement pour des raisons commerciales. Java comme JavaScript descendent du C et du C++, mais les langages (ou plut�t, leurs anc�tres) sont all�es dans des directions compl�tement diff�rentes. Vous pouvez les voir en tant que cousins lointains. Tous les deux sont orient� objet (bien que ce soit moins important pour le JavaScript que pour beaucoup d'autres langages) et ils partagent une syntaxe similaire, mais les diff�rences entre eux sont plus importantes que les similitudes. Le JavaScript n'est pas un langage de programmation dans le sens strict. On le consid�re plut�t comme un langage de script parce qu'il emploie le navigateur pour effectuer le travail. Si vous demandez � une image d'�tre remplac�s par une autre, le JavaScript indique au navigateur d'aller le faire. Puisque le navigateur effectue le travail � votre place, vous avez seulement � �crire quelques simples lignes de code. C'est ce qui fait du JavaScript un langage facile pour d�buter. Mais ne vous y trompez pas, le JavaScript peut se r�v�ler aussi tr�s difficile. Premi�rement, en d�pit de son aspect simple, il est aussi un langage de programmation tr�s complet. Il est donc possible d'�crire des programmes tr�s complexes en JavaScript. C'est rarement n�cessaire quand il s'agit de l'utiliser pour des pages Web, mais c'est tout � fait possible. Ceci signifie qu'il y a quelques structures de programmation assez complexes que vous ne pourrez comprendre qu'apr�s les avoir �tudi�s. Deuxi�mement, et plus important encore, il y a les diff�rences de navigateurs. Bien que les navigateurs modernes supportent tous le JavaScript, il n'y a aucune loi sacr�e qui indique qu'ils devraient tous soutenir exactement le m�me JavaScript. Il est facile d'apprendre les bases du JavaScript, mais quand vous commencerez � �crire des scripts plus �volu�s vous serez vite confront� aux diff�rences entre navigateurs (il y a de temps en temps des probl�mes de syntaxe). Le JavaScript c�t� Client a �t� express�ment d�velopp� pour l'usage dans un navigateur Web en association avec des pages HTML. Ceci a quelques cons�quences sur la s�curit�. Tout d'abord, notez soigneusement ce qui se produit quand un utilisateur visite un site Web contenant du JavaScript : L'utilisateur demande une certaine page HTML sans savoir s'il elle contient du JavaScript. La page HTML est fournie au navigateur, ainsi que les scripts. Les scripts fonctionnent habituellement automatiquement lorsque la page ce charge. En g�n�ral l'utilisateur ne peut rien faire pour stopper les scripts (bien qu'il pourrait stopper le code JavaScript via les options de son navigateur, mais peu d'utilisateurs savent le faire). Il est courant de voir un utilisateur t�l�charger un programme al�atoire et lui permettre de s'ex�cuter sur sa machine. Par cons�quent il devrait y avoir des r�gles strictes sur ce que ce programme peut faire et ne peut pas faire. Le JavaScript ne peut pas lire des fichiers ou �crire dans le syst�me de fichiers de l'ordinateur. Le JavaScript ne peut ex�cuter aucun autre programme. Ce serait �galement inacceptable. Le JavaScript ne peut �tablir aucune connexion sur un ordinateur, � moins que ce soit pour t�l�charger une nouvelle page HTML ou pour envoyer du courrier. Ceci, aussi, cr�erait des risques inacceptables. Donc le JavaScript ne peut tout simplement pas faire de choses dangereuses. Malheureusement, Microsoft a vu qu'il pouvait rajouter quelques commandes de fichier system, en combinaison avec sa technologie ActiveX. ` Ceci signifie que l'explorateur Windows est structurellement moins s�r que n'importe quel autre navigateur. Il a quelques protections de "built-in", mais les hackers trouvent encore r�guli�rement des faiblesses. Ainsi le JavaScript fonctionne seulement sur des pages en HTML ou des partie du navigateur. Vous ne pouvez pas influencer quelque chose qui n'en fasse pas partie. Mais m�me dans un navigateur il y a quelques zones non modifiables. Fondamentalement le JavaScript veut prot�ger l'intimit� de l'utilisateur en rejetant certaines actions et en demandant la permission pour d'autres : Vous ne pouvez pas lire l'historique d'un navigateur. Ainsi un webmaster malveillant ne peut pas �crire un script qui lui permette de d�couvrir o� vous naviguez. Vous ne pouvez rien faire dans les pages qui proviennent d'un autre serveur. Ainsi si votre bureau contient deux pages provenant de deux serveurs diff�rents, elles ne peuvent pas communiquer entre elles. Donc un webmaster malveillant ne peut pas savoir quels sites vous avez ouverts dans d'autres fen�tres de navigation. Si vous essayez de fermer une fen�tre de navigateur qui n'a pas �t� ouverte par JavaScript, l'utilisateur est alors invit� � confirmer cette action. Cependant, cette r�gle n'est pas mise en application dans tous les navigateurs et il est facile de la contourner sous l'explorer Windows. Si vous essayez d'envoyer un formulaire � une adresse mail par JavaScript, l'utilisateur est invit� � confirmer cette action. Ainsi le JavaScript est un langage de script utilis� pour influencer des �l�ments en HTML, comme des formes, des images, des couches, des paragraphes... Ainsi que pour influencer quelques objets non HTML comme la fen�tre du navigateur. Rien de plus, mais (d'une mani�re primordiale) rien de moins. Quand un utilisateur re�oit une page qui inclut du JavaScript, l'interpr�teur JavaScript de son navigateur essaye d'ex�cuter le script. Seulement le probl�me principal est que chaque navigateur utilise son propre interpr�teur, et il arrive parfois que les fournisseurs de navigateurs choisissent de ne mettre en application qu'un peu de JavaScript, ceci pour des raisons concurrentielles. Par cons�quent il est � craindre des incompatibilit�s de navigateur. En outre, chaque nouvelle version de navigateur supporte plus de JavaScript et permet de plus en plus de changer vos pages HTML par des scripts. Ceci m�ne � bien plus d'incompatibilit�s. Il est pr�f�rable de r�soudre des probl�mes de compatibilit� au cas par cas.