Jump to content
Sign in to follow this  
Denis

XHTML 1.0 strict ou 1.1

Rate this topic

Recommended Posts

Bonjour tout le monde,

Ce message vient naturellement à la suite d'un sujet précédent qui date de quelques semaines au cours duquel on m'a finalement ocnvaincu de rectifier le tir par rapport à XHTML 1.1 au profit de 1.0 strict (bravo Laurent tu peux être fier de toi). :lol:

Ceci dit, je ne suis pas encore complètement guéri et j'ai besoin de votre aide pour pousser ma réflexion au maximum et finalement prendre la décision qui s'impose avec un esprit libre. Si mes sites sont maintenant tous repassés en XHTML 1.0 strict, je souffre de rechutes occasionnelles qui me font considérer le scénario suivant : serait-il souhaitable de faire une distinction entre les navigateurs pour passer à ceux qui sont en mesure de le supporter correctement le media application/xml+xhtml et aux autres, un simple text/html acceptable en 1.0 ?

Autrement dit, pourquoi se priver complètement de XHTML 1.1 avec FireFox et les autres navigateurs dignes de ce nom, sous le prétexte que MSIE est incapable de gérer application/xml+xhtml adéquatement ? :huh:

Qu'en dîtes-vous ? Mon raisonnement se tient ou il y a un truc que j'ai pas pigé dans cette histoire ? Des fois, j'ai vraiment l'impression de me compliquer l'existence pour des riens ! :wacko:

Share this post


Link to post
Share on other sites
Qu'en dîtes-vous ? Mon raisonnement se tient ou il y a un truc que j'ai pas pigé dans cette histoire ?  Des fois, j'ai vraiment l'impression de me compliquer l'existence pour des riens !  :wacko:

Bonjour,

Por ma part il y a beaucoup de trucs que je n'ai pas pigé... tu te compliques peut-être l'existence Denis, mais pas pour des riens... tu m'as obligée à approfondir un peu le sujet :rolleyes:

Jusqu'à présent je me suis peu intéressée à XHTML 1.1, j'en étais restée au stade assez primaire "à éviter" en raison des problèmes de type mime, d'affichage, de compatibilité...

Je viens de lire la recommandation du W3C (31 Mai 2001) XHTML 1.1 - XHTML modulaire. Le résumé, même traduit en français par Karl me restait assez hérmétique :

Cette recommandation définit un nouveau type de document XHTML qui est basé sur le cadre des modules définis pour la modularisation de XHTML [XHTMLMOD]. Le but de ce type de document est de servir comme base pour les types de document futurs de la 'famille' XHTML étendue, et de fournir un type de document consistant, tourné vers le futur séparant proprement les fonctionnalités à caractère obsolète de HTML 4 [html4] qui avaient été conservées dans les types de document de XHTML 1.0 [XHTML1]. Ce type de document est essentiellement une reformulation de XHTML 1.0 Strict en utilisant les modules XHTML. Cela signifie que de nombreuses fonctionnalités disponibles dans d'autres types de document de la famille XHTML (e.g., XHTML Frames) ne sont plus disponibles dans ce type de document. Ces autres fonctionnalités sont disponibles grâce aux modules définis dans la modularization de XHTML, et les auteurs de document sont libres de définir des types de document basés sur XHTML 1.1 qui utilisent ces fonctionnalités (voir [XHTMLMOD] pour savoir comment créer de nouveaux types de document).

J'ai fait une recherche sur "modules XHTML"

Sur xmlfr.org j'ai lu ceci :blink: :

XHTML 1.1 est d'ailleurs très semblable à XHTML 1.0 Strict, à l'exception de quelques modifications dont l'addition du module Ruby.

Et j'ai trouvé un article assez complet sur selfhtml Modularisation de XHTML et de XHTML 1.1.

Si j'ai bien compris, le véritable intérêt de XHTML 1.1, ce sont les modules... que l'on peut d'ailleurs créer soi-même ?

HTML/XHTML ne couvrent donc pas, malgré l'étendue considérable de leur langage, tous les besoins imaginables d'une part et d'autre part ils sont simplement surdimensionnés pour certains objectifs. Pour cette raison, les réflexions du consortium W3 s'orientent vers la possibilité, tout au moins pour XHTML, qu'aussi bien des versions du langage allégées qu'élargies soient possibles. Le logiciel d'un téléphone portable pourrait alors par exemple interpréter une version allégée, tandis qu'un mathématicien qui désire publier son travail peut élargir XHTML avec des éléments d'un langage de marquage spécial pour les formules mathématiques.

