23 Mar 19

De jolies équations dans Moodle

Catégorie : Enseignement

L'éditeur de texte de Moodle permet d'intégrer des équations écrites au format TeX, qui sont ensuite transformées en images. Malheureusement, ces images sont trop grosses par rapport au texte, et le rendu n'est pas très estétique. Il est toutefois possible d'écrire ses équations dans l'éditeur de texte Moodle au format MathML en s'aidant de Visual Math Editor.

Méthode classique : écrire ses équations au format TeX

Il existe dans Moodle un outil pour écrire des équations dans les documents (par exemple dans les étiquettes, les tests, ou encore dans les messages sur les annonces et forums). Il s'agit de l'outil « d'écriture scientifique », disponible dans la barre d'outil de l'éditeur de texte de Moodle.

Cet outil fait apparaître une fenêtre d'édition de l'équation au format TeX. On peut soit écrire directement le code de l'équation, soit passer par les différents boutons représentants les symboles mathématiques (organisés dans des onglets) :

Cet éditeur d'équation est très minimaliste, et loin d'être aussi complet que Visual Math Editor, dont nous reparlerons plus loin dans ce billet.

Une fois l'équation saisie et validée, le code est simplement copié dans l'éditeur de texte de Moodle. Cela signifie aussi que l'on peut écrire directement des équations dans l'éditeur, sans passer par l'outil « d'écriture scientifique ». Attention toutefois à bien encadrer le code de l'équation par \( et \). Notez que cela ne fonctionne pas lorsque le code de l'équation est placé entre symboles $ (dollar).

Lorsque le texte saisi dans l'éditeur de Moodle est enregistré, une image de l'équation au format png est générée par LaTeX en arrière plan, et insérée dans le document. Malheureusement, le rendu est particulièrement inestétique, la taille de l'image représentant l'équation étant bien trop grande par rapport au texte.

Pour corriger ce problème, il est nécessaire d'avoir les droits de modification des fichiers de Moodle, afin d'éditer les fichiers filter/tex/pix.php et filter/tex/texdebug.php. Dans chacun de ces deux fichiers, il faut commenter la ligne :

$texexp = '\Large ' . $texexp; 

Malheureusement, cette modification est à refaire à chaque mise à jour de Moodle !

Écrire ses équations au format MathML

MathML est un langage basé sur XML, et qui permet d'afficher des symboles mathématiques, notamment dans les pages web. Il utilise donc un certain nombre de balises sémantiques pour décrire les formules mathématiques. Moodle ne propose pas d'éditeur d'équation au format MathML, et il est nécessaire d'écrire le code de l'équation directement dans l'éditeur de Moodle, en ayant bien pris soin auparavant de basculer en mode html :

L'écriture d'une équation en MathML est cependant sacrément verbeuse. En effet, la simple équation E = mc² s'obtient à partir du code suivant :

<math xmlns="http://www.w3.org/1998/Math/MathML">
  <mstyle displaystyle="true">
    <mrow class="MJX-TeXAtom-ORD">
      <mi>E</mi>
      <mo>=</mo>
      <mi>m</mi>
      <mi>c</mi>
      <mrow class="MJX-TeXAtom-ORD">
        <mo>&#xB2;</mo>
      </mrow>
    </mrow>
  </mstyle>
</math>

On arrive à retrouver ses petits là dedans, mais il faut avouer que ce n'est pas un modèle de concision ! Heureusement, c'est là qu'intervient de nouveau Visual Math Editor (je vous avais bien dit qu'on en reparlerait !). Cet éditeur permet d'écrire facilement des équations en LaTeX, mais il permet également de générer le code MathML correspondant. Génial, non ?

Reprenons notre petit exemple précédent. Avec Visual Math Editor, nous devons saisir l'équation au format LaTeX dans la partie supérieure de l'éditeur, et l'équation est visible immédiatement dans la partie inférieure :

Il suffit alors d'effectuer un clic droit dans la partie inférieure, non pas sur l'équation, mais sur une zone vide en-dessous et de choisir « Source MathML » dans le menu contextuel qui apparaît. Le code MathML de l'équation va alors apparaître en incrustation en bas à droite de la fenêtre de l'éditeur :

Il ne reste alors plus qu'à sélectionner ce code, à le copier dans le presse papier, et à le coller à l'endroit souhaité dans l'éditeur de texte de Moodle (attention toutefois à bien passer en mode html de l'éditeur Moodle avant de coller le code MathML).

Plus d'excuses pour ne pas avoir de belles équations dans Moodle !