ACONIT-PSTC : Mise en place d’un projet d’archivage logiciel au sein de la collection de l’ACONIT
Publié par ACONIT (Association pour un Conservatoire de l'Informatique et de la Télématique), le 20 janvier 2022 1.7k
Figure d’en-tête : principe de fonctionnement du dispositif de lecture pour archivage des fichiers numériques (logiciels) mis en place par l’ACONIT – source Antoine Hébert, ACONIT -.
par Antoine Hébert, Xavier Hiron, Charles Wolfers
(bénévoles et gestionnaire de collection, ACONIT)
Contexte et objectifs :
L’ACONIT est une association pour un conservatoire de l’informatique et de la télématique qui s’est donné pour but, depuis 1985, de rassembler, conserver et mettre en valeur un échantillonnage représentatif du patrimoine informatique. Son objectif est de positionner cet outil au cœur de la société, en questionnant ses origines, son évolution, ses devenirs. Elle focalise en priorité son attention sur les travaux issus de la communauté scientifique et de recherche grenobloise, très représentative de l’apport de l’informatique française dans le développement de cette discipline encore socialement émergente, mais devenue déjà essentielle au niveau mondial.
Comme le notait Henri Boucher, observateur méticuleux de l’évolution de l’informatique mondiale, la part réellement scientifique, et non pas seulement technique ni commerciale, de cette nouvelle discipline reconnue par l’Académie des sciences, consiste essentiellement en ses contenus logiciels. En effet, un kit de logiciels contient généralement le support langage de toute machine, en même temps que les instructions nécessaires à la mise en route de tout système [i]. C’est d’ailleurs précisément dans ce domaine que les laboratoires de l’IMAG (aujourd’hui fédération de laboratoires regroupés au sein de l’UGA) se sont principalement illustrés durant leur période faste. Il est donc naturel que l’ACONIT se donne pour mission de participer de manière active à la conservation de cette catégorie particulière du patrimoine informatique, comme un élément moteur de la compréhension de cette évolution.
Or, comme d’autres institutions avant elle, l’ACONIT a fait le constat de la perte progressive de l’opérabilité de ce type de supports magnétiques (apparu en 1967) avec le temps. Si la lecture de programmes logiciels peut parfois être compromise, c’est avant tout la perte de l’accès aux codages de ces dits programmes qui constituerait une hypothèque sévère pour les recherches historiques ultérieures, par le biais notamment de la restitution de contextes exécutables. L’ACONIT a donc décidé de tenter d’y remédier en développant une station dédiée à la copie numérique, en vue d’assurer un archivage de sauvegarde de la part active de ses presque 3700 supports logiciels.
Précisons que cette station servant à dupliquer les programmes logiciels pour archivage peut, en toute bonne logique, être utilisée pour récupérer des données conservées sous des formats anciens devenus inaccessibles. Cependant, comme il n’est pas dans les missions de l’association de travailler sur les données externes, cette facette de l’utilisation du système ne saurait être réservée qu’à des prestations à façon.
Conditions de réalisation :
Environnement : Pour réaliser ce projet dédié, l’ACONIT s’est appuyée sur un environnement informatique favorable. La mise en place par Philippe Denoyelle, depuis 2002, du système DBACONIT, a permis, grâce au support de son site internet, de développer une base de données dédiée à la gestion de ses collections, suivant les trois domaines identifiés : machine, document, logiciel. Les fiches individuelles de la base de données pouvant être liées entre elles, les logiciels restent donc en connexion avec leur environnement matériel d’origine. Ces fiches peuvent être illustrées par des médias de différentes natures : image (vignettes), texte, son, vidéo… Les fichiers sources de ces médias, notamment les .jpg, sont archivés au format d’origine sur un serveur maison (un Xserve d’Apple computer Inc., numéro d’inventaire : AC_26049-01) à double sauvegarde interne plus une sauvegarde externe. S’agissant d’un projet de collection, ces copies d’archivage logiciel trouvent donc tout naturellement leur place dans notre médiathèque numérique créée sur Xserve, sous le numéro d’inventaire de leur logiciel d’origine, en vue d’une exploitation future.
Moyens mis en œuvre et premiers résultats :
Pour parvenir à cet objectif, l’ACONIT a choisi de se doter de la solution FluxEngine. Il s’agit d’un logiciel libre fiable et performant développé sous la houlette d’un programmeur indépendant, David Given, et mis à disposition gracieusement sur une plateforme dédiée (voir référence en note). Pour mettre en place ce système de duplication des fichiers, il est nécessaire de s’équiper au préalable d’une barrette spécifique appelée contrôleur FluxEngine [ii]. Sur cet aspect, l’innovation de l’ACONIT a été d’adapter l’outil à son environnement. Outre d’avoir mis en batterie une série de lecteurs couplés à un ordinateur PC « client », c’est-à-dire équipé de la solution logicielle FluxEngine, Antoine Hébert a réalisé une interface cohérente de la ligne de commande, accessible aux néophytes et spécifiquement adaptée à notre usage associatif (archivage de masse). Cette ligne de commande regroupe plusieurs autres logiciels, dans le but, par exemple, d’extraire les fichiers, de les lancer dans un émulateur, etc…
Figures 1 à 3 : la base de la station dédiée consiste en une batterie de lecteurs (en haut) correspondant aux différents formats de disquettes magnétiques à dupliquer (au milieu). En bas, une barrette assure la transmission des données d’encodage – sources Wiki Commons et FluxEngine.
La problématique générale du système FluxEngine tient compte des caractéristiques techniques du medium disquette. L’électronique d’un lecteur ne permet que d’enregistrer des séries de transition de flux magnétique. Le choix de la façon d’encoder un bit est laissée à la discrétion d’un contrôleur externe. À l’origine de l’encodage, chaque fabriquant a réalisé un choix technique différent, notamment pour s’assurer le contrôle de la diffusion de ses produits logiciels (part intellectuelle comprise) [iii]. Ainsi, la « topographie » d’une disquette encodée est habituellement découpée en trois (ou parfois quatre) coordonnées :
1. La piste : c’est un cercle faisant le tour du disque (représenté en saumon, par exemple, sur le schéma ci-dessous) ; la tête de lecture vient se positionner au-dessus d’une piste et la rotation du disque va en assurer la lecture.
2. Le secteur : il définit une « part de gâteau » du disque magnétique ; il englobe donc des segments (ou blocs) adjacents de plusieurs pistes (représenté en violet, par exemple, sur le schéma ci-dessous).
3. Le terme segment (ou bloc, représenté en rose fuchsia, par exemple, sur le schéma ci-dessous) identifie donc l'élément géographique unitaire composant la face d'un disque magnétique.
4. La combinaison de plusieurs segments successifs d'une même piste détermine un « cluster » (représenté en vert, par exemple, sur le schéma ci-dessous), comprenant un en-tête (Header), un bloc de données et un contrôle de redondance cyclique (CRC) pour la détection et/ou correction des erreurs de lecture.
Figures 4 : représentation schématique d’une face de disquette avec Piste (saumon), Secteur (violet), Segment ou bloc (rose fuchsia) et Cluster (vert) ; (une disquette possède deux faces utilisées indépendamment - au mieux, l’une à la suite de l’autre - ; dans certains cas, une seule face est inscrite).
Il résulte de la configuration décrite ci-dessus qu’il existe plusieurs types de paramètres à déterminer et prendre en compte pour être en mesure de décoder une disquette ; ceux-ci sont détaillés dans le tableau ci-dessous [iv] :
Source Antoine Hébert, ACONIT.
(N.B : il existe d’autres formats de stockage magnétique, sur cartes ou bandes ; ceux-ci ne sont pas considérés dans le cas actuel, car ils nécessitent d’autres formes de lecteurs ; surtout, les bandes ont été massivement utilisées pour stocker de la donnée, plus rarement des programmes.)
Le principe de fonctionnement :
Le processus commence par la sélection du lecteur adapté au support physique :
- Disquette 8’’, - Disquette 5’’1/2, - Disquette 3’’1/4, - Propriétaire
Dans le cas de l’ACONIT, la mise en place du dispositif Lecteur de disquette + contrôleur FluxEngine + PC équipé du client FluxEngine est considérée comme acquise (station dédiée).
Les données brutes de durée dirigent le « flux » magnétique vers le PC équipé du client FluxEngine.
Ce PC procède :
- premièrement, à la sauvegarde du flux identifié dans un fichier de type .flux
- deuxièmement, à son décodage pour reconstituer les données binaires, avec éventuellement un décodage hors ligne, optionnel.
- Ce décodage produit une image du Disque générée en fichier *.img
Cette étape est suivie de l’interprétation du Système de fichiers (c’est-à-dire de la norme qui décrit de quelle façon les fichiers sont organisés - avec répertoires par exemple), accessible sur un support de données, afin d’en extraire les fichiers individuels.
La production simultanée de ces éléments autorise l’exploitation des résultats selon le mode représenté dans le schéma ci-dessous :
Source Antoine Hébert, ACONIT.
Conclusion provisoire :
La station dédiée au système ACONIT comprenant trois formats de lecteurs différents a été développée sur PC et mise en place par Antoine Hébert, bénévole au sein de l’ACONIT, dans le courant du deuxième semestre 2021, ce qui a permis d’acquérir les résultats des premiers tests en décembre 2021. Ceux-ci ont permis de vérifier l’efficacité de la production de fichiers numériques pour alimenter des copies d’archivage sur une dizaine de disquettes de jeux ou d’utilitaires, ainsi que la récupération de fichiers anciens pour le compte de l’association Tedimage38. Ces tests ont d’ores et déjà permis d’identifier des zones d’interventions nécessaires à une exploitation ultérieure : restitution de contextes de lecture/écriture compatibles ; récupération de secteurs de programmes défectueux. Par expérience, ce genre d’interventions trouve généralement des solutions pratiques opérantes. Le système est donc déclaré opérationnel et la copie systématique du fonds logiciel de l’ACONIT pourra donc démarrer courant 2022.
Pour aller plus loin :
● Le code source du système FluxEngine est disponible en suivant le lien :
https://github.com/davidgiven/fluxengine
Notes :
[i] un système d’exploitation (OS) est en même temps un logiciel et le support d’exécution de tout ce qui est lancé par la suite (qui ne peuvent donc pas fonctionner seuls). Les logiciels compilés commercialement sont, pour leur part, constitués de données et de codes exécutables spécifiques pour chaque modèle de machine.
[ii] dont le nom exact est Kit de développement microcontrôleur PSoC5 chargé du logiciel FluxEngine.
[iii] des systèmes anti-copie ont généralement été implémentés par les fabricants ou éditeurs de logiciels, en ajoutant par exemple des écarts de codage : suffisamment peu pour que la lecture reste possible, mais assez pour que la copie échoue. Depuis les origines de l’informatique commerciale, les logiciels sont progressivement devenus la spécificité d’éditeurs spécialisés en ingénierie logicielle.
[iv] pour les disquettes les plus utilisées avant leur disparition commerciale en 2011 (PC), le standard était :
Taille : 3’’1/2, Encodage MFM, Densité HD, 80 pistes, double face, 18 secteurs/piste, vitesse 300 tour/min, Système FAT16, ce qui donne une capacité totale de 1,44 Mo, soit environ 20 000 fois moins qu’une clé USB moderne de 32Go.