J'ai l'impression que je complique encore plus les choses que toi, Denis :1eye:

Share this post


Link to post
Share on other sites

Pour ma part je fais la distinction. Je préfère éviter d'utiliser le text/html si ce n'est pas obligatoire (=si le navigateur supporte le xhtml).

Le fait d'être en application/xml+xhtml force à bien former le code (sinon : page jaune :lol: ) ce qui en soi est un avantage, moins besoin de valider tout le temps le code !

En plus je suis persuadé que le mode xml est plus efficace, que Mozilla le traite plus vite et mieux en parsant le xml que le sgml (tout buggué en plus). Voir par exemple cette discussion.

Bref, je fais une discrimination des navigateurs (même si c'est contraire aux standards :blush: ), petite combine en php :

if (stristr($_SERVER["HTTP_ACCEPT"], "application/xhtml+xml")) $xhtml=true;

Ainsi, je sais si le navigateur accepte ou non le xhtml.

Problème rencontré : les navigateurs de type KHTML n'indiquent pas accepter le XHTML dans leur HTTP-ACCEPT (ils ont simplement */*) :down:

Ligne supplémentaire :

elseif (eregi ("KHTML",$HTTP_USER_AGENT;)) $xhtml=true;

(et bien sûr else $xhtml=false;. Je pars de l'idée qu'il ne reste pas de navigateur KHTML trop vieux pour ne pas le supporter. Ce n'est pas comme IE, ce genre de navigateurs sont mis à jour régulièrement ;) De toutes façons je ne sais pas depuis quand c'est supporté.

Plus loin j'ai

if ($xhtml)
{
header("Content-Type: application/xhtml+xml; charset=utf-8");
echo ("<?xml version=\"1.0\"?>\n");
}
else
{
header("Content-type: text/html; charset=utf-8");
}
echo ("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n");

Remarque que je ne fais pas dans le xhtml 1.1, je trouve que ça sert à rien :whistling:

Bref, la même page est envoyée à tous les navigateurs sauf le prologue xml et l'entête. Ce n'est donc pas bien méchant. De temps en temps il me prend même l'envie d'envoyer ça en application/xhtml+xml, mais je pense à ceux qui ont des navigateurs comme Lynx, qui ne supporte pas le XHTML (ce qui est bien dommage car les standards sont tout benef pour ce genre de navigateurs), et qui n'ont pas d'autre recours. (S'il n'y avait que IE et NS4 qui ne le supportaient pas, je pense que j'aurais déjà mis en place le xhtml pour tous :hypocrite: )

PS : j'ai entendu dire que Opera ne supportait plus le DOM en mode XHTML... je ne sais pas ce qu'il en est réellement (de toutes façons même en text/html il ne sait pas faire fonctionner le styleswitcher de mon site :angry:

Share this post


Link to post
Share on other sites

Merci Monique... j'avais moi même évité le sujet, déjà de faire des sites conformes XHTML 1.0 strict est assez complexe dans mon contexte, passer au 1.1 serait de la folie!

Je n'avais pas vraiment vu ce qui le rendait intéressant, et, si je comprends bien, c'est qu'il supporte les changement de Name Spaces?

Le logiciel d'un téléphone portable pourrait alors par exemple interpréter une version allégée, tandis qu'un mathématicien qui désire publier son travail peut élargir XHTML avec des éléments d'un langage de marquage spécial pour les formules mathématiques.

En prenant cet exemple, c'est du moins ce que je comprends (je suis peut-être dans le champ, corrigez-moi quelqu'un!). Si c'est le cas, ce serait alors en XHTML 1.1 qu'on pourrait intégrer, par exemple, du SVG ou du MathML directement dans le code par xmlns?

Sauf que ça doit pas encore être très bien supporté... je me trompe?

Tu sais, Denis, dans le fond, je crois que tu peux te contenter de XHTML 1.0 strict pour l'instant... Dans le monde réel, juste de mettre un doctype (que ce soit html ou xhtml), c'est une révolution, alors de passer au 1.1, c'est un bond tellement élevé que la nécessité n'est pas tellement présente.

Perso, je fais du 1.0 strict et, quand ça sera le temps, je passerai au 2.0. D'ici là, je crois que le 1.0 fera amplement le travail. Et, au moins, il est supporté, lui!

De plus, si on doit mettre un JS de détection, on ne va pas à l'encontre de l'accessibilité? si le JS d'un utilisateur qui se pointe sur ton site est désactivé et qu'il ne peut lire le type mime application/xml+xhtml, il ne verra rien? on ne va pas à l'encontre des principes d'accessibilité?

Il est vrai que certains pourront profiter des avantages de 1.1, mais le jeu en vaut-il VRAIMENT la chandelle?

Share this post


Link to post
Share on other sites
serait-il souhaitable de faire une distinction entre les navigateurs pour passer à ceux qui sont en mesure de le supporter correctement le media application/xml+xhtml et aux autres, un simple text/html acceptable en 1.0 ?

Si on ne tombe pas dans le syndrome culpabilisant du "Ce site fonctionne mieux avec tel ou tel navigateur" ou "Design for TrucMoche" et que tout fonctionne bien pour un utilisateur qui ne se rendra compte de rien, pourquoi se priver...

Dans une autre mesure, le XHTML 1.0 Strict avec "simple text/html" n'est pas trop mal, non ? Mais il est vrai qu'il est frustrant de tout niveler par le bas et de faire des concessions à cause de non compatibilité de certains logiciels.

Share this post


Link to post
Share on other sites
Guest meta nando

Bonjour à tous,

Si j'ai bien suivi, à l'heure actuelle, XHTML 1.1 apporte plus de contraintes que de promesses:

  • Le Type MIME «application/xml+xhtml» nécessaire n'est pas supporté par la majorité parce qu'elle navigue entre autres avec MS IE.
  • Le moteur de rendu xml est implacable et s'accommode mal de la diversité des caractères sur le net.

Bien sûr, des solutions (PHP,...) existent mais elles ne sont pas parfaites. <_<

Cela dit, des cerveaux comme ceux qui travaillent dans cybercodeur.net sont tout à fait capables de venir à bout (ou presque, mais suffisemment) des soucis du XHTML 1.1. J'ai aussi deviné que ce n'était pas "impossible", mais seulement "difficile".

[petite chute philo]

Et, après tout, il faut bien que les choses bougent. Il faut bien qu'un jour ou l'autre certains se jettent à l'eau, qu'ils bousculent, qu'ils défrichent le terrain inaccessible pour ceux qui suivent. Comme on aura jamais le feu vert pour passer au XHTML 1.1 puisque cela se fera de façon très progressive sur des mois ou années, et bien certains sauteront le pas avant l'heure.

Conclusion, Denis, fonce ! :D

Tu es suffisemment armé et enthousiaste pour cette aventure.

Il y a presque un an, Blanc Yoan, lui aussi enthousiaste, donnait la recette pour

Créer des pages XHTML 1.1, CSS 2 et WAI AAA, avec en prime des scripts PHP et une déclinaison CSS pour Nestcape 4.7*, mais je n'ai toujours pas testé :whistling: faut dire que l'ai découverte aujourd'hui.

Share this post


Link to post
Share on other sites

Les pionniers du Web... heureusement qu'ils sont là :up:

Les premiers à utiliser CSS 1 en 1999 devaient être un peu dans la même situation !

J'imagine certains d'entre nous dans un an ou deux, frileux aujourd'hui mais devenus experts à leur tour, relire ces pages avec un petit sourire :P

Share this post


Link to post
Share on other sites
J'imagine certains d'entre nous dans un an ou deux, frileux aujourd'hui mais devenus experts à leur tour, relire ces pages avec un petit sourire  :P

C'est charmant... :)

Je trouve la perspective de Monique très amusante... parce que dans ma courte expérience je l'ai déjà vécue à plusieurs reprises, ne serait-ce que sur cybercodeur en relisant des bêtises que j'ai pu écrire par le passé. C'est toujours hyper stimlant de voir qu'on est capable de reconnaître la bêtise de notre incompétence passée... c'est signe que depuis, on a évolué, qu'on est devenu un peu moins pires. :P

Je ne sais pas si je suis si innovateur avec de telles préoccupations. Ce sont clairement des questions un peu inutiles puisque fondamentalement 1.1 ne m'apporte strictment rien plus que 1.0 dans l'utilisation que j'en fait. Mais comme mon but est de pousser au maximum mon code, je suis toujours tenté à regarder dans cette direction. Innovateur ? Comparativement à la masse des webmestres peut-être, mais comme mon attention est tournée vers des génies auxquels je ne comprends habituellement jamais rien, je suis souvent beaucoup trop occupé à reconnaître ma propre incompétence pour éprouver une forme de satisfaction par rapport à mes acquis.

Heureusement pour moi, j'ai la chance d'être lu (et fort heureusement repris quand je m'égare) par des gens beaucoup plus talentueux que moi et qwui m'incitent à ne jamais me satisfaire de peu... d'ou les préoccupations actuelles.

Dans l'ensemble, j'ai déjà ma réponse. L'effort du développement n'en vaut pas la peine... cependant, ça ouvre l'occasion d'une réflexion sur les différences fondamentales entre les deux versions de la technologie et ça, c'est très précieux. B)

Share this post


Link to post
Share on other sites

De façon un tantinet pragmatique, je ne vois pas pourquoi accorder de l'intérêt à XHTML 1.1 alors qu'il n'apporte rien, en tant que tel, au XHTML 1.0, mis à part Ruby, qui ne sert à à peu près personne. (mettons de côté le XHTML+MathML si vous le voulez bien)

Dans ce sens, je ne vois pas vraiment pourquoi envoyer un doctyle xhtml 1.1 plutôt qu'un doctype xhtml 1.0 Strict. Ou pourquoi envoyer un doctype xhtml 1.0 strict plutôt qu'un doctype xhtml 1.1, ça marche dans les deux sens. En restant dans le pragmatisme le plus simple, envoyer un "ancien" doctype signifie qu'on ne doit pas apporter de modifications à ses pages, quel que soit le type mime avec lequel on les envoie, ce qui peut s'avérer très pratique dans certains cas. Mais si le coeur vous en dit, libre à vous de jouer avec du php pour modifier le doctype suivant les cas.

Là où il peut être intéressant d'utiliser xhtml 1.1 plutôt que l'autre, c'est lorsque l'on tire avantage de la modularité de celui-ci, l'exemple le plus courant étant lorsque l'on désire afficher des équations mathématiques (MathML) dans sa page (auquel cas d'ailleurs il peut être utile de l'envoyer aussi en text/html parfois, dans le cas du plugin MathPlayer ancienne version).

(petite pub honteuse en passant : type-mime-et-mathml-20 )

Edited by Nudrema

Share this post


Link to post
Share on other sites

Xavier:

Avec ton code, Opera va recevoir la page en application/xhtml+xml alors qu'il indique sa préférence pour text/html. Il faut tenir compte également du coefficient de préférence présent dans l'en-tête accept.

Share this post


Link to post
Share on other sites

Bon, comme je suis apparement un peu pour quelque-chose dans les hésitations de Denis, je résume :

- XHTML1.1 apporte la modularité (MathMl par exemple) et l'élément ruby.

- Si on a besoin de l'un ( http://golem.ph.utexas.edu/~distler/blog/a...ves/000167.html ) ou de l'autre ( http://glandium.org/ ), XHTML1.1 est inévitable, et les navigateurs qui ne l'implémentent pas doivent recevoir du XHTML1.0.

- Sinon, c'est tout simplement un doctype mal choisi ;)

Maintenant, il y a une 2e question : quand on fait du XHTML1.0, cela vaut-il la peine de faire de la négociation de contenu pour envoyer du application/xhtml+xml aux navigateurs qui le supportent ?

Seules différences concrètes :

- les styles et scripts internes ne sont pas traités de la même manière, et posent de fréquents problèmes (voir http://devedge.netscape.com/viewsource/200...l-style-script/ en anglais)

- une partie des erreurs de codage apparaîtront immédiatement, puisque les navigateurs comme Opera et les Gecko bloqueront sur celles-ci (A ne faire donc que quand on maîtrise totalement la production de son code);

Mais on ne se prive donc pas de grand-chose, Denis, en utilisant text/html au lieu de application/xhtml+xml...

Finalement, je crois qu'il faut en retenir que le choix d'un doctype doit être mûrement réfléchi en fonction :

- de ses besoins (modularité, évolutivité, mais aussi à l'inverse compatibilité avec des navigateurs anciens...)

- de ses limites (maîtrise plus ou moins grande de la production du code, recours par exemple à des outils générant des tags du type <u> ou des attributs name et lang...)

Il n'y a pas de doctype préférable dans l'absolu.

Edited by LaurentDenis

Share this post


Link to post
Share on other sites

Au passage, puisque votre discution m'intéresse, que faut-il faire au niveau de l'en-tête d'encodage et de définition de CSS en XML ? Est-elle nécessaire pour une page de type xml+xhtml ?

Je sais j'suis un peu à la masse pour la date, et alors ? :P

Edited by JulFisher

Share this post


Link to post
Share on other sites

Que veux-tu dire? Pour passer le prologue XML dans tes fichiers pour les navigateurs capables de le supporter ou alors pour simplement intégrer un lien vers une feuille de style, mais dans un document xml? :unsure:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...