CodiMD : un éditeur de texte collaboratif en markdown et supportant LaTeX
Toujours en recherche d’outils pendant cette continuité pédagogique, je continue mes découvertes de solutions pour un partage en direct d’une saisie de texte avec formules mathématiques, pour les corrections d’exercices notamment. J’ai ainsi trouvé mon nouveau tableau blanc numérique : CodiMD. Présentation.
De la découverte…
Durant les vacances de Pâques, un ensemble d’outils libres pour faciliter cette continuité a été déployé par la Direction du Numérique pour l’Éducation.
Il y a un certain nombres d’outils disponibles (si j’ai bien compris ce ne sont pas forcément les mêmes dans toutes les académies), mais il y en a un qui a fini par retenir mon attention, présenté comme un « pad avancé » : CodiMD.
À la base, c’est ce tweet qui m’a interpellé :
Je me dis : « Tiens, on peut rédiger en markdown et saisir des formules \(\LaTeX\) simples ». En plus, on peut faire visualiser le document en direct. Mais sur le moment, j’ai laissé cette application de côté et poursuivi avec ma façon habituelle de travailler (Texmaker + Sumatra PDF casté via la classe virtuelle du CNED).
Et puis j’ai finalement remis le nez dedans le week-end dernier, alors que je cherchais à trouver s’il existait des packages pour saisir du markdown dans du code \(\LaTeX\), histoire de l’alléger un peu. La suite, vous la devinez un peu : j’ai immédiatement adopté CodiMD dès la première séance où je l’ai utilisé !
… à l’utilisation !
Je passerai sur l’aspect collaboratif des documents ainsi créés pour me concentrer sur ce qu’on peut concrètement faire avec ces pads. J’utilise CodiMD comme tableau blanc pour écrire des mathématiques et il le fait particulièrement bien, sans avoir besoin de passer par des solutions de partage d’écran.
La première chose à faire, c’est de vous rendre sur le site https://apps.education.fr/ et de créer votre compte à partir de votre adresse académique (Oui, c’est réservé aux enseignants et oui, comme c’est stipulé dans le bandeau du site, c’est censé être temporaire. Je vais me pencher ces prochaines semaines sur la recherche d’une solution pérenne au cas où cette plateforme disparaisse à terme et j’en reparlerai dans un nouvel article). Vous aurez ainsi accès à tout un ensemble d’applications parmi lesquelles Peertube pour partager des vidéos, Nextcloud pour partager vos documents, Jistsi pour de la visioconférence et bien sûr CodiMD.
Pour les bases de l’utilisation de CodiMD, vous pouvez consulter cet article : https://pad.numerique-en-commun.fr/utiliser-codimd# (c’est celui qui est proposé dans la description de l’application).
Pour découvrir Markdown : https://blog.wax-o.com/2014/04/tutoriel-un-guide-pour-bien-commencer-avec-markdown/ (là aussi c’est l’article proposé par Apps.education.fr). Si vous ne connaissiez pas ce langage à balises léger, voici une bonne occasion de découvrir sa puissance pour rédiger rapidement des pages web notamment. De plus, l’apprentissage peut vous être utile puisque les calepins de Jupyter(Lab) supportent cette syntaxe pour la mise en forme de texte dans les blocs markdown. Avec le déploiement en cours de Jupyter sur un certain nombre d’ENT académiques (c’est déjà le cas pour le nôtre en Normandie depuis 2 ans au moins), le jeu en vaut la chandelle !
Je pars du principe que vous avez désormais pu créer votre premier pad et que l’utilisation basique de \(\LaTeX\) vous est familière.
On peut alors ajouter des formules mathématiques à notre pad exactement de la même façon qu’on le ferait en \(\LaTeX\) ! Par exemple :
$a^2=b^2+c^2$.
Qui donnera : \(a^2=b^2+c^2\).
De façon plus complète, mon fichier test ressemblait à ça :

L’éditeur est pratique avec sa vue splittée qui permet de visualiser directement le rendu de ce que l’on tape (ne pas oublier de cliquer sur le petit bouton qui apparaît au milieu de la règle de séparation pour supprimer la synchronisation verticale entre l’éditeur et le rendu web, car cela peut devenir très vite insupportable quand on arrive en bas de l’écran).

