Aller au contenu

XHTML 1.1 validation


ste

Sujets conseillés

elo, all

Je tente à nouveau une question, ici, en espérant que celle-ci trouvera écho favorable à vos yeux ( car, depuis un temps certain, personne ne me répond... je dois certainement être "blacklisté" de façon intelligente voire inconsciente, si cela existe...)

Suite à dernier post de Denis "Cybercodeur", en fait, j'ai voulu tenté le xhtml 1.1 !

Donc, génération du code PHP pour détection des browsers capables de gérer le mime type "application/xhtml+xml" (envoi d'entête différent, publication code différent...), et dans ce cas, changement de certaines petites choses, (telle la gestion de la langue, qui s'affiche absolument et rien qu'absolument par 'xml:lang' et non plus 'lang' ; sans oublier le doctype forcèment différent ... tout cela, j'ai compris !)

Je teste donc ma page dans différents navigateurs MSIE, Opera, Lynx, et autres browsers Gecko-like... Mis à part MSIE, qui n'affiche que du xhtml 1.0 (avec doctype, et gestion du code adhoc...), les autres m'affichent bien du xhml1.1.

Fait étonnant est pour la validation :

Si je la fais depuis Gecko-like, et/ou Lynx, le retour du validateur est 'xhtml1.0 valid!' alors que j'envoie bien un doctype xhtml1.1 !

Si je la fais depuis Opera, le retour du validateur est ... 'xhtml1.1 valid!' avec le même doctype !

Quelqu'un pourrait me dire pourquoi ?

PS : Pour info, la page en question est celle-ci : http://dev.stephane-huc.net

PS2 : et, si l'on pouvait me dire ce que j'ai du faire de mal, pour ne plus obtenir aucune réponse de personne, ce serait vraiment sympa !

Modifié par ste
Lien vers le commentaire
Partager sur d’autres sites

Stephane,

Une question sans réponse ne veut pas dire qu'on te boude, mais simplement que personne n'a la réponse précise.

Pour tester dans le même cas de figure que toi, il faut avoir tous les navigateurs d'installés, et tout le monde n'est pas forcément prêt à faire ces installations juste pour vérifier tes assertions ;)

Dan

Lien vers le commentaire
Partager sur d’autres sites

Ce qui reviend à dire que je suis un béta-testeur fou... :D

Sérieusement, disons que je me donne les moyens d'être sûr, consciencieux, et honnête autant que faire se peut... exemple, quand j'ai réalise que Lynx était disponible sous Windows, je l'ai cherché, installé, et test aussi avec... (ca fait bizarre d'ailleurs...)

Je me suis téléchargé Oralux, dans un but futur proche, de tester et réaliser mes différents webdev...

OpQuast.org est sorti avec ses BP, j'y confronte petit-à-petit les différents sites que je gére...

