Aller au contenu Aller au menu Politique d'accessibilité

Free Sciences Site sur les mathématiques, la physique et l'informatique.

Le MathML

Le MathML, qu'est ce que c'est ?

Le MathML est un langage informatique qui permet l'affichage de formules mathématiques et qui peut s'utiliser dans une page web. Habituellement, les formules mathématiques sur les sites internet sont de simples images contenant l'équation. Ceci est une très mauvaise manière de faire, et souffre de nombreux inconvénients. Si cette méthode est si répandue, c'est uniquement gràce à sa simplicité et à l'absence de concurrence crédible. C'est ici qu'intervient le MathML.

Le MathML est-il si avantageux ?

Réponse courte: oui. Les avantages sont nombreux (par rapport à l'utilisation d'images):

Il est certainement possible de trouver de nombreux autres avantages.

Si le MathML est si parfait, pourquoi si peu de personnes l'utilise ?

Parce qu'il n'est pas si parfait. Le principal inconvénient du MathML est sa complexité. Ainsi la formule:

-b±b2-4ac2a

s'écrit en MathML:

<mfrac><mrow><mo>-</mo><mi>b</mi><msqrt><mrow><msup><mi>b</mi><mn>2</mn></msup><mo>-</mo><mn>4</mn><mi>a</mi><mi>c</mi></mrow></msqrt></mrow><mrow><mn>2</mn><mi>a</mi></mrow></mfrac>

Par comparaison, la même chose en LaTeX:

\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

Un deuxième problème est le support du navigateur. Certains navigateurs ne peuvent pas afficher le MathML, ou de manière très incomplète. On y reviendra un peu plus tard.

Mais c'est quoi ce code incompréhensible ?? MathML est bien trop compliqué !!

MathML est compliqué à écrire. Mais il n'est pas obligatoire de taper soi-même le code MathML. De nombreux logiciels de qualités peuvent générer ce code pour vous. C'est ce qui est conseillé par le W3C:

Bien que MathML soit lisible par l'Homme, on prévoit que, dans tous les cas complexes, les auteurs utiliseront des éditeurs d'équations, des programmes de conversion, et d'autres logiciels et outils spécialisés pour générer du MathML. Beaucoup de versions antérieures de ces outils existent déjà, et un certain nombre d'autres, des gratuits et des commerciaux, sont en développement.

Quels sont ces logiciels ?

Une liste exhaustive se trouve sur le site du W3C: http://www.w3.org/Math/Software/, elle reprend tout les logiciels liés à MathML, dont des éditeurs et des convertisseurs.

J'ai envie d'utiliser MathML pour mon site mais je suis un débutant ! Quel logiciel choisir ?

Un vrai débutant pourra utiliser Amaya qui est à la fois un navigateur Web et éditeur HTML. Les équations mathématiques sont assez faciles à faire.

On peut utiliser aussi ASCIIMathML, qui permet très facilement de tapez des équations mathématiques, avec une syntaxe très simple et très lisible. Il suffit pour l'utiliser d'ajouter une seule ligne dans le code HTML.

Enfin, on peut signaler MathJax qui peut convenir à la fois au débutant et à l'utilisateur expérimenté. Il a l'avantage de faire des équations visibles sur tout les navigateurs, pouvant faire un rendu soit MathML, soit en utilisant HTML+CSS. Le (léger) inconvénient étant une certaine lourdeur, par rapport au MathML «pur jus».

J'utilise LaTeX, puis-je convertir mes documents en utilisant MathML ?

Bien sur. Par exemple avec HEVEA.

Je connais un très bon éditeur MathML, c'est dommage que vous n'en parliez pas !!

Dans ce cas, merci de me contacter.

Quel logiciel utilisez-vous ?

Je converti les équations LaTeX en MathML à l'aide d'un logiciel que j'ai écrit moi-même, et j'utilise MathJax pour que les équations s'affichent dans tout les navigateurs.

Quels navigateurs sont-ils capables d'afficher MathML ?

Internet Explorer ne peut pas (encore ?) afficher le MathML. Il est nécessaire d'y ajouter le plugin MathPlayer pour cela.

Firefox, et tout les navigateurs basés sur Gecko, peuvent afficher MathML de manière native, voir: Mozilla MathML Project. Pour une meilleure qualité d'affichage, il est préférable d'installer les polices STIX (voir: Fonts for MathML-enabled Mozilla). Sur Debian et Ubuntu, installez xfonts-mathml, otf-stix, et ttf-lyx; pour Fedora, installez le paquet lyx-fonts.

Le moteur de rendu Webkit peut afficher le MathML. Comme ce n'est arrivé que récemment, Google Chrome et Safari n'en profitent pas encore, mais on peut espérer que ça ne tardera pas.

Pour de plus amples détails, voir: Viewing Mathematics on the Internet.

On peut se rendre compte que les choses ne font que commencer à bouger, et que le support généralisé de MathML est encore loin. Mais dans les prochaines années, les choses vont sans doute évoluer dans le bon sens, et on peut raisonnablement espérer que l'utilisation de MathML va augmenter progressivement.