DHTML ou le Html dynamique
Définition du DHTML
Home

Introduction ou ... au risque de vous décevoir

Ne cherchez pas de syntaxe ou de références DHTML, vous n'en trouverez pas. Le DHTML n'est pas un langage de balises, de scripts ou de programmation. Le DHTML n'est pas une quelconque spécification. Il n'est même pas réellement une technologie! Tout simplement,

le DHTML ou Html dynamique est, et reste, du Html
où le concepteur a mis l'accent sur les animations.

A l'heure de l'importance croissante de l'impact visuel des sites Internet, le Html dit dynamique est un "plus" incontestable et génial sous certains aspects. Mais il faut raison garder! Le DHTML n'est pas le "futur de l'Internet" comme le prétendent certains mais, à n'en pas douter, il y aura certainement une bonne place.

Bien que peut-être excessifs, je suis même tenté de reproduire les mots de Sally Khudairi [à vos souhaits!] du World Wide Web Consortium (W3C) : "DHTML is nothing more than a marketing term for generic animation and manipulation of multimedia events" (DHTML n'est rien d'autre qu'un terme de marketing pour des animations et des effets multimédia).


 

Définition

Le DHTML se définit comme un (savant) mélange de trois développements de la publication sur Internet : les feuilles de style (CSS1), les langages de script, principalement le Javascript, ainsi que les objets et leur positionnement en vue de produire des pages dynamiques et interactives.

Ajoutons car cela n'apparaît pas dans la définition :

  • l'aspect dynamique réside dans le fait que la page Html peut être modifiée après le chargement de celle-ci par le navigateur.
  • une volonté d'effectuer les animations et interactions côté client (c-à-d côté browser) sans faire appel aux ressources du serveur par des applets Java ou des ActiveX.
  • cette technique DTML a un aspect "high-tech" et est réservée aux versions 4.0
    (ou plus) de Internet Explorer et Netscape.


 

Les feuilles de style

Popularisée par Microsoft avec Internet Explorer 3.0 (bien qu'elles existaient déjà sous d'autres systèmes), les feuilles de style [Cascading Style Sheets] constituent un réel développement dans la conception de pages Web, en séparant la mise en forme du contenu, en proposant des possibilités jusque là inédites en Html strict , etc..

Le concept des feuilles de style est maintenant un standard depuis son officialisation par le Word Web Consortium sous la norme CSS level 1 et son intégration dans le Html 4.0.

Les versions 4.0 de Microsoft Explorer et Netscape Navigator reprennent déjà largement les feuilles de style.

Pour une étude plus poussée, les feuilles de style sont largement abordées dans ce site.

Les langages de scripts (surtout Javascript)

Introduit par Netscape avec Navigator 2.0, Javascript a bien mûri au fil des versions 3.0 et 4.0 des browsers de la marque (Javascript 1.1, Javascript 1.2). Enfin repris efficacement par Microsoft sous Explorer 4.0, ce langage de scripts s'est définitivement imposé comme un élément incontournable dans l'élaboration de sites Internet.

Javascript permet de programmer et d'exécuter, côté client c-à-d côté browser et donc sans faire appel à des ressources extérieures, de petites applications à l'intérieur de pages Html. Sans être un véritable langage de programmation, Javascript en possède toutes les fonctionnalités (ou presque).

VBscript fait également partie des langages de scripts qui peuvent être utilisés dans le DHTML. Mais propriétaire Microsoft, il n'est que peu utilisé en DHTML au détriment de Javascript.

Javascript est aussi un standard Internet depuis la norme ECMA Script. En outre, le Html 4.0 le reprend largement.

Pour vous guider dans l'apprentissage de ces deux langages de scripts, "Apprendre le Javascript" et "Apprendre le VBscript" du même auteur, sont à votre disposition.


 

Les objets et leur positionnement

L'héritage du Html, à l'origine conçu pour faire transiter du texte structuré, est parfois pesant. Positionner précisément, au pixel près, un texte ou une image, tourne vite au cauchemar. De là est née l'idée d'introduire une sorte de cadre, de rectangle dans lequel on pourrait "encapsuler" des "objets" comme précisément du texte, des images ou tout autre élément.

Comme s'est souvent le cas dans l'histoire de la publication sur Internet, nos deux compères Microsoft et Netscape, se sont attelés à la tâche (sans attendre un quelconque standard) et ce en suivant des modèles différents pour cette insertion d'objets dans les documents Html.

Microsoft fournit un accès aux éléments des pages Html par "ses" feuilles de style (CSS-P). Netscape a choisi un modèle d'insertion d'éléments qui lui est spécifique par le concept de "layer" et sa collection de balises. On se retrouve donc avec deux technologies distinctes pour une même approche.

Le W3C tente de réunir de réunir les deux précédentes technologies pour les faire fonctionner ensemble. C'est le DOM [ Document Objet Model ]. Cette tentative est encore à ce jour (septembre 98), un document de travail et l'on reste donc encore dans l'attente d'un véritable standard.

Cette lacune ouvre la porte aux problèmes de compatibilité pour les applications DHTML selon quelles soient traitées par Netcape 4.0 ou 6.0 ou par Explorer 4.0, 5.0, 5.5 et 6.0.


 

Déceptions

Si visuellement et techniquement, le DHTML est quelque chose de tout à fait génial, on ne peut qu'être un peu déçu :

  • par son manque (actuel?) de compatibilité. Un DHTML qui fonctionne pour IExplorer 4.0 ne tourne que très rarement sous Netscape 4.0. Si le Webmaster est gentil, il aura bien prévu une petite remarque du genre "Il vous faut le browser X". Mais je fais toujours partie de ceux qui n'ont pas de bol et emploient justement le browser Y.
  • par sa complexité. Tout en tirant mon chapeau aux concepteurs de DHTML, le Html dynamique n'est pas du tout à la portée d'un débutant et n'est même plus à la portée d'un hobbyiste, fut-il averti. Il faut connaître sous le bout des doigts, trois techniques : le Html, le Javascript et les feuille de style. Ce qui n'est pas à la portée du premier Webmaster venu. A vos cours de programmation... ou à votre "copier/coller" (en respectant le copyright).
  • par son temps de chargement plus important bien qu'il ne soit en rien comparable avec la vitesse d'escargot des applets Java.
  • par son risque réel de faire planter le browser et même la machine si l'application DHTML est mal écrite.


 

Espoirs

Mais terminons par une note positive car

  • le concept DHTML (Feuilles de style - Javascript - Objets) est bien né et n'est pas remis en cause par les actuels problèmes de compatibilité.
  • le DHTML est encore jeune et les développeurs ne peuvent que, dans un avenir proche, trouver de nouvelles astuces pour améliorer cette compatibilité.

Home