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.

TO2026 · EXT 26-103RÉSEAUHTTP · JSON · WSCouper l’alimentationavant la mise en place.N:
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.

INSTRUCTIONEFFET
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 [)
HTTPSTATUSle code HTTP de la dernière réponse (200, 404…)
JSON$(texte$, chemin$) / JSONLENune valeur d’un texte JSON / le nombre d’éléments d’une liste
NET OPEN / SEND / RECEIVE / CLOSEun 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.

PROGRAMME
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"))
next
À L’ÉCRAN
code 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.