Ressortez vos Minitels, le micro-serveur COMPUTEL est de retour !

Pour les impatients… le serveur est joignable au 01 8421 8116

(english translation available)

Après plus de 30 ans de sommeil et 5 ans après l’arrêt “officiel” du Minitel (en réalité l’arrêt du “kiosque Télétel”, les fameux 3615 et autres) voici comment j’ai remis en route mon micro-serveur COMPUTEL sur Apple IIe dans sa version de fin 1986…

Back to 1984…

Mon tout premier Minitel (ou plutôt celui de ma grand-mère)

Les premiers Minitel commencent à être distribués en région parisienne gratuitement en replacement de l’annuaire papier. Je me souviens d’être allé chercher un Minitel grâce à l’abonnement téléphonique de ma grand-mère… c’est un Matra que j’ai toujours !

Comme j’ai un Apple IIe depuis que j’ai pu économiser pour remplacer mon TRS-80 que j’ai depuis 3 ans, mon investissement suivant est une carte Apple Tell.

Carte très coûteuse à l’époque, plus de 6000 F, car elle intègre en fait l’essentiel de l’électronique d’un Minitel dans un Apple II.

On a bien sûr le modem V23 (1200/75 bauds) et aussi toute la partie vidéo qui permet d’avoir une vraie image identique à ce qu’on a sur un Minitel, via une sortie sur prise Péritel (donc couleur) et vidéo composite.

Très chère carte Apple Tell qui sera du coup (très bien) copiée. Au radio-club où je bidouille quasiment chaque semaine j’achète donc un “cuivre”, c’est à dire le circuit imprimé nu, avec la liste des composants à souder… composants que l’on trouve dans les magasins d’électronique parisiens (à ma connaissance tous ont fermé depuis). Je soude tout ça patiemment et voilà mon Apple II qui peut faire office de Minitel.

PDF disponible sur http://apple-iigs.info/doc/fichiers/pubappletell.pdf

Ce qui m’intéresse c’est surtout la possibilité d’en faire un serveur, c’est à dire d’être appelé par des Minitel car il n’était pas indispensable de passer par les fameux “361x” comme le 3615* pour se connecter avec son Minitel à un serveur. Le coût de connexion était du coup juste celui de la communication téléphonique qui, à l’époque, était forfaitaire en local avec une “taxe de base” de 0,73F quelle que soit la durée.Bien sûr ça n’a pas duré, France Télécom est de mémoire passé à une taxe toutes les 20mn puis 10mn…

Hello Informatique, la société qui a commercialisé cette carte conçue par Roland Moreno (le papa de la carte à puce) a documenté les points d’entrée de sa ROM pour permettre de développer des logiciels. Quelques logiciels comme Fakir, Télébasic, Télépom ont donc été disponibles.

Je ne sais plus pour quelle raison je décide d’écrire le mien, sûrement parce que je n’étais pas satisfait de ceux disponibles… et me voilà à programmer mon propre logiciel pour écrire des serveurs vidéotex en m’appuyant sur la documentation de ces fameux points d’entrée.

Cristel

Christian + Minitel, ça fait Cristel !

L’idée est simple: ajouter de nouvelles instructions au BASIC Applesoft de l’Apple II en les rendant faciles à utiliser et c’est possible car Apple a prévu un mécanisme permettant d’étendre son langage avec le “&”

Cristel ajoute donc un &PRINT qui fait la même chose qu’un PRINT, mais sur le Minitel connecté… et c’est plus d’une vingtaine d’instructions qui sont ainsi ajoutées pour écrire en langage BASIC son serveur: &PRINT, &INPUT, &COLOR, &HOME, etc.

Extrait du manuel de Cristel

Cristel, lui, est écrit en assembleur 6502. Son code est très optimisé (j’ai souvenir de nuits bien remplies pour économiser quelques octets) les premières versions tiennent dans 700 octets et le code source des versions les plus récentes fait à peine plus de 1000 lignes et moins de 2Ko.

COMPUTEL

