Le DHTML

htmlIl n’est pas très facile de donner une définition claire du DHTML, on peut dire qu’il s’agit d’un ensemble de techniques qui permettent de rendre HTML plus interactif (permettant à l’internaute d’intervenir) et plus dynamique (le concepteur a un meilleur contrôle sur les éléments de la page et il peut les déplacer).

Si le DHTML est difficile à définir, c’est qu’il ne s’agit pas d’un standard comme JAVA ou VRML, c’est un terme que l’on utilise pour désigner un ensemble de techniques qui existent dans les dernières versions des navigateurs de Netscape et Microsoft mais qui ne sont pas identiques chez les deux éditeurs.

Netscape a introduit « son » DHMTL dans Netscape Navigator 4. Cette version utilisait les CSS (Cascading Style Sheet) que Netscape considère comme une partie du HTML dynamique, le positionnement des éléments grâce aux balises <LAYER> et <ILAYER> qui ont été rejetées par le W3C et des polices téléchargeables. (la solution Netscape pour les polices téléchargeables ne s’est pas répandue)

Microsoft a développé sa propre conception du DHTML, on y trouve une version étendue du modèle objet du navigateur web, le réaffichage dynamique du contenu d’une page, l’utilisation des CSS et diverses fonctions liées à l’utilisation de contrôles ActiveX (ActiveX Control Data Source object)

Ces deux versions du DHTML ne sont pas compatibles. Pour l’utilisateur, il n’y a que deux solutions, toutes deux imparfaites : s’en tenir à l’utilisation des éléments communs à Netscape et Microsoft (pour l’essentiel il s’agit de l’emploi des CSS et du positionnement des éléments par l’intermédiaire des CSS) ou bien concevoir deux versions des pages concernées et utiliser un script qui détecte le navigateur utilisé et charge les pages adaptées.

Pour ceux qui voudraient s’engager dans la voie de la compatibilté, les techniques suivantes peuvent être utilisées sans créer de problèmes de compatibilité .

Les feuilles de style en cascade. Les deux navigateurs connaissent la norme CSS du W3C mais dans la pratique il est prudent de s’en tenir aux éléments les plus simples car les navigateurs n’interprètent pas certaines spécifications de la même manière.

Positionnement CSS (standard CSSP du W3C)

Modèle d’objet du document. Les modèles sont différents dans les 2 navigateurs mais comprennent des éléments communs qui peuvent être utilisés en particulier par les scripts.

Les modèles d’événements ne sont pas les mêmes, mais on peut utiliser certains événements dans les deux navigateurs.

Javascript. Développé à l’origine par Netscape, le Javascript est interprêté par les deux navigateurs mais pas de la même manière. Il importe donc de tester chaque script sur les deux navigateurs et dans la mesure du possible sur plusieurs versions des deux navigateurs principaux sur les deux plate-formes principales (MacOS et Windows)

les systèmes de polices téléchargeables sont totalement incompatibles mais on peut créer des pages qui utilisent les deux techniques ( c’est très rare)