Portrait
Pierre Arnaud
Développeur passionné, auteur de mégaoctets de lignes de code qui animent les SMAKY, directeur attentif d’Epsitec
L’actuel directeur d’Epsitec n’a jamais réellement fait de distinction entre hobby et travail. Il a eu la chance de pouvoir faire de sa passion une profession et un gagne-pain, et c’est avec beaucoup de gratitude qu’il repense à toutes ces années de l’aventure du SMAKY.
Un rêve - Concevoir un ordinateur de A à Z
Né à Locarno le 11 février 1972, Pierre Arnaud entre en 1983 au collège Léon-Michaud à Yverdon-les-Bains (Vaud) et découvre l’informatique en lisant des livres disponibles à la bibliothèque! Un petit livre le marque particulièrement: « Un microprocesseur pas-à-pas », qui présente le CDP 1802. Il ne se souvient plus exactement quand il finit par en obtenir un chez DISTRELEC, ainsi qu’un circuit de SRAM de 16 KB, ce qui lui permet de s’exercer à la programmation en assembleur (en base 2). Il entre les instructions de ses programmes au moyen de 8 interrupteurs, afin de faire varier une sortie « Q » du microprocesseur et de lire une entrée digitale. Il rêve alors de concevoir un jour un ordinateur de A à Z.
En 1984, l’informaticien en herbe passe la fin de ses journées dans les grands magasins d’Yverdon qui exposent des ordinateurs dans leurs vitrines (il se souvient de l’Amstrad) et ses parents lui offrent un Commodore 128D à Noël 1985. Vers 1986, dans le cadre d’un cours facultatif proposé par son collège, il découvre la « vraie informatique » avec la possibilité de programmer un ordinateur de Norsk Data avec des terminaux couleur ambre. Peu de temps après, le collège s’équipe d’une salle avec des SMAKY 100. Il découvre les langages BASIC, LOGO, PROLOG, MODULA2, PASCAL ainsi que les divers programmes qui font la richesse du SMAKY d’alors.
En 1986, le jeune passionné présente au concours « la Science appelle les jeunes » un programme de dessin pixel développé en BASIC sur son Commodore 128D et remporte un prix avec la mention « très bien ». En 1987, il propose un traitement de texte écrit en Basic (compilé, cette fois), toujours sur Commodore 128D, inspiré de TEXT sur SMAKY, avec une prévisualisation WYSIWYG de la mise en page, là encore avec une mention « très bien ».
Epsitec – Un port d’attache
En 1987, Pierre Arnaud débute le gymnase CESSNOV à Yverdon et découvre avec joie une salle équipée de SMAKY 100, avec un poste maître, un réseau Z-net et une imprimante laser RICOH. C’est l’occasion de développer toute une série de petits programmes utiles et inutiles en assembleur CALM (Motorola 68000), certains pour jouer des farces aux copains, d’autres pour augmenter la sécurité du réseau.
À partir de 1988, l’adolescent participe aux SMUG (SMAKY User’s Group) organisés par Epsitec, où il rencontre l’équipe de passionnés qui anime la société: Mme Nicoud, Daniel Roux, Michael Walz, Otto Kölbl, Yvan Dutoit et Roger Thalmann, notamment. Il fait également la connaissance d’une autre équipe, celle de Pierre-Yves Rochat, actionnaire d’Epsitec, et de ses employés: David Besuchet et Yves Raboud. C’est un vivier d’idées! En 1989, Pierre Arnaud rejoint la caravelle Epsitec et ne la quittera plus!
Un copain d’études, Daniel Marmier, le rejoint dans l’aventure. Pierre Arnaud reprend la maintenance du programme START, puis de divers composants du système du SMAKY. Il contribue, entre autres, à un plugin pour le metteur en page PAGE de Daniel Roux, en écrivant un éditeur de formules mathématiques. Pendant ce temps, Pascal Zweilin utilise PAGE comme écran de visualisation de processus industriels afin de piloter les automates d’un réseau de stations d’épuration (SIGE), démontrant la puissance et la flexibilité de PAGE.
SMAKY 100 – Dépliant A4
Programmation – Curiosité et lauriers
En 1988 toujours, Pierre Arnaud découvre un livre qui présente le lambda calculus et le langage de programmation LISP, avec des concepts qu’il ne comprend pas. Il décide alors d’écrire un interpréteur LISP pour pouvoir jouer avec et essayer de saisir comment un langage fonctionnel fonctionne « en vrai ». Il obtient le prix du concours « La Science appelle les jeunes » avec mention « excellent ». Un autre langage l’intrigue – FORTH – et il développe pour son propre usage un dérivé de ce langage orienté « stack ».
Il s’investit à fond dans PSOS, le système d’exploitation du SMAKY, et développe un débogueur qui permet d’explorer graphiquement l’état du processeur et de la mémoire, de poser des points d’arrêt et d’exécuter des programmes en voyant le code source défiler.
En 1991, il participe une dernière fois au concours « La Science appelle les jeunes », mention « excellent » avec D.Bug, le débogueur 680×0. Il rencontre Damien Rössler qui participe au concours avec une implémentation du langage APL pour SMAKY. Il est impressionné par le travail et la capacité d’abstraction de Damien.
SMAKY 6000 – Le prototype qui réalise un rêve
Pierre Arnaud débute ensuite ses études à l’École polytechnique fédérale de Lausanne (EPFL) en microtechnique et passe le plus clair de son temps libre au Laboratoire de micro-informatique (LAMI) que dirige le professeur Jean-Daniel Nicoud, époux de Mme Nicoud, directrice d’Epsitec. Il profite de réaliser un travail de semestre au Laboratoire de téléinformatique (LTI) avec le professeur Claude Petitpierre, puis un autre au LAMI (développement d’un noyau temps-réel exploitant de la mémoire virtuelle avec le processeur 68030). Il réalise son travail de diplôme de 1994 à 1995: un ordinateur complet avec un chipset x86 relié à un prototype du processeur 68060 et une carte de communication à base de 68360. Projet beaucoup trop ambitieux, mais encouragé par Jean-Daniel Nicoud, Jean-François Gruet (assistant) et René Beuchat (assistant), il croit fermement arriver à développer le futur SMAKY 6000!
Le projet de diplôme est une réussite partielle, même s’il n’a pas réussi à faire fonctionner comme il le souhaitait le bus PCI pour piloter une carte graphique du commerce. Il apprend énormément sur les chipsets PC et programme des logiques Xilinx et Altera. Son projet de diplôme est récompensé par le prix AT&T en 1995. Et réalise le rêve d’un garçon de 11 ans qui lisait « Un microprocesseur pas-à-pas« , et s’imaginait construire, un jour, un ordinateur de A à Z.
Au LAMI, les échanges avec son camarade d’études Michel Pahud qui a attaqué pour son travail de diplôme le problème par l’autre bout – faire tourner un PC dans un SMAKY – sont riches d’enseignements. Pendant ce temps, Alexandre Juillard, aussi au LAMI, se lance dans un projet impossible: faire tourner le démineur de Windows 3.1 sur une station de travail UNIX. Pierre Arnaud admire sa rigueur et sa patience. Son projet d’étudiant donnera naissance à WINE et à CrossOver, version commerciale sur laquelle Epsitec s’appuie aujourd’hui encore pour proposer ses logiciels Crésus pour macOS et Linux.
Robot Khepera développé au LAMI
Photo: Stéphane Magnenat
Des moutons et des robots
Pierre Arnaud enchaîne avec un doctorat en informatique au LAMI. Il s’intéresse à la robotique mobile et aux mécanismes d’intelligence réactive. Sa thèse débouchera sur l’étude de comportements grégaires au sein de troupeaux de robots communiquant en émettant des bips. En 1998, il termine sa thèse et reçoit le prix SUG/GFH en 1999 (clarté d’expression et qualité rédactionnelle de travaux universitaires), puis publie en 2000 son mémoire sous le titre « Des moutons et des robots« , aux PPUR. Il poursuit ensuite une année son travail dans le domaine de la robotique, chez K-TEAM à Préverenges, la société qui commercialise dès juin 1995 le petit robot Khepera développé au LAMI.
Développements – Passion et idées à foison!
Pendant ses études, Pierre Arnaud continue à développer pour Epsitec, participant au port de GCC (C et C++) sur PSOS 680×0, puis il adapte Ghostscript – un interpréteur PostScript Open Source – pour SMAKY. Ses explorations dans le monde du PC l’amènent à écrire un driver permettant de lire des disquettes MS-DOS et des CD-ROM avec système de fichier ISO. Il explore aussi de nombreuses idées afin de développer le futur de PSOS, le système d’exploitation du SMAKY. Il dévore la série des volumes « Inside Macintosh » et se passionne pour la typographie et le graphisme vectoriel.
La découverte du cube de NeXT lors d’une démonstration de Jean-Louis Gassée à l’Université de Lausanne (UNIL) l’impressionne énormément et il n’a de cesse de vouloir reproduire ce qu’il a vu: un interface builder interactif, un système temps-réel avec un noyau Unix-like, un affichage piloté par Display PostScript… Avec Erik Bruchez et Daniel Marmier, ses camarades d’étude, ils avancent tête baissée dans des projets démesurés. Après NeXT, c’est BeBox, ordinateur lancé en 1995 par Be, société fondée par Jean-Louis Gassée, qui les fascine. Une belle aventure qui se solde par un échec commercial – il en conserve une casquette brodée!
L’informatique drainait les foules et chaque année, Pierre Arnaud attendait avec impatience la foire « Computer » qui remplissait les halles du Comptoir à Lausanne. Il y passait la journée, admirant les stations de travail de Silicon Graphics, les prouesses des logiciels de dessin d’architecture, les premières imprimantes laser en couleur, les imprimantes à sublimation d’encre… et le stand d’Epsitec, avec sa maquette de train pilotée par ordinateur, le circuit de voitures de course, le robot Fischertechnik, le plotter de découpe de SAGEX, etc.
Pierre Arnaud – « Je revenais à la maison la tête remplie d’idées, désireux de recopier ce que j’avais vu, sur SMAKY. »
Le soutien indéfectible d’une pionnière, Mme Nicoud
Pierre Arnaud ne voyait pas de limites à sa créativité, toujours encouragé par Mme Nicoud, même dans des entreprises totalement irréalistes. Certaines ont cependant abouti: la réalisation d’une carte PCI avec 68040 et 68360, afin de faire tourner les logiciels SMAKY sous Windows NT (le SMAKY 400) et l’écriture d’un émulateur logiciel du SMAKY 400 – le SMAKY Infini – sur la base de l’émulateur de CPU écrit par Bernd Schmidt (tiré de l’émulateur Amiga UAE, aujourd’hui sous GitHub).
« J’ai particulièrement aimé l’aventure SMAKY, car je me sentais comme un pionnier découvrant des terres non encore défrichées. Tout était possible, beaucoup était à faire! » – Pierre Arnaud
D’autres initiatives n’ont jamais vu le jour en tant que produit, tel ce toolkit de UI dynamique inspiré par NeXT ou encore un port de DOOM sur SMAKY – beaucoup trop lent pour pouvoir être joué.
Pierre Arnaud – « J’aurai en fin de compte écrit environ 10 MB de code source assembleur pour SMAKY, et autant en C++. Je me souviens de ma fierté quand en 1996 le Dr Dobb’s Journal publie mon article « Dynamic Message Passing in C++ » où je présente du code permettant de réaliser en C++ l’équivalent de ce que NeXT faisait en Objective-C. »
Plus tard, Pierre Arnaud se lance avec Daniel Roux dans un projet ambitieux. Le duo vise à écrire leur propre framework de UI sur .NET, avec rendu graphique vectoriel sans utiliser les bibliothèques GDI de Microsoft, ni GDI+ qui était désespérément remplie de bugs. Il est impressionné par les premières versions BETA de WPF de Microsoft, mais il cherche à faire quelque chose de plus proche de l’idéal NeXT. Ils réalisent ainsi un éditeur graphique (Creative Docs .NET, disponible en ligne gratuitement et téléchargé plusieurs centaines de milliers de fois, actuellement en cours de portage sur .NET 8 par un stagiaire chez Epsitec) pour mettre à l’épreuve leurs widgets et leur architecture, puis ils ajoutent un ORM maison avec l’aide de leur collègue Marc Bettex.
Du code à la capitainerie
La famille Epsitec en 2006 – De gauche à droite: Daniel Roux, Claude Gaille, David Besuchet, Michael Walz, Pierre Arnaud, Cathi Nicoud, Yves Raboud, Denis Dumoulin, Myriam Gay-Crosier, Otto Kölbl et Christian Alleyn.
En 2008, Pierre Arnaud doit mettre en pause ses activités de développement – la santé de Mme Nicoud ne lui permettant plus de continuer à gérer la société, elle finit par le convaincre de reprendre la direction. S’ensuit une longue traversée du désert – du moins c’est ainsi qu’il se la remémore aujourd’hui – avec l’abandon de sa passion première, la programmation. Il lui faudra presque deux ans pour assimiler ce qu’implique la gestion d’une entreprise, la restructurer et assurer sa survie à moyen/long terme. Il vit des grands moments de solitude, malgré le soutien et l’appui apportés par son épouse Sylvie. Mariés en 2000, ils auront deux filles, Clarisse (2006) et Daphné (2008).
D’une équipe de passionnés à ses débuts, Epsitec se transforme progressivement. Ils sont aujourd’hui une trentaine de collègues, pour moitié des développeurs. Pierre Arnaud, essaie de conserver l’esprit d’équipe et nourrir la passion de chacune et chacun. Il a le sentiment que malgré le changement de taille et la structuration indispensable, la société Epsitec d’aujourd’hui porte encore en elle cet « esprit Nicoud ». Ainsi, récemment, en ce mois de mai 2024, après avoir engagé un ancien post-doc du LAMI (Olivier Michel), celui-ci lui confie retrouver l’état d’esprit qu’il avait tant aimé chez eux au LAMI. Une belle marque de succès et de reconnaissance pour son investissement!
En 2023, une véritable équipe de direction est mise en place chez Epsitec, ce qui permet aujourd’hui à Pierre Arnaud de consacrer plus de la moitié de son temps au développement, et il en est comblé!
Cathi et Jean-Daniel Nicoud au 25e anniversaire d’Epsitec au château d’Yverdon-les-Bains.
Pierre Arnaud – « Je ne sais pas quel impact le LAMI ou Epsitec auront eu sur l’industrie en général. Je peux par contre affirmer avec certitude que les personnes qui ont eu le bonheur de côtoyer Jean-Daniel et Cathi Nicoud et de participer à l’aventure incroyable du SMAKY ont été marquées profondément. Par leur confiance et par leur gentillesse, par l’incroyable esprit d’initiative qu’ils ont su cultiver… Rien ne nous paraissait impossible: la seule borne était notre imagination. »
La parole à… Pierre Arnaud
Conseils à la future génération d’ingénieurs
Je suis convaincu qu’outre la rigueur, ce sont la curiosité et l’ouverture d’esprit que l’ingénieur se doit de cultiver à tout prix. C’est valable à mon avis pour tous les domaines, pas uniquement pour le développement.
Cette curiosité devrait aussi s’étendre à l’histoire de l’informatique et aux racines des systèmes actuels. Comprendre ce qu’est un pointeur, le fonctionnement d’un processeur ou d’un scheduler temps-réel, d’un système de gestion de mémoire virtuelle, d’un stack réseau, de protocoles de communication de bas niveau, etc. sont des prérequis pour éviter de bâtir sa connaissance sur un terrain instable. Aujourd’hui, les abstractions s’empilent sur d’autres abstractions, et il devient difficile de se faire une idée précise de ce qui se passe « réellement » au bas niveau.
Le confort apporté un langage assembleur symbolique par rapport à un codage binaire, puis par un langage plus évolué comme le C++ par rapport à de l’assembleur, puis à un environnement où il n’est plus nécessaire de se soucier de pointeurs et de gestion de mémoire comme Java ou .NET, puis à des bibliothèques et abstractions de haut niveau, ainsi qu’à des outils d’aide à l’écriture et à l’analyse de code (dernier en date, GitHub Copilot), est bon à prendre. Je ne crois pas avoir vécu de réelle révolution, même si certains pas ont été plus grands que d’autres. L’évolution des technologies suit une logique qui s’évertue à cacher la complexité. Ce qui fait que notre outil de travail s’assimile de plus en plus à de la magie, comme Arthur C. Clarke l’écrivait en 1962 déjà: « Any sufficiently advanced technology is indistinguishable from magic ». Je crois qu’on est arrivé à ce stade avec l’informatique, aujourd’hui…
L’informatique en tant que telle a perdu son attrait pour beaucoup de personnes. C’est devenu un outil grand public et après la disparition de l’ordinateur, nous allons probablement assister à la disparition du logiciel… un thème pour une prochaine expo du Musée Bolo, à coup sûr!