# métamorphose.univ-nantes.fr - préservation de matériels informatiques et logiciels anciens et plate-forme d'expérimentation et de démonstration

Rémi Lehn

► To cite this version:

Rémi Lehn. métamorphose.univ-nantes.fr - préservation de matériels informatiques et logiciels anciens et plate-forme d'expérimentation et de démonstration. GreHack 2016, Nov 2016, Grenoble, France. hal-01591789

HAL Id: hal-01591789

https://hal.science/hal-01591789v1

Submitted on 22 Sep 2017

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY-SA 4.0 - Attribution - ShareAlike - International
License
métamorphose.univ-nantes.fr

préservation de matériels informatiques et logiciels anciens
et plate-forme d'expérimentation et de démonstration

Rémi Lehn¹

9 juillet 2016

¹ LS2N², équipe RIO³, Université de Nantes

² Projet de Laboratoire des Sciences du Numérique de Nantes à horizon 2017, issu de la fusion du LINA (UMR 6241) et de l'IRCCyN (UMR 6597),

³ Projet d'équipe Réseaux et Internet des Objets, du LS2N.

Avec le soutien de la Mission Patrimoine de l'Université de Nantes. Je remercie l'Association pour la Sauvegarde du Patrimoine Scientifique et Technique de l'Université de Nantes pour son aide dans la collecte, la sauvegarde et la mise en valeur du patrimoine informatique de l'Université de Nantes ainsi que pour son soutien dans la rédaction de cet article.

Résumé :

Cet article présente des travaux qui sont tout juste initiés, à l'Université de Nantes, concernant la collecte, la restauration, la sauvegarde, la valorisation et la démonstration de matériels informatiques anciens, correspondant à des usages passés, essentiellement durant le dernier quart du XXème siècle.

Il propose la réalisation d'un dispositif de recueil, d'expérimentation et de diffusion de données et de programmes informatiques historiques, sous la forme d'une interface web en ligne, en cherchant à justifier le besoin d'un tel dispositif.

# 1 Introduction

La sauvegarde du patrimoine scientifique d'une Université est une mission complexe, nécessitant à la fois la collecte, l'entretien, voire la restauration d'équipements souvent expérimentaux, mais aussi leur inventaire, leur documentation, leur exposition, voire l'organisation de démonstrations lors d'événements ou de manifestations culturelles (voir par exemple Catherine Cuenca-Boulat
(1997) décrivant ce qui a pu être entrepris localement concernant les équipements médicaux). Cette sauvegarde pose aussi le problème de la mémoire des usages de ces dispositifs, usages passés certes, mais usages de séries d'équipements qui sont à la fois des témoins d'objets inovants de leurs époques, de pratiques expérimentales souvent bien au delà des limites d'utilisations nominales, de bonnes pratiques environnementales ou de sécurité actuelles. Enfin, elle soulève le difficile problème de la trace des pratiques scientifiques, dans l'histoire d'une Université.

## 1.1 Pratiques de l'informatique et difficultés du rejeu

Dans ce contexte, l'informatique, au carrefour d'une science jeune, d'une course effrénée au progrès technologique, et d'une explosion de la médiatisation de l'information, à un niveau global et mondial, n'échappe pas à ces difficultés.

L'échelle de temps est ici compressée, mais le même type de problèmes que ceux rencontrés par d'autres disciplines universitaires sont rencontrés. Ainsi, il est rapidement très difficile de reproduire des expériences réalisées ne serait-ce qu'il y a une vingtaine ou une trentaine d'années, à cause, par exemple de l'obsolescence du matériel, de l'usage d'une multitude de formats *propriétaires*, dépendants de fournisseurs quelquefois disparus, de contraintes de confidentialité ou de secret de l'information ou de fabrication, et d'une complexité exponentielle traduisant, en termes combinatoires, à la fois un progrès d'intégration (la *loi de Moore*) et une multiplicité de cas d'usages.

## 1.2 Persistance des supports