C’est cette visualisation que je partage avec les élèves et étudiants lors des séances de correction (il suffit de leur donner le lien du pad, en ayant pris soin de le régler en statut locked si vous ne voulez pas qu’ils puissent le modifier). J’obtiens ainsi un tableau blanc qui s’affiche en temps réel pour eux sur leur écran, qui est responsive et qui permet d’écrire toutes sortes de formules mathématiques. De plus, il est possible de se déplacer à l’intérieur de la visualisation pour revenir en arrière, ca qui n’était pas particulièrement pratique avec la visualisation d’un PDF où c’est le prof qui est « maître » du défilement du document. Sans parler de la possibilité de changer la taille de la police de caractère dans le navigateur, essentielle pour nos élèves avec des troubles DYS (l’un des miens m’a confirmé que c’était bien mieux pour lui de cette façon).
Et là où c’est particulièrement puissant, c’est la dernière partie de mon exemple : la possibilité de pouvoir créer des macros pour se faciliter la rédaction, comme on le ferait directement dans \(\LaTeX\).
Il faut simplement penser à écrire notre \newcommandentre dollars. On peut même en écrire plusieurs à la suite avec une seule paire de $.
En ce qui me concerne, je les déclare au début du fichier comme ça je pourrai facilement supprimer les lignes correspondantes quand j’exporterai mon pad au format .latex.
Car ça aussi c’est possible ! On peut utiliser Pandoc pour exporter notre pad en différents formats dont du .epub(3) ou encore du .latex. C’est noté en fonctionnalité beta, mais ça marche déjà très bien pour le .latex (pas encore testé de .epub, mais les possibilités que cela engendre sont à explorer) et ça ne prend que quelques clics. On récupère alors un fichier \(\LaTeX\) contenant un code propre à exploiter avec un minimum de corrections (pour mes fichiers, il m’a fallu redéfinir les débuts et fins de listes par exemple).


On est donc face à un outil qui présente l’avantage :
- d’être simple à utiliser ;
- léger dans le navigateur (attention quand même quand il commence à y avoir beaucoup de formules, le rafraîchissement automatique peut devenir subitement très lent), ne nécessitant pas un outil supplémentaire pour le caster et responsive pour s’adapter à tout type d’écran ;
- de pouvoir être rapidement partagé avec les élèves (soit en rafraîchissement automatique en partageant le lien du pad, soit avec un rafraîchissement manuel par les élèves en leur donnant le lien de la page web créée après avoir cliqué sur Publier) ;
- de pouvoir partager un tableau blanc avec les élèves dans lequel écrire des mathématiques est totalement naturel (pour peu que vous ayez l’habitude de la syntaxe \(\LaTeX\)) ;
- de pouvoir créer rapidement une page web au contenu évolué.
Les élèves qui auront conservé le lien de la séance pourront même y retourner ultérieurement (même si je leur fourni une version PDF après chaque séance).
Voilà pour ce premier article autour de l’utilisation de CodiMD. Il me reste encore pas mal de choses à explorer :
- Peut-on charger certains packages \(\LaTeX\) ?
- Peut-on utiliser/créer des environnements ?
- Peut-on insérer des frames pour, par exemple, intégrer un éditeur/compilateur Python ?
- Est-il aisé d’exporter le contenu de son compte pour transférer tous ses pads ou en faire une sauvegarde locale/cloud ?
- Comment utiliser CodiMD en dehors de la plateforme Apps.education.fr au cas où elle ne soit pas pérennisée par la suite ?
- Quels usages potentiels lors du retour en classe ?
Autant de questions auxquelles j’espère répondre dans les semaines/mois qui viennent, tout en vous partageant le retour de mes recherches !
Et de votre côté, avez-vous déjà testé CodiMD ? Avez-vous apprécié son usage ? Avez-vous des tips à partager ? Ou bien utilisez-vous un autre « tableau blanc » pour le distanciel, et le trouvez-vous a priori plus pratique ?