Dans mon précédent billet portant sur du "hacking" Minitel, je parlais de la
marche à suivre pour héberger un serveur Minitel derrière une ligne
téléphonique, à l'aide d'un modem et d'un serveur applicatif.
Pendant ce temps, j'ai eu l'occasion de suivre les travaux d'Alexandre
Montaron (alias « Ca/\/al »), qui a monté EDTA, son propre serveur
Minitel privé à l'époque où c'était encore le seul mode de communication "en
ligne" accessible au public français.
Lorsqu'il m'a envoyé un mail, il y a six semaines, pour me dire qu'il avait
remis sur pied une machine avec des backups (de fin 1992 !) faisant tourner le
serveur, c'était là une invitation à allumer le Minitel 1B trônant encore sur
mon bureau, rebrancher le câble série, et partir à l'aventure.
J'aurais aussi pu accéder à EDTA en me logguant directement par telnet depuis
une console Linux, mais j'étais désireux de l'expérience d'origine, avec la
poussivité des 1 200 bauds, en niveaux de gris sur l'écran CRT du
terminal d'origine.
À cheval entre deux époques
Le serveur n'est hélas pas toujours actif. Mais lorsqu'il l'est, il est
accessible aussi bien par Telnet (avec une interface similaire à ncurses qu'on
peut utiliser dans un Xterm) que par netcat (redirigé vers un port série pour
un accès en "mode Vidéotex").
C'est un serveur dont on pourrait dire qu'il est à cheval entre deux époques,
l'époque « Minitel » et l'époque « Internet ».
Je n'ai eu l'occasion de m'y connecter qu'une fois, donc il m'est hélas
impossible de publier des photos de mon Minitel affichant EDTA comme j'aurais
souhaité le faire. Mais ce fut néanmoins une expérience particulièrement
fascinante.
La première chose qui frappe est la lenteur de l'affichage. Malgré tous les
efforts d'optimisation du code Vidéotex, on se heurte rapidement aux
limitations du matériel de l'époque. Le débit descendant équivaut à 120
caractères par seconde en l'absence de codes couleur, de lettres accentuées ou
d'effets (pseudo-)graphiques. Il s'agissait d'une époque où il était encore
difficile d'imaginer qu'on puisse disposer trente ans plus tard de connexions
à Internet un million de fois plus rapides et que l'on pourrait rester en
ligne en permanence, le tout sans occuper la ligne téléphonique. Au fur et à
mesure que j'évolue dans les différents menus du serveur, le temps que la page
s'affiche me laisse le temps de réfléchir au choix que je ferai. Le temps
d'affichage invite à la patience et à réfléchir avant de faire son choix,
comme s'il s'agissait d'une partie d'échecs.
Une chose est sûre : il fallait se munir de patience pour se connecter sur ce
genre de serveurs, et se réserver un petit crénau horaire dévoué à la
rédaction de messages sur ce que nous appellerions maintenant un forum. À
l'époque, il fallait exécuter le rituel consistant à composer le numéro du
serveur privé et de prier que ses trois lignes ne soient pas déjà occupées par
d'autres utilisateurs. Enfin, le temps est compté : tout d'abord par France
Télécom (sans objet dans mon cas, car je me connectais via netcat), mais aussi
par le serveur privé, pour assurer une certaine équité entre les utilisateurs
et éviter que trop d'utilisateurs simultanés, que ce soit par cupidité ou par
négligence, s'accaparent les trois lignes téléphoniques dont disposait EDTA à
l'époque. Le système n'hésite pas à déconnecter abruptement tout utilisateur
dépassant vingt minutes de connexion ; le décompte des minutes restantes avant
la fin de la session étant indiqué tout en haut de l'écran.
Une sorte de voyage temporel
C'est néanmoins un drôle de sentiment qui m'envahit lorsque j'arpente les
menus d'EDTA. Le fait que le disque dur de la machine d'origine ait rendu
l'âme et que les seules backups disponibles remontent à fin 1992 donnent une
impression désolée. La lecture des forums témoigne d'une présence assidue des
membres qui étaient encore dessus à l'époque, jusqu'à ce que tout s'arrête
brusquement. Mettre les pieds pour la première fois sur ce serveur
vingt-trois ans après la date de son archivage ne donne pas seulement
l'illusion d'être un étranger, mais aussi celui d'être un voyageur temporel.
D'un seul coup, mon Minitel fait un bip, et le mot « Missive ! »
s'affiche sur la ligne tout en haut de l'écran. Ca/\/al savait que j'étais
là et cherchait à me parler ! Il m'a fallu un peu de temps avant de comprendre
que cette indication signifiait qu'il fallait que je me rende sur la page
« Multi-dialogue » pour lire mon message. Mais lui était
connecté en Telnet, et ayant délibérément choisi l'inconfort du vrai
terminal, je ne pouvais pas naviguer aussi rapidement que lui.
Le système de multi-dialogue qu'a fait Ca/\/al ressemble un peu à une version
dépouillée d'IRC, pour ceux qui savent encore ce que c'est. Imaginez un
logiciel de messagerie instantanée, mais qui n'affiche pas l'historique des
messages. Seuls le dernier message de son interlocuteur et celui qu'on est en
train d'écrire apparaissent à l'écran. De plus, si l'interlocuteur envoie un
autre message pendant qu'on répond au premier, on ne le voit pas
instantanément apparaître à l'écran ; il faut alors abandonner son message en
cours pour le lire, ou le terminer pour répondre de manière décalée à la
missive suivante.
Le système est rudimentaire, mais efficace. Le seul point délicat reste le
clavier du Minitel, qui exige un petit temps d'adaptation et de ne pas
dépasser les 7,5 caractères par seconde du fait du débit ascendant de
75 bauds et l'absence de mémoire tampon entre le clavier et le modem. De
plus, je suis obligé de maintenir la touche "Maj" enfoncée lorsque j'écris,
car le Minitel est en mode « Verr. Maj. » par défaut et n'a pas de touche pour
le désactiver.
Et pourtant, c'est comme ça qu'on communiquait, il y a vingt-cinq ans.
Mode d'emploi
Je finirai sur une note plus technique, pour vous expliquer comment j'ai fait
pour pouvoir profiter de ce serveur avec un vrai Minitel relié à une machine
sous Linux.
Tout d'abord, il faut régler les paramètres du port série. Dans mon exemple,
il s'agit de /dev/ttyS0
; substituez-y le bon chemin, en particulier si vous
utilisez un convertisseur RS232 vers USB. Les réglages se font avec la
commande suivante :
# stty -F /dev/ttyS0 1200 raw cs7 parenb -parodd opost onlcr cread \
hupcl -echo -echoe -echok
Le Minitel active l'écho local lorsque son modem est raccroché (autrement dit,
lorsque la lettre F est
affichée en haut à droite de l'écran). Or, en temps normal, cet écho local
est désactivé et c'est le serveur distant qui s'occupe du "retour" visuel
lorsqu'on frappe au clavier. Il faut donc désactiver l'écho local à la main :
appuyez sur Fnct et T simultanément, relâchez ces touches et tapez
E et c'est chose faite. Sinon, tout ce que vous taperez s'affichera en
double.
Enfin, la dernière étape pour profiter du spectacle est de saisir la commande
de connexion :
# nc edta.hd.free.fr 4586 > /dev/ttyS0 < /dev/ttyS0
Avec un peu de chance, vous tomberez pile à un moment où le serveur est allumé
(il ne l'est pas toujours) ; dans ce cas, il ne reste plus qu'à l'explorer et
à l'admirer.
Conclusion
Le travail de Ca/\/al reste tout de même fascinant, même après toutes ces
années pendant lesquelles on décrétait le Minitel comme obsolète. Mais nos
deux initiatives respectives vont en réalité ensemble : d'une part, j'avais
réussi à mettre en place l'infrastructure nécessaire pour mettre en place un
serveur Minitel ; d'autre part, Ca/\/al fournit une implémentation d'un
serveur Minitel, mais dépourvu en l'état d'interface avec la téléphonie
analogique.
Chapeau bas, en tout cas, pour avoir pris le temps de refaire découvrir les
arcanes d'un tel microserveur Minitel.