Quand j’ai publié le MOGWAI Playground en début d’année, l’idée était simple : offrir un environnement en ligne pour tester du code MOGWAI sans rien installer. Un terminal dans le navigateur, quelques exemples cliquables, et le moteur complet embarqué en WebAssembly. Fonctionnel, mais limité à la saisie ligne par ligne.
Aujourd’hui, le playground fait un bond en avant avec plusieurs nouvelles fonctionnalités qui le rapprochent d’un vrai petit environnement de développement léger. Voici ce qui change.
Un éditeur multi-lignes intégré
C’est la nouveauté principale. Jusqu’ici, écrire une fonction récursive ou un programme un peu structuré dans le terminal relevait du parcours du combattant : une ligne à la fois, sans retour en arrière, sans vue d’ensemble.
Il suffit maintenant de taper edit dans le terminal, ou de cliquer sur le bouton ✎ Edit dans la barre d’exemples, pour basculer vers un éditeur plein écran. Une zone de texte propre, en monospace, qui occupe tout l’espace disponible.

Quelques raccourcis utiles à connaître :
- Tab insère une indentation de 4 espaces (sans perdre le focus, ce qui est loin d’être automatique dans un navigateur)
- Ctrl+Enter lance directement le code sans quitter l’éditeur
- ✕ Close referme l’éditeur et revient au terminal — le contenu du buffer est conservé, on peut y revenir à tout moment
Le code écrit dans l’éditeur est exécuté en un seul bloc, ce qui change vraiment l’expérience : on peut définir des fonctions, les appeler, structurer son programme normalement. Et comme le moteur fonctionne en mode keepAlive, tout ce qui a été défini reste disponible dans le terminal après l’exécution.
Les exemples comme point de départ
Avant, cliquer sur un exemple l’exécutait immédiatement dans le terminal. C’était pratique pour une démonstration rapide, mais ça laissait peu de place à l’exploration.
Le comportement a changé : cliquer sur un exemple ouvre maintenant l’éditeur avec le code de l’exemple préchargé. On peut le lire, le modifier, l’adapter, avant de l’exécuter. Les exemples deviennent des templates de départ plutôt que des boîtes noires.
Si l’éditeur contient déjà du code, une bannière de confirmation s’affiche avant d’écraser le buffer — aucune mauvaise surprise.
Charger et enregistrer des fichiers .mog
C’est peut-être la fonctionnalité la plus attendue : la possibilité de travailler sur de vrais fichiers, de les sauvegarder entre deux sessions, et de les rouvrir plus tard.
Charger un fichier
Le bouton 📂 Load permet d’ouvrir un fichier .mog depuis sa machine. Sur Chrome et Edge, une vraie boîte de dialogue système s’ouvre — celle qu’on connaît depuis n’importe quel logiciel. Sur Firefox et Safari, le comportement passe par le sélecteur de fichier classique du navigateur, qui fait le travail sans fioritures.
Là encore, si l’éditeur n’est pas vide, une confirmation est demandée avant d’écraser le contenu.
Enregistrer
Deux boutons cohabitent :
- 💾 Save enregistre le contenu dans le fichier courant. La première fois, une boîte « Enregistrer sous » s’ouvre pour choisir le nom et l’emplacement. Les fois suivantes, l’enregistrement se fait directement dans le même fichier, sans dialogue — comme dans un éditeur classique.
- 💾… Save As ouvre toujours la boîte de dialogue, quel que soit l’état courant. Idéal pour dupliquer un script ou le déplacer dans un autre dossier.
Le nom du fichier courant s’affiche dans la barre de l’éditeur, juste à côté des raccourcis clavier, pour toujours savoir sur quoi on travaille.
Note : la gestion directe des fichiers (Save / Save As avec boîte système) repose sur la File System Access API, disponible uniquement dans les navigateurs Chromium (Chrome, Edge). Sur Firefox et Safari, le bouton Save déclenche un téléchargement classique dans le dossier de téléchargements.
En résumé
Le playground reste ce qu’il était : un outil léger, sans installation, qui tourne entièrement dans le navigateur. Mais il offre maintenant une expérience bien plus confortable pour écrire du vrai code MOGWAI, le tester, le conserver et le partager.
👉 Essayer le MOGWAI Playground
Le code source est disponible sur GitHub, et le moteur MOGWAI est accessible via NuGet.