vendredi 10 avril 2009

chapitre N-41


Au bout d'un certain temps de la lumière s'alluma dans la gare-école, des pas retentirent sur le dallage de la "salle des pas perdus". On le fit entrer. C'était plus petit qu'il ne s'y attendait: le hall avait été recloisonné pour faire plus de classes, mais ce qu'il en restait était haut de plafond, avec une horloge, comme celle de la façade mais sans aiguilles au néon. Il y avait des décorations de Noël (ou "Santa Klaus", mais ça revenait au même). Le concierge avait une soixantaine bien tassée (peut-être une septantaine: difficile à dire dans une éthnique que l'on ne connaissait pas). Il appela les secours et la police, qui arrivèrent vingt minutes plus tard, et servit du lait chaud (ayant vomi après le café du sauvetage du lac, il avait décliné l'offre: "c'est très gentil mais le café me rend malade. De l'eau chaude suffira, si vous avez". Le concierge lui avait proposé du lait en poudre dans l'eau bouillante: c'était plus réconfortant) puis lui prêta un vieux manteau qu'il n'utilisait plus.
Il fut ensuite examiné par le médecin du village: ce n'était pas déchiré, selon lui (Stéphane avait tout de suite pensé aux histoires de "ligaments croisés" dont on parlait souvent au football), mais il faudrait vérifier par une radio. Il le banda sur ce qui lui sembla un bout de gouttière en PVC pour éviter d'aggraver l'entorse. Il fut ensuite entendu par la police finlandaise pour ce qu'il avait pu voir de l'accident. Il était à l'intérieur de la maison et dormait, donc ne s'était réveillé qu'après. Il n'avait pas pu prévenir, son téléphone étant enfoui quelque part sous les gravats. Le chauffeur avait l'air tout à fait mort, vu ce qu'il avait dans la gorge et la cage thoracique: il était monté sur le marcherpied pour vérifier, mais il n'y avait pas touché: "il doit y avoir mes empreintes sur la porte, mais je ne l'ai pas ouverte".
- vous êtes le superviseur de Tricatel,
dit alors l'autre policier en examinant ses papiers
S- oui: c'est dans mon logement de fonction que le camion est entré. Ma voiture de fonction a été détruite aussi. Ce serait bien si vous pouviez faire un constat pour l'entreprise. Ah: si vous trouvez un petit chat gris angora dans la cuisine ou perdu dans les environs, il habite ici aussi. Il s'appelle Surimi. J'espère qu'il n'a pas été écrasé...
- a-t-il un numéro de tatouage?
Stéphane le donna. "Ce chat appartient à Atte Ruusuvaara, mais c'est moi qui le garde car il était en déplacement".
Les policiers rirent. Atte était-il donc si comiquement célèbre dans le village? Ils lui apprirent quel le camion avait été volé cette nuit. L'inexpérience du voleur en conduite de tels chargements sur ces routes-là expliquait l'accident, avec traversée du terrain vague voisin, du garage et de la moitié de la maisonnette.
Il fut emmené dans une autre ville pour des radios: entorse simple, imbolilisation en "plâtre" démontable une semaine, bandage ensuite. Paakkinen vint le chercher en voiture (la XM: la fuite avait donc été réparée) et lui dit qu'un des policiers avait retrouvé le chat d'Atte. Surimi avait été retrouvé en bonne santé car la cuisine avait été peu endommagée puisqu'à l'angle opposé de l'impact. Ca, il le savait déjà, le bon point étant qu'il ne se fût pas échappé pour "on ne sait où" ensuite. Ce qui l'inquiétait, outre sa jambe (marcher sur béquille allait lui compliquer la tâche, à l'usine, sauf au bureau), c'était l'AK50. Il ne l'avait pas lâché. Paakkinen lui apprit que ça avait planté dimanche après-midi (comme d'habitude) mais qu'Anton avait pu obtenir de l'assistance technique en allemand depuis BFR à Rennes, sans aller "sonner" Stéphane. Anton n'avait pas résolu le problème mais Stéphane n'y serait pas parvenu non plus, puisque les informaticiens de Rennes n'avaient pas encore trouvé la solution. Cela n'empêchait pas l'usine de fonctionner "telle que", mais il devenait impossible de rajouter des fonctions. Il quittèrent l'hôpital vers 10h, Stéphane le genou immobilisé pour quelques temps avec une gouttière démontable fixée par d'épaisses sangles à velcro: ce n'était pas une entorse grave, mais il fallait éviter de nouveaux appuis obliques dessus. Il pouvait ôter la gouttière pour dormir (pouvoir allonger la jambe éviterait le raccourcissement des tendons) ou quand il était assis au bureau, par exemple, mais ne devait pas marcher sans, en attendant un nouvel avis. "Si vous dorrmez sur le côté, dormez sur cette jambe, pour que l'articulation ne soit pas en porte-à-faux. Pour dormir sur le flanc droit, il faut garder la gouttière".
Paakkinen passa à la ruine récupérer ce qui pouvait l'être. Ils retrouvèrent pas mal de choses, en particulier ses vêtements d'apparât, intact dans leur housse: l'armoire était tombée avec le pan de mur dans lequel Seppo l'avait chevillée, mais n'avait pas été écrasée. Lunettes virtuelles: hors d'usage. Les accessoires pour recharger le camescope et l'ordinateur, et enfin le téléphone portable: le camion une fois retiré, on y voyait beaucoup mieux, d'autant plus qu'il faisait jour. L'avant de la R20 avait été écrasé en biais, dans le garage avant qu'elle n'en défonce un mur latéral, poussée par le camion. Irréparable. Il y avait d'autres affaires, dont enfin des chaussures de rechange (les "chic", qu'il ne mettait pas habituellement). Stéphane retrouva les deux sacs à surgelé, dans la cuisine, et les remplis du contenu du petit compartiment congélateur, en particulier les brocolis. Pas de problème pour le contenu du réfrigérateur: la température ambiante, tout en étant insuffisante pour les sugelés, était même trop basse. Il prit juste une belle botte de poireaux en refermant vite la porte pour que le reste ne gèle pas trop vite. S'il devait "camper" à l'usine un certain temps, il lui fallait des légumes frais.
Paakkinen le ramena à son bureau: la "tour de contrôle", lui montrant son lit dépliant: "vous n'avez plus de logement de fonction, mais au moins vous n'êtes pas à la rue". Stéphane demanda à Paakkinen de mettre ses précieux sachets de brocolis dans un carton dans la chambre froide pour surgelés de l'usine. Les poireaux, une fois coupés en deux, tenaient dans le petit réfrigérateur à effet Pelletier du bureau.
Stéphane s'installa dans le fauteuil de programmation et tapa un rapport qu'il envoya à BFR en ajoutant: "vous aurez les images dès que j'aurais trouvé un adaptateur pour les convertir depuis le camescope".
BFR répondit que les Trielec seraient commandées le jour même "ça peut se piloter d'une main et sans les pieds, et en attendant qu'elle soient livrées (ce qui prendra... "un certain temps"), si vous avez vraiment besoin d'une voiture pour un déplacement professionnel, vous pouvez aussi utiliser quelqu'un de l'usine comme chauffeur avec un des autres véhicules de service".
Il y avait un utilitaire C15 diesel décoré "Délice de Kerisper" d'un côté, "Grand Ivorien" de l'autre, et une Polo rouge plus anonyme (de 1982, à arrière taillé droit), voiture "restituée" par BFRD lors d'un renouvellement de leur parc. On lui donna ensuite les tests à faire pour l'AK50 pour récupérer les données si c'était possible. D'abord essayer de le redémarrer en remettant la batterie: même avec un écran cassé, il devait y avoir des signes de vie, en particulier les diodes lumineuses du clavier. Cela fonctionna: le système AK démarrait au quart de tour. Stéphane manoeuvra les leviers pour amener le pointeur là où il savait qu'il avait laissé une "console" Linux ouverte. Il tapa une ligne de commande lançant une vidéo prise chez VTP: il en entendit le son. Une partie au moins de la gestion de fichiers et de des coprocesseurs fonctionnaient. Il brancha donc sa "petite liaison personnelle" à câble 25 broches à l'informatique du bureau, et de celle-ci put explorer les répertoires (il fallait l'autoriser depuis une "console" Linux du AK en mode superutilisateur, mais cette ligne de commande aussi était facile à taper dans erreur sans écran de contrôle). Tout y était. Du costaud, ces machines russes, même s'il ne savaient pas encore faire des écrans blindés. BFR lui dit alors d'envoyer quelqu'un acheter immédiatement (sur le compte de l'entreprise, bien sûr) un AK50 neuf avec les lunettes virtuelles (à Helsinki, si on n'en vendait pas plus près) et qu'il n'aurait qu'à transférer toutes les données dedans: "vous garderez l'aveugle comme média de sauvegarde: ça peut toujours servir, et en branchant les deux ensemble par un aller-retour optronique, vous disposez de presque deux fois plus de puissance: c'est fait pour collaborer en réseau, ces machines-là, camaraderie soviétique oblige".
Les AK dataient d'après, mais le projet avait peut-être commencé avant.
Stéphane se mis alors au courant de ce qui se passait dans l'informatique centrale de l'entreprise: Irina avait refait des test dès son arrivée le matin et lui expliqua que toute recompilation du coordinateur général provoquait des "sauts sauvages" dans le programme, ce qui pouvait être soit un débordement "silencieux" de tableau, soit une variable censée être initalisée mais qui dans un certain ordre d'enchaînement des appels se trouvait être lue avant d'avoir été initialisée, soit d'un bogue du compilateur. Vertti avait déjà signalé des bogues dans le compilateur C "gcc". "En réécrire un, j'avais essayé, il y a quelques années, mais j'ai compris que ça me prendrait plus de mille ans. L'analyse syntaxique, ce n'est pas la mer à boire, les arbres programmatiques non plus, mais pour trouver les méthodes pour transformer tout ceci en instructions à peu près efficaces dans un système vectoriel parallèle, il me faudrait un cerveau vectoriel parallèle".
- alors comment ont-ils fait?
- ils étaient toute une équipe, et sans partir d'une page vide, en plus.
Stéphane proposa une solution à BFR Rennes: ne pas faire gérer les nouvelles installations ni les installations modifiées (dans le cadre de sa mission) par le système central mais mettre un petit ordinateur pour chaque installation. Un AK46 devrait suffire. Il s'agissait d'une version très simplifiée, monoprocesseur, écran 640x480 monochrome, avec capacités de mise en réseau (par fibres optiques) augmentées: trois entrées et trois sorties optiques multiplexées, permettant son insertion dans des boucles multiplexées formant réseau "cubotorique" (un cube rebouclant sur lui-même, du point de vue connectique, par ses trois directions). C'était tout à fait indiqué pour piloter des machines, des robots (pas trop compliqués: l'AK46 n'avait pas la puissance pour faire de l'analyse d'image en temps réel, par exemple), des groupes de périphériques, etc. Ca convenait très bien pour piloter des processus industriels, même relativement compliqués (trop compliqués pour un microcontrôleur) tout en permettant leur examen par un intervenant humain grâce à l'écran et au clavier, contrairement à un microcontrôleur. Avec un seul processeur dans un noyau scellé à bain d'huile identique aux autres modèles, où l'on mettait plus de mémoire pour faire "boite noire" longue durée de l'historique de ce que gérait cet ordinateur, l'AK46 avait une consommation modeste et pouvait fonctionner 24h/24 pendant une quizaine d'années (AK savait que les clients industriels en auraient changé bien avant, "mode oblige", à part ceux ayant des difficultés financières) sans problème, voire bien plus.
L'AK46, une fois programmé et équipé des E/S spécifiques au processus à gérer (qu'il suffirait de brancher en série sur l'une des boucles de multiplexage, en gardant les deux autres pour le réseau entre AK) pourrait effectuer toute la surveillance et la gestion locale, ainsi que des prises de décision "de contournement" en cas de panne (BFR avait demandé d'en ajouter, en échange d'accepter cette solution) et ne communiquerait avec le système central que pour "l'offre et la demande" (de matières premières, d'électricité, d'exportation de produits semi-finis vers d'autres installations ou de produits finis vers l'emballage et stockage final)
- décentraliser l'informatique de process au niveau de chaque installation?
S- tel qu'est le système, et compte tenu de la mort du seul qui le comprenait, ça me semble plus sûr et plus gérable. Cela permet de relancer manuellement telle ou telle installation sans avoir à la gérer point par point, et en gardant ses contrôles de sécurité intrinsèques.
- d'accord: achetez les AK46, les éléments d'interfaces, faites deux essais différents sur ce qu'ils ne réussissent pas à intégrer au coordinateur central, et tenez-nous au courant.
S- qui va écrire les programmes pour les AK?
- vous, puisque vous êtes censé avoir été diplômé en automatismes industriels, ou n'importe qui qui sache le faire. Il suffit de les réadapter aux E/S spécifiques de cette machine.
S- la seule chose que je sache gérer moi-même dans un AK, c'est le port parallèle
- alors plongez dans la doc du constructeur: la boucle optique offre bien plus de possibilités. Il y a des exemples dans les DOEC de didacticiels qui étaient joints avec. Vous trouverez les pièces d'interface pour les installations chez AK aussi. Comme si vous aviez tout un tas de ports parallèles: vu le très haut débit de l'optique, ça les simule sans que vous ni l'installation ne s'en rende compte.
Il leur fallait donc d'abord acheter le plus vite possible tout ceci chez un détaillant ou grossistes AK. Ce n'était pas une grosse dépense par rapport à n'importe quelle machine industrielle de l'usine. Il fallait Seppo pour installer physiquement ces nouvelles interfaces, et il ne seraient pas trop de trois (Irina, Anton et Stéphane) pour réécrire les programmes d'automatismes.
Doc consultées, le système "grafset" de programmation d'automatismes par description schématique (ou plutôt sa variante ex-soviétique) existait pour AK portables. Ca éviterait d'avoir à le faire en C, même en C//. Stéphane n'avait pas eu le temps de beaucoup pratiquer le C//. Anton le connaissait un peu plus (ayant un AK48 depuis début 1997), Irina pas mieux que Stéphane: il n'y avait pas de C// (spécificité AK) dans le système Linux de l'usine, et Irina n'avait pas d'ordinateur portable AK. De plus le C// n'utilisait aucun mot-clef mais des symboles faits d'un code à préfixe, sur les touches du clavier. Plus compact, plus mnémotechnique visuellement (un peu comme les panneaux routiers), mais il fallait s'y habituer. Irina fut donc chargée de la partie interfaçage entre les AK46 locaux et le réseau central, car cette tâche pouvait se passer de parallélisme, s'agissant de liaisons séries de type Ethernet (que Stéphane, lui, ne connaissait que de nom). Certaines fonctions purent être sous-traitées en France, pour simuler une équipe plus importante.
Paakkinen s'inquiéta quelque peu de cette décision: la décentralisation de gestion de processus ainsi engagée faciliterait considérablement la délocalisation de tel ou tel de ceux-ci dans une autre usine, puisqu'indépendants (pour leur fonctionnement propre) du système central, qui ne serait alors que leur fournisseur/client. Il supposa aussi que l'installation du second C240 ne visait pas qu'à sécuriser le système par redondance: et si le système allait se scinder progressivement en deux, comme une fermeture Eclair ou la molécule d'ADN lors de sa reproduction? Deux systèmes dans l'usine: le vieux, trop difficile à reconfigurer pour un autre usage, et le nouveau, "fournisseur/client", beaucoup plus maléable donc réinstallable dans une usine lithuanienne conçue autrement. Le superviseur faisait effectivement des travaux de modersination de la productionn de BFRSF, ce qui à première vue semblait un gage de pérénité, mais en y regardant mieux pouvait aussi être un banc d'essai pour la "délocalisabilité" de ces productions améliorées, ne laissant dans BFRSF que ce qui ne vaudrait pas la peine d'être réinstallé là-bas.
BFR commanda six Trielec pour BFRSF, à livrer sur place. Trois modèles à pédales et trois avec moteur d'appoint pouvant fonctionner à l'essence ou au gaz. Pas de moteur diesel pour une puissance aussi modeste: c'eût été trop cher et trop bruyant, avaient estimé d'origine les ingénieurs de Kermanac'h, surtout pour un moteur d'appoint: ce véhicule ferait la plupart de ses trajets sur les batteries donc n'aurait pas rentabilisé le diesel "du vivant de son propriétaire", à moins de l'utiliser souvent pour voyager.
La propriété par BFRSF des véhicules supprimait tous les problèmes d'immatriculation et d'assurance pour un propriétaire étranger ayant le statut d'expatrié et non d'immigré: Stéphane était toujours rémunéré par BFR, et non BFRSF.
Stéphane utiliserait une voiture de service s'il devait effectuer des missions hors de portée des accus d'une Trielec 332, donc n'avait pas besoin de la version à moteur d'appoint. Au pire, une fois son genou rétabli, il aurait les pédales, même si cette 332 était 36% plus lourde que sa monoplace.
Ce fut le jeudi 12 février que Seppo découvrit qu'Anton "sniffait des joints": il ne les fumait pas (ça aurait déclenché l'alarme incendie), mais il les distillait à la vapeur dans une sorte d'inhalateur électrique qu'il avait dû bricoler lui-même. Pas de point plus chaud que l'eau bouillante, ni de fumée (juste un peu de vapeur: pas assez pour déclencher un détécteur): c'était utilisable en toute discrétion dans l'usine, en plus d'extraire la quasi-totalité du THT. Fumer le canabis avait pour effet d'en perdre beaucoup dans l'atmosphère, en plus d'en détruire une grande partie par combustion. La distillo-inhalation récupérait presque tout, sans iriter les yeux ni les bronches, en plus, d'où son accessibilité pour les non-fumeurs: uniquement l'ivresse canabique, aucun des désagréments physiques. Voilà qui expliquait l'air souvent "absent" (mentalement absent, comme disaient les Allemands) de ce personnage. La passivité physique induite par la consommation fréquente de THT expliquait aussi la brioche, alors qu'Anton ne semblait pas être un enzyme glouton.
Seppo en parla à Stéphane. Ils avaient besoin d'Anton, car Irina à elle seule ne suffisait pas, vu l'ampleur de la tâche pour mettre sous contrôle des AK46 les installations dont les modifications de pilotage ne pouvaient pas être recompilées dans le système central, devenu "toxique à la compilation" sans que l'on pût comprendre comment: même en retirant les nouvelles fonctions, le programme recompilé (énorme machin) boguait avec des "sauts sauvages" (partant et arrivant d'endroits où il n'y avait ni saut ni étiquette, quand on le traçait au débogueur). Un phénomène de sorcellerie pure, en informatique, car analogue à "la mémoire de l'eau": faire une modification puis la retirer laissait une trace, alors qu'il ne pouvait pas en être ainsi: dans un compilateur, le même "source" (et mêmes annexes, librairies, inclusions, etc) devait produire le même exécutable.
La seule explication autre que les trolls ou le vaudou était que le compilateur possédait une mémoire de recompilation, pour gagner du temps et ne pas tout recompiler. Vertti aurait peut-être su comment l'obliger à l'ignorer, et considérer l'ensemble des sources comme inédits. Mais ni Irina, ni Anton, et moins encore Stéphane n'avait la moindre idées des options à changer ou des fichiers "de reprise" à supprimer. En supprimant au hasard on risquait d'amputer le compilateur de certains de ses organes vitaux, or pour des programmes plus petits il fonctionnait encore correctement, dans l'un ou l'autre des Convex.
Irina ayant clôné les disques durs de l'ancien dans le nouveau, le même problème aurait dû se produire dans les deux. En fait, non, car la "mémoire de l'eau" ne sautait pas d'un Convex à l'autre (ouf). Toutefois chacun induisait des propres bogues de recompilation: certaines choses pouvaient être recompilées à bord du "cvx0" (son nom dans le réseau Ethernet), d'autres à bord du "cvx1", mais le gestionnaire de l'usine, lui, ne passait dans aucun des deux: lors de l'édition de liens, des adresses globales étaient toujours mal gérées. Mais pas les mêmes. Ceci prouvait à soi seul que l'erreur ne venait pas des sources: un bogue de programmation aurait eu le même effet via les deux compilateurs, sauf en cas de variable non initialisés.
Or Irina avait réussi à faire quelque flagrants délits, hdmx étant un tableau externe:
hdmx[41]=100;
r=hdmx[41];
printf("r=%d\n",r);
ce qui produisait des valeurs farfelues.
Le plus vicieux était que si l'on insérait:
printf("r=%d\n",hdmx[41]);
avant de copier cette valeur dans r, ça imprimant "r=100" à tous les coups. Y compris le deuxième mouchard: donc ce n'était pas non plus un disfonctionnement de la copie vers r (opération triviale pour un processeur). Comme si le compilateur se rendait compte que la variable était surveillée et renonçait alors à frauder, mais n'avais pas l'intelligence pour le faire lors d'un mouchardage indirect. Là, on atteignait un niveau rare de "malveillance artificielle", de l'avis même d'Irina. Le compilateur n'était pas fou: il savait très bien ce qu'il faisait, puisqu'il cessait de le faire dès qu'il détectait des mouchards trop proches. D'autres cas de ce genre furent mis en évidence. Or le compilateur gcc, dans un système Linux, servait à tout, y compris recompiler le "noyau" Linux lui-même (impossible dans un AK, car en ROM, mais "prévu pour" dans des systèmes Linux plus classiques), or Vertti avait modifié maintes fois le "noyau" pour l'adapter à de nouveaux pilotes, etc. La mouture AK de Linux n'embarquait pas les nouveaux pilotes (et pour cause): elle les gérait séparément, en mémoire permanente (qui tenait lieu de disque dur à accès immédiat (puisque statique) et même temps de mémoire directe semi-rapide dans ces machines, contrairement aux mémoires "flash" que l'on trouvait déjà à cette époque dans les appareils photos numériques et certains modem-fax autonomes) un peu comme Windows ou MacOS. Seuls les pilotes "maison" étaient à bord du noyau Linux AK en ROM.
Et si Vertti était allé jusqu'à recompiler le compilateur, pour tenter de le réparer, s'il avait déjà détecté de tels problèmes? Cela n'avait pu que les aggraver, et s'il avait recompilé le noyau Linux avec, la malédiction était dans tout le système, sauf ce qui tournait dans les AK. Malédiction implantée dans le nouveau Convex par clônage du système de l'ancien.
Il fallait donc revenir à un noyau datant d'avant. Vertti les avait certainement sauvegardés: on était censé le faire, au cas où le nouveau planterait.
Sur le cvx1, Irina réimplanta un noyau datant d'août 1997, et son compilateur (il y avait une sauvegarde système complète). Elle fécilita Stéphane d'avoir acheté un second C240, car c'était le seul moyen de faire des comparaisons "purement système" puisqu'à matériel identique.
Le compilateur de ce système boguait, quand on lui fit compiler le nouveau coordinateur avec. Il fallut revenir en octobre 1996 pour trouver un système sain (du moins pour ce type de test). Oui, mais si on l'installait tel que, c'était plus d'un an de mises à jour, corrections de problèmes (autres que ceux du compilateur) et améliorations de gestion de processus qui étaient annulés: le nouveau coordinateur, compilé dans ce système (après quatre jours de contrôles et réimportations de librairies et de modification des noms de certains "#include"), ne fonctionnait pas, car le noyau n'avait pas les bons pilotes (et pour cause).
Pendant ce temps, Stéphane, Seppo (pour la connectique et la fabrication de petites interfaces matérielles) et Anton (malgré ce que l'on en savait maintenant) continuèrent à "akaïfier" les installations qui devaient être modifiées et ne pourraient donc pas être prises en main directement par la version existante du coordinateur. Le but était de faire croire au coordinateur que c'était l'ancienne version, l'AK46 local se chargeant d'adapter, ce qui compliquait considérablement les choses car au lieu d'avoir juste des ordres "de haut niveau", il fallait remonter depuis toutes les petites commandes individuelles d'organes pour remonter à ce que le coordinateur voulait faire faire à l'ancienne version de l'installation, et le faire faire (autrement) à la nouvelle. Stéphane avait bien l'intention de mettre le coordinateur aux oubliettes dès qu'il y aurait une gestion locale dans chaque installation, mais s'était rendu compte que cela prendrait plus d'un an, vu le nombre d'installations et de cas particuliers dans chacune. De plus sa mission était de les modifier, et pas juste de faire prendre en compte les modifications par l'informatique. Faire une "dérivation" depuis le coordinateur pour envoyer directement les ordres "de haut niveau" (ce qu'il fallait faire, et non comment le faire) aux périphériques aurait été très facile... si l'on avait pu faire confiance au compilateur.
Or mystérieusement, le gcc sain d'octobre 1996 plantait à bord du système daté de août 1997, ainsi que les deux situés entre eux. Il n'y fonctionnait pas du tout. Ce qui était "incompréhensible", car avec ses propres librairies il aurait dû fonctionner, même dans un autre système. Mystère... Ca pouvait venir du système de gestion de fichiers: s'il était bogué, tout ce qui l'utilisait (y compris le compilateur pour tous ses fichiers temporaires) pouvait dérailler. Toutefois, le coordinateur de l'usine (la dernière version non "empoisonnée" par le compilateur) fonctionnait correctement (sans pouvoir prendre en compte les nouvelles installations, ce qui était normal) donc la gestion de fichiers fonctionnait correctement pour ce que ce programme en faisait. Il pondait et relisait bien plus de fichiers qu'un compilateur, et bien plus encombrants. Il n'y avait aucune logique dans tout ceci. D'ailleurs il y en avait rarement dans les bogues, et moins encore les bogues "systèmes".
Stéphane décida de faire la même chose que pour la clim: "on va s'en passer". Toutefois, BFR lui répondit que non: sa solution était théoriquement saine, mais prendrait trop de temps avec trop de personnel.
S- avec tous les informaticiens au chômage qui jonchent les ANPE, vous pouvez nous en envoyer un autocar entier pour par cher...
- vous datez: la France n'a plus cet océan de jeunes chômeurs surdiplômés dans laquelle nous puisions tout ce que nous voulions pour une bouchée de pain. Fini, ça: depuis l'ELR on est presque au plein emploi, et pour les gens qualifiés, on est au plein emploi, donc à plein salaire.
S- alors l'Allemagne: ils ont encore du chômage, eux, depuis la réunification
- oui, mais ça baisse aussi: ils sont en train de faire des réformes comme les nôtres, en particulier la TVA sociale. Vous ne voulez pas de jeunes holligans drogués de l'ex-Allemagne de l'Est, je suppose. Nous allons passer des annonces en Allemagne, via BFRD, mais encore faut-il en trouver qui veuillent bien aller en Finlande. Vous, allez à Tempere et à Helsinki et voyez ce que vous pouvez trouver sur place: il y a plein de jeunes mordus de Linux, là-bas
S- nous avons déjà prospecté: aucun n'échangerait un poste de développeur chez Nokia ou autre pour venir faire des interfaces système dans une usine loin de tout comme la nôtre. J'avais pensé au Russes, puisque l'AK vient de chez eux, mais il me faut votre autorisation.
- les Finlandais ne les accepteront pas.
S- alors quelle est votre solution?
- d'après vos rapports, le système d'octobre 1996 est sain. Repartez de ça et refaites par des AK46 ce que l'équipe de votre prédécesseur avait fait par modification du coordinateur.
S- Irina l'avait envisagé, mais sans programmeurs supplémentaires, nous allons prendre un retard énorme.
- essayer de recruter en Finlande profonde. Il y a des jeunes mordus de programmation sur AK au point d'avoir raté leurs études et qui seraient certainement content de prouver à leurs parents qu'ils peuvent gagner de l'argent tout de suite, sans avoir fait d'études.
S- ça doit exister aussi en Europe, ça: France, Allemagne, Belgique, Hollande...
- oui, mais les Finlandais n'auront pas de problème d'intégration
S- vous exagérer, sur ce point: je n'ai perçu aucun racisme.
- parce que nous vous avons choisi exprès pour ça. Mais s'il faut trouver des informaticiens qui aient l'air finlandais et qui le parlent suffisamment, et bien c'est en Finlande que vous les trouverez. Ceux qui n'auront pas été embauchés par les grandes boites de haute technologie. Loin d'Helsinki, mordus d'informatique sur AK, si possible avec un peu de robotique et d'électronique amusante, et en échec scolaire.
S- l'échec scolaire est très rare, en Finlande
- il semble rare car on ne les fait pas redoubler. Mais s'ils ne font vraiment rien, ils n'ont pas de diplômes: c'est un pays sérieux. Utilisez internet, puisque c'est très répandu dans ce pays.
Ce furent Juha et Nelli (pas indispensables dans l'usine) que Stéphane chargea de cette prospection de "jeunes cerveaux akaphiles" en Finlande profonde, avec l'accord de Paakkinen. Stéphane, logé sur place, pouvait confier la Polo à l'équipe Juha-Atte (Juha conduirait). La prospection se faisait par internet, dans des forums destinés à la programmation sur AK et qui n'interdisaient pas les offres d'emploi (chaque forum avait ses propres principes). Des tests étaient faits par internet, puis, pour vérifier si le candidat (parmi les meilleurs sélectionnés) avait résolu les petits problèmes de programmation lui-même, les envoyés de BFRSF étaient chargés de leur faire passer des test sur place sur AK46. Les testeurs n'avaient pas besoin de connaissances poussées en informatique (bien moins que ceux qu'ils testaient) car le logiciel conçu par Irina pour faire passer les test s'en chargerait.
Atte logeait avec Surimi chez Timo qui avait depuis peu son propre logement: une demie-maisonnette "soviétique" (cube de béton mitoyen dont l'autre moitié appartenait à d'autres gens) dont ses parents avaient hérité de la grand-mère paternelle et qu'ils avaient mis à disposition de Timo. Ceci expliquait que sa famille ne fût pas au courant qu'il bût. Timo aimait les chats mais son chat précédent avait été tué par la chute d'une stalactite de glace et il n'en avait pas encore fait le deuil. Toutefois, la présence du jeune Surimi lui fut agréable. Atte subit la même recommandation que chez Stéphane (quand il avait "la permission du samedi soir" pour dormir au grenier): "aucun bruit pendant que le dors, même sous prétexte d'aller nourrir ton chat: tu sais ce qui arrive quand on leur donne à manger après minuit... Sinon je te mettrais dehors mais Surimi pourrait rester".
Timo avait vite fait le rapprochement entre la destruction de la maisonnette de fonction du superviseur et la recherche d'asile par Atte: il était donc logé chez là. Tous les environs étaient au courant de cet accident et même au delà: la vidéo de l'extraction du camion des ruines était passé sur une chaîne nationale. Il s'agissait d'un gang ukrainien qui volait des camions en Finlande. Deux camions d'une laiterie avaient eux aussi disparu.
Timo ne fit pas allusion à Atte de son "squatt" probable chez Stéphane. Il avait dû rajouter un lit pliant dans le séjour-"cuisine américaine" car Timo n'avait pas de canapé-lit: juste un fauteuil "de télé" assez confortable, récupéré lors d'un renouvellement de mobilier de bureau chez BFRSF. Timo disposait aussi d'une voiture: il avait récupéré la Volvo 66 Variomatic (ex-Daf 66: une petite voiture légère, contrairement à ce que supposait la marque Volvo) de sa grand-mère par la même occasion. Bleu marine, tout sauf sportive, mais correctement entretenue et démarrant sans problème malgré l'hiver finlandais.
Atte trouvait que Timo était un interlocuteur moins intéressant que Stéphane, car moins exotique et moins intelligent (supposait Atte). Par contre, Timo était un copain plus convivial, qui aimait faire la cuisine et partager le résultat pour le tester sur son cohabitant. Il buvait des bières devant la télé, ce dont sagement Atte s'abstint, mais les pâtisseries de Timo étaient irrésistibles, de même que les frites et la fondue: de l'Europe "classique", Timo n'avait récupéré que des recettes caloriques.
Mardi 17 février 1998: le premier programmeur ramené par les "prospecteurs" (déjà) était un jeune de dix-huit ans, avec des boutons (ça existait donc en Finlande?), un piercing à l'oreille et un autre au nez, une coupe "punk" et de petites lunettes "Herr Doktor". L'avaient-ils ramené pour s'amuser ou parce qu'il était capable? Irina le mit sur un cas concret, estima qu'il convenait, imprima un rapport pour Paakkinen, donna son avis à Stéphane, qui le transmit à BFR à Rennes, qui répondit à Paakkinen de le prendre à l'essai. Il s'appelait Jyri Kettunen, et sa plus grosse difficulté chez BFR fut l'interdiction totale de fumer (pas juste interdiction: impossibilité, le système d'extinction visant vite et bien, comme dans toutes les usines BFR, soit avec de la neige carbonique, soit de la poudre là où des installations électriques auraient été mises en court-circuit par la neige carbonique) qui l'obligea à recourir aux gommes et patches, tout en suçant un stylo à bille pour s'occuper la bouche. Si jeune et déjà intoxiqué... Stéphane découvrait que la Finlande ne comportait pas que des bons élèves sages comme des images. Mais il était compétent et rapide pour ce qui était de programmer sur AK, là était l'essentiel. On le mit aussitôt à "décentraliser" la gestion de la machine à réaliser les petits fours (pour les traiteurs), celle-ci étant tombée en panne suite à un bogue du coordinateur.
Quand il avait entendu parler de "coordinateur", Stéphane avait visualisé cette vieille BD qu'il avait lue à sept ans chez ses cousines: "Le Trio de l'Etrange", où un énorme ordinateur en tranches de verre disposées radialement devenait fou, de la puissance s'étant concentrée dans une petite sphère creuse à son sommet, que les aventuriers devaient détruire. Où était la sphère tueuse, dans BFRSF? Stéphane imaginait que si VTP avait utilisé cette usine pour y tourner une série, les morts de Jürgen et de Vertti n'aurait pas été accidentelles, tout en en ayant l'air. La réalité était moins SF: ce coordinateur était simplement victime d'un système Linux compliqué et bancal, dont le compilateur semait des bogues dans tout ce qu'il compilait d'un peu gros.
Le deuxième recruté fut Arvi Parkkila, un garçon "sage comme un image", ou presque: il ne se distinguait du jeune Finlandais modèle que par des lunettes (fines) et une mèche de cheveux bleu électrique retombant en avant contrairement au reste qui était guidé en arrière par le même serre-tête fin et transparent que Juha: article du commerce local? Ce ruban capilaire bleu descendait comme une parenthèse venant chatouiller le coin droit de la bouche. Les jeunes Finlandais se ressemblaient-ils tellement entre eux qu'ils éprouvaient le besoin de se personnaliser d'une façon ou d'une autre? Ni tabagisme ni autres comportements autodestructeurs. Fan de jeux vidéo de style "tire dans le tas" (alors que Jyri était fan de programmation et de bidouille) mais bon programmeur sur AK aussi. 17ans (il fallait l'accord des parents, ils le donnèrent), 1m68 (ça ne voulait rien dire: il lui restait plusieurs années pour devenir d'une taille "finlandaisement acceptable"), bonnes joues mais pas encore de ventre. Il lui arrivait aussi de ranger la mèche bleue avec le reste, mais la plupart du temps il l'avait dans la figure.
Les parents de Jyri étaient venus voir l'usine, et avaient dit à Paakkinen "surtout ne transigez pas sur l'interdiction de fumer: ça va le désintoxiquer, de devoir se retenir toute la journée". Paakkinen avait répondu qu'il n'y avait pas à transiger ou pas: le système d'extinction à suivi de cible thermique le transformerait en bonhomme de neige s'il essayait (dès qu'il actionnerait le briquet, en fait). Des visiteurs qui n'avaient pas tenu compte de l'avertissement avaient déjà été refroidis ainsi. "Excellent", avait dit la mère de Jyri, en ajoutant: "et si vous lui disiez que les bidules en métal fixés à travers la peau, c'est dangereux avec les machines?"
Paakkinen- non: pas sur un ordinateur, et puis il n'est pas le seul à en avoir, ici, même si ce n'est pas trop fréquent pour le moment. Même si ça ne me regarde pas, je pense qu'un bon traitement interne contre l'acné le dispenserait de devoir détourner l'attention du public de sa peau par des trucs que l'on remarque plus que les boutons. Ne croyez-vous pas?
- ah... Ca pourrait être ça. On avait essayé des produits sur la peau, mais ça ne marche pas. Je vais me renseigner...
Paakkinen n'avait jamais encore joué les psys pour problèmes parents/ado, mais ça lui avait semblé évident: si on enlevait les boutons de Jyri, il enlèverait peut-être les piercings. A quoi servait la mèche bleue (voyante mais presqu'élégante) d'Arvi? Peut-être à faire moins "bon élève à lunettes".
Ce fut jeudi après-midi que l'autre équipe de testeurs (en R20) ramena un autre jeune programmeur qui, lui, était tout à fait anonyme pour un jeune Finlandais. 18 ans, ayant déjà fait un jeu vidéo (non vendable, car trop artisanal, mais complet et en, 3D "embarquée": on pilotait des globules blancs dans des artères, et on devait gober des microbes (point en plus) sans se faire coincer et intoxiquer par eux, ni abîmer de globules rouges: points en moins) sur AK49. Gagner de l'argent tout de suite en programmant un AK (même si ce n'était que le 46) toute la journée, personne d'autre ne le lui avait proposé. Konsta Savolaïnen avait signé tout de suite chez Paakkinen, en demandant: "les produits, on peut les goûter?"
Paakkinen- il faut demander la permission à Ari [sachant très bien qu'il ne la donnerait pas, et supposant que Konsta n'oserait pas lui demander: Ari impressionnait], mais tu peux acheter tout ce que tu veux à prix d'usine: c'est moins cher qu'en magasin, et on peut te le prélever directement sur ton salaire.
La gestion de "3D molle et translucide" par Konsta dans son jeu, tout en n'ayant aucun intérêt pour BFRSF, montrait à Irina une bonne maîtrise de l'OpenGL. On lui fit donc faire toute la virtualisation des processus à "akaïfier", pour l'interface homme-machine, en plus d'une partie de la programmation classique.
Désormais, quand une installation défaillait on en profitait pour l'akaïfier (ce qui permettait le débug réel (et non virtuel) du processus sans être dépendant du coordinateur, tout en pouvant aussi intéragir avec celui-ci). Du câblage optique avait été ajouté, en "anneaux fermés" (et non en radiales de toile d'araignée, ce qui diminuait le nombre de câbles), aboutissant à un AK48 chargé de gérer ce réseau décentralisé et de "converser" avec le cvx1: les nouvelles installations étaient pilotées par leurs propres AK46 sous les ordres "haut niveau" de l'ancien coordinateur (celui qui ne savait pas tout gérer mais que l'on pouvait recompiler sans problème avec l'ancien compilateur dans l'ancien système de 1996), les autres par le nouveau coordinateur (la dernière version non plantée, puisqu'il était impossible de recompiler à partir des sources) dans le système d'août 1997, où il fonctionnait mais ne pouvait plus évoluer pour gérer les modifications des installations définies par la mission de Stéphane. Aucun des deux systèmes ne pouvait gérer toute l'usine, mais chacun pouvait en gérer environ 90% seul, ce pourcentage augmentant pour l'ancien avec sous-traitance locale aux AK46.
Stéphane ayant appris par Irina qu'il y avait une convention Linux à Tempere en parla à BFR et demanda l'autorisation d'y aller, car il y aurait certainement beaucoup de choses à en apprendre.
- allez-y sur votre temps libre, mais pas sur votre temps de travail. Vous n'êtes pas ingénieur système, ça ne rentre donc pas dans la formation professionnelle justifiable. De plus, l'internet fonctionne bien, en Finlande, et cette usine dispose d'une liaison à haut débit, donc vous pouvez consulter les nouveautés de cette convention sans quitter votre bureau. Ceci vaut aussi pour Irina et Anton: utilisez internet, ça évitera de perdre plein de temps et d'argent en déplacement inutiles, lents et dangereux. Nous avons déjà perdu Vertti, inutile de prendre la route quand ce n'est pas nécessaire.
Stéphane n'objecta pas. Il était déçu, mais comprenait les arguments de BFR. A leur place, il aurait probablement répondu de même.
Il recontacta toutefois BFR le lendemain, en signalant que même avec la liaison haut débit (pour l'époque) il aurait fallu dix-neuf heures non stop, et en empêchant toute autre communication, pour récupérer deux CD d'un système Linux, or Irina et Anton voulaient en essayer plusieurs, dans des versions plus étendues (donc plusieurs CD chacune). BFR objecta que ça n'entrait pas dans les besoins de l'usine: "ils veulent en tester plusieurs chez eux, alors ils iront les chercher sur support réel samedi".
Ce fut donc ce qu'ils firent ce samedi. La surveillance du système pendant ce temps fut confié au jeune Arvi, celui qu'Anton et Irina estimaient le plus fiable, et qui en échange de cela ne viendrait pas travailler lundi. Stéphane conduisait la Polo rouge ("voiture de fonction" en attendant que la R20 fût remplacée), malgré la gouttière au genou.
La convention Linux de Tempere du samedi 21 février grouillait de gens (mentalement) comme Vertti, quoique de tous aspects et pas tous jeunes, bien que la moyenne d'âge fût basse. Stéphane ne put pas apercevoir le légendaire Linus Thorvald (c'était donc un Finnosuédois, au moins de nom...): il y avait trop de monde dans cette partie de l'expo. Irina et Anton obtinrent des CD de version "raccourcies" (un ou deux CD au lieu de la distribution complète, payante) des distributions Red Had, Suse, Debian...
Pour les orignaux voulant tenter de l'expérimenter dans une machine non-AK, il existait une version PC du "Kalinkax" qui avait en réalité servi de brouillon à la reconception sur AK (système physique totalement différent) du Kalinkax installé en ROM. En échange de quoi il y avait plus de choses dans l'Akalinux sur CD (2CD) et les curieux (les clônes mentaux de Vertti) pouvaient en examiner les sources, que les machines AK ne comportaient pas faute de place et par inutilité technique, puisque l'on ne pouvait pas recompiler un "noyau" en ROM. Le point fort du Kalinkax était de gérer l'accélération 3D de la plupart des cartes graphiques datant d'avant juin 1997, car ces pilotes optimisés avaient servi pour les tests comparatifs internes à AK entre leur nouvelle machine (le 48, à l'époque) et la concurrence la plus "musclée" côté jeux vidéo. AK avait ensuite cessé de mettre à jour la distribution Kalinkax qui n'était proposée en échantillons gratuits qu'à l'usage des curieux, avec la mention "dernière mise à jour: 25/06/1997". L'autre raison de ne pas proposer de version plus récente était que les ventes de "non-AK" avaient commencé à plonger dès le lancement de l'AK48, pour tendre vers zéro avec la diversification de la gamme. AK estimait que les gens utilisant un PC étaient ceux qui l'avaient acheté avant et ne souhaitaient pas réinvestir tout de suite dans autre chose, tout en sachant qu'AK sortirait encore mieux pour moins cher quand ils auraient besoin (et pas juste envie) de renouveller leur matériel.
L'autre point fort du Kalinkax était le système graphique pouvant remplacer les commandes, en faisant des connexions à la souris entre des exécutables, des fichiers, via des "opérateurs", et en pouvant sauvegarder le tout sous forme d'une "macro" à laquelle on donnait une forme, un nom et des "pattes" pour y connecter otpionnellemnent autre chose. Ce système avait été amélioré dans les AK, mais intéressait déjà beaucoup les enfants dans le Kalinkax. Par contre, la gestion de fichier totalement différente de Linux (et plus sûre, car à "pré-déclaration" modif faite dans un tampon permanent avant d'être faite en vrai, de sorte que s'il y avait un problème brutal soit rien n'aurait été fait dans les "vraies" données, soit ça aurait été commencé et pourrait être terminé à partir de la prédéclaration, qui avait été terminée avant le début de modification réelle. AK n'avait pas inventé ce principe mais l'avait systématisé) n'était pas présente dans le Kalinkax, qui constituait donc un "chaînon manquant".
En plus de devoir se déplacer avec une béquille, Stéphane eût l'impression d'être très vieux, mentalement, car il avait déjà un peu manqué ce train, le travail à faire chez BFRSF ne lui en laissant pas le temps. Toutefois, puisque dans les AK il n'existait qu'un seul Linux (maison et simplifié), tout ceci devenait quelque peu foklorique, à moins qu'un autre constructeur lançât une machine ayant un tel rapport performances/prix tout en étant basée sur une de ces distributions Linux. Ni Anton ni Iirina ne trouvèrent de Linux satisfaisant à installer dans un C240: matériel trop ancien, trop exotique et compliqué, né sous Unix avant l'ère Linux et n'ayant pas suscité (ou si rarement) de la part des rares entreprises qui en étaient encore équipées de demande d'un système Linux. Vertti l'avait construit sur place, à partir des sources d'un "noyau" Debian fortement modifiés. Ce furent d'ailleurs Irina et Anton qui intéressèrent certains mordus bien informés (il fallait savoir ce qu'était un Convex: ce n'était pas une marque "grand public") qui ne savaient pas qu'il existait de distribution Linux pour ce type d'ordinateur.
BFR n'avait pas exagéré en lui attribuant un QI réel (et non apparent aux tests) de 104: il n'y avait là que des gens bien plus intelligents que lui. Souvent d'une intelligence moins fiable, mais apte à manier des notions qui le dépassaient. Il comprenait que l'on pût s'y intéresser, mais pour lui c'était comme le saut à la perche: à admirer sans rêver d'en faire autant. Certes, ces gens-là ne savaient peut-être pas changer des coussinets de bielle d'Audi 100 ou tranquer les causes d'un déversement de pâte de Délice de Kérisper, mais ils auraient certainement pu l'apprendre plus vite que lui n'aurait appris à "patcher" dans un moyau Linux. BFR avait raison: ce n'était pas fait pour lui. Mais il ne lui était pas interdit d'être simple spectateur, en plus d'y avoir conduit Anton et Irina. Ces deux-là ne décollaient plus des stands et démos. Ils en oublièrent de déjeûner. Stéphane avait faim, mais n'ayant pas de brosse à dent sur lui ne prit pas le risque de manger. Il dut poser un ultimatum vers 17h en disant que dans une demie-heure, il retournait à l'usine (où il logeait encore) avec la Polo, qu'ils soient dedans ou pas. Anton ne le prit pas au sérieux et dut rentrer par un autre moyen. Irina avait demandé à Stéphane de l'attendre encore, mais ce dernier dit, à 17h30 tapantes:
- l'heure c'est l'heure. Je suis très allemand sur ce point. Si nous étions dans un train, tu ne dirais rien de tel.
Et démarra. Irina le lui repprocha pendant tout le trajet mais ce n'était pas plus mal, selon lui: il gardait ainsi un semblant d'autorité hiérarchique sur ces personnages qui pouvaient avoir deviné qu'il n'était pas à la hauteur "linuxiquement". Anton était-il un vrai Finlandais? Les habitants de ce pays lui avaient semblé ponctuels.
En fait Anton resta sur place jusqu'à la fermeture, à 23h: tant qu'à devoir rentrer autrement, autant en profiter.
Lundi 23 l'après-midi, Paakkinen fut retrouvé mort dans son bureau: nouvelle crise cardiaque. Trop de ventre étouffait le coeur, supposait-on. Ce que confirma le médecin. Stéphane contacta BFR.
- nous allons trouver un autre directeur. Vous gérerez techniquement toute l'usine, la comptable gérera le personnel en attendant. En attendant vous pouvez utiliser la XM de Paakkinen: c'est une automatique, le pied droit suffit. Recrutez encore un programmeur et voyez ce que vous pouvez faire avec.
Stéphane n'avait pas eu de problème avec l'embrayage de la Polo (son genou gauche pouvait transmettre ce mouvement, avec la gouttière), mais si on lui donnait le feu vert pour prendre la XM, autant en profiter.
- administrativement, comment fait-on, pour le recruter?
- nous donnerons les instructions à la comptabilté.
Le capitaine Paakkinen étant mort "le coeur étouffé par le ventre", Stéphane, qui n'était que chef d'une partie de la salle des machines, se retrouvait devoir co-piloter le navire avec l'austère Héléna. Chacun sa tâche: BFR avait clairement défini leurs rôles intérimaires. En fait BFR tirerait les ficelles depuis Rennes, comme d'habitude. Ce n'était gênant que pour les relations directes avec le personnel: Paakkinen le connaissait bien mieux que Stéphane mais aussi qu'Irina, qui ne s'y mêlait pas et n'avait pas eu à le faire.
Mardi 24 en fin de matinée le quatrième recruté fut un châtain "belge" cendré (clair tirant sur le gris) et non blond, à part ça c'était un Finlandais de série "mais en plutôt mieux". Mèches sur le nez, vissé à son clavier, ne parlant pas plus que techniquement nécessaire (contrairement à Vertti). BFR avait estimé que quatre, ça devait suffire, et mit fin à la prospection. Oskari Härkönen, 18 ans, fut donc le quatrième et dernier membre de l'équipe d'akaïfication intensive du matériel.
Les portables AK avaient suscité la même vogue de programmation intensive chez les jeunes qu'en son temps l'Atari ST, à ceci près que programmer un multiprocesseur en assembleur eût été du masochisme, avec très peu de chances de faire aussi bien que le multicompilateur, alors qu'à l'époque de l'Atari ST on faisait facilement de meileurs programmes en assembleur 68000 que via un des compilateurs C disponibles pour cette machine. De plus, le C// était une extension intéressante du C, permettant une sorte de "réciprocité d'appel": deux ou plusieurs fonctions pouvaient se passer le relais sans réentrer par leur début, et sans perdre leurs variables locales: il n'y avait pas une appelée et une appelante (l'appelée "oubliant tout", à part des variables "static", après avoir rendu la main) mais des "co-routines" conservant chacune leur contexte local jusqu'à leur vraie fin. Ceci supposait une multipile (une par processeur, voire plus en multitâches) moyennant quoi ça fonctionnait efficacement et d'une façon assez intuitive: "c'est comme de gérer plusieurs trains en même temps sur un circuit, au lieu de ne pouvoir en faire circuler qu'un seul, les autres attendant leur tour". Il vallait mieux recruter des jeunes, car le "C//" demandait de n'avoir pas trop pris d'autres habitudes de programmation. En particulier il fallait oublier tout ce qui concernait le "C++" (rien de tel dans le C//) et autres "langages orientés objets": AK n'en utilisait pas, bien qu'il y eût un préprocesseur C++ pour récupérer de tels programmes si on en avait besoin et même faire du C// avec, mais moins souplement qu'en programmation directement en C//. De plus tous les mots-clefs étaient remplacés par les pictogrammes, dans l'éditeur C// (sous forme d'ordinogramme: il était difficile de penser "listing" dans un système parallèle) disponible (en ROM) à bord des AK.
On pouvait aussi utiliser un éditeur ordinaire et du C ordinaire (R&K ou ANSI), mais l'intelligence artificielle du paralléliseur du compilateur ne pouvait pas tout "deviner" à partir du C, d'où de meilleures performances si l'on programmait en C// en utilisant les notions spécifiques à cette "remouture" du C.
Les jeunes nés à la fin des années 70 programmaient moins que ceux né dans les années 60: d'une part, parce qu'au début des années 80, si on voulait faire quelque chose d'intéressant avec un ordinateur familial, il fallait savoir programmer. D'autre part, ces machines étaient relativement ouvertes à la programmation. Enfin, les consoles de jeu n'avaient pas encore détourné de la programmation tant de jeunes, ces jeux étant trop chronophages pour laisser place pour autre chose. Les systèmes Linux s'adressaient surtout aux programmeurs: les utiliser pour autre chose à bord de machines pas conçues pour ça (les "PC") revenait à se priver le plus souvent d'imprimante (les Linux pour PC de l'époque en gérant très peu), d'accélération graphique (même motif, même punition) donc de jeux, parfois aussi de son (cartes son pas toujours prises en charge) et presque toujours des autres périphériques: "scanners", graveurs, appareils photos numériques... Tout ceci ne marchait que très rarement, dans un Linux pour PC: il fallait avoir la bonne configuration de l'ordinateur lui-même, la bonne version de Linux (il en existait déjà plusieurs) et des périphériques ayant été testés par les auteurs de cette version: les modèles récents et bon marché n'y étaient jamais, or par définition c'étaient les plus répandus.
AK avait résolu le problème ne produisant pas un PC, mais une "micro-station de travail" sous Linux (à la sauce AK: on n'aurait pas pu en installer un autre, car il avait été fait sur mesure pour la machine et réciproquement) et des périphériques très bon marché, tout en ayant des interfaces pour ceux d'autres marques (afin de pouvoir vendre des AK aux gens sans les obliger à tout racheter), l'astuce étant un "émulateur de dll" permettant de faire fonctionner les pilotes pour Windows (toujours fournis avec le périphérique par son constructeur) à bord du Linux AK. Contrairement à des émulateurs Windows comme "Wine" qui émulaient le fonctionnement des programmes mais hélas pas des pilotes d'entrées/sorties, l'émulateur AK faisait l'inverse. De plus, des pilotes AK directs avaient été écrits par l'équipe russe pour les périphériques les plus courants dans le grand public (donc les moins chers), contrairement à ce qui se faisait sous Linux (hors AK) où c'était surtout du matériel professionnel coûteux qui avait été interfacé, Linux étant peu utilisé par les particuliers. Et pour cause: problème de l'oeuf et de la poule.
Les quatre jeunes à l'essai furent entassés dans un bureau, car ils n'y seraient pas souvent tous ensemble: il y aurait beaucoup d'essais sur site, puisqu'il s'agissait de gérer un processus industriel complexe avec chaque AK46, donc il fallait y être connecté, sans avoir à tirer des câbles à travers toute l'usine jusqu'au bureau.
L'interlocuteur de Stéphane chez BFR lui avait donné le feu vert pour la solution AK mais s'était ensuite fait taper sur les doigts par des supérieurs: c'était mettre tous les oeufs dans le même panier, car des programmes en C// ne pouvaient tourner que sur AK (contrairement à du C ordinaire. Or le C// n'était pas convertible en C, contrairement au C++: la notion de "coroutines", d'instruction "dès que" ou "tant que" (sans position particulière de bouclage, là était la différence avec un "while": dès que la condition était vraie (ou fausse, selon le cas) on sautait, le processeur RVR65 étant capable sans perte de temps de comparer continuellement certains de ses registres et de faire ainsi des sauts sans opération explicite de tests) ne pouvait pas être traduite en C (même en plus long et plus lourd). Il fallait repenser le programme autrement, en changeant le principe des algorithmes, et pas uniquement la façon de le programmer. Certains programmeurs estimaient que le C// était une drogue dure, car si on retournait à une programmation classique on avait l'impression d'être amputé de partout et de ne plus y arriver. Un peu comme les malheureux programmeurs en C obligés par un patron sadique de travailler en Java, amputé des pointeurs et de tout ce qui faisait la richesse et la liberté de la programmation en C, au point que certains préféraient encore le Fortran 77 au Java. On pouvait programmer en Fortran 77 (et 90) dans les AK portables: il y avait un convertisseur, de même que pour le C++. Pour les masochistes, il y avait même un émulateur Java et un compilateur Pascal.
Le C// possédait "nativement" le type "réel complexe" (comme le Fortran) et les opérateurs correspondants, alors qu'ils étaient absents en C. On pouvait les simuler en C++, mais au prix de la lourdeur d'emploi de ce langage, bien plus restrictif que le C (même "ANSI"). Il avait aussi des opérateurs vectoriels et matriciels sur tableaux, qui bénéficiaient de la puissance du parallélisme, dans sa librairie mathématique d'origine.
Selon BFR, Stéphane avait demandé l'autorisation de faire quelque chose que l'on n'aurait pas dû lui autoriser sous cette forme (les AK46, oui, mais l'interfaçage central en C, pas en C//) mais "qu'un crétin" lui avait autorisé depuis Rennes. Le contre-ordre arriva deux jours plus tard, demandant que tout ce qui était vu du système central soit fait en C, seule la partie spécifique à l'AK utilisant le C// car même en C elle n'aurait pas tourné dans autre chose, faute de fonctions "système" pour gérer directement et facilement du multiplexage optique en boucles fermées.
D'autres estimaient qu'on lui avait donné le feu vert pour trop de dépenses: la turbogénératrice, les éoliennes (même si ça pouvait être rentable à long terme), l'installation de voyants de contrôles sur toutes les portes d'armoires techniques, le second Convex (d'occasion et pas cher par rapport au neuf, mais cher quand même), les AK46, les Triélec "de fonction": en moins de deux mois il avait dépensé six mois de ce qui était prévu pour sa mission, sans oublier le personnel supplémentaire. Toutefois ce dernier coûtait moins cher en salaires (puisqu'au minimum légal finlandais) que Jürgen et Vertti qui n'avaient pas été remplacés "poste pour poste". Oui, mais il fallait tenir compte des augmentations consenties à Mika et Teemu pour leur promotion comme agent de maintenance de la production électrique. Pas énormes (vu leur salaire de base), mais ça suffisait à permettre de dire que le coût salarial total de l'usine avait légèrement augmenté. De plus, les travaux prévus dans la mission intiale étaient en retard.
- ce superviseur est une catastrophe, sous prétexte de nous en éviter d'autres, et le pire c'est qu'il a été autorisé par des gens de chez nous à faire tout ça
- ce n'est pas lui, la catastrophe: c'est BFRSF. Il fait ce qu'il peut, et si nous devions attendre une réunion du directoire pour lui dire quoi faire ou ne pas faire, la production en pâtirait bien plus. Alors quand ça n'a pas l'air idiot, on lui imprime qu'il doit le faire, et comment s'y prendre, sans vous attendre. A part la dérivation pour remplacer la clim, il n'a rien fait sans nous demander notre avis.
- c'est bien ce que nous vous reprochons: de signer les autorisations les yeux fermés.
- alors on peut voir les choses autrement, même s'il ne faut surtout pas le dire là-bas: le nouveau système qu'il essaie d'installer avec notre assistance technique et ses nouvelles recrues facilitera grandement la délocalisation le jour où vous la déciderez. Le système actuel aurait été trop difficile à réinstaller ailleurs.
- admettons que si l'on déduit ces dépenses des surcoût de délocalisation qu'elles nous éviteront quand nous délocaliserons, on s'y retrouve. Sauf que si ça marche on ne délocalisera pas cette année donc on ne s'y retrouvera pas.
- vous l'aviez envoyé pour échouer?
- non, mais pour faire les choses prévues dans les temps, sans engager de dépenses imprévues
- alors il fallait demander à l'ingénieur système de ne pas se faire écraser par une citerne de lait en nous laissant un système orphelin bricolé à la Dubout, à la clim de la salle informatique de ne pas lâcher, aux portes d'armoires électriques de bien fermer pour que des souris ne rongent pas les câbles, et ne pas acheter des groupes électrogènes russes sans manuel de maintenance et dont on ne trouve plus de pièces de rechange.
- c'était trois fois moins cher
- maintenant vous savez pourquoi.
Jeudi 25 février: la maisonnette avait été achevée de déblayer puis reconstruite en un temps record: quelques palettes de papaing (de 20, cette fois), une bétonnière, des poutres neuves, des "bardeaux" de tôle goudronnée pour le toit (plus "garage" que "maison", donc). Le liège de doublage interne était déjà posé. Ils ne l'avaient pas aggrandie car l'assurance ne payait que la reconstruction à l'identique (mais l'épaisseur des murs n'étant précisée nulle part, on avait pu tricher un peu). A la demande de Stéphane, et parce que ça ne changeait rien au coût ni à l'emprise au sol (l'assurance avait accepté), le plan initial avait été inversé droite/gauche: la cuisine et le séjour contre le garage, la salle de bain (désormais à WC séparé) et la chambre à l'opposé. Le garage avait été renconstruit en dur (dans la foulée). Le revêtement isolant externe n'était pas encore reposé sur les nouveaux murs mais tout fonctionnait (et plutôt mieux qu'avant. En particulier la nouvelle "échelle de meunier" mentant au grenier ne grinçait plus). Stéphane pouvait y emménager dès ce soir. Il y alla avec la XM, puisqu'il en avait la permission officielle, mais sagement par le grand tour: inutile de réendommager quelque chose dessous en tentant ce que Jürgen, trop sûr de lui, n'avait pas réussi sur le "petit tour".
Avoir reconstruit le garage en dur avait un inconvénient: refait sur la même emprise au sol, il était un peu moins large (un peu moins profond aussi, ce qui était peu gênant, car il aurait encore pu acceuillir une Américaine des années 70) et une fois qu'il y eût rentré cette voiture plus large que la R20, il s'aperçut qu'il devait recommencer autrement (en serrant à droite) pour ne pas avoir à retenir l'ouverture de sa portière de toucher le mur: les portes étaient plus grandes, la voiture plus large, le garage moins large. De plus Atte aurait plus de travaux à faire pour y refixer une couchette en hauteur, s'il revenait: ce n'était pas aussi simple que dans du bois, directement avec quelques grosses vis cruxiformes et une visseuse. La perte d'espace dans la maison était moins perceptible: ça ne mangeait que 5cm par mur, et rien pour les cloisons.
Atte critiqua que l'on ait remis du carrelage: certes, ces dalles de 30x30 imitation marbre vert (qui n'en était pas, mais une sorte de pâte de verre translucide veinée l'imitant habilement et qui ne craignait pas le jus de citron) avaient bien plus d'allure que les petits carreaux beiges de l'ancienne version, mais ça restait froid et dur. Le vert donnait une ambiance encore plus froide. Le liège des murs lui semblait bien plus sympathique à l'oeil et au toucher, mais il n'était pas question d'en mettre au sol: trop fragile. Stéphane dit que le faux marbre serait très agréable en été: "comme dans des thermes romaines". Toute la salle d'eau en était revêtue, du sol au plafond (BFR craignait que le liège ne se décollât à la vapeur, ou n'accumulât des moississures). La face interne de la porte était un grand miroir. Le supplément pour carreler intégralement avait été accepté, comme indemnité pour avoir fait camper trop longtemps Stéphane à son arrivée. Elle était plus petite car désormais le WC était dans son propre "placard", comme l'avait demandé et obtenu Stéphane.
Atte- là, c'est beau. Il manque juste un jacuzzi avec des robinets en or pour faire hôtel pour milliardaires.
BFR fit ajouter un autre bâtiment, derrière (comme un second garage, mais haut de plafond) dans lequel fût installé un simulateur de combat comme celui qu'il avait déjà expérimenté pour son premier rôle à l'épée. Il y avait aussi des obstacles reconfigurables pour correspondre à ceux à éviter ou à escalader dans ce qu'il verrait via les lunettes virtuelles. Il pouvait ainsi voir ses adversaires (humains, monstres ou machines) tout en ayant le retour d'effort dans l'arme, alors que s'il était retenu pour un rôle utilisant certaines de ces scènes (il ne connaissait pas le scénario, ni même l'ordre de ces scènes dans celui-ci) il aurait à rejouer sans l'équipement virtuel donc devrait se fier entièrement à son imagerie mentale pour savoir ce qu'il serait en train de combattre, puisque ce ne serait ajouté qu'en infographie après tournage.

BFR n'avait pas encore trouvé de nouveau directeur. Lundi 2 mars 1998, ce fut un Suédois, Detlef Runhäll, qui fut détaché par BFR pour assurer l'intérim après avoir déjà travaillé pour BFRDK où il était directeur du personnel, détesté par les Danois mais probablement par rivalité nationale: on lui avait déboulonné les jantes de sa Saab 9000 turbo sans que cela ne se voie... tant qu'il n'avait pas essayé de rouler, etc. Il n'y avait pas d'usine BFR en Suède mais il y en avait une (fromages, yaourts et salaisons, surtout) au Danemark, plus petite que BFRSF. Detlef RunHäll avait accepté la Finlande en pensant que ce ne serait pas pire que le Danemark, et qu'en plus il y serait directeur. Venant avec sa propre voiture (la 9000 turbo), la XM restait à disposition de Stéphane.

Aucun commentaire:

Enregistrer un commentaire