Langages de programmation, de structure et de présentation

Quel est l'avantage/inconvénient d'un langage de structuration comme le HTML ou un langage de présentation comme le CSS, par rapport à des langages de programmation comme le php ou le java ?

Réponse : le fait que si vous faites une erreur dans votre code, tout ou partie de ce que vous avez écrit continuera à fonctionner.

  • Si vous faites une erreur HTML, le navigateur web affichera la page en s'en accommodant plutôt facilement. Vous aurez des problèmes, c'est sur, mais la page s'affichera.
  • Si vous faites une erreur dans un fichier CSS, le navigateur web se contentera d'ignorer les lignes fautives.
  • Par contre, si vous faites une erreur en java ou en php, votre code ne s'exécutera pas.

La grande « souplesse » des navigateurs web dans le traitement du HTML et des CSS est très certainement un avantage. Elle a permit une adoption rapide et universelle de ces langages : il n'était pas besoin d'être ingénieur ni de connaître les spécifications sur le bout des doigts pour écrire une première page web. Dés lors, tout le monde a pu se lancer dans l'aventure.

L'inconvénient, c'est que tout le monde s'est crû « développeur web » à partir du moment où une page que l'on avait écrit s'affichait dans le navigateur web. Et de ramer pendant des années à expliquer pourquoi il n'est pas judicieux d'utiliser des tableaux pour maquetter une page, et qu'il existe des éléments pensés exprès pour structurer différents niveaux de titre, et que la typographie ce n'est pas uniquement changer la taille ou l'épaisseur des dits titres, etc.

Dommage collatéral : alors que personne ne cherche à vous expliquer comment devrait être codé tel ou tel algorithme en java ou en php (sauf les personnes qui en ont les compétences), tout le monde à un avis sur la manière dont il faudrait écrire tel code HTML ou comment il faudrait définir des polices de caractères en CSS.

Dernière remarque : le xhtml dans sa version 1.1 nécessite qu'un document, pour être valide, soit rendu par le serveur en tant que document xml. Et là, l'affichage du xml dans un navigateur web est bien plus rigoureux : à la moindre erreur, c'est le « yellow screen of death », un message d'erreur en lieu et place de votre page. On se retrouve donc dans la même situation qu'une erreur commise dans un langage de programmation.

RAGGETT, Dave ; LE, Hors ; JACOBS, Ian. Spécification HTML 4.01. W3C, . B.1 Remarques sur les documents invalides

BOS, Bert ; ÇELIK, Tantek ; HICKSON, Ian, et al.. CSS 2.1 Specification. W3C, . 4.2 Rules for handling parsing errors

MCCARRON, Shane. XHTML Media Types - Second Edition. W3C,