Quand la technologie était artisanale...
Je ne suis pas, bien sûr, de la génération des vrais pionniers de l'histoire de l'informatique. Elle fut marquée par une concentration, progressive dans le temps, des évolutions de la technologie des machines, prenant ses racines dans la nuit des temps. L'histoire avec un H est longue ; elle ne peut être que bien générale. Ce petit texte à la marge et à la première personne, pour témoigner d'un temps pourtant très particulier que certains ont pu vivre. D'un début et d'une fin.
Il faut resituer le contexte pour bien comprendre. Je parle d'un temps où il n'y avait pas d'intégration de la technologie dans les usages quotidiens. Tout au plus une télévision et une machine à laver. D'un temps où la notion de service n'était pas omniprésente. D'un temps où on pouvait donc trouver une machine, muette, sans qu'on puisse dire à quoi elle pouvait bien servir.
Et je l'ai donc trouvée là, un matin de noël, posée entre un magnétophone à cassettes et un poste de télé noir et blanc.
Je l'ai allumée. Écran blanc sur lequel on pouvait distinguer quelques agitations électromagnétiques, avant que ne s'affiche, quelques secondes plus tard, un petit carré noir en bas à gauche de l'écran.
Rien de plus. La machine était là. Mon père m'a dit qu'on pouvait lui parler. Je parlais aux gosses de mon âge, à mon chien, et à mon chat aussi. Mais parler à une machine...
J'ai immédiatement trouvée l'expérience extraordinaire. Elle ne disait rien. Elle attendait. Personne ne savait. Pas une pub, pas un mot dans les cours d'école. Alors je la regardais en silence, en me posant la seule question qu'on peut se poser dans un cas aussi inédit, surtout quand on a 10 ans : qui y a t-il derrière à attendre ?
Bien sûr j'ai appris à lui parler. Un langage simple qu'il fallait connaître d'abord, pour que le résultat soit là. Infaillible. Constant. Par nuit, vent, hiver. Mon premier programme fut de lui faire deviner mon âge. Qui se serait aussi méticuleusement intéressé à mon âge ? J'ai compris que je pouvais jouer avec elle. Qu'elle était là pour ça.
Le langage sous le voile
Le temps passant je me rendais compte qu'il y avait quelque chose qui n'allait pas. Les instructions, je savais lui donner. Elle les comprenait. Pourtant je ne lui disais pas comment les comprendre. Elle le faisait toute seule. Ah.
Ce n'est pas l'école qui m'a fait me diriger (c'est aussi une autre histoire) vers le rayon livres des boutiques avec autant de faim. Rosae rosarum. C'est précisément le besoin de combler l'ignorance d'un phénomène que j'avais sous les yeux. Qu'on se le dise de la manière la plus claire : le désir d'apprendre commence aussi par la rareté de l'information.
Et c'est bien un livre qui m'a appris qu'il existait un langage sous le voile : un langage machine. Que jusqu'alors je n'avais utilisé qu'un intermédiaire, basique (c'est le mot ^^). Le langage direct n'était pas adapté à une utilisation humaine. Il fallait, pour parler à la machine, contourner l'interface qu'elle proposait à nous autres, humains. Plier le système pour le détourner et entrer au cœur des choses.
Un hack historique du ZX81 permettant d'utiliser le langage machine par détournement de l'interface, 1982. Par analogie et pour les plus anciens, on peut comparer cela à la transformation de l'interface en carte perforée représentant en ASCII le code machine inséré.
La limite et la liberté
Les ressources de ces premiers ordinateurs étaient pauvres. Et pourtant c'était une mine d'or. Je parle d'un temps où les PC n'existaient pas encore. Les machines de l'époque étaient d'une ouverture exceptionnelle. La puissance ne pouvait être le facteur fonctionnel. Alors les ingénieurs avaient misé sur autre chose. Et j'apprenais leur langage.
Au fil des soirs et en entrant plus profondément dans le système, je découvrais l'écriture. L'art de parler à une machine. Ce langage était écrit dans une mémoire figée, pour que la machine puisse redémarrer à l'identique après une extinction. Les ingénieurs avaient écrit là quelque chose. Quelque chose qui tournait au fond de l'attente.
La machine, pourtant très limitée, était un livre écrit avec une intelligence exceptionnelle. A 14 ans, vous n'en croisez jamais. Ce fut un éblouissement.
Les limites devaient pouvoir être contournées. Certainement parce que la faible puissance calculatoire contraignait à une meilleure inventivité. Mais aussi parce que la technologie n'était pas encore devenue un produit de consommation à obsolescence programmée. Les ingénieurs n'avaient que faire des commerciaux. A l'université, on faisait de la recherche, on ne vendait pas des cravates.
A force de temps, vous pouviez vous insérer dans le système, le détourner à votre guise. Rien à voir avec les "fonctionnalités" prévues des systèmes actuels (qui ne sont que le reflet du nième cahier des charges pris dans une méthodologie de production). Le système n'était pas là pour vous rendre service. Il y avait bien sûr un service minimal, pour vous dépatouiller, vous souhaiter discrètement bienvenu, mais l'essentiel, si vous vouliez comprendre, vous était donné autrement. C'était un édifice sans copyright. Avec patience, l'architecture devenait lisible. Et une fois lue, vous étiez comme un maçon libre de faire couler une rivière dans le salon alors qu'il n'y avait pas d'eau. Une machine n'était pas un système de vente de services, mais un moyen - et ceci de fond en comble.
Bien sûr tout devait se faire bas niveau, comme on dit. Parler la langue du 0 et 1 était nécessaire. La machine par exemple ne savait pas faire des multiplications (encore moins des divisions), mais quand on avait remarqué qu'en décalant d'un bit vers la gauche une valeur numérique on la multipliait en fait par deux (et on la divisait dans l'autre sens), on commençait à entrevoir quelques petits moyens de faire sans, avec un temps de calcul qui ridiculisait n'importe quelle méthode apprise sur les bancs des écoles.
Et de faire quoi, sans ? On avait 1 kilo-octets de mémoire. Près de cinq fois moins d'espace que ce texte n'en prend, sous sa forme la plus brute, jusqu'à ce mot ci.
Aller plus loin. Précisément parce que nous n'avions que très peu de choses sous la main. Cet ordinateur qui fut le mien vit la naissance d'un jeu d'échec, qui consommait plus de 100 fois moins de mémoire qu'il en faut pour stocker une recette de cuisine dans un bouquin à la mode. Alors qu'il existe 20 puissance 116 parties possibles (2 avec 116 zéros derrière). Comment ?
Un bug, youpi !
Le plein accès à la machine, sans police de violation, était un vrai déclencheur. La simplicité des architectures nous permettait, en plus du langage machine, central, de s'intéresser aux composants électroniques qui entouraient le cœur.
Ceux-ci sortaient des usines sans être destinés à un type de machine. Ils n'étaient donc pas figés. Il suffisait de reprogrammer l'un deux pour essayer de comprendre son fonctionnement.
Ils entraient alors parfois dans des modes non documentés (nous n'avions au mieux que les specs techniques). Ou buggués. En tâtonnant, en contrôlant la déviance, il devenait parfois possible de réaliser des choses qui n'étaient pas imaginables par les constructeurs eux-mêmes. Une autre forme de pensée, aucun doute.
Je me souviens par exemple d'une machine qui était vendue avec 3 modes d'affichage. Le premier était en monochrome (deux couleurs possibles seulement), en contrepartie du fait qu'il proposait la meilleure définition. En se synchronisant de manière fine, on pouvait savoir où était le rayon électromagnétique chargé d'allumer à toute vitesse les pixels un à un sur l'écran. Il suffisait alors, une fois synchronisé avec la position, d'envoyer un ordre au composant spécifique au moment voulu, lui faisant croire que tout l'écran était rose, pour lui dire, quelques nanosecondes plus tard, qu'en fait non, il s'était trompé, l'écran était bleu. Le temps qu'il réagisse, on avait déjà gagné deux couleurs. Il n'y avait plus qu'à recommencer pendant les quelques millisecondes du balayage de l'écran, en attendant les bonnes nanosecondes pour le placement. Et il disait quoi, le composant ? "Ok, roule ma poule, c'est fun ici".
Et ça donnait ça :
Synchronisation de la commande et du balayage ("raster") dans un mode à deux couleurs seulement, réalisée sur Amstrad CPC 464, par Longshot/Logon System, 1989.
"Do It Otherwise" : le Do It Yourself du démuni
Bien des détournements ont été exploités sur diverses machines. Pour vous donner un exemple : on faisait chanter un Amstrad, lui qui ne disposait que d'un générateur de bruit et d'ondes sonores carrées ou sinusoïdales simples. En gros des "tsssshhh" pour la batterie et des "biiip" à fréquences programmables.
Comment transformer un tel truc en voix humaine ? Et bien déjà en se disant qu'avec ça et la puissance de calcul à dispo, on n'y arriverait pas.
La logique devait donc être autre. Le truc, découvert en s'amusant un soir avec le composant à bip ; en envoyant une simple commande d'ouverture de volume sur ce composant, la membrane du haut parleur se mettait à vibrer légèrement. C'était un souffle constant : en le répétant rapidement, il devenait aigüe. Plus lentement, il devenait grave. Et voilà. Inutile de perdre du temps de calcul pour générer des ondes : on avait une membrane qui en créait, et des naturelles, avec un simple bit.
J'ai alors passé une cassette audio dans mon magnétophone. Renaud Séchan. Puis j'ai écrit un petit programme qui récupère les données du magnéto au fil de la lecture de la cassette. Des 0 et des 1.
J'ai ensuite écrit un autre programme qui lit ces données, précieusement stockées en mémoire, et pour un 1, envoit le signal d'ouverture du volume, et pour 0, l'éteint. Le mouvement de la membrane suivait donc les fréquences des données... et mon ordinateur, pour lequel il était impossible d'imiter un bruit de casserole, chantait du Renaud ! De quoi être une petite star de l'informatique dans ma cours d'école, en plus de vendre les premiers jeux que je crackais sous pseudo pour un paquet de goldo (qu'on fumait à la campagne dans la cabane faite l'été d'avant, sous le soleil couchant, heureux et déjà nostlagique en pensant à l'école du lendemain).
J'avais lu une partie du programme de la licence informatique à 16 ans. C'était simple après tout ça mais pourtant j'étais un novice. Car je voyais, aux rencontres et aux productions qui circulaient, des gamins de 15 ans coder des choses qui pour certaines sont restées pour moi des énigmes. Je jure que les conditions matérielles et logicielles que je décris formaient une astuce frôlant le génie. Et je sais à quoi comparer de nos jours.
J'insiste, nous n'avions rien. Internet n'existait pas. Nous devions tout découvrir par nous-mêmes, aidés en tout et pour tout d'un ou deux livres techniques et de magasines qui divulguaient de temps en autre quelques secrets que les "swappers" et les "crackers" faisaient circuler des mois - ou des années - avant, dans le réseau confiné et pourtant si concrètement européen pour les ados dont je parle. Vous leur auriez donné un smartphone, ils vous hackaient le minitel (chose qui se produisait d'ailleurs de temps à autre ^^) depuis la Suède.
Nous nous attaquions à des animations interdites par les capacités matérielles. Nous calculions des cosinus sans un seul nombre à virgule. Nous inventions des fractales. Nous pouvions animer une infinité d'objets pour le coût de calcul et d'affichage d'un seul. Nous écrivions du code capable de se modifier tout seul. Nous tracions des courbes dansantes avec des algorithmes qui ne traçaient que des lignes droites. Nous faisions apparaître des couleurs inconnues des circuits imprimés. Nous faisions de la musique avec le vent du volume sur une machine. Et ça marchait, parce que nous détournions sans cesse les choses.
Ce que nous voyons n'est pas le réel, et pourtant nous le voyons. Nous en comprenions, à 14 ans, toute la portée concrète. Nous étions des hackers.
Siècle technologique
Il y a toujours un début et une fin. Cette époque d'entrée d'une technologie contrainte à l'ouverture par son manque de puissance est révolue. Il reste parfois l'esprit, mais plus aucune nécessité. La technologie ne peut plus être une rencontre du 3ème type pour les générations futures. Nous sommes cernés par la facilité technologique dès la petite enfance.
Personnellement, après que Bill Gates ait fait entrer ses machines par effraction et pris dans un hold-up outrancier tous les marchés par le bout de l'informatique d'entreprise, je n'ai que rarement codé sur le restant par plaisir, ou par simple curiosité.
Certains ont encore la fibre. On bricole sur de l'arduino, et on fait des démos en 64 kilo-octets. Ceux-là savent de quoi je parle, bien qu'ils utilisent des modèles et des outils largement éloignés de l'aspect extrêmement sommaire des premiers ordinateurs.
Dans ce siècle qui glorifie sans cesse la technologie, ce sont des machines qui développent des machines. Allez lire leur code, vous n'y trouverez plus aucune intelligence, plus aucune finesse. Juste de la performance. Et très peu de lisibilité.
En 1969, un ordinateur moins puissant qu'un smartphone conduisait sur la lune. Quand aux ordinateurs actuels connectés pour aller sur facebook, ils consomment par année et par individu le coût d'un aller-retour Paris-New York en avion. Qu'est-ce que la puissance technologique ?
Je me limite à ne parler que d'un aspect de ces choses. Les plus avisés comprendront qu'elles en rejoignent d'autres. Il y avait une rareté bien pensée. Dorénavant, les jeunes informaticiens sont formés à des surcouches qui s'empilent sur les systèmes comme dans une archéologie qui ne pourrait plus rien savoir du sous-sol. L'essentiel dans ces métiers est désormais de savoir faire bouillir l'eau avant de mettre les pâtes, tant pis s'il faut pour cela une usine logique incommensurable, que seuls quelques experts peuvent comprendre de bout en bout. Certains sont bien sûr plus ou moins doués à la cuisson. Mais de cela, Ada Lovelace, celle qui proposa la méthode algorithmique en 1840, en avait dit l'essentiel. Le fil du temps n'est pas celui d'une évolution constante.
La technologie a connu l'artisanat. Le rempailleur a mis les clés sous la porte parce que l'enseigne ne pouvait pas suivre le design de masse. Peu savent qu'il peut y avoir une grande beauté dans quelques lignes de code. Une intention et un geste d'une grande précision réalisés avec un matériau primitif. La trace d'un artiste. Lorsque, dans la technologie, il y avait encore une œuvre.
Merci pour votre lecture !
65 réactions à cet article
Ajouter une réaction
Pour réagir, identifiez-vous avec votre login / mot de passe, en haut à droite de cette page
Si vous n'avez pas de login / mot de passe, vous devez vous inscrire ici.
FAIRE UN DON