| Le rôle du JavaScript Le JavaScript est le langage côté client le plus utilisé dans les pages web... Il permet de manipuler (modifier, créer, effacer, déclencher...) les éléments définis dans une page web... Le JavaScript est un langage de script utilisé côté client. C'est à dire que ses lignes de code seront interprétées sur la machine de l'utilisateur final. C'est le navigateur internet ou browser (Internet Explorer, Netscape, Mozilla, Opera...) qui a téléchargé la page web qui va interpréter le Script. Le rôle du JavaScript est donc de manipuler les elements de la page. Les exemples les plus courrants sont par exemple de changer une image quand elle est survolée (Rollover Images) ou de valider le format des données saisies dans un formulaire avant même de l'avoir envoyé. En effet, inutile de faire une requète http supplémentaire si l'utilisateur rentre un email sans arobase (@), on peut lui demander de le resaisir tout de suite.
Le gros intérêt du point de vue de l'utilisateur final, c'est qu'un langage côté client permet de réagir instantannément sur l'affichage. Contrairement à un site uniquement basé sur des technos côté serveur (+HTML seul) pour lequel la moindre modification nécessitera une requète http et donc un allez-retour serveur impliquant un délai d'attente (de l'ordre de la seconde) et un rafraichissement de l'écran pas toujours très estétique.
Mais le Javascript est capable de bien plus :
Calculs, utilisation d'objets, intervention dans les autres frames du même site, création d'elements à la volée (tableaux, formulaires, images... N'importe quel composant HTML en fait), tri alphabétique d'un tableau selon telle ou te le colonne, animation d'images (les faire se déplacer, pas en changer le contenu)...
Utilisé conjointement avec un langage côté serveur (PHP, asp,...), vous serez capables d'optimiser l'ergonomie et les fonctionnalités de vos sites.
le rôle des langages côté serveur peut être, en particulier, ce mettre à jour des variables javascript en fonction d'une base de données.
Confusions fréquentes entre les langages :
Le Javascript initiallement développé par Netscape (il s'appellait LiveScript au tout début), ne doit surtout pas être confondu avec le Java développé par Sun et qui n'a pas le même rôle sur Internet.
La version Microsoft du JavaScript s'appelle Jscript et est compatible JavaScript là, on parle bien du même rôle mais avec des fonctionnalités supplémentaires qui ne fonctionneront pas sur les browsers concurents.
Compatilibité des scripts :
C'est là que ça se gate pour le JavaScript... Contrairement aux langages côté serveur qui vont être executés/interprétés dans un environnement bien connu (votre serveur, ou celui de votre hébergeur), Dans le cas du JavaScript, c'est chez l'utilisateur final que c'est interprété. Et les différents utilisateurs peuvent très bien avoir des configurations très variées (PC/Mac/Unix/..., MSIE/Netscape/...) le problème, c'est que tous les moteurs de javascript de ces différentes configurations... Sont légèrement incompatibles... le gros est commun mais certaines fonctionnalités de base sont différentes. il faut donc d'une manière ou d'une autre, connaître les spécificités de chaque navigateur que l'on souhaite couvrir... et Tester son application (ses pages, son site...) sur plusieurs configurations. Il est très courrant de devoir écrire plusieurs fois un algorythme javascript adapté à tel ou tel browser : si (netscape) { faire comme ceci; } sinon { faire comme celà; }
Limitations de sécurité :
Qui dit langage côté client... dit executé chez l'utilisateur final... Et là, si les navigateurs n'étaient pas sécurisés comme on va le voir, ça pourrait présenter de gros risques (piratage, espionnage,...) pour l'utilisateur :
_ Il est impossible de manipuler des frames d'autres domaines...
Dans une URL, le domaine, c'est la partie entre http:// et le slash (/) suivant :
http://www.google.fr/search ? q=javascript
Au bout du compte, pour résumer la situation, la portée d'un script javascript est limité aux pages provennant du même site, le domaine étant un identifiant réseau du serveur hébergeant le site.
ça empêche par exemple un site d'espionner trop facilement les habitudes de navigation d'un utilisateur.
_ Il est impossible sans autorisation expresse de l'utilisateur, de manipuler des données système...
Il est en particulier impossible de lire ou d'écrire des fichiers sur l'ordinateur de l'utilisateur, ou de faire des appels à des ActiveX non signés.
Notons bien que ce ne sont pas des limitations du JavaScript mais des sécurités ajoutées par les navigateurs.
Adresses utiles :
Pour terminer, si vous voulez souhaiter vous y mettre, je vous conseillerais ces 2 liens :
une reference claire et précise avec exemples sur devguru.com
et un didacticiel très bien fait sur w3schools.org
Bonne chance et... que le web soit avec vous ;o)
NB : Ce qui est expliqué ici est disons... le cas général... Il est égallement possible d'utiliser le JavaScript côté serveur mais c'est bien plus rare. En fait, le JavaScript est un langage de script générique qui peut être utilisé à bien de fins... | | |
| . Voir tous les commentaires et/ou en poster un (4) | | Re: Le rôle du JavaScript Posté par yolek le 20/08/2004 07:54:50 | Mahhh ...
Bon ... Le JavaScript est un langage objet, c'est vrai et c'est effectivement un point important que j'aurais du mentionner. Ceci dit, ça n'en fait pas un critère de choix pour l'utiliser ou pas...
Par contre, je suis contre l'idée de dire que le Javascript "n'est pas un langage puissant" et qu'il faut alors de tourner vers le PHP ... Mon but ici était justement d'expliquer que le ROLE attribué à ce langage n'est simplement pas le même que celui des langages côté serveur (PHP par exemple).
Evidemment, tu ne peux pas faire d'accès base de données depuis le JavaScript !!! C'est parce que ta base de données est côté serveur !!!
Essayes de faire la moindre animation côté client .. sans le JavaScript, je crains que tu sois limité aux gifs animés ...(loll)
Essayes de faire un petit jeu... Sans le Javascript, tu seras limité à un quizz old school...
Si l'utilisateur accepte de passer l'alerte de sécurité ou si tu te situes dans un cadre de confiance (application .HTA par exemple), le JavaScript peut accéder et manipulier les elements du filesystem local (tes fichiers et répertoires s/ la machine client), instancier des ActiveX installés en local et donc requester des bases de données accessibles depuis le poste client (via ADOBD par exemple).
FYI, il est possible de faire des Active Server Pages basées sur le JScript et pas sur le VBScript... alors là, il est possible d'accéder à des bases de données sur le serveur ...
Voilà .. Tout ça pour dire que le JS n'est pas un langage de tafioles qui ne sert qu'à faire des images rollovers...
A+, Yolek | | Re: Le rôle du JavaScript Posté par sanada le 20/08/2004 07:54:50 | tt juste Riton... autr chose : Javascript est une avalanche de petite propriété ;: très simple à utiliser, mais très minutieux et pas très puissant. Par ex : Pour ajouter au favori , C une fonction spéciale, mettre en home page aussi etc.. je trouve (mais je connais que le Javascript en programmation internet) qu'on n'a pas d'outils vraiment 'puissants' en javascript. | | Re: Le rôle du JavaScript Posté par riton le 20/08/2004 07:54:50 | Bravo pour cet article, il explique bien les possiblités classiques de javascript.
Manque juste un détail de taille : javascript est un langage objet...
Et pour le post, comme tous les scripts tout faits, ca pose des problèmes. Il vaut mieux tout coder soi-même !
Evidemment, ce n'est pas à la portée de tout le monde. | | Re: Le rôle du JavaScript Posté par godesslou le 20/08/2004 07:54:50 | Moi j'utilise aussi le javascript mais dans le cadre de blog, et sans le mettre dans la feuille de style ni dans le fichier html, mais il faut préciser que ça peux rentrer en conflit avec d'autres codes et que ça crée bien souvent des erreurs sur la page, surtout si on prends le code dans des générateurs en ligne et qu'on n'y connait rien (ce qui était un peu mon cas au dabut) donc prudence à tous avec le javascript ;) | | . Voir tous les commentaires et/ou en poster un (4) |
|
|
Connectés : 0 membres et 408 visiteurs |
|
|