<BODY><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d7895909\x26blogName\x3dTOMHTML\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dSILVER\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttps://tomhtml.blogspot.com/search\x26blogLocale\x3dfr\x26v\x3d2\x26homepageUrl\x3dhttp://tomhtml.blogspot.com/\x26vt\x3d312409491442460377', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>
TOMHTML - le blogTOMHTML - le blog

Monsieur HTML parle HTML

Ôyez Ôyez gens de petite foi, me revoilà. Non, ce blog n'est pas mort -- pour son auteur ça reste à déterminer.

Ce soir, j'ai le grand honneur de vous annoncer que vous vous coucherez moins bêtes ! Cela induit deux conditions sous-jacentes à cette affirmation : il faut que vous lisiez la suite de cet article ET que vous couchiez par la suite.

Dames et damoiseaux de tous horizons, j'ai l'incommensurable honneur d'espérer vous apprendre quelque chose concernant ce fabuleux langage qu'est le HTML. Si ce n'est pas le cas, GTFO.

Une insoutenable vérité


<!-- je suis un commentaire HTML -->


Oui je sais, ça fait un choc. Vous pouvez reprendre votre souffle deux minutes puis reprendre le cours de cette lecture forte passionnante.

Bon OK, c'est un commentaire, et alors ? Et bien ce commentaire a la particularité d'être valide. Oui, cela signifiant qu'il ne devrait pas générer de bugs sous tous les navigateurs dignes de ce nom. Car aussi über-étonnant que cela puisse paraître, il existe des commentaires HTML qui ne sont pas valides, tellement fourbes et méchants qu'il peuvent faire disparaître la moitié de votre site tout en vous faisant tourner en bourrique pendant 30 minutes minimum avant que vous ne découvriez le problème.

<!-- je ne suis pas un commentaire HTML valide -- et je vous emmerde -->


Mais comment se faisse(bouc) ? Il a l'air si mignon comme ça, on lui donnerait le bon dieu sans confession, et pourtant il est autant apprécié par le Validator du W3C que Michael Jackson dans une garderie d'enfants. Essayez de mettre cet immondice de caractères ASCII au milieu d'une page et il la seconde moitié du texte disparaîtra. C'est rarement un effet voulu.

Tiret nuit gravement à la santé


Nos amis de Godzilla et du W3C ont bien remarqué le problème, mais se contentent d'un ridicule "faut pas mettre des tirets dans un commentaire HTML", sans aucune autre explication. Autant donner de la dynamite instable à parkinsonien en lui demandant de ne pas bouger. C'est pour cela que le code précédent, qui contient "--" en son sein, n'est pas valide.

Après un travail d'investigation de longue haleine fraîche hollywood chewing-gum, je suis en mesure de vous expliquer le pourquoi du comment t'inquiète j't'apprends à vivre wesh wesh. Pour cela, il vous faudra un effort de concentration -- 2 milligrammes par litre seulement.

La vérité est ailleurs. Juste en dessous en fait.


Il s'avère, selon ce site (je cite mes sources) qu'un commentaire HTML se découpe en réalité en plusieurs parties.

"<!" et ">"

... marquent le début et la fin d'un groupe de commentaires HTML. Ainsi, le code <!> est valide, quoiqu'il ne contienne pas de commentaire à proprement parler. Donc il ne sert à rien.

Un élément commentaire, situé entre les deux balises précédemment citées, s'écrit de la sorte :
-- je suis un commentaire nu :S --

Un commentaire début et s'achève toujours par un couple de tirets inséparables. Un commentaire "nu" ne DOIT PAS contenir de double tirets. Sinon il n'est pas possible de le délimiter, vous l'aurez compris. Non ? Die noob.

Cela étant dit, on peut parfaitement écrire ce genre de choses dans vos programmes...
<!-- Force bleue ! -- -- Force rouge !-->

... mais vous aurez forcément l'air bête. Abstenez-vous.

Si les commentaires internes se multiplient, voici une astuce pour vous y retrouver : le nombre de tirets (liés) dans un bloc commentaire HTML est toujours un multiple de quatre. Étonnant, non ?


Je connais et pratique le HTML depuis plus de 13 ans maintenant et je n'ai découvert ceci qu'aujourd'hui, grâce à l'un de ses bugs venus d'on-ne-sait-où dont j'ai le secret.

Encore une victoire de canard.

Yesssssss!
Monsieur HTML parle HTML - publié malencontreusement le 15 juin 2009 -

Déposez un commentaire


    Blogger Everholt a osé dire ceci le 15 juin, 2009 23:46 :
On dirait que ça t'a marqué ce coup là ! Comme quoi on en apprend tous les jours... un jour peut-être comprendrons nous pourquoi un accent dans un commentaire dans une css (ouf) cause le même souci (disparition du reste de la css) sous IE6 (et seulement lui)    


    Blogger sitenreveuxyenrena a osé dire ceci le 19 juin, 2009 10:07 :
C'est pas un bug, c'est certainement une affaire linguistique.

Il me semble que l'analyseur HTML utilise des automates à rubans (je ne suis plus sur de moi du tout).

Intéresse toi à la théorie du langage, c'est encore plus intéressant que ça.    


    Blogger TOMHTML a osé dire ceci le 20 juin, 2009 01:07 :
Ah non, pas de logique ou de maths sur ce blog STP, tu vas faire fuire les rares perdus qui y trainent !    

Une réaction ? Déposez un commentaire

 

Profil de TOMHTML

Aussi étrange que cela puisse paraître,
Lecteurs lisent ce blog.

Le vrai nom des stars
La télé-réalité vue par les maths
Dictionnaire des définitions
Déformez !
Zorgloob : l'actu de Google
© 2004-2010 TOMHTML