Steve Frécinaux

Types MIME et MathML 2.0

Aujourd’hui j’ai réalisé quelques tests sur les navigateurs que j’avais à disposition, à propos des différents types MIME que l’on peut envoyer avec du XHTML, et de l’intégration d’équations dans une page via MathML. Je vais vous livrer ici mes résultat, de façon assez brute…

Tout d’abord, voici les différents types MIME essayés et la lettre par laquelle ils seront désignés par la suite :

A
application/xhtml+xml
B
application/xml
C
text/xml; charset=utf-8
D
text/html; charset=utf-8

Et voici à quoi ressemble un résultat concluant… En passant, si vous disposez d’autres navigateurs et/ou d’autres versions des navigateurs cités, n’hésitez pas à me faire parvenir les résultats de vos tests, via les commentaires ou par email ! :)

Réaction du navigateur

Ce premier tableau reprend simplement le comportement du navigateur face au type MIME signalé. Un « Ok » signifie que le navigateur l’affiche sans arrière-pensée. Fait assez surprenant, Internet Explorer 6 pour Windows a signalé à plusieurs reprises des erreurs XML… dans la DTD du W3C ! (« Erreur XML »)

Navigateur A B C D
Mozilla Firefox 0.8 Ok Ok Ok Ok
Opera 7.11 Ok Ok Ok Ok
Opera 7.50 Ok Ok Ok Ok
Konqueror 3.1 Ok Téléchargement Ok Ok
IE6/Win Téléchargement Erreur XML Erreur XML Ok
IE6/Win + MathPlayer Ok Erreur XML Ok Ok
IE5.2/Mac Téléchargement Plantage Plantage Ok
Amaya 8.3 Ok Ok Ok Ok
Safari 1.2 Ok Ok Ok Ok

À noter que Internet Explorer et Amaya ne gèrent (apparemment) jamais le stylage de l’élément <html>, de même qu’Opera 7.11 avec un type autre que text/html. Les autres ne posent pas de problème.

J’ai aussi remarqué un problème avec MathPlayer, c’est que dans le cas du application/xhtml+xml, le jeu de caractère n’est pas lu dans l’en-tête XML, le jeu par défaut (iso-8859-1) est alors utilisé. Il peut donc être utile d’envoyer un type MIME application/xhtml+xml; charset=utf-8, qui fonctionne, mais je ne suis pas certain de sa validité.

Les équations, le noeud du problème

Parmi les navigateurs cités ci-dessus, seuls Firefox (tant sous windows que sous linux), Amaya (le navigateur/éditeur officiel du W3C) et IE6 avec le plug-in MathPlayer (windows) ont affiché l’équation mise en forme (sachant que l’on peut étendre les résultats obtenus avec Firefox aux navigateurs Gecko de la même génération, c’est à dire, entre autres, Mozilla 1.6). Dans le tableau ci- dessus, un « Ok » indique que l’équation est affichée avec mise en forme.

Navigateur A B C D
Mozilla Firefox 0.8 Ok Ok Ok Non
IE6/Win + MathPlayer Ok Erreur XML Ok Non
Amaya 8.3 Ok Ok Ok Ok

Il est assez embêtant de constater que IE6+MathPlayer n’affiche les équations que sur des types MIME qui causent problème avec Internet Explorer tout seul. Ce qui, avouons-le, pose problème. Cependant, la chaine USER AGENT du navigateur avec le plugin comporte MathPlayer, et donc on peut switcher de cette façon entre les deux types MIME suivant la présence ou non du plug-in, via un script côté serveur.

Cependant, le fait que des navigateurs tels que Opera ou Konqueror et Safari ne savent pas mettre en forme les équations est un frein à l’utilisation de MathML, du moins directement dans le document. Ne serait-il pas préférable alors d’utiliser alors un fichier MathML externe, via la balise <object>, permettant ainsi de définir une image alternative, et/ou une version de l’équation en mode texte, par exemple avec une syntaxe TeX ? Je testerai peut-être cette façon de faire un peu plus tard…

Mises à jour

6 avril 2004
Opera 7.50 : affiche correctement avec tous les types mime mais n’affiche pas les équations

Amaya 8.3 : affiche avec tous les types mime, affiche les équations, apparemment pas de style sur <html>

Mozilla 1.3 Linux : idem que Firefox.

Safari 1.0 et 1.2 : n’affiche pas les équations. Merci à Sylvain.

7 avril 2004
Internet Explorer 5.2/Mac : plantages lamentables et téléchargement sont au rendez-vous. Sans text/html point de salut. Merci Sylvain

N’hésitez pas à me faire parvenir des tests réalisés sur d’autres plateformes/navigateurs, je suis particulièrement intéressé par des tests sous macOs X, macOs 9, Un*x, bref par tout ce qui existe :) Si vous pouviez me faire parvenir une copie d’écran (ou mieux, un lien vers une copie d’écran) par email, je serais un homme comblé :D