Le journal du hard
Mon histoire intime avec le matériel, c'est le moment de rentrer dans le hard
Le journal du hard
La technologie est toujours vue comme le côté obscur. Quel processeur choisir ? Combien de mémoire installer ? Quel dispositif de stockage ? C’est sans doute grâce ou à cause de Apple qui propose une gamme réduite par rapport à la pléthore de possibilités qu’offrent les PC que le marché s’est simplifié pour le grand public. Aujourd’hui on achète une machine toute prête avec des options restreintes au minimum. Plus personne ou presque ne construit son PC à partir d’éléments séparées, à part encore quelques “gamers” qui cherchent LA performance ultime comme Brice de Nice cherchait sa vague. Il ne faut peut-être pas donner trop d’importance à Apple, de son côté Dell a également beaucoup œuvré, quoique de manière moins visible mais au moins tout aussi efficace pour donner au PC le caractère d’un appareil d’électro-ménager comme les autres. Au départ en proposant à la vente à distance des PC complètement personnalisés, puis sur mesure pour répondre à l’évolution du marché domestique. C’est en fait le chemin que suivent toutes les technologies quand elles passent de l’émergence à l’adoption, qui regarde encore le moteur d’une automobile avant de l’acheter ? Faudrait-il qu’il existe encore à l’heure où les voitures électriques sont devenues une réalité. Nous pourrions même ramener cela au prêt à porter qui a remplacé le tailleur sur mesure. C’est un double effet qui pousse dans cette direction, la standardisation permet de baisser les coûts pour proposer le produit à un plus large public, qui en retour est moins regardant et s’accommodera d’un produit encore plus standardisé.
Revenons à notre propos, même si l’automobile n’est jamais loin puisque même dans l’informatique on parle de “mettre les mains dans le cambouis”. Pourtant peu d’entre nous ont la moindre idée de ce à quoi ressemble ce fameux cambouis, à part que c’est visqueux et que ça salit les mains, encore le côté obscur. Bien que ce ne soit plus aujourd’hui le point central, le plus logique pour remettre les choses en perspective est certainement de commencer par évoquer les machines et leur évolution. Celles dont nous rêvions avant même de pouvoir s’en offrir une, en feuilletant des magazines qui n’étaient pas encore spécialisés pour la plupart. À l’époque, l’informatique personnelle n’existait pas tout à fait comme une catégorie claire. Les publicités pour ces drôles de machines dans différentes revues, bien évidement celles d’électronique, mais pas uniquement, loin de là. Il y avait de belles promesses de performances et d’utilisation rarement tenues mais dans les messages d’alors on nous proposait déjà par exemple de gérer nos finances, et bien entendu de se mesurer contre l’ordinateur dans des jeux d’un réalisme saisissant et d’une intelligence imbattable.
Ces machines m’ont ensuite accompagné pendant de longues nuits d’insomnie, passées à essayer d’en comprendre le fonctionnement pour en tirer un maximum de performance. Avec le recul, quand on compare la puissance dérisoire de ces engins à celle des machines d’aujourd’hui, on se dit que c’était beaucoup d’énergie dépensée pour un problème qui allait se résoudre tout seul par le progrès technique. Mais cette énergie n’a pas été totalement perdue. C’était l’apprentissage de la confrontation entre la cognition humaine, floue et l’algorithme, implacable. Un très bon apprentissage de ne rien tenir pour acquis et de toujours douter, parce qu’en fin de compte, c’est toujours l’humain le maillon faible.
Malgré tout ce qui a changé depuis, un ordinateur raisonne toujours selon les mêmes principes. Qu’il s’agisse d’un programme en BASIC, d’un logiciel moderne ou d’un agent dit “intelligent”, la logique de fond est la même. La grande différence, c’est qu’à l’époque, une machine pouvait encore être comprise dans son ensemble par une seule personne. Aujourd’hui, ce n’est plus le cas. Les couches se sont empilées, les compétences se sont fragmentées, et l’ordinateur est devenu une boîte fermée pour la plupart des gens. Les amateurs ont disparu, et même chez les professionnels, chacun ne voit plus qu’un petit morceau du puzzle. Mais n’anticipons pas tout ce qu’il faudra étudier plus tard autour de l’intelligence artificielle.
Parler du matériel nous a obligé à évoquer les logiciels. Les deux sont étroitement liés depuis que nous sommes face à des ordinateurs et non plus à des calculateurs (merci IBM France de nous permettre de faire cette différence, si cela ne vous évoque rien, relisez le chapitre précédent «Une époque révolutionnaire »). Au début, chaque ordinateur arrivait avec son propre système d’exploitation. En particulier pour les ordinateurs centraux dans l’informatique professionnelle, la plupart du temps on ne se posait pas du tout la question, machine et logiciels étaient livrés ensemble. Pour l’informatique personnelle cela a commencé de la même façon. Des dizaines de constructeurs proposaient des machines pour lesquelles ils avaient développé un système d’exploitation ad hoc. Le terme de système d’exploitation est certainement un peu ambitieux. Il s’agissait généralement d’un interpréteur Basic étendue par quelques commandes qui permettaient interagir avec les périphériques. Cela faisait beaucoup d’énergie gaspillée à réinventer l’eau chaude chacun de son côté. C’est encore IBM qui a remis les pendules à l’heure en proposant une architecture standard, la société se voyait comme un vendeur de « boites », de matériel informatique. À leurs yeux le logiciel était un mal nécessaire, quelque chose qui coute cher à mettre au point sans réelle valeur ajoutée, si ce n’est de permettre de vendre des boites. Ils se sont donc fait aider par Microsoft qui les a doublés en se positionnant comme la véritable valeur ajoutée du combo PC/Doc puis PC/Windows. C’est ainsi que nous nous sommes trouvés dans les années 1990 dans une situation où tous les petits fabricants d’ordinateurs personnels avaient soit disparu, soit s’étaient convertis à Windows. Apple était le seul qui proposait une alternative, mais se trouvait dans une situation financière alarmante, pour ne pas dire catastrophique, preuve que le marché aimait la standardisation. Les gens se formaient chez eux sur un « IBM compatible » fabriqué en Asie du Sud Est et d’un prix imbattable. Arrivés en entreprise ils retrouvaient le même environnement logiciel, mais cette fois sur un matériel professionnel qui coutait parfois jusqu’à dix fois plus cher. À mon sens, cela constitue l’une des causes profondes de la transformation de l’informatique en un domaine majoritairement masculin. Les maris s’autoformaient pendant que les épouses continuaient à s’occuper du foyer. Mettons cela de côté pour plus tard également.
Windows était donc devenu incontournable, que ce soit à la maison ou en entreprise, le département de justice (DOJ) des États-Unis menaçait Microsoft de sanction pour leur position quasi monopolistique. Au moyen d’un accord d’échange de propriété intellectuelle et de brevets Microsoft a renfloué Apple, ce qui leur a permis de un compétiteur et de calmer le DOJ. Peut-être aussi qu’en fin de compte Bill appréciait Steve comme compétiteur inoffensif mais partenaire pour le déploiement de Microsoft Office sur Apple Macintosh ? D’autres choses ont encore changé, en particulier IBM a vendu sa division PC à l’entreprise Chinoise Lenovo au début des années 2000.
C’est à ce moment précis que le développement du noyau Linux a débuté, sous l’impulsion d’un étudiant finlandais relativement inconnu. Il s’est retrouvé à la tête d’une communauté mondiale de millions de développeurs avant même de pleinement saisir l’ampleur de son œuvre. Fort du cadre juridique offert par le Logiciel Libre et de l’héritage du projet GNU initié par Richard Stallman une dizaine d’années auparavant, en 1984 (année de la sortie de l’Apple Macintosh et titre du célèbre roman de George Orwell, la coïncidence est troublante, mais la vérité est ailleurs…), là où de nombreuses entreprises établies avaient échoué, Linus Torvalds a permis l’émergence de GNU/Linux et de ses nombreuses distributions, qui constituent aujourd’hui une alternative sérieuse et largement reconnue, notamment dans le domaine des serveurs professionnels, à Windows. Dernier rebondissement, porté par son baladeur musical transformé en téléphone, pendant que beaucoup n’y croyaient plus, Apple fait son grand retour sur le devant de la scène de manière tout à fait spectaculaire, en particulier dans l’informatique personnelle.
Nous avons ouvert de nombreuses parenthèses qu’il faudra refermer dans d’autres articles, l’IA et la place de l’humain, la question de genre, mais ne bousculons pas trop les choses pour l’instant. Restons focalisés et tout ceci deviendra plus clair au fur et à mesure que nous avancerons.
ZX-81
Le ZX-81, fabriqué par la société Sinclair, reste pour moi une machine mythique. Non pas parce que j’en ai possédé un exemplaire ni même parce que j’aurais passé des heures à l’utiliser, mais parce qu’elle a été l’un des premiers ordinateurs réellement accessibles au grand public. Pour la première fois je me suis dit que je pourrais m’offrir un ordinateur. C’est à travers ses publicités que j’ai attrapé le virus qui ne m’a plus jamais quitté.
Le ZX-80, son prédécesseur, était vendu en kit. Il fallait souder les composants soi-même. Autant dire qu’il s’adressait à une poignée de passionnés, électroniciens bricoleurs et bidouilleurs. Son succès n’a même pas été modeste mais il a permis de valider qu’il y avait une attente de la part du grand public pour avoir à sa disposition un ordinateur personnel si le prix était au rendez-vous.
Le ZX-81, lui, arrivait prêt à l’emploi, à un prix très abordable, mais qui pouvait rebuter par sa rusticité. Rustique, c’est peu dire. Un clavier en gomme façon chamallow, pas de son, un affichage noir et blanc sur une télévision, et 1 Ko de mémoire vive. Mille vingt-quatre octets. Aujourd’hui, c’est difficile à concevoir. En pratique, ça ne représente plus rien du tout, peut-être la mémoire d’une carte d’anniversaire musicale ? Pourtant, la machine embarquait un interpréteur BASIC et permettait de faire ses premiers pas dans le monde de la programmation.
C’est dommage que cette petite machine ait été oubliée et que sa marque a disparu. À mon sens, le ZX-81, à sa manière, a véritablement démocratisé l’informatique. Pour que les ordinateurs personnels s’intègrent à tous les foyers, deux conditions devaient être réunies : leur prix et leur facilité d’utilisation. Clive Sinclair et son ZX-81 ont ouvert la voie sur le plan financier, tandis que Steve Jobs s’efforçait de les rendre plus intuitifs. Deux visions très différentes, mais tout aussi fondatrices.
TI-58
La TI-58 n’est pas un ordinateur, mais une calculatrice programmable. Pour dire les choses de façon un peu pompeuse, c’est le premier automate programmable portable et autonome que j’ai eu à ma disposition. Rien qui ne puisse rendre jaloux mon MacBook sur lequel j’écris ces lignes dans le train. Mais quelle école !
L’écran affichait une seule ligne de dix chiffres. Le langage ressemblait à de l’assembleur à peine dégrossi. Les programmes disparaissaient dès qu’on éteignait la machine. Aucun moyen de sauvegarder quoi que ce soit. Pour ça, il aurait fallu passer à la TI-59, hors de prix, avec ses cartes magnétiques minuscules, larges d’environ un centimètre pour quatre ou cinq de long.
La programmation dans la souffrance : rien n’était fait pour faciliter la vie de l’utilisateur. Malgré tout, avec beaucoup d’application, on pouvait arriver à faire des choses étonnantes. Avec quelques amis, nous nous étions lancé un défi : programmer une bataille navale. Vu la capacité de calcul phénoménale à notre disposiiton, nous avions fait le choix de compliquer un peu les choses. Nous avions ainsi décidé d’utiliser un cube plutôt qu’une grille plane. Une bataille navale sous-marine. La machine plaçait ses bateaux, le joueur humain les siens sur une feuille de papier, et on échangeait des coordonnées.
Tout reposait sur la discipline du joueur. Compte tenu des limitations de l’affichage, chacun avait convenu d’un certain nombre de messages codés pour que la machine puisse signaler “touché” ou “coulé” au joueur. Cela demandait de respecter scrupuleusement les règles, le programme n’ayant aucun moyen de se protéger des tricheurs. Je me rappelle non sans une certaine fierté avoir imaginé d’utiliser « 505 » pour que le programme signale avoir été battu. Sur ce type d’affichage à base de leds rouges, cela pouvait passer pour « SOS ».
Deux TI pouvaient même jouer l’une contre l’autre, à condition qu’un humain serve d’interface en recopiant les coordonnées affichées. Cela avait un intérêt relativement réduit, c’est plutôt le hasard qui guidait nos programmes mais on pouvait toujours essayer de comparer leurs prétendues performances respectives. L’intelligence était surtout dans nos têtes. La machine, elle, faisait ce qu’elle pouvait.
Est-ce que je vous ai dit qu’il fallait d’abord passer des heures crayons à la main à écrire le programme sur papier ? Vu la complexité du langage, l’absence d’un éditeur digne de ce nom et l’impossibilité de sauvegarder, il était bien entendu inenvisageable de rentrer directement en mémoire un programme pour l’exécuter. C’était une telle évidence à l’époque que j’aurais pu oublier de vous le rappeler. Pour finir d’enfoncer le clou, Texas Instruments fournissait avec la calculatrice un bloc note spécifique pour écrire les programmes. Ils présentaient des formulaires qui reprenaient les caractéristiques techniques de la programmation pour en faciliter l’écriture.
Oric-1
Les choses sérieuses ont commencé avec l’Oric-1, mon premier véritable ordinateur personnel. Encore une fois Britannique, encore une fois à un prix tout à fait raisonnable et au rapport qualité prix imbattable, du moment qu’on n’en attendait pas trop côté qualité. Sur le papier, c’était une petite machine plutôt bien conçue, véritablement très correcte en performances, à un prix raisonnable, à priori une excellente affaire. Pas besoin de périphériques particulier, le clavier est intégré, on utilise son téléviseur comme écran et un simple lecteur-enregistreur de cassettes audio pour la sauvegarde des logiciels, et même des données.
L’entreprise à l’origine de ce produit présentait une structure financière fragile, avec un réseau commercial limité au Royaume-Uni. Le catalogue d’accessoires était restreint, la majorité étant exclusivement disponible sur le territoire britannique. Au lancement, l’offre logicielle était quasi inexistante. Comme expliqué plus tôt, ils étaient distribués sur de simples cassettes audio, ce qui les rendait très faciles à copier et n’encourageait pas les développeurs à se lancer, sachant que leur travail avait toutes les chances d’être pillé sans contrepartie. De plus, ce système sur l’Oric-1 était relativement peu fiable, côté acheteur on n’était pas certain d’arriver à lire correctement le contenu des cassettes. Ajoutez à cela un clavier assez peu ergonomique et une machine commercialisée par des revendeurs ne manifestant pas d’intérêt particulier pour ce type de matériel, vous comprendrez rapidement que cette machine manquait de tout ce qui va autour et qui en fait un succès commercial. Toutefois, son prix la rendait attractive pour quelques doux rêveurs comme moi.
La marque persistera en essayant de moderniser et monter en gamme avec le développement d’autres modèles, dont un Oric Atmos doté d’un clavier mécanique.Ce qui permettait de se mettre au niveau de la concurrence à ce niveau mais le logiciel ne suivait pas, les lecteurs de disquettes commençaient à apparaitre chez les concurrents mais restaient à la traine. En effet, devant Oric courraient Commodore, Atari et Apple avec des machines autrement plus convaincantes, tant sur le plan matériel que logiciel, et surtout au niveau de la qualité.
À cette époque, je ne me préoccupais pas de telles considérations, et ce ne sera pas la dernière fois que je miserais sur le mauvais cheval. L’Apple II représentait un investissement considérable, son coût étant prohibitif, notamment pour un appareil que je percevais principalement comme un outil de loisir. Si j’avais alors manifesté la moindre aptitude pour l’entrepreneuriat, j’aurais pu envisager de commercialiser les nombreux jeux que je développais à titre personnel. J’aurais alors fait l’acquisition d’une machine dotée des qualités requises pour la conception de logiciels, ainsi que d’un marché susceptible d’acquérir mes réalisations.
Ignorant de tout cela, je me revois encore sortir du magasin avec la boîte sous le bras au comble du bonheur. Cet endroit ressemblait plus à un entrepôt qu’à une boutique, il y avait bien une vitrine, mais partout on ne voyait que des boites et des cartons empilés, avec peu de mention de ce qui était proposé. Les vendeurs partaient du principe que si vous étiez là, c’est que vous saviez déjà ce que vous vouliez.
De retour chez mes parents, ouverture du paquet et branchement sur la télévision familiale, par l’incontournable prise Péritel. Grosse émotion à l’apparition du mot READY clignotant à l’écran, quelques secondes pour taper :
10 PRINT “BONJOUR”
RUN
Et la magie opérait.
L’Oric n’avait pas de véritable système d’exploitation. Juste un interpréteur BASIC. Et quasiment aucun logiciel. Tout était à inventer. C’était une époque étrange, où l’on fabriquait et mettait en vente des machines avant de savoir à quoi elles serviraient vraiment, avant même de leur donner la possibilité d’être utile à quoique ce soit, si ce n’est d’écrire des programmes pour la rendre utile. C’est le fameux paradoxe de la vente du premier téléphone. Qui appeler avec ? Pour une petite entreprise comme Oric, une fois la machine prête, il était difficile d’attendre de développer en interne des logiciels pour la mettre en vente. Il fallait anticiper et la mettre sur le marché en espérant que des développeurs l’adoptent eux-mêmes et proposent des logiciels aux non-développeurs qui pourraient ensuite en faire l’acquisition. Un pari gagnant-gagnant qui n’a jamais vraiment fonctionné pour Oric en dehors de la Grande Bretagne. Rappelez-vous ce que même une société sérieuse comme IBM pensait à ce moment-là ? L’important est de vendre les boites, le logiciel est un mal nécessaire pour permettre de les vendre.
Heureusement pour se donner des idées et nous aider dans la réalisation de nos propres logiciels une nombreuse presse spécialisée commençait à s’organiser. Elle mettait à notre disposition le code de nombreux programmes, dans des livres ou même dans des magazines. Dans ce cas les programmes étaient le plus souvent écrits par les lecteurs. La qualité n’était pas toujours au rendez-vous mais de toutes façons avec un BASIC procédural, pas mal des principes du Clean Code ne sont que vœux pieux. L’apprentissage se faisait à distance et par revue interposée. C’est en recopiant, adaptant et améliorant ces programmes distribués sous forme de source dans les journaux que j’ai fait mes premières armes. C’était une forme primitive d’Open Source, on apprenait en recopiant, adaptant et améliorant le code.
J’ai oublié de mentionner que les cassettes n’étaient bien évidement pas compatibles d’une marque à l’autre. En revanche le BASIC était relativement standardisé et une fois maitrisés quelques particularismes, il était facile d’adapter le code d’un Amiga sur un Oric, d’un Oric sur un Atari et ainsi de suite. Ça l’était suffisamment pour permettre le partage des idées. Tous ces nombreux livres et journaux remplis de sources commentés expliquant comment programmer tel ou tel jeu, telle ou telle application de gestion de cave ou de compte en banque développaient une certaine “philosophie” de la programmation plutôt orientée vers le partage. C’est cet esprit que Richard Stallman a voulu préserver en créant la Free Software Association en 1984, quand petit à petit certains ont décidé de mettre des barbelés sur la prairie pour s’approprier un bien jusqu’alors commun.
Atari ST
Avec l’Atari ST, on change de monde. En 1984, le Macintosh fait rêver, mais il est cher. L’Atari propose une alternative abordable, avec une interface graphique qui tient la comparaison. Malheureusement pour Atari qui n’a jamais réussi à se faire prendre au sérieux et à sortir de son image de fabricant de consoles et de jeux, la machine n’est pas prise au sérieux. À mon avis c’était à tort et n’ayant rien appris de mon expérience avec l’Oric-1, toujours à la recherche d’un bon rapport qualité prix, ou plutôt de payer le moins cher possible, c’est vers l’Atari ST 1024 que je me suis tourné.
L’interface graphique GEM (Graphic Emulation Moniteur) était développée par Digital Research et donnait véritablement le change au système du Macintosh. Quelques années plus tard j’allai la retrouver en milieu professionnel sur PC. Elle permettait d’utiliser un système très avancé de PAO qui permettrait de préparer la documentation professionnelle des logiciels vendus par IBM. Windows était alors incapable de maitriser la complexité de cette tâche. Digital Research, qui a aujourd’hui disparu, avait visiblement un service marketing encore pire que celui d’Atari. Les utilisateurs de PC ont généralement dû attendre Windows pour que les souris et fenêtres viennent s’inviter sur leurs écrans et cela n’a pas été facile. Qui se souvient de Windows 1.0 ou de Windows 2.0 ? Il a fallu effectivement attendre sa troisième mouture pour que Windows soit accepté et pour être précis c’est à partir de Windows 3.11 que les choses sérieuses ont commencé. Aujourd’hui plus personne ne se rappelle GEM alors que Windows est omniprésent.
Revenons à cet Atari, avec une interface graphique programmer devient beaucoup plus complexe mais tellement plus gratifiant. Il faut gérer des fenêtres, des événements, des ressources partagées. Ce n’est pas encore le multitâche moderne, mais on s’en rapproche. La machine est plus puissante, les outils plus sophistiqués, mais l’entrée devient plus difficile. Pour ne rien arranger, l’implémentation de GEM étant assez rudimentaire, l’application doit se charger de pas mal de choses comme par exemples redessiner l’écran quand on déplace une fenêtre.
Avec le recul, c’est un moment clé. On passe du bricolage enthousiaste à quelque chose de plus professionnel. Le PRINT “BONJOUR” ne suffit plus. Il faut compiler, structurer, respecter des cadres. La première marche à franchir est beaucoup plus haute. Bonjour le SDK et les compilateurs.
L’arrivée du PC
Après avoir trouvé la charnière, il ne reste plus qu’à fermer la porte sur l’époque des dinosaures où derrière chaque ordinateur personnel se cachait un programmeur.
Milieu des années 1990. L’Atari part à la cave. Le PC s’impose.
Fini aussi les rêves de Macintosh, à ce moment Apple est au plus bas, ses prix sont toujours au plus haut et il faut être un vrai passionné pour se tourner vers ces étranges machines produites à l’époque.
Les machines deviennent standardisées, professionnelles, souvent moches, mais efficaces. On ne bricole plus. On achète des logiciels. Avec Windows 3.11, première version à permettre de se connecter à Internet puis Windows 98, le système devient plus stable et s’impose comme standard universel tant à la maison qu’au travail. Les possibilités explosent.
Mais quelque chose se referme.
La machine fait plus de choses que jamais, et pourtant, elle devient de plus en plus difficile à comprendre. C’en est fini de bricoler des petits bouts de programme pour faire ceci ou cela, maintenant il suffit d’acheter les applications toutes faites, par des professionnels.







