Fiche DOM : Introduction au DHTML (javascript)Objet de la ficheÉtat de la fichePlan de la fiche :
Avant proposLe DHTML (Dynamic HyperText Markup
Language) est un ensemble de technologies Internet qui
associées entre elles offrent la possibilité de construire des pages
HTML interactives, c'est-à-dire dont le contenu peut être modifié
grâce à des événements (mouvements de la souris, survol d'un objet
par le curseur, ...) après le chargement de la page.
Lorsque l'on enrichie cet ensemble de technologie de l'objet XMLHttpRequest qui permet d'échanger et de manipuler les données de manière asynchrone avec le serveur Web et de manière totalement transparente pour l'internaute, on parle de technologie AJAX ( Asynchronous JavaScript And XML). Cet ensemble de technologies permet de faire des documents HTML originaux et vivants. Généralités sur les scriptsLes langages informatiquesVoici une définition des langages informatiques tirée du document intitulé « Langages informatiques - Introduction » issu de Comment Ça Marche (www.commentcamarche.net) On appelle « langage informatique » un langage destiné à décrire l'ensemble
des actions consécutives qu'un ordinateur doit exécuter. Un langage informatique
est ainsi une façon pratique pour nous (humains) de donner des instructions à un
ordinateur. Les langages de programmation (1) peuvent être classés en deux grandes familles : les langages compilés et les langages interprétés. Les jeux d'instructions que proposent ces langages permettent de concevoir divers programmes informatiques(2).
Il existe aussi des langages mixtes dont le fichier résultant est compilée mais ne donne pas un fichier final auto exécutable. Les scriptsLes scripts sont des programmes informatiques écrits en langage interprété qui offrent aux concepteurs une méthode pour
étendre considérablement les possibilités du HTML en lui ajoutant une
interactivité et une dynamisation importante. On va parler de HTML Dynamique.
Un concepteur pourra attacher des scripts à un document HTML :
Types de scriptDans les tutoriaux de monwebfacile nous nous limiterons à l'étude de deux types de scripts : les scripts écrits en langage javascript et les scripts écrits en langage PHP
Les script javascriptScript internesToute information contenue entre les balise <script> et </script> n'importe ou dans un document HTML, sera considérée comme une information de script. Pour les navigateurs ne supportant pas les scripts, ou dont l'exécution de script a été désactivée les informations de script seront purement et simplement ignorées. Le concepteur de page HTML utilisant les scripts devra inclure des alternatives de contenu spécifiées dans un élément <noscript>. Une page HTML peut contenir plusieurs balises <script>et </script>, mais elles ne doivent pas être imbriquées. On peut placer une balise <script>et </script> soit dans l’entête (<head>), soit dans le corps (<body>) de la page HTML. On placera de préférence les balises <script> contenant des fonctions dans l’entête, car cela permet qu’elles soient chargées avant le reste de la page. Script externesIl est possible (comme pour les feuilles de style externes) d'ajouter des scripts à une page HTML à
partir d'un fichier externe. Dans ce cas, on ajoute à la balise <script>
un paramètre précisant le nom du fichier contenant les scripts. Ce type de
syntaxe ne doit contenir que l'instruction src à l'exclusion de toute autre.
Exemple dans le cas de script externes de type javascript : Structure classique d'une page HTML contenant du JavaScript
Exécution de scripts JavascriptLes scripts s'exécutent sur le poste du client et sont téléchargés avec la page HTML à partir du serveur. Une page HTML contenant des feuilles de style (CSS) des scripts javascript ( informations contenues entre les balise <script> et </script>) et des éléments HTML (tableaux, formulaires, textes, images etc) est disponible sur un serveur distant (ou sur le PC de l'utilisateur). L'utilisateur via son navigateur et une URL(1) accède à cette page (2). Après connexion cette page est renvoyée directement vers le navigateur (3) qui commence à la charger. Lorsque le navigateur rencontre les balises <script> il s'adresse à son interpréteur javascript (4) pour effectuer les actions décrites dans le script et mettre à jour la page web en conséquence (6). Lorsque le navigateur rencontre des balises HTML il met à jour directement la page web (actions natives du navigateur)(5). En fin de chargement de la page HTML, la totalité de la page Web est affichée sur l'écran(7). Certaines parties de script sont initialisées mais non exécutées à l'issue du chargement de la page : ces scripts pourront être activés par des actions de l'internaute (clic, mouvement de souris ..), ou cycliquement (rafraîchissement automatique), ou uniquement en fermeture de page Web... Le javascriptGénéralités (source wikipedia)JavaScript a été créé en 1995 par Brendan Eich pour Netscape Communications Corporation. Il est apparu pour la première fois dans les versions bêta de Netscape Navigator 2.0. D'abord appelé LiveScript, il a été rebaptisé JavaScript et est décrit comme un complément à Java dans un communiqué de presse commun de Netscape et Sun Microsystems, daté du 4 décembre 1995. Cette initiative a contribué à créer auprès du public une certaine confusion entre les deux langages, proches syntaxiquement mais pas du tout dans leurs concepts fondamentaux, et qui perdure encore aujourd'hui. Le propos de JavaScript est de manipuler de façon simple des objets, au sens informatique, fournis par une application hôte et de présenter des pages Internet conviviales et interactives. Du code JavaScript est intégré directement au sein des pages Web, pour y être exécuté sur le poste client (votre PC). C'est alors votre navigateur Web qui prend en charge l'exécution de ces petits bouts de programmes appelés scripts, mais pour cela encore faut-il que les paramètres de sécurité de votre navigateur autorisent l'exécution de ces script. Un langage informatique classiqueComme tout langage informatique javascript met à disposition des concepteurs un jeu d'instructions classiques pour manipuler des variables, des chaînes de caractères, des tableaux, effectuer des tests conditionnels et des boucles, créer et faire appel à des procédures. Afin de faciliter la tache des concepteurs javascript met aussi à disposition des objets relatifs à la gestion des tableaux (objet Array), des chaînes de caractères (objet String), des calculs numériques (objet Math), et des opérations liées aux dates (objet Date). Un moyen de communication avec les éléments d'une page HTMLParmi tous les objets que peut gérer javascript il en est un qui va nous être particulièrement utile pour rendre dynamique notre page Web. C'est l'objet window dont la structure détaillée est abordée dans les fiches suivantes. En fait cet objet représente la fenêtre courante du navigateur et possède de nombreuses propriétés dont un grand nombre permettent l'accès aux différents éléments situés dans la page HTML. En utilisant cet objet, ses propriétés, ses méthodes, nous allons pouvoir agir directement sur, la présentation de la page (couleurs, styles, position des objets), créer de nouveaux éléments, mais aussi et surtout superviser, gérer et réagir aux événements déclenchés par le lecteur de la page Web. L'objet window est l'objet principal avec lequel javascript va communiquer. Ce qu'il faut bien retenirLes scripts sont des instructions écrites dans un langage informatique et encadrées par des balises spécifiques (<script> et </script>) qui vont nous permettre de construire un site dynamique, réagissant à certains évènements externes (clic de souris, appui sur touche clavier..) ou internes (minuterie ...). Le langage informatique que nous allons utiliser sera javascript. Ce langage présente les avantages d'être relativement simple à utiliser, et surtout d'être équipé d'une partie communication simple et efficace avec les divers éléments de la page HTML via l'objet window. |