Émulation Serveur Minitel sur le web

Bonjour,

J’aimerai rendre mon serveur minitel accessible sur un navigateur en local (web si possible).
Je sais que dans miedit l’émulateur est tout fait avec le clavier et l’écran d’affichage.

Le dossier de mon serveur contient le script de distribution des pages et un dossier où sont contenues les pages.

Question : Comment faire interagir cet émulateur avec mon script en python ?

La communication se fait par websockets.

Tu peux récupérer le code HTML/JS sur 3611.re, j’ai pas mal allégé.

Windows n’est pas compatible avec websockets je présume ? Je n’ai qu’un raspberry pi

A priori je n’ai aucune ligne à modifier dans le fichier HTML (view-source:http://3611.re/)
Par contre dans le fichier minitel-3611.js (http://3611.re/app/minitel-3611.js) j’ai repéré une ligne qui semble correspondre au websocket

minitel( « minitel-screen », true, 1200, « miedit », « minitel-bip », « ws://3611.re/ws » )

cela ressemble à une URL.

Je n’ai trouvé, en enregistrant la page web 3611co.de, aucun script python comme celui example_annuaire.py qui existe dans pynitel
A quel moment doit-on spécifier l’interaction avec le fichier python ?
Pas besoin d’un logiciel particulier pour exécuter du javascript, un simple navigateur suffit ?

Les websockets fonctionnent sûrement sous Windows, mais comme je ne touche plus à Windows depuis bien longtemps je ne peux t’en dire plus, ni tester (sauf sur un XP SP2).

Oui, le ws://3611.re/ws est l’URL du websocket où l’émulateur va aller se connecter.

De l’autre côté, le code python de pynitel a une branche « websockets » https://github.com/cquest/pynitel/tree/websockets (oui, il faudrait que je mette ça au propre) qui au lieu d’utiliser le port série va répondre aux appels sur un websocket.

Exemple: https://github.com/cquest/pynitel/blob/websockets/3611.py#L336

Pour le javascript, il suffit d’ouvrir le fichier HTML, le javascript va s’executer et se connecter au websocket, etc, etc…

Okay,

Merci pour toutes ces explications, je vais essayer d’y faire fonctionner :slight_smile:

Je vous tiens au courant :wink:

Bonjour, j’ai essayé d’installer l’émulateur de Minitel sur mon site web, tout va bien de son côté, mais je n’arrive pas à utiliser le serveur websockets. J’ai utilisé le script test-ws.py de @cquest mais à l’éxécution du script j’ai une erreur de type :

Firefox ne peut établir de connexion avec le serveur à l’adresse wss://example.com/:3615 (erreur 404)

Mais le ‹ C › apparaît dans le coin supérieur gauche.

Dans test-ws.py :

websockets.serve(test, 'localhost', 3615)

Dans le javascript, l’adresse est :

ws://example.com/:3615

Pourriez-vous m’aider pour la configuration svp ?

« ws://example.com/:3615 » est incorrect, la bonne syntaxe est « ws://example.com:3615/ ».

Bien sur « example.com » doit etre remplace par l"IP ou le host de ton serveur.

J’avais déjà essayé ceci, je viens de retester, même résultat, mais le ‹ C › est remplacé par un ‹ F › et la requête n’aboutit plus à une 404, il n’y a aucun code de retour, comme si elle n’était pas envoyée.

test-ws.py écoute sur le port 3611 dans le code original dispo sur github

Donc ws://localhost:3611 devrait fonctionner en local.

Par contre, il faut bien sûr faire tourner le code « serveur » python pour que le client javascript puisse s’y connecter… donc:

python3 test-ws.py

Oui j’avais modifié le script en remplaçant par 3615 (voir le code dans mon premier message).
Je fais tourner le python bien sûr quand j’essaie de me connecter.

Bonjour,

J’ai téléchargé la page HTML du 3611.re avec les script JS.
Dans le script JS j’ai changé l’adresse localhost par l’adresse de mon raspberry sur mon réseau local.

Je lance le programme par la commande python3 test-ws.py après avoir là aussi renseigné l’adresse de mon raspberry pour le websocket.

Dans mon navigateur web, j’ouvre la page HTML, mais la page minitel ne s’affiche pas. Par contre si je recharge la page web dans le navigateur, j’obtiens un message dans le terminal où tourne actuellement test-ws.py me disant que pour on ne sait quelle raison, l’utilisateur qui consultait le service s’est déconnecté.

Bref du coup, après avoir raffraichit la page, j’immagine que la page minitel de l’annuaire s’affiche, et je tape ma recherche comme si de rien n’était.

BRANLARD « SUITE » « SUITE » ALLIGNY « ENVOI »

Ce que j’ai tapé, dans mon navigateur a bien été envoyé au programme test-ws.py, et ma saisie s’affiche en effet dans le terminal.

Donc la communication avec l’émulateur et le websocket fonctionne, mais je ne peux pas voir la page minitel s’afficher. Pourquoi ?

Bon, ça vient doucement, à force de manoucheries, on va bien finir par y arriver ! :smiley:

2 J'aimes

Websocket2Minitel permet de connecter un minitel local à un serveur qui fonctionne en websocket.

@cquest Est-ce que ce programme serait-il réversible ? :thinking:

Oui, sur le principe il suffit d’inverser le code… mais il y aura sûrement des trucs à gérer comme l’appel