SELFHTML/Quickbar
![]() |
Généralités sur HTML dynamique |
![]() |
|
![]() |
HTML Dynamique (de l'anglais: "Dynamic HTML" - ou en abrégé: "DHTML")
est une invention de stratèges du marché - disent les critiques. En fait, HTML
dynamique n'est pas une extension classique de HTML sous la forme de nouveaux
repères HTML. Ça n'est pas non plus un nouveau langage. HTML dynamique est
plutôt un concept d'ensemble regroupant différentes solutions
qui permettent à l'auteur d'une page WWW de modifier de façon dynamique des éléments au choix de la page WWW pendant l'affichage - que ce soit
automatiquement ou suite à une action de l'utilisateur. C'est à quoi servent
les technologies les plus récentes comme les feuilles
de style, mais avant tout certaines commandes récentes dans des
langages script comme
JavaScript.
La base de tout reste toutefois
HTML,
à savoir les pages WWW structurées.
<p onClick="this.innerHTML='Vous voyez - je l'avais bien dit!'">Je suis dynamique</p> |
Le petit exemple montre du HTML dynamique tel qu'il a été ajouté à l'Explorer
Internet MS 4.x. Il ne sert ici qu'à expliquer ce qui est "typique"
en HTML Dynamique. Dans l'exemple, un paragraphe de texte banal HTML est
défini avec <p>...</p>. À l'écran est alors affiché: Je suis dynamique.
Pour que le paragraphe de texte tienne aussi ses promesses, le repère
d'ouverture <p> contient ce qu'on appelle un Event-Handler,
Dans l'exemple c'est l' Event-Handler onClick=. Cet Event-Handler se
déclenche quand l'utilisateur clique avec la souris sur le texte affiché. Dans
l'exemple, le contenu du texte se transforme après qu'il ait été cliqué en: Vous voyez - je l'avais bien dit!.
Comme vous le voyez dans l'exemple vous pouvez donc modifier certains contenus affichés sans pour cela devoir charger à chaque fois de nouvelles pages. C'est une propriété caractéristique de HTML dynamique: une page Web se comporte donc subitement comme une application qui est chargée dans la mémoire de travail, et qui ensuite, par une interaction de l'utilisateur, détermine ce qui doit se passer à l'écran.
HTML dynamique offre aux concepteurs de pages WWW de haut niveau des possibilités presque inépuisables pour le contrôle de ce qui s'affiche à l'écran. Cela commence avec des petites choses comme dans l'exemple ci-dessus. Cela continue avec des graphiques animés qui se glissent sur les contenus affichés ou sautent dessus - certaines pages Web tentent de reproduire des aquariums complets - et cela va jusqu'à la possibilité, à l'aide de graphiques et autres éléments, de programmer des jeux complexes, interactifs ou des situations pédagogiques, ou des animations qui jouent d'elles-même. Il n'y a pour ainsi dire plus de frontières à l'imagination. La fenêtre d'affichage d'un navigateur WWW peut grâce à l'emploi massif de HTML dynamique se transformer en spectacle animé. L'utilisateur peut être confronté à beaucoup plus de réactions à l'affichage d'un fichier HTML dynamique qu'à l'affichage d'un fichier HTML normal. Cela a - comme presque toutes les nouvelles propriétés dans le Web-Publishing - des avantages et des inconvénients. Cela dépend toujours de la façon dont on utilise ces propriétés, que ce soit pour se mettre en avant et se vanter - ou bien pour le profit de l'utilisateur.
Microsoft introduit en relation avec HTML dynamique deux nouveaux concepts
assez spectaculaires: extraction de données et le script de filtrage.
Avec l'extraction de données, il est possible à un fichier HTML d'accéder à
des sources de données externes et d'en tirer des données contrôlées qui
s'affichent dans le fichier HTML. Quand ce concept aura mûri, il
pourra avant tout remplacer certaines parties de la programmation CGI.
À l'inverse de CGI, le concept d'extraction de données ne dépend pas du
protocole HTTP et peut aussi fonctionner pour cette raison sur des CD-ROMs.
Le script de filtrage (Filter-Scripting) - c'est le traitement dynamique des filtres
de feuilles de style de Microsoft. Grâce à lui sont rendus possibles de
merveilleux effets graphiques même avec un texte HTML normal, ce qui met à la
disposition des concepteurs Web un nouveau terrain de jeu immense.
"Programmer" est cependant prescrit pour tout ce qui a à voir avec
HTML dynamique: des connaissances de programmation avancées dans les langages
de programmation script comme JavaScript
sont la condition sine qua non. Bien sûr, il y a toujours sur le WWW des
solutions toutes faites, mais celui qui veut s'attaquer sérieusement au
problème pour développer ses propres solutions créatives n'échappera pas à
la programmation. Ce n'est pas pour décourager. Il y a des possibilités
d'utilisation utiles et astucieuses d'HTML dynamique qui ne nécessitent pas
trop de travail de programmation.
![]() ![]() |
La mission d'un langage script comme JavaScript est d'accéder a posteriori à des éléments et des états actuels d'une page WWW. Dans sa forme conventionnelle, JavaScript reste cependant assez limité. Ainsi vous pouvez par exemple accéder à des éléments séparés d'un formulaire - mais pas aux titres, aux paragraphes ou aux cellules d'un tableau. Le hasard décidera à quelles propriétés les fabricants de navigateurs penseront d'abord et quelles propriétés attendront encore en vain le peuple des développeurs de page Web.
À cette fin on a inventé le "Document Object Model" (an abrégé "DOM"). Il a un rapport très étroit avec la philosophie de la programmation orientée sur l'objet et orientée sur l'évènement. Tous les éléments d'une page WWW forment une "arborescence d'objets". Ainsi le repère <body>, par exemple, est le père ou la mère de tous les éléments affichés comme les titres, les graphiques, les liens ou les tableaux. Un passage formaté avec <div>...</div> est la partie mère de tous les éléments qui se trouvent dans ce passage. Chaque cellule d'un tableau appartient à un tableau déterminé, etc... Même la fenêtre du navigateur avec ses propriétés actuelles en fait également partie, ainsi que les actions avec la souris et le clavier dans le cadre de l'écran. Le Document Object Model est la tentative de représenter toutes les parties significatives d'une page WWW affichée comme une hiérarchie d'objets. L'idéal serait que cette hiérarchie d'objets se retrouve ensuite dans des langages de programmation qui se rapportent aux pages Web, tel JavaScript.
Le consortium W3, qui est responsable des normes pour les technologies WWW, a entre temps publié une spécification pour le Document Object Model. Vous devez vous représenter celle-ci comme étant une spécification pour les "fabricants" de langages en Script. Elle contient des recommandations pour la hiérarchie d'objets que devrait réaliser un langage script orienté sur les pages Web. Avec une transcription complète de la hiérarchie d'objets recommandée serait en même temps réalisée la base standard pour HTML dynamique.
![]() ![]() |
HTML dynamique est interprété par Netscape à partir de la version 4.0 et par l'Explorer Internet MS à partir de la version 4.0. Malheureusement, le thème HTML dynamique est pourtant devenu le terrain d'affrontement dans le duel des deux meneurs parmi les navigateurs WWW. Car les réalisations sont fondamentalement différentes chez les deux navigateurs. Si l'établissement de pages WWW avec HTML dynamique n'est déjà pas tout à fait simple, c'est rendu deux ou trois fois plus difficile par les solutions largement incompatibles des navigateurs des versions 4.0. Il est nécessaire de coder beaucoup de choses séparément pour chaque navigateur (avec une somme de connaissances double) - si l'on désire écrire pour les deux navigateurs. Beaucoup de choses ne fonctionnent que sur l'un ou sur l'autre. En regard de cette situation, la scène est sur la ligne de départ et et attend une unification.
Pour l'effort d'unification, il s'avère que cette fois Netscape en est pour ses frais car la partie apportée par Microsoft est sensiblement mieux mûrie et orientée plus près du standard du consortium W3. Alors que l'Explorer Internet MS 4.x transcrit vastement le Document Object Model, il peut à peine en être question chez Netscape avec son navigateur Netscape 4.x. Netscape l'a entre temps avoué lui-même et promis pour la version 5 une meilleure transcription du Document Object Model. Dans quelle mesure HTML dynamique doit-il continuer à servir de champ de bataille pour l'obtention de parts d'un marché de milliards qu'est l'Internet ne peut être prévu à l'heure d'aujourd'hui.
Le consortium W3 voit la nécessité de contribuer à une solution uniforme dans le domaine du HTML dynamique tout en devant éviter le danger d'accorder simplement sa bénédiction aux propriétés déjà réalisées par un navigateur déterminé. D'un autre côté, les développeurs de navigateurs ont reconnu que le consortium W3 est une institution importante pour le soutien aux nouveaux développements. Car de banales solutions de programmation ou formats de données spécifiques à un constructeur ne sont plus demandées à l'époque du boom de l'internet. Elles sont condamnées à terme à disparaître.
Dans la présente documentation seront décrits d'abord séparément les deux
compléments ( Les compléments de Microsoft et de Netscape).
Car ce n'est que si vous pouvez différencier clairement les deux concepts que
vous serez en mesure d'écrire en HTML dynamique de telle façon qu'il fonctionne
sur les deux navigateurs. Dans un deuxième temps, vous pourrez voir comment réaliser
du HTML dynamique pour les deux navigateurs (
Solutions pratiques).
![]() ![]() |
Vous devriez visiter les adresses Internet suivantes pour obtenir des informations complémentaires sur le HTML dynamique:
Dynamic HTML (Microsoft)
Documentation originale de Microsoft
Dynamic HTML in Netscape
Documentation originale de Netscape
Document Object Model
Spécification du consortium W3
page DHTML
Exemples, descriptions, liens, tuyaux et trucs
Inside DHTML
Boutique de travail avec démos, exemples - pouvant être téléchargés - et liens
DHTML Zone
Boutique de travail avec des exemples documentés, liens etc...
![]() | |
après:![]() |
![]() |
avant:![]() |
![]() |
SELFHTML/Quickbar
Serge François, 13405@free.fr