J'y passe du temps, dans l'apprentissage, dans la pratique, le plus concienscieusement. Et, je partage mes questions, et parfois des réponses... (mais, là, y'a plus calé, plus rapide que moi !)

Plus sérieusement encore, cela m'ennuie de ne pas avoir de réponses à ces différentes questions... dans ce cas, mieux vaut que je créé seul dans mon coin, que je continue à tout apprendre seul dans mon coin. (avec la lenteur inhérente que cela engendre !)

Disons, que j'en ai un peu marre, d'être seul dans mon coin.

Et, même si je ne suis plus un novice, certes, je suis loin d'être un guru, je me positionne toujours comme étant quelqu'un qui a toujours a apprendre, ... avec "des yeux et des questions d'enfants"... :P

J'ai une soif insatiable d'apprendre, comprendre et créer ; mais, je cours après cette instance du mouvement qu'est le temps.

Et, j'en ai beaucoup : ces derniers jours, je me suis penché sur des questions telles que créer des classes PHP pour avoir une meilleure gestion de mon code web, créer et gérer du XML en PHP, domaines où je débute.

Bah, c'est pas bien grave, loin de là...

Mais, à force d'être sans réponses, on se pose d'autres questions, c'est tout simplement logique !

Dan, merci à toi quand même.

Modifié par ste
Lien vers le commentaire
Partager sur d’autres sites

Bonjour Stéphane,

J'ai essayé avec les 2 validateurs (W3C et WDG), depuis Firefox 0.9 et Opera 7.23 (avec Win XP)... j'obtiens chaque fois un code valide XHTML 1.0 Strict !

Mais je serais bien incapable de te dire pourquoi :blink:

Mais ce n'est pas parce que tu es resté deux ou trois fois sans réponse que tu dois renoncer et rester seul dans ton coin !

Si tu n'as pas trouvé d'écho parmi les lecteurs du moment, cela peut changer.

De plus, sans doute intéressés par la richesse du contenu de la plupart des sujets, beaucoup d'invités lisent les messages du Hub (et pas seulement les posts les plus récents)... et les comptes rendus de tes essais sont riches en enseignement B)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Stéphane,

J'ai essayé avec les 2 validateurs (W3C et WDG), depuis Firefox 0.9 et Opera 7.23 (avec Win XP)... j'obtiens chaque fois un code valide XHTML 1.0 Strict !

Mais je serais bien incapable de te dire pourquoi  :blink:

C'est hallucinant...

Eheh, je viens de comprendre pourquoi nous avons cette différence ... pour Opera

Si tu tapes l'url du validator dans la barre d'adresse, et que tu lui donnes mon adresse de test, il retourne bel et bien "This Page Is Valid XHTML 1.0 Strict!".

Si tu te situes sur ma page de test, et que tu fais CTRL+ALT+V (fonctionnalité d'Opera), il retourne "This Page Is Valid XHTML 1.1!"...

J'en perds mon latin !

:(

Lien vers le commentaire
Partager sur d’autres sites

C'est pas croyable ça !

Comment la manière de lancer la demande de validation depuis le même navigateur, pour la même page et avec le même validateur, peut-elle avoir un tel impact sur le résultat :o

Lien vers le commentaire
Partager sur d’autres sites

C'est logique à mon avis.

Si tu fais CTRL+ALT+V (fonctionnalité intéressante que je ne connaissais pas), Opera envoie le code source de la page au validateur (et pas l'adresse). C'est un peu du même genre que la validation locale de WebDeveloper pour Mozilla. Opera acceptant le xhtml, tu envoie la page telle-quelle, en xhtml 1.1.

Si tu le valide à partir de l'adresse, c'est le robot du W3C qui se charge d'aller chercher la page comme un grand. Il se trouve qu'il n'indique pas accepter le XHTML (comme les navigateurs KHTML, il faut donc faire attention), donc il reçoit une page xhtml 1.0.

Ai-je été clair... c'est peut-être pas ça mais c'est la seule explication que je vois :P

Lien vers le commentaire
Partager sur d’autres sites

Tu dois être dans le bon, Xavier.

Je viens d'essayer avec le validateur du WDG en collant le code directement...

code valide XHTML 1.1 :D

C'est quand même bon à savoir ça !

PS : je te croyais déjà parti... bonnes vacances B)

Lien vers le commentaire
Partager sur d’autres sites

L'explication de Xavier se tient apparement...

Sauf que le validator de la WebDevelopper s'appuie sur la technique "je renvoie une URL et je me débrouille comme un grand" (dixit Xavier ;) )

Monique, merci à toi, je viens de découvrir une fonctionnalité de WDG... ainsi :D

PS : Ce qui n'explique pas à priori, cete différence de traitement du validator... certainement, un défaut de conception du validator ! non ?

Modifié par ste
Lien vers le commentaire
Partager sur d’autres sites

La version française a une rubrique "Fichiers en ligne" et une autre "fichiers locaux". Tu peux utiliser la validation locale sur des fichiers en ligne (mais pas l'inverse), dans ce cas tu envoies le code déjà interprété pour Mozilla et fixé, et pas l'adresse.

La différence est flagrante et nette, en plus ça joue avec mon explication.

Je ne vois pas où tu vois un bug du validateur... si tu lui envoie le code fixé qui a été envoyé à Mozilla, il est déjà interprété et a un doctype 1.1.

Si tu lui envoies l'adresse, il y a une "autre" page (c'est logique, c'est même fait pour : "(envoi d'entête différent, publication code différent...)" que tu disais :P ). Ici le navigateur c'est le robot du W3C, il n'a pas à se soucier de savoir depuis quel navigateur il est lui-même appelé ;) )

Bien, je ne pourrai pas continuer la discussion vu que je pars en vacances (bien vu Monique, j'ai juste eu un petit moment ce soir). Je laisse à d'autres le soin de le faire :D

Bonne vacances à tous ceux qui en ont B)

Lien vers le commentaire
Partager sur d’autres sites

Serait-il possible qu'Opéra interprète ta validation en XHTML 1.0 simplement parce qu'il s'identifie par défaut comme un MSIE ? C'est d'ailleurs la configuration des navigateurs Opera. Si on ne modifie pas l'option, il se fait passer pour le navigateur de Microsoft...

Lien vers le commentaire
Partager sur d’autres sites

Serait-il possible qu'Opéra interprète ta validation en XHTML 1.0 simplement parce qu'il s'identifie par défaut comme un MSIE ? C'est d'ailleurs la configuration des navigateurs Opera. Si on ne modifie pas l'option, il se fait passer pour le navigateur de Microsoft...

Normalement, non !

Pour deux raisons :

- 1 - évidente, car je l'ai réglé pour s'identifier comme ... Opera

- 2 - étant donné mon filtre PHP (si le navigateur est capable de lire du contenu application/xhtml+xml, ...), il lui est bien renvoyé du xhtml 1.1 !

Ainsi, la validation se fait bel et bien à partir de ce code source envoyé au browser...

Et au cas où tu me le demanderais, je viens de tester, avec le mode MSIE, il retourne quand même du xhtml1.1... car le script n'est pas basé sur l'id du browser mais sur ses capacités !

Lien vers le commentaire
Partager sur d’autres sites

Et au cas où tu me le demanderais, je viens de tester, avec le mode MSIE, il retourne quand même du xhtml1.1... car le script n'est pas basé sur l'id du browser mais sur ses capacités !

Très fort... j'allais le faire. ^_^

Je suis bluffé. Ça relève du mystère le plus complet en ce qui me concerne. :huh:

Lien vers le commentaire
Partager sur d’autres sites

Bon, ça n'a rien de bien mystérieux, et Xavier a bien indiqué les solutions ;)

Je résume :

- le PHP de Stéphane repose sur le test des types mimes que le navigateur déclare accepter (si application/xml+xhtml, alors envoi de xhtml1.1, sinon envoi de xhml1.0). Il ne tient aucun compte de l'identification du navigateur, seulement de la valeur de HTTP_ACCEPT;

- IE ne déclare pas accepter du application/xml+xhtml, donc il reçoit du xhtml1.0;

- le validateur W3C ne déclare pas accepter du application/xml+xhtml,donc il reçoit lui aussi du xhtml1.0 lorsqu'il valide à partir de l'url;

- Opera, Gecko... déclarent accepter du application/xml+xhtml, donc ils reçoivent du xhtml1.1, et lorsqu'on valide depuis le navigateur par envoi du code source, ils lui envoient ce qu'ils ont reçu, c'est à dire du xhtml1.1. Si on pouvait valider depuis IE de la même manière, on validerait du xhtml1.0.

Là où le validateur montre ses limites, c'est qu'il se comporte en fait exactement comme les navigateurs : il accepte de traiter du xhtml1.1 sans tenir compte du type mime (si vous envoyez du xhtml1.1 à Gecko et Opera en text/html, ça ne les gênent pas, alors qu'ils devraient refuser).

Lien vers le commentaire
Partager sur d’autres sites

LaurentDenis, merci pour ces explications fort lumineuses et clairs...

Des explications comme celle-ci, j'aime ca ! :D

(si vous envoyez du xhtml1.1 à Gecko et Opera en text/html, ça ne les gênent pas, alors qu'ils devraient refuser).

Là, j'avoue, je n'ai pas cherché à tester ... je n'ai pas ce genre de vices :P;)

PS : En fait, d'après l'autre post de Denis sur le choix XHTML, je resterais à "faire mumuse" avec cette gestion pour ma future page principale (faut que je régle deux, trois choses avant de passer en prod°), car dans l'immédiat, si j'ai bien tout compris, mieux vaut attendre encore pour passer au tout XHTML 1.1, surtout si la nécessité est loin de s'en faire sentir ! B)

Modifié par ste
Lien vers le commentaire
Partager sur d’autres sites

(si vous envoyez du xhtml1.1 à Gecko et Opera en text/html, ça ne les gênent pas, alors qu'ils devraient refuser).

Là, j'avoue, je n'ai pas cherché à tester ... je n'ai pas ce genre de vices :P;)

En fait, le test est tout fait : beaucoup de gens qui veulent utiliser XHTML1.1 ne sont pas au courant de cette question de type mime et servent leurs pages comme du HTML... :nono:

Modifié par LaurentDenis
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...