Catégorie : Web     Tags : , , ,      

    Retrouvez cet article dans : Linux Pratique 35

    Il peut arriver que vous ayez besoin d'inclure une formule ou une démonstration mathématique dans l'une de vos pages Web. Eh bien, sachez qu'il existe une recommandation du W3C spécialement conçue pour l'écriture de symboles et de formules mathématiques. Il s'agit de MathML, un langage basé sur XML, utilisant un balisage spécifique, permettant l'affichage de symboles mathématiques sur Internet. Né en 1999, MathML est disponible en version 2.0 (annoncée comme version finale par le groupe de travail du W3C) depuis octobre 2003.MathML est vraiment spécifique à cet usage et il garantit non seulement une présentation optimale des formules, mais s'intéresse aussi au sens des différents composants. Comme précisé dans la documentation officielle du W3C (voir lien de la traduction, ci-dessous), " L'objectif de MathML est de permettre de servir des mathématiques, de les recevoir et les traiter sur le Web, tout comme HTML a permis cette fonctionnalité pour le texte. ".
    Considérons un exemple simple : l'équation x2 + 4x + 4 = 0, se traduit en MathML de la façon suivante (balisage de présentation) :

    <mrow>
        <mrow>
            <msup>
                <mi>x</mi>
                <mn>2</mn>
            </msup>
            <mo>+</mo>
            <mrow>
                <mn>4</mn>
                <mo>&InvisibleTimes;</mo>
                <mi>x</mi>
            </mrow>
            <mo>+</mo>
            <mn>4</mn>
        </mrow>
        <mo>=</mo>
        <mn>0</mn>
    </mrow>

    Les balises <mrow> imbriquées permettent de délimiter chaque terme de l'équation. La mention InvisibleTimes est utilisée ici pour signaler au navigateur que les termes 4 et x sont volontairement accolés, qu'ils ne doivent pas être répartis sur deux lignes par exemple. Notons que la même équation peut être écrite à l'aide de balises de contenu. Il est même possible de " mixer " balisage de présentation et balisage de contenu.
    Une trentaine de balises MathML décrivent des structures, et environ 150 autres balises permettent de préciser sans ambiguïté la signification d'une expression. Le W3C justifie l'emploi des deux types de balisage comme suit :
    " Le balisage de présentation capture la structure de la notation. Il code la structure de notation d'une expression de façon suffisamment abstraite pour faciliter un rendu sur divers médias. [...] Le balisage de contenu capture la structure mathématique. Il code la structure mathématique de manière suffisamment régulière pour faciliter l'assignation d'une signification mathématique à une expression par les programmes d'application. [...] La même notation peut représenter plusieurs idées mathématiques et, inversement, la même idée mathématique avoir plusieurs notations. Pour fournir aux auteurs la possibilité de contrôler précisément la notation et, dans le même temps, de coder les significations de manière lisible par une machine, les deux balisages de contenu et de présentation sont nécessaires. "
    Notons qu'un système permettant d'inclure des balises sémantiques, destiné à compléter MathML, est actuellement en développement : il s'agit d'OpenMath, une norme plus axée sur la sémantique et la signification des éléments que sur leur présentation (contrairement à MathML).
    Bien que MathML soit un langage assez simple à mettre en œuvre, il est certain que pour les cas complexes, les auteurs préféreront utiliser des éditeurs d'équation, des programmes de conversion et d'autres outils logiciels spécialisés pour générer automatiquement le code MathML correspondant. Amaya, l'éditeur HTML développé conjointement par des membres de l'INRIA et du W3C, fait justement partie des rares éditeurs capables de supporter la norme MathML...
    Concernant la prise en charge de MathML par les navigateurs Web, sachez que Firefox 1.5 dispose du support adéquat, les utilisateurs de Microsoft Internet Explorer en revanche devront installer un plugin spécifique (MathPlayer).

    Liens

    Posté par Fleur Brosseau (Fleur) | Signature : Fleur Bosseau | Article paru dans

    Laissez une réponse

    Vous devez avoir ouvert une session pour écrire un commentaire.

    • Il y a actuellement

    • 807 articles/billets en ligne.