Enfin, et pour parfaire le tableau, les supports utilisés pour la persistance des informations ont une certaine robustesse, mais, à l'échelle de siècles ou de décennies, constituent, associés à la faible rémanence des pratiques en comparaison avec l'explosion du volume des informations maintenues et échangées globalement (e.g. Internet, Internet des objets, *mégadonnées* (*big data*), ...), une grande faiblesse du dispositif. Le versement dans le domaine public à l'issue d'une période de temps correspondant à un droit d'exploitation d'une invention, l'usage du droit d'auteur dans le cadre du logiciel dans certaines régions du monde ("Foundation for a Free Information Infrastructure E.V. - FFII" 2016), et la prise de conscience de la communauté des informaticiens dans des initiatives comme le *logiciel libre* (Eric S. Raymond 2001; "GNU System, Free Software Celebrate 30 Years — Free Software Foundation — Working Together for Free Software" 2013) constituent des solutions pertinentes mais ne peuvent, à elles seules, constituer des solutions complètes à ces problèmes, dans le cadre de la sauvegarde du patrimoine informatique, à l'échelle d'une université.
## 1.3 Proposition

Cet article propose un certain nombre de dispositifs novateurs, permettant de simplifier et de partager la pratique de la sauvegarde patrimoniale des usages de l'informatique. Ces dispositifs cherchent à combiner à la fois des pratiques correspondant à l'état de l'art de l'informatique actuelle, des sources fiables de pratiques passées et l'utilisation de l'Internet et du World Wide Web pour le partage de ces pratiques. Il a notamment recours à l'usage et la mise en ligne d'émulateurs ("Emu-France" 2016) et d'images de systèmes et de logiciels dans un cadre virtualisé.

# 2 Images de référence

Ces images sont issues de pratiques multiples, mais essentiellement réalisées lors des ateliers annuels organisés dans le cadre de la Fête de la science au mois d'octobre de chaque année (cf. par exemple l'affiche de l'édition 2015), et lors de projets d'étudiants. Elles correspondent à

* des images de disquettes de différents formats, principalement 5"1/4 et 3"1/2,

