C'est vrai, il ne faut pas trop ouvrir la porte. Donc un langage de script limité aux choses de bases : modifier le contenu du document Markdown, réagir à un clic sur une image ou un lien, et c'est à peu près tout. Aucune injection de JS autorisée. Peut-être aussi un text input en bas de page.
Édit : Genre... ça https://yohan.es/swbasic/ ...du bon vieux de la vieille, comme quand j'étais gaminou.
Franchement, soyez honnêtes, c'est débile non ? à la réflexion, je me dis que ce BASIC ne devrait pas prendre la place d'un "mini-JS", mais plutôt d'un "mini-PHP", dans le sens où le flot d'un programme va plutôt ressembler à un fichier PHP, où les PRINT jouent le rôle de "echo" pour sortir du Markdown, et les INPUT joueraient le rôle de d'écouteurs d'événements ; le fait de cliquer sur une image par exemple donnerait à l'INPUT une valeur représentant l'événement "img01 clicked" par exemple, ou bien un texte saisi dans un formulaire, ou une case cochée ...etc. Le code BASIC viendrait se placer dans les balises "codes" de Markdown (triples backticks), et serait caché à l'affichage mais exécuté. On peut même faire des "inclusions" de variables, avec les balises de code inline (simple backtick), du coup on a du template à pas cher ! Bon. On est dingo ou on l'est pas hein.
Oh et après tout ils nous font suer avec leurs callbacks. Go-to, Pré-si-dent ! Go-to, Pré-si-dent ! :jesors:
Édit :
Allez, 00:49 au dodo. J'ai ajouté le unstructured BASIC dans Markdown Games. Voilà mon fichier tests que j'utilisais pour débug, ça montre un peu ce qu'on peut faire :
En fait je me sers du "alt" des images et du "href" des liens pour appeler des subroutines BASIC. Le nom de la subroutine vient juste après le triple backtick d'ouverture, là où on indique généralement le langage de la section code qu'on ouvre. Après, ben c'est du PRINT / INPUT / CLS... à l'ancienne quoi !
Édit : Genre... ça https://yohan.es/swbasic/ ...du bon vieux de la vieille, comme quand j'étais gaminou.
Franchement, soyez honnêtes, c'est débile non ? à la réflexion, je me dis que ce BASIC ne devrait pas prendre la place d'un "mini-JS", mais plutôt d'un "mini-PHP", dans le sens où le flot d'un programme va plutôt ressembler à un fichier PHP, où les PRINT jouent le rôle de "echo" pour sortir du Markdown, et les INPUT joueraient le rôle de d'écouteurs d'événements ; le fait de cliquer sur une image par exemple donnerait à l'INPUT une valeur représentant l'événement "img01 clicked" par exemple, ou bien un texte saisi dans un formulaire, ou une case cochée ...etc. Le code BASIC viendrait se placer dans les balises "codes" de Markdown (triples backticks), et serait caché à l'affichage mais exécuté. On peut même faire des "inclusions" de variables, avec les balises de code inline (simple backtick), du coup on a du template à pas cher ! Bon. On est dingo ou on l'est pas hein.
Oh et après tout ils nous font suer avec leurs callbacks. Go-to, Pré-si-dent ! Go-to, Pré-si-dent ! :jesors:
Édit :
Allez, 00:49 au dodo. J'ai ajouté le unstructured BASIC dans Markdown Games. Voilà mon fichier tests que j'utilisais pour débug, ça montre un peu ce qu'on peut faire :
Code :
| A | B | C |
| - | - | - |
| ![Pierre][héros] | ![Paul][héros] | ![Jacques][héros] |
[Bouton](Paul) [Autre bouton](Jacques)
```Pierre
5 PRINT "Quel est votre nom ?"
10 INPUT "Quel est votre nom", a$
20 PRINT "Enchantier,", a$
```
```Paul
10 cls
20 print "[Cliquez-moi](Pierre)"
```
```Jacques
10 PRINT "Jacouille la fripouille", test$
```
[héros]: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFwAAACBCAYAAABNT92pAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOxAAADsQBlSsOGwAABT9JREFUeF7t3F9olXUcBvApVIT9sRL80x/MNS9qkRXuD5ugM+miUkiWrg7KRlHhtJtYUpYtDEows2YrCI1YagyTqYN0OAVn23FkM8+82NiSCi0qG4oXddEf+D43vy8vvM3O+5zt+HxufEBl8vDynNffec+Z8Pe/CoRmIn4VEhVOpsLJVDiZCidT4WQqnEyFk6lwMhVOpsLJVDiZCicbs6eFlUV3Il2ersHvkMYWXeFkKpxMhZMltuGpDeeRTMu6m5GM3+g5M88g/TcVZVVI0Y71dCKZvjMzkUyuNl5XOJkKJ1PhZFnb8KLqT5HMYOsKJBO32S89/RyS6coMIBm/yX7DK4tnI5nb59chmZ1Na5HM1l3DSIa16brCyVQ4mQono214/aIJSKap5TiS+eHINiTjN9xv7qrls5Ci1dS/hRStPlWCZJo6OEdKusLJVDiZCiejbfjOVxciGX/fHHff7c9C4s5e4u7T414jkrov1xVOpsLJVDhZYhv+wRuVSObXHc8gRfObXV22BMkUz70XKVqm9xSSae1pQzJx5+fa8DylwslUOFnONny0m31L6WIk81t6L1K00W66NjxPqXAyFU6Wsw1/fssJpGip0hEk07h6HZI52PsVkvGvCS3pyUjRml94AMlow/OUCidT4WQ523C/mev3HkIy1aUPIpmhlnqkaIWpJiTTmv4ayTQuDs/j/Xui/jVl5MLvSNmlK5xMhZOpcLIxc5binwuZfMNNSGZk8CCS8WcpfsP9BvvnYvxZijY8T6lwMhVORtvwtjWFSMY/Z/Lm8vuQTNx5uOc33Z+Hv7LrJJLxz7X4sxdteJ5Q4WQqnIy24f4sY+6kCiTTe+kYkonbdC9us/3P2z7cjmSKp4YbrvPwPKHCyVQ4WdY23J99PNowhGT2bwzvw2tnPYJkSh47h2SO75uOZPzGZ34O3/P0G7xm4Wok090TnpWUl4Xvafrf9z8vW5uuK5xMhZOpcLKsbXjtyhok07D2NSTT3h7e9277rBnJVE0J3+P0n71/++MPkcxVvzyFZPwme+8deh/J+I33/J/Xho9TKpxMhZMldh8+ozD8jivv7FD4nVjv1GSQzInh25BM3OcuOzrDZw/7Dv+IZHrObkcyT7x+F5LpPxU+x5L+NvwugNPfhP+vuFy6wslUOJkKJ8vahvvvtGrblEIycefVdVVdSNH8pvv7dM9/ln7z5iIk4zfcS2rTdYWTqXAyFU42Zjb8z3MPI5myGbVIxt9HXz39AJLxz5n4517OXxdeW0cbn0Qy/t/3yffXIhlt+DilwslUOFliZylbL4bvOa66PnzP0X8OM+78e7TfYeWfPz899VYk07lpD5LxzybOW78DyegsZZxS4WQqnIy24VsmPYtk/H12+bKXkYw/+/i/Kho+Qop2ciDc+J/6r0Ey2vBxSoWTqXCyxDa8Ox1+n0nzkgtIZs6C8HzbvwfpXSx/F8n0774RKZp/jfD82czAxM+RjD7jkydUOJkKJ0tsw2f/tQzJ+E31G+75Tfcb7s+nH7oUnn3E0YZfIVQ4mQony9qGe37TvRXTvkQymZKlSNH82YZ/NtE/yzjtnj+QTNzfT2qzPV3hZCqcTIWTJbbhcfzG174Ynp/PK5+PZI52H0EyB/aE3zvoNzkOa7M9XeFkKpxMhZPlbMPvvj/87P2GjXcgmccXHUYyX3QsQDJ1S/uQTK42ebR0hZOpcDIVTpazDb9S6QonU+FkKpxMhZOpcDIVTqbCyVQ4mQonU+FkKpxMhZOpcDIVTqbCyVQ4mQonU+FUBQX/ALJ6I5/VZDKZAAAAAElFTkSuQmCC
En fait je me sers du "alt" des images et du "href" des liens pour appeler des subroutines BASIC. Le nom de la subroutine vient juste après le triple backtick d'ouverture, là où on indique généralement le langage de la section code qu'on ouvre. Après, ben c'est du PRINT / INPUT / CLS... à l'ancienne quoi !