Bob Posté 11 Octobre 2004 Posté 11 Octobre 2004 Bonjour à tous, En lisant deux billets de Denis Boudreau ( http://www.cybercodeur.net/index.php?mois=...ois#archive1067 ) et d'Anubis ( http://www.genezys.net/blog/2004/09/08/4-x...ore-et-toujours ), je prends des sueurs froides... Il y a donc des navigateurs qui sont incapables de lire le xhtml ! Est-ce que quelqu'un pourrait donner une liste des navigateurs ou de leur versions qui ne comprennent que le texte/html ?
Anubis Posté 11 Octobre 2004 Posté 11 Octobre 2004 En fait, je ne connais pas de navigateurs incapables de parser le xhtml, par contre, certains ne sont pas encore au courant des dernières normes et ne sont pas capables de le gérer dans sa forme la plus standard. Le problème avec l'XHTML est que la spécification recommande de l'envoyer avec un type MIME dérivant de l'XML, se qui force les navigateurs à vérfier la syntaxe XML du document. Pour XHTML, ce type MIME est application/xhtml+xml. Le soucis est que les navigateurs trop anciens ne sont tout simplement pas prêt à recevoir ce genre de contenu, et voyant un type MIME inconnu, propose tout simplement à l'utilisateur de télécharger le fichier. C'est le cas d'Internet Explorer toutes versions par exemple. Le soucis donc lorsque l'on souhaite faire du XHTML le plus proche possible de la norme est d'envoyer de l'XHTML avec le bon type MIME mais seulement aux navigateurs le supportant. On peut alors envoyer un type MIME non conforme comme text/html ou reformater sa page, selon le niveau de compatibilité que l'on souhaite. Maintenant, il faut savoir que ce genre de pratique est vraiment complexe et qu'il est bien souvent plus simple de se restreindre à l'utilisation d'un bon vieux HTML 4.01 qui lui fonctionne partout. J'utilise personnellement l'envoi de types MIME différent selon les navigateurs, mais j'ai vite laissé tomber les idées de reformatage du contenu qui sont bien trop complexes pour le résultat obtenu.
Bob Posté 11 Octobre 2004 Auteur Posté 11 Octobre 2004 Merci pour ces explications, Annubis. Juste une petite précision: (...) voyant un type MIME inconnu, propose tout simplement à l'utilisateur de télécharger le fichier. C'est le cas d'Internet Explorer toutes versions par exemple. IE toutes versions, c'est à dire? Mon IE 6 lit le xhtml 1.0 transitionnal sans chercher à le télécharger. Tout cela mamène une autre question, qui est peut-être naïve : quels sont les avantages de xhtml par rapport à html 4 ?
LaurentDenis Posté 12 Octobre 2004 Posté 12 Octobre 2004 (modifié) Ce qui te trompe, c'est que la plupart des sites en XHTML le servent en fait uniquement comme du HTML, c'est à dire avec le type mime text/html. Ceux qui le servent en tant qu'application/xhtml+xml utilisent un script de détermination des capacités du navigateur pour adresser à IE (et à d'autres) du text/html. IE n'a alors aucun problème : - puisqu'il s'agit d'un type de document qu'il connait (text/html), - et que le balisage spécifique du XHTML est alors assimilé à de la soupe de tag qu'il sait corriger. Au passage, IE ne permet pas de voir immédiatement quel est le type mime d'un document. Il faut pour cela utiliser un navigateur comme Opera, FireFox, etc. Enfin, un site en XHTML n'a en fait guère d'avantage particulier pour l'utilisateur. Tout au plus peut-on dire que les pages sont le plus souvent plus légères et donc plus rapides à télécharger. Au-delà, cela dépend du respect de divers facteurs de qualité par l'auteur: - accessibilité, - ergonomie, - utilisation appropriée des CSS - utilisation rigoureuse de la sémantique HTML En fait, XHTML est surtout profitable actuellement aux auteurs: - syntaxe plus ferme diminuant le risque d'erreur - exploitation des sources en tant que XML Voir par exemple D'ailleur pourriez vous me dire les avantages du XHTML ? pour un article volontairement sceptique sur le sujet, dont les commentaires apportent un éclairage plus optimiste Modifié 12 Octobre 2004 par LaurentDenis
Anubis Posté 12 Octobre 2004 Posté 12 Octobre 2004 J'ajouterais un peu de pédagogie à tout ça... Peut-être ne connais-tu pas le concept de type MIME ? (Dans ce cas, je peux comprendre que tout cela soit très confus pour toi.) Lorsqu'un serveur web envoie un document, il envoie aussi une chaine pour expliquer de quel type est la ressource. Le web ne connaissant pas le concept d'extension comme nos OS, il faut une chaine pour expliquer de quel type est un document. Lorsque l'on envoit un document HTML, il faut préciser un type MIME « text/html » avec par exemple une commande PHP du genre : header('Content-Type: text/html'); Heureusement, les serveurs actuels envoit de manière automatique tous les documents PHP en « text/html ». Par contre pour les documents XHTML, il faudrait normalement changer de type MIME pour envoyer du « application/xhtml+xml ». Il existe 2 solutions : changer les extensions de ses fichiers en .xhtml pour que le serveur web envoit tout seul un type MIME XHTML. C'est bien sûr impossible puisque le site ne serait plus consultable avec Internet Explorer qui ne gère pas ce type MIME. Modifer le type MIME envoyé en PHP avec une commande header comme ci-dessus, mais encore une fois Internet Explorer ne fonctionnera pas. Il faut donc envoyer un type MIME différent selon les en-têtes qu'envoie le navigateur et qui contiennent les type MIME qu'il supporte. Tu trouveras plus d'informations sur cette technique dans ce billet de Cybercodeur
LaurentDenis Posté 12 Octobre 2004 Posté 12 Octobre 2004 changer les extensions de ses fichiers en .xhtml pour que le serveur web envoit tout seul un type MIME XHTML. C'est bien sûr impossible puisque le site ne serait plus consultable avec Internet Explorer qui ne gère pas ce type MIME. A noter : encore faut-il que le serveur soit configuré pour accompagner les fichiers .xhtml du type mime correspondant. Bravo pour l'intervention pédagogique, Anubis : j'étais trop pressé ce matin
Anubis Posté 12 Octobre 2004 Posté 12 Octobre 2004 Pas de problème ;-) Ce sujet me tient à cur alors j'aime que tout soit bien clair.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant