{"id":2490,"date":"2026-05-20T09:00:00","date_gmt":"2026-05-20T08:00:00","guid":{"rendered":"https:\/\/coding4phone.com\/?p=2490"},"modified":"2026-05-20T02:09:39","modified_gmt":"2026-05-20T01:09:39","slug":"le-mogwai-playground-sameliore-editeur-fichiers-et-bien-plus","status":"publish","type":"post","link":"https:\/\/coding4phone.com\/?p=2490","title":{"rendered":"Le MOGWAI Playground s&rsquo;am\u00e9liore : \u00e9diteur, fichiers et bien plus"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Quand j&rsquo;ai publi\u00e9 le MOGWAI Playground en d\u00e9but d&rsquo;ann\u00e9e, l&rsquo;id\u00e9e \u00e9tait 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\u00e9 en WebAssembly. Fonctionnel, mais limit\u00e9 \u00e0 la saisie ligne par ligne.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aujourd&rsquo;hui, le playground fait un bond en avant avec plusieurs nouvelles fonctionnalit\u00e9s qui le rapprochent d&rsquo;un vrai petit environnement de d\u00e9veloppement l\u00e9ger. Voici ce qui change.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Un \u00e9diteur multi-lignes int\u00e9gr\u00e9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est la nouveaut\u00e9 principale. Jusqu&rsquo;ici, \u00e9crire une fonction r\u00e9cursive ou un programme un peu structur\u00e9 dans le terminal relevait du parcours du combattant : une ligne \u00e0 la fois, sans retour en arri\u00e8re, sans vue d&rsquo;ensemble.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il suffit maintenant de taper <code>edit<\/code> dans le terminal, ou de cliquer sur le bouton <strong>\u270e Edit<\/strong> dans la barre d&rsquo;exemples, pour basculer vers un \u00e9diteur plein \u00e9cran. Une zone de texte propre, en monospace, qui occupe tout l&rsquo;espace disponible.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"303\" data-attachment-id=\"2493\" data-permalink=\"https:\/\/coding4phone.com\/?attachment_id=2493#main\" data-orig-file=\"https:\/\/i0.wp.com\/coding4phone.com\/wp-content\/uploads\/2026\/05\/playground-editor-small.gif?fit=480%2C303&amp;ssl=1\" data-orig-size=\"480,303\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"playground editor small\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/coding4phone.com\/wp-content\/uploads\/2026\/05\/playground-editor-small.gif?fit=480%2C303&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/coding4phone.com\/wp-content\/uploads\/2026\/05\/playground-editor-small.gif?resize=480%2C303&#038;ssl=1\" alt=\"Interface de jeu MOGWAI avec options de code et exemples, sur fond sombre.\" class=\"wp-image-2493\" style=\"aspect-ratio:1.5841868823000897;width:733px;height:auto\"\/><figcaption class=\"wp-element-caption\">MOGWAI Playground avec \u00e9diteur de code int\u00e9gr\u00e9<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quelques raccourcis utiles \u00e0 conna\u00eetre :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tab<\/strong> ins\u00e8re une indentation de 4 espaces (sans perdre le focus, ce qui est loin d&rsquo;\u00eatre automatique dans un navigateur)<\/li>\n\n\n\n<li><strong>Ctrl+Enter<\/strong> lance directement le code sans quitter l&rsquo;\u00e9diteur<\/li>\n\n\n\n<li><strong>\u2715 Close<\/strong> referme l&rsquo;\u00e9diteur et revient au terminal \u2014 le contenu du buffer est conserv\u00e9, on peut y revenir \u00e0 tout moment<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Le code \u00e9crit dans l&rsquo;\u00e9diteur est ex\u00e9cut\u00e9 en un seul bloc, ce qui change vraiment l&rsquo;exp\u00e9rience : on peut d\u00e9finir des fonctions, les appeler, structurer son programme normalement. Et comme le moteur fonctionne en mode <code>keepAlive<\/code>, tout ce qui a \u00e9t\u00e9 d\u00e9fini reste disponible dans le terminal apr\u00e8s l&rsquo;ex\u00e9cution.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Les exemples comme point de d\u00e9part<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avant, cliquer sur un exemple l&rsquo;ex\u00e9cutait imm\u00e9diatement dans le terminal. C&rsquo;\u00e9tait pratique pour une d\u00e9monstration rapide, mais \u00e7a laissait peu de place \u00e0 l&rsquo;exploration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le comportement a chang\u00e9 : cliquer sur un exemple ouvre maintenant l&rsquo;\u00e9diteur avec le code de l&rsquo;exemple pr\u00e9charg\u00e9. On peut le lire, le modifier, l&rsquo;adapter, avant de l&rsquo;ex\u00e9cuter. Les exemples deviennent des templates de d\u00e9part plut\u00f4t que des bo\u00eetes noires.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si l&rsquo;\u00e9diteur contient d\u00e9j\u00e0 du code, une banni\u00e8re de confirmation s&rsquo;affiche avant d&rsquo;\u00e9craser le buffer \u2014 aucune mauvaise surprise.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Charger et enregistrer des fichiers <code>.mog<\/code><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est peut-\u00eatre la fonctionnalit\u00e9 la plus attendue : la possibilit\u00e9 de travailler sur de vrais fichiers, de les sauvegarder entre deux sessions, et de les rouvrir plus tard.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Charger un fichier<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le bouton <strong>\ud83d\udcc2 Load<\/strong> permet d&rsquo;ouvrir un fichier <code>.mog<\/code> depuis sa machine. Sur Chrome et Edge, une vraie bo\u00eete de dialogue syst\u00e8me s&rsquo;ouvre \u2014 celle qu&rsquo;on conna\u00eet depuis n&rsquo;importe quel logiciel. Sur Firefox et Safari, le comportement passe par le s\u00e9lecteur de fichier classique du navigateur, qui fait le travail sans fioritures.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u00e0 encore, si l&rsquo;\u00e9diteur n&rsquo;est pas vide, une confirmation est demand\u00e9e avant d&rsquo;\u00e9craser le contenu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Enregistrer<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Deux boutons cohabitent :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ud83d\udcbe Save<\/strong> enregistre le contenu dans le fichier courant. La premi\u00e8re fois, une bo\u00eete \u00ab\u00a0Enregistrer sous\u00a0\u00bb s&rsquo;ouvre pour choisir le nom et l&#8217;emplacement. Les fois suivantes, l&rsquo;enregistrement se fait directement dans le m\u00eame fichier, sans dialogue \u2014 comme dans un \u00e9diteur classique.<\/li>\n\n\n\n<li><strong>\ud83d\udcbe\u2026 Save As<\/strong> ouvre toujours la bo\u00eete de dialogue, quel que soit l&rsquo;\u00e9tat courant. Id\u00e9al pour dupliquer un script ou le d\u00e9placer dans un autre dossier.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Le nom du fichier courant s&rsquo;affiche dans la barre de l&rsquo;\u00e9diteur, juste \u00e0 c\u00f4t\u00e9 des raccourcis clavier, pour toujours savoir sur quoi on travaille.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Note :<\/strong> la gestion directe des fichiers (Save \/ Save As avec bo\u00eete syst\u00e8me) repose sur la <em>File System Access API<\/em>, disponible uniquement dans les navigateurs Chromium (Chrome, Edge). Sur Firefox et Safari, le bouton Save d\u00e9clenche un t\u00e9l\u00e9chargement classique dans le dossier de t\u00e9l\u00e9chargements.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">En r\u00e9sum\u00e9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le playground reste ce qu&rsquo;il \u00e9tait : un outil l\u00e9ger, sans installation, qui tourne enti\u00e8rement dans le navigateur. Mais il offre maintenant une exp\u00e9rience bien plus confortable pour \u00e9crire du vrai code MOGWAI, le tester, le conserver et le partager.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udc49 <a href=\"https:\/\/sydney680928.github.io\/MOGWAI\/\" target=\"_blank\" rel=\"noreferrer noopener\">Essayer le MOGWAI Playground<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le code source est disponible sur <a href=\"https:\/\/github.com\/Sydney680928\/mogwai\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>, et le moteur MOGWAI est accessible via <a href=\"https:\/\/www.nuget.org\/packages\/MOGWAI\/\" target=\"_blank\" rel=\"noreferrer noopener\">NuGet<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quand j&rsquo;ai publi\u00e9 le MOGWAI Playground en d\u00e9but d&rsquo;ann\u00e9e, l&rsquo;id\u00e9e \u00e9tait 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\u00e9 en WebAssembly. Fonctionnel, mais limit\u00e9 \u00e0 la saisie ligne par ligne. Aujourd&rsquo;hui, le playground fait un &#8230; <a title=\"Le MOGWAI Playground s&rsquo;am\u00e9liore : \u00e9diteur, fichiers et bien plus\" class=\"read-more\" href=\"https:\/\/coding4phone.com\/?p=2490\" aria-label=\"En savoir plus sur Le MOGWAI Playground s&rsquo;am\u00e9liore : \u00e9diteur, fichiers et bien plus\">Lire la suite<\/a><\/p>\n","protected":false},"author":1,"featured_media":1830,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"D\u00e9couvrez les nouvelles fonctionnalit\u00e9s du MOGWAI Playground : \u00e9diteur multi-lignes, chargement de fichiers et une exp\u00e9rience de d\u00e9veloppement am\u00e9lior\u00e9e.","jetpack_seo_html_title":"Nouvelles fonctionnalit\u00e9s du MOGWAI Playground : \u00c9diteur int\u00e9gr\u00e9","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Quand j\u2019ai publi\u00e9 le MOGWAI Playground en d\u00e9but d\u2019ann\u00e9e, l\u2019id\u00e9e \u00e9tait 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\u00e9 en WebAssembly. Fonctionnel, mais limit\u00e9 \u00e0 la saisie ligne par ligne.\n\nAujourd\u2019hui, le playground fait un bond en avant avec plusieurs nouvelles fonctionnalit\u00e9s qui le rapprochent d\u2019un vrai petit environnement de d\u00e9veloppement l\u00e9ger.","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[8,6,48,50],"tags":[],"class_list":["post-2490","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-mogwai","category-rpn","category-scripting"],"jetpack_publicize_connections":[],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfoe4s-Ea","jetpack-related-posts":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/coding4phone.com\/wp-content\/uploads\/2026\/02\/img08.png?fit=782%2C683&ssl=1","_links":{"self":[{"href":"https:\/\/coding4phone.com\/index.php?rest_route=\/wp\/v2\/posts\/2490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coding4phone.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coding4phone.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coding4phone.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coding4phone.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2490"}],"version-history":[{"count":7,"href":"https:\/\/coding4phone.com\/index.php?rest_route=\/wp\/v2\/posts\/2490\/revisions"}],"predecessor-version":[{"id":2498,"href":"https:\/\/coding4phone.com\/index.php?rest_route=\/wp\/v2\/posts\/2490\/revisions\/2498"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/coding4phone.com\/index.php?rest_route=\/wp\/v2\/media\/1830"}],"wp:attachment":[{"href":"https:\/\/coding4phone.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coding4phone.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coding4phone.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}