J’écris donc la logique de mon serveur en BASIC… attente d’un appel (&WAIT), affichage de la page d’accueil, puis d’un sommaire pour choisir entre différents “services”: le site du club informatique que j’avais créé, des jeux, une messagerie (non, pas rose), etc.

Mon serveur est donc un Apple IIe, allumé 24h/24 et comme les appels sont nombreux je fais ouvrir une deuxième ligne de téléphone dédiée.

Voici le menu général de COMPUTEL en mai 1985…

En 1985 je n’avais pas de logiciel pour créer des écrans vidéotex (trop chers), j’avais donc écrit le mien “Rembrant” qui, comme vous le voyez, ne gérait pas du tout couleurs et niveaux de gris ni caractères semi-graphiques !

C’était plus proche du BBS que du vidéotex, mais il faut bien débuter…

Les micro-serveurs… et l’AMISERV

Sur ce menu général, le choix 5 “Serveurs Minitel” permettait d’accéder à une liste d’autres serveurs que d’autres bidouilleurs avaient montés. Beaucoup fonctionnaient sur Apple II, puis vint ceux sur Telestrat (un Oric Atmos doté d’un modem), PC, Atari… un petit réseau de copains eux aussi sur Apple II ont commencé à utiliser mon logiciel Cristel.

Nous avions au final créé l’ “Association des MIcro-SERVeurs”, l’AMISERV et l’annuaire de ces micro-serveurs se remplissait petit à petit et on le retrouvait sur plusieurs micro-serveurs.

Voici quelques pages d’accueil retrouvées (cliquez sur le lien): ADN, CIDER1, Cosmos6502, Evil Dead, Kaezo, Mestel

Voir l’article wikipédia sur les micro-serveurs Minitel

Du hobby à l’entreprise…

Cristel commençait à avoir du succès, existait en 8 versions (pour DOS ou ProDOS, carte Apple Tell, modems Digitelec, Minitel retourné) et l’idée de créer une entreprise est venue, pour commercialiser ce logiciel et la création de serveurs, puis aussi l’hébergement de services.

Cristel servira aussi à créer “MiniPlus”, petit logiciel Apple II permettant d’enregistrer les pages consultées sur Minitel pour les relire sans être connecté.

Cette société c’est “JCA” (initiales des 3 fondateurs), créée en août 1985. JCA Informatique, qui devient JCA Télématique puis JCA tout court quand en 1995 nous mettrons le doigt dans l’engrenage d’Internet…

Ceci donne plus de moyens, du coup achat d’autres Apple II, de logiciels de composition de pages (Protext mais surtout Sourigraph), d’un disque dur partagé en réseau (Corvus Omninet de 11Mo !).

COMPUTEL devient un “centre serveur multivoies”, c’est à dire 4 voies… 4 Apple II, 4 lignes de téléphone, le tout interconnecté par ce disque-dur.

Il basculera vers 1987 sur Macintosh avec Dragster, je vous raconterai ça sûrement dans un autre article…

Escale technique en 2012

29 juin 2012 pour être très précis… c’est la date où Orange a arrêté le kiosque Télétel, info qui a été souvent reprise par les médias comme “l’arrêt du Minitel”.

Mais non, ce n’est pas “l’arrêt du Minitel”, car le Minitel c’est le terminal, cet arrêt c’est celui de Télétel, des 361x… et on peut toujours faire un serveur sans passer par le kiosque comme nous le faisions à l’époque !

C’est ce que j’explique lors d’une soirée organisée par La Cantine à Paris à l’occasion de cette date historique. J’y rencontre Julien, chercheur américain et je découvre qu’il s’occupe d’un musée du Minitel… aux USA. J’étais venu ce soir là avec des Minitel, un modem Dragster et son manuel mais aussi un exemplaire de mon logiciel Cristel et de son manuel que je donne du coup à ce musée.

Ma petite expo Minitel lors de la soirée “Connexion/Fin” du 29 juin 2012 à La Cantine — Logiciel Cristel et son manuel à gauche, Modem Dragster et son manuel au milieu

Nous restons ensuite en contact et l’idée de refaire tourner un serveur me trotte dans la tête depuis. En réalité, j’avais voulu refaire fonctionner en local un serveur Dragster sur Macintosh pour cette soirée, mais il me manquait un modem “maître” qui servait en fait de protection hardware au système Dragster…

Mon plan B sera un petit hack Minitel+Arduino qui affichait chaque tweet avec le hashtag #ripminitel sur un minitel.

N’ayant plus d’Apple II, je n’ai même pas envisagé à ce moment de remonter dans les années 80.

Retour en 2017… la restauration de COMPUTEL

En 2017, Julien finalise un livre sur le Minitel, livre publié cet été… et c’est le déclencheur de cette restauration de COMPUTEL.

Depuis des années, traînaient dans quelques cartons mes disquettes 5"1/4 Apple II. Elles n’ont pas franchement été stockées dans des conditions optimales… humidité, poussière, quelques souris… aucune idée si elles sont encore lisibles et cela fait des années que je n’ai plus d’Apple II.

Donc… petit tour sur ebay pour voir combien se vend un Apple II. Un Apple IIc est disponible pour 150 euros… c’est le premier d’une série d’achats ;)

Vite branché dès sa réception, la lecture des disquettes ne pose pas trop de problème à part l’encrassement rapide de la tête de lecture qui fait à la fois office de tête de décapage !

Je découvre que les bidouilleurs d’Apple II ne sont pas si rares, que du hardware est toujours développé et commercialisé comme des cartes Ethernet, des adaptateurs vidéo, des cartes accélératrices (ça change du 6502 à 1MHz) mais aussi des émulateurs de lecteurs de disquette ou disque dur.

Donc achat d’un “Floppyemu”, puis d’un Apple IIe, d’une carte Apple Tell (moins de 25€ finalement aux enchères sur ebay… loin des 6000F de l’époque), d’une carte souris (il me reste la souris, identique à celle du Macintosh Plus).

J’ai tout le hardware nécessaire pour remettre COMPUTEL en route… il faut juste retrouver dans mes disquettes une copie complète et lisible de la partie software… en ne lésinant pas sur l’alcool et les cotons-tiges !

J’en retrouve plusieurs complètes :

  • une de mai 1985 qui venait de l’époque “hobby” sur 2 disquettes
  • une de fin 1986 donc époque JCA qui est une sauvegarde du contenu du disque-dur partagé par les 4 Apple II.

Je retrouve aussi au passage la copie de deux autres serveurs de copains qui deviendront des associés… Barcet Service de Nicolas Barcet, et Cosmos6502 de Jean-Marc Danton et Laurent Dumonteil.

La restauration de la sauvegarde de COMPUTEL (30 faces de disquettes) de fin 1986 est une petite aventure détaillée dans un autre article.

Je retrouve aussi le code source 6502 de Cristel… que j’ai du coup publié sur github !

Une ligne téléphonique… VOIP

Voilà l’Apple IIe prêt avec sa carte Apple Tell, son Floppyemu qui émule un disque dur avec le contenu de la sauvegarde restaurée.

Je me connecte en “local”, c’est à dire en branchant directement un Minitel sur la prise téléphonique de la carte Apple Tell après une petite bidouille oubliée mais qui était très bien expliquée dans le manuel de Cristel que j’avais écrit il y a plus de 30 ans (RTFMYW — Read The Fucking Manual You Wrote)… et le serveur fonctionne immédiatement tout comme il y a plus de 30 ans !

La page d’accueil d’époquede COMPUTEL… les numéros ont changé, l’actuel est le 01 8421 8116

Il ne manque plus qu’une ligne téléphonique pour permettre les appels vers ce serveur pour tous. Je fais une tentative avec la sortie téléphonique analogique de ma freebox, mais les résultats sont peu concluants. Le problème vient des codecs utilisés en VOIP qui compriment la voix et sont peu adaptés à faire passer les modulations d’un modem. Sur la freebox, on ne peut pas changer le codec (le plus adapté est le G711).

Encore un petit tour sur ebay pour l’achat d’un adaptateur VOIP Linksys PAP2T d’occasion qui, lui, permet de tout régler (c’est même presque trop) en me connectant sur le compte SIP fournit avec toute ligne free (z’ont tout compris).