* des images de référence (par exemple celle utilisée pour faire fonctionner Unix v7 en émulation de DEC PDP-11 sur l'émulateur simh : "Installing V7 on SIMH - Computer History Wiki" 2016),

* des images contenant des utilitaires, de communication principalement (LapLink 3, uucp, {X, Y, Z}-Modem, kermit, ...),

* un certain nombre de programmes créés pour assister la restauration, intégrés sous la forme de formats compatibles avec des équipements, émulés ou réels, d'époque.

Des dispositifs matériels spécifiques sont utilisés pour re-créer ou dupliquer ces images, à l'instar d'un coupleur USB permettant la connexion de lecteurs de disquettes 5"1/4 simple densité datant des années 1980 ou de cables série asynchrones (RS-232) ou de modems (v24, v32, ...), couplés à des systèmes anciens fonctionnant sur émulateurs, ou de systèmes (matériel + logiciel) complets (par exemple des micro ordinateurs 8086 Logabax en état de fonctionnement).

## 2.1 Restauration d'images

Durant les années 2014, 2015 et 2016, les images suivantes ont été restaurées à partir de supports collectées dans l'Université de Nantes :

* MS-DOS 2.11, disquette de démarrage et d'installation, format 5"1/4, 360 Ko. (1989),

* MS-DOS 3.3 (pour ordinateur Logabax), disquette de démarrage et d'installation, format 5"1/4, 360 Ko. (1990)
* Linux Slackware SLS 1.01, format 3"1/2 720 Ko. (4 disquettes) (1992).

Aucune procédure de restauration standard n'a pu être définie. Au contraire, la restauration doit combiner plusieurs approches :

* lorsque plusieurs copies d'un support original sont disponibles, si ces copies sont endommagées, il est souvent possible de restaurer une image conforme à l'original à partir de plusieurs images partielles (contenant des parties manquantes). Cette approche est surtout pertinente, lorsque plusieurs copies sont disponibles, dans le cas de données ou programmes stockés sur des supports magnétiques (disquettes ou bandes), sensibles à des altérations de portions des surfaces de ces supports par des champs magnétiques parasites,

* dans le cas de supports optiques endommagés (CD-ROM, DVD-ROM), en complément du croisement de lectures partielles, l'utilisation d'un scanner optique a été envisagé, mais avec des résultats peu exploitables, liés à la difficulté d'obtenir une lecture optique linéaire, avec des supports très dégradés (en particulier dans le cas de supports gravés),

* la connaissance des formats de stockage de données utilisés (données inter-secteur, systèmes de fichiers (FAT, ISO-9660, ...), données de référence (*magic numbers*) à des positions connues, etc) permet d'une part de repérer les données ou les programmes réutilisables, mais aussi de corriger par-tiellement des erreurs, dans le cas d'une altération correspondant à un motif répété par exemple,

* l'utilisation de procédures de restauration correspondant à l'époque de la constitution des supports (par exemple les commandes génériques DOS `chkdsk` et UNIX `fsck`),

* le complément, dans certains cas, de données manquantes avec soit des motifs aléatoires, soit des *zéros*, soit, lorsque les données manquantes peuvent être identifiées et qu'elles sont connues, une copie de ces données.

## 2.2 Images de référence

D'autres images ont été construites à partir d'archives de référence (provenant par exemple de Sven Mascheck 2014; Albert S. Woodhull 2006), voire reconstruites à partir de sources, surtout dans le cas de logiciels libres et de GNU/Linux pour lesquels historiques (par exemple ("Linux Distributions Overview" 2005)), sources et guide de compilation sont disponibles.

Enfin, dans certains cas, des supports originaux (ROMS, disquettes, bandes magnétiques ou disques durs) étaient réutilisables tels quels. Ainsi, quelques ordinateurs des années 1980 (Thomson TO7, TO7-70, Apple II, Matra Alice, Apple Mac) ont pu être remis en fonctionnement, en utilisant des supports originaux ou des copies directes.
# 3 Démonstrations de matériels

Les matériels suivants ont pu être mis en fonctionnement, lors d'ateliers ouverts au public (liste non exhaustive) :

* Matra Alice (1984),

* Thomson TO7 et TO7-70 (1985),

* DEC VT-330 (1988) en accès distant à un système Unix v7 émulé,

* plusieurs Logabax persona 1600 (1985) sous MS-DOS 2.11 et 3.3,

* un clone PC 8086 de la fin des années 80 sous MS-DOS 3.3,

* Toshiba T3200 SX (1989), sous MS-DOS 4.01, Minix 1 et Linux 0.99,

* Mac Intosh Classic (1990),

* Minitel (fin des années 80 et années 1990) : matra communication tte 315, telic Alcatel, minitels 1 et 2, affichant des copies de pages videotex originales et quelques applications réécrites (jeu de morpion, accès à l'emploi du temps étudiant),

* Compaq contura aero 4/25 (1994), faisant tourner un Debian GNU/Linux *potato* incluant X-Window et twm,

* SGI O2 sous IRIX 6 (1997).

Il s'agit de matériel d'origine, fonctionnant avec des supports d'origine ou restaurés.

Ces ordinateurs ont été mis en réseau, principalement en utilisant des liaisons série, au moyen de câbles reconstruits. Les logiciels de mise en réseau utilisent principalement les protocoles *Laplink 3*, *UUCP* et *X-Modem*.

Dans le cas des minitels, un serveur a été construit à partir d'un système GNU/linux actuel, les minitels se comportant comme des terminaux textuels. Des applications de démonstration ont été construites au moyen de pages textuelles ou videotex spécialement construites.

De nouveaux équipements ont été collectés et des démonstrations sont en préparation. En particulier, un Sinclair ZX-81 et un Thomson MO5 en parfait état de conservation ont été collectés. Des démonstrations à partir de ces matériels sont envisagés, en particulier une démonstration d'un *nano-réseau* de Thomson TO7 et MO5, tel que ces réseaux se pratiquaient lors du plan informatique pour tous dans les années 80.

# 4 Émulation

La préparation de démonstrations et la restauration d'images impose souvent le recours à des émulateurs de systèmes anciens. En particulier *Xtel* (Pierre Ficheux 2002) pour l'émulation de minitels, *DOSBox* ("DOSBox, an X86 Emulator with DOS" 2013) pour l'émulation d'anciens PC sous MS-DOS, *SIMH* ("The Computer History Simulation Project" 2012) pour l'émulation de mini ou gros
ordinateurs anciens (en particulier DEC PDP-11) et Qemu (Fabrice Bellard 2016) pour l'émulation d'architectures plus récentes.

Des ports de communication, généralement sous la forme de ports série émulés et redirigés vers des sockets UNIX (permettant l'accès à ces ports de communication par d'autres processus du système hôte), des interfaces d'accès (terminaux, écran, clavier ou souris intégrés à l'affichage du système hôte) et des entrées-sorties vers des images de disques ou de bandes stockés dans des fichiers du système hôte sont configurés, afin de permettre la communication avec le système émulé.

Dans certains cas, des systèmes émulés sont interconnectés entre eux (par exemple un ou plusieurs émulateur(s) de minitel connecté(s) à un émulateur de serveur videotex). De même, dans certains cas, des émulateurs sont interconnectés à des systèmes distants, émulés ou natifs.

## 4.1 Conclusion : vers un “émulateur universel” en ligne

Le besoin d'un site permettant de conserver et de mettre à disposition à la fois des images disques, des démonstrations en ligne des systèmes anciens ainsi qu'une plate-forme de tests, d'intégration et de restauration s'est fait rapidement sentir.

Aujourd'hui l'ensemble des émulateurs peut fonctionner sur un même type de système hôte, éventuellement projetable dans un environnement de type *cloud*. Certains des composants importants de ces émulateurs sont également disponibles sous la forme de code *JavaScript*, directement exécutable dans le contexte d'exécution d'un client web. Citons notamment l'initiative *emscripten* ("Main — Emscripten 1.36.5 Documentation" 2015) permettant de compiler des programmes (dont des émulateurs) pour une exécution directe sur un client web, y compris en utilisant, en édition de liens, des portages de bibliothèques telles que SDL pour l'affichage 2D. Certains émulateurs sont d'ores et déjà disponibles sous cette forme (par exemple "Dreamlayers/em-Dosbox" 2016; ou Fabrice Bellard 2013).

Une des perspectives de ces travaux est donc d'intégrer les pratiques de restauration et de démonstration dans une interface web en ligne, en incluant la possibilité d'exécuter des émulateurs de systèmes anciens à distance ou en intégration dans une interface web. La possibilité d'interconnexion de ces systèmes et la réalisation d'images instantanées (*snapshots*) de supports de stockages permettra également à la fois de simplifier la restauration de supports de stockage, l'expérimentation des systèmes en vue de leur étude ainsi que la simulation d'infrastructures anciennes.
Références

Albert S. Woodhull. 2006. "The Minix 2 Hints Page." July 7. http://minix1.woodhull.com/hints.html.

Catherine Cuenca-Boulat. 1997. "À L'université de Nantes : Premiers Repérages Du Patrimoine Santé." *La Lettre de L'OCIM*, N°53.

"DOSBox, an X86 Emulator with DOS." 2013. https://www.dosbox.com/.

"Dreamlayers/em-Dosbox." 2016. GitHub. https://github.com/dreamlayers/em-dosbox.

"Emu-France." 2016. Emu-France. Accessed July. http://www.emu-france.com/?page_id=1.

Eric S. Raymond. 2001. *The Cathedral & the Bazaar*. O'Reilly.

Fabrice Bellard. 2013. "Javascript PC Emulator." http://bellard.org/jslinux/. — 2016. "QEMU." Accessed May 11. http://wiki.qemu.org/Main_Page.

"Foundation for a Free Information Infrastructure E.V. - FFII." 2016. https://www.ffi.org/.

"GNU System, Free Software Celebrate 30 Years — Free Software Foundation — Working Together for Free Software." 2013. September 6. https://www.fsf.org/news/gnu-system-free-software-celebrate-30-years.

"Installing V7 on SIMH - Computer History Wiki." 2016. http://gunkies.org/wiki/Installing_v7_on SIMH.

"Linux Distributions Overview." 2005. http://openskill.info/topic.php?ID=157.

"Main — Emscripten 1.36.5 Documentation." 2015. http://kripken.github.io/emscripten-site/.

Pierre Ficheux. 2002. "La Page de Xtel." http://pficheux.free.fr/xtel/.

Sven Mascheck. 2014. "Historic Unix Releases." May 11. http://www.in-ulm.de/~mascheck/various/ancient/.

"The Computer History Simulation Project." 2012. December. http://simh.trailing-edge.com/.