LE VIRTUAL TO2026 / EXTENSIONS / EXT 26-103
L’interface réseau.
Le module EXT 26-103 ajoute le périphérique N:. Dans l’esprit de FujiNet, le réseau s’ouvre comme un fichier : une page web se lit ligne à ligne, des données partent en POST, un canal WebSocket échange des messages en direct. Le BASIC 2026 ajoute de quoi lire le JSON.
- Référence
- TO2026 · EXT 26-103
- Module
- Interface réseau
- Puce
- N:
- Port
- port d’extension EXT 26-112, sur le côté de l’écran
- Mise en place
- cocher le module dans EXTENSIONS, sur la page Explorer la machine
- PROTOCOLESHTTP(S)
GET et POST, plus WebSocket (ws:// et wss://)
- DONNÉESJSON
extraction par chemin : "vent.vitesse", "jours[1].nom"
- ACCÈSN:
comme un fichier, depuis les deux BASIC
- PASSERELLENET PROXY
pour les sites qui refusent les appels d’une autre origine
01 / CE QU’IL FAIT
Le réseau, comme un fichier.
N: est un périphérique, au même titre qu’un lecteur de disquettes : OPEN "I",#1,"N:https://…" télécharge la page à l’ouverture, puis LINE INPUT #1 la lit jusqu’à EOF. En écriture, ce que PRINT # écrit part en une requête POST à la fermeture du canal. Avec une adresse ws:// ou wss://, chaque ligne écrite part en un message et chaque lecture attend le message suivant.
Un navigateur ne sait pas ouvrir de connexion TCP brute : HTTP passe par fetch, et WebSocket par l’objet du même nom. Un site qui refuse les appels d’une autre origine (CORS) se joint par une passerelle, réglée par NET PROXY ; la passerelle voit passer les requêtes, il faut donc qu’elle soit de confiance. Le texte reçu est converti pour la machine : les lettres accentuées deviennent celles du TO2026, les autres caractères des points d’interrogation.
02 / EN BASIC
Lire, envoyer, écouter.
| INSTRUCTION | EFFET |
|---|---|
OPEN "I", #n, "N:https://…" | lit une page comme un fichier (LINE INPUT #, EOF) ; le BASIC 128 le connaît aussi |
OPEN "O", #n, "N:https://…" | ce que PRINT # écrit part en POST à la fermeture |
HTTP$(adresse$ [, corps$]) | une requête en une instruction ; avec un corps, en POST (JSON si le corps commence par { ou [) |
HTTPSTATUS | le code HTTP de la dernière réponse (200, 404…) |
JSON$(texte$, chemin$) / JSONLEN | une valeur d’un texte JSON / le nombre d’éléments d’une liste |
NET OPEN / SEND / RECEIVE / CLOSE | un canal WebSocket ; NETSTATUS, ON NET CALL |
NET PROXY préfixe$ | fait passer chaque requête par une passerelle |
La réponse est simulée pour la vérification, à l’adresse https://api.exemple.org/meteo.
t$ = http$("https://api.exemple.org/meteo")
print "code"; httpstatus
print json$(t$, "ville"); " :"; val(json$(t$, "temp")); "degres"
for i = 0 to jsonlen(t$, "jours") - 1
n$ = trim$(str$(i))
print json$(t$, "jours[" + n$ + "].nom"); val(json$(t$, "jours." + n$ + ".max"))
nextcode 200 Sofia : 12.5 degres lundi 14 mardi 16
03 / MODULE RETIRÉ
Un câble qu’on débranche.
Retiré du port d’extension, le module EXT 26-103 coupe les requêtes HTTP de la machine : HTTP$ et OPEN "N:" n’ont plus de réseau et répondent Network Error. Les autres fonctions de la machine qui parlent au site, comme AI ON, le disent aussi : « Extension réseau N: retirée ». Le disque 2, le BBS et la connexion ProAdmin passent par d’autres chemins et restent disponibles.