Avec un autre bidouilleur de videotex (zigazou) nous trouvons les bons réglages. Puis c’est Jelora qui arrive à se connecter… donc c’est bon 2/2.

L’envers du décor… Apple IIe Platinum (carte Apple Tell), Floppyemu et Linksys PAP2T pour la VOIP

Comme en 1985… une ligne dédiée est nécessaire donc je commande une ligne VOIP chez OVH, car ça ne coûte presque rien (0,99€ HT/mois). Après quelques péripéties technico-administratives, j’ai enfin mon numéro…

01 8421 8116

L’adaptateur VOIP est opérationnel. Il gère en plus deux lignes, ce qui me permet de me connecter depuis un Minitel sur ma ligne free sur le serveur branché, lui, sur la ligne OVH.

Dernière petite modif avant la mise en ligne… la mise à jour de la page d’accueil pour remplacer l’ancien numéro par le nouveau… et là je fais ça à l’arrache en éditant directement le code hexa (le videotex c’est comme le vélo, ça ne s’oublie pas) !

Mais pourquoi donc ?

Tout d’abord pour le fun… et pour le challenge technique ainsi que la préservation d’un pan de notre culture commune (le Minitel) mais aussi technique qui malheureusement a été passée par pertes et profits en 2012.

Il reste peu de contenu accessible, alors qu’il y a eu jusqu’à 25000 services sur le kiosque Télétel !

De nombreuses entreprises ont développé des logiciels, du matériel et très peu de ceci semble avoir été conservé, préservé, archivé. C’est l’effet de bord du numérique et de la dématérialisation ainsi que l’évolution si rapide de la technologie qui fait qu’on a du mal à relire des supports informatiques au bout de quelques décennies (j’ai plus de mal à relire des CDR ou DAT de 1998 que des disquettes de 1986).

La suite… le retour des micro-serveurs ?

Des millions de Minitel dorment dans les placards, les caves, les greniers… on en trouve parfois (de moins en moins) sur les vide-grenier, et il y en a toujours à vendre sur ebay ou leboncoin (parfois un peu cher pour ce que c’est).

Les conditions ne semblent finalement plus favorables aujourd’hui au développement de micro-serveurs qu’il y a 30 ans. Bien sûr ce sera marginal, mais nos communications téléphoniques ne nous coûtent plus rien

Un simple Minitel 2 auquel on ajoute un Raspberry PI voire un Arduino peut faire office de serveur et une ligne VOIP ne coûte presque rien.

Pour ma part, j’ai une liste de projets potentiels :

  • côté Apple II: faire évoluer Cristel pour qu’il fonctionne avec un simple Minitel 2/12 (car ces modèles possèdent un module téléphonique qui permet la détection de la sonnerie du téléphone)
  • encore sur l’Apple II… fusionner les serveurs Barcet Service et Cosmos6502 avec COMPUTEL
  • toujours côté Apple II, faire fonctionner mon serveur dans un émulateur (comme linapple sous Linux) et permettre une connexion via Internet avec l’émulateur vidéotex développé par zigazou
  • côté Macintosh: restaurer un serveur Dragster (fait !)… j’ai déjà restauré le contenu du serveur depuis un CD-R de backup de fin 1998. Il me faut par contre résoudre ce problème de modem maître. Une piste est de recompiler une version de Dragster sans contrôle de la présence de ce modem. Il faut donc replonger dans MPW, MPW Pascal. Une autre consiste à retrouver dans mon fourbi, la fameuse EPROM qui me permettait de faire le changement… je dois bien l’avoir quelques part vu que je ne jette pas grand chose ! La recompilation sera sûrement plus simple ;)
  • un version Python de Cristel… pour développer facilement des serveurs en python, et micro-Python (je pense à des hardware de type ESP8266)
  • monter un musée du Minitel… en France ;)

Ont participé à cette restauration…

… parfois sans le savoir :

  • Antoine (la carte Apple Tell… et pas que)
  • jelora
  • Julien
  • zigazou

Christian Quest / @cq94 sur Twitter / @cquest@amicale.net sur Mastodon