1991-1996: la V4 et l’enjeu du paramétrique

Poursuivons la rétrospective des 30 premières années de Dassault Systèmes, commencée la semaine passée. En 1991, DS est une société solide, qui fête son 10e anniversaire au cirque d’hiver, avec des spectacles réalisés par ses salariés : l’un fait tourner les assiettes, une autre fait du trapèze, etc.

Coté business, les affaires vont bien. De nombreux grands groupes utilisent ses produits : Boeing, SNECMA, Daimler, Chrysler, Toyota, etc. Certes, quelques réfractaires existent : Renault, dont le cœur continue à battre pour Matra Datavision, ou General Motors, qui s’équipe auprès de sa filiale EDS, éditeur d’un logiciel 3D maison, Unigraphics. Mais en dix ans, le succès de DS est incontestable, tant économique que technologique ou financier. IBM assume parfaitement son rôle, allant jusqu’à racheter puis fermer CADAM, illustre concurrent plutôt orienté 2D.


En 1991, je poursuis le travail sur CDM. Le produit prend une importance de plus en plus capitale, et l’équipe CDM passe sous la direction d’un certain Dominique FLorack. J’y croise de futurs talents de la société, dont certains s’expatrieront et contribueront à l’expansion à l’international.

La V3 est installée chez de nombreux clients, et sa remplaçante la V4 va vite devenir un best-seller. Plusieurs originalités la caractérisent : c’est, tout d’abord, la première version de CATIA à fonctionner sous Unix. Ensuite, elle dispose d’un système de gestion de modules (équivalent des librairies Unix) qui permet de charger ou décharger, dynamiquement, les procédures dont le logiciel a besoin. Cette souplesse offre un confort de développement incroyable : on peut lancer le logiciel avec une version de librairie, la « décharger » et la remplacer par une plus récente, à l’intérieur de laquelle on aura corrigé des bugs ou placé des procédures de test. Elle dispose d’une interface de programmation (API) qui permet de faire appel à différents services proposés par les différents produits : c’est l’ancêtre de l’architecture CAA, qui permet à plusieurs dizaines de partenaires de développer des applications intégrées aux produits de DS. Enfin, elle est la première à intégrer une conception paramétrique, et constitue en cela la réponse à un concurrent de taille, qui vient de se dresser : Parametric Technology (PTC) et son produit phare : Pro/Engineer.

PTC innove, en effet, en proposant aux ingénieurs des paramètres de conception leurs pièces 3D : au lieu de fournir des dimensions fixes et de les modifier manuellement à chaque intervention, PTC permet de paramétrer les dimensions : rayon d’un trou, largeur ou épaisseur d’une pièce. Du coup, la modification d’un ou plusieurs paramètres permet automatiquement de reconfigurer pièces et assemblages. L’innovation est réelle, et DS se doit de répondre. Cette réponse va s’appuyer sur un moteur d’inférence, qui travaille sur des logiques d’ordre 1, avec un véritable langage qui permet de décrire des « bases de règles » : CIRCE. C’est malheureusement un échec : un tel système expert s’avère lourd à gérer et eu performant (un autre, avec plus de 2000 règles, sera écrit pour un soft de CN).

Ces cinq années sont aussi celles de la crise qui suivit la guerre du Golfe. Une récession (qui touchera durement les SSII) avait suivi, et le niveau de participation s’en ressent. Secouée sur sa vision – 3D paramétrique oblige – et sur le ralentissement de l’économie, DS continue malgré tout d’investir, et déménage à Suresnes, se rapprochant physiquement de Dassault Aviation, dans des locaux flambants neufs, aux noms évocateurs : Galilée, Copernic.

C’est aussi l’époque de grands changements organisationnels. Déjà à la tête de la R&D, Bernard Charlès prend la direction de l’entreprise, qu’il mènera, en juin 1996, à une introduction en bourse réussie (Bourse de Paris et NASDAQ!). DS fait office de fleuron du logiciel français, à côté d’entreprises comme ILOG (rachetée par IBM) ou Business Objects (rachetée par SAP). La séparation entre R&D système et R&D applicative devient plus prononcée, mais c’est surtout l’apparition d’une entreprise à deux vitesses : si tout le monde (ou presque) reçoit des stock-options, les volumes concernés peuvent varier d’un facteur 10 à 100, parfois au sein d’une même équipe…

Mais revenons à CIRCE. Ce moteur d’inférence disposait de son propre langage de description, doté d’un vocabulaire parlant de classes et d’attributs. Les langages objets deviennent subitement à la mode. DS avait bien essayé d’intégrer de l’objet dans du code FORTRAN, via un langage maison appelé MAO, mais trop complexe à utiliser.

Nommé expert dans l’entité qui gère le modèle de données de CATIA, je participe alors aux premières formations C++ : CATIA est passé sur Unix, et on s’interroge sur la réécriture de certaines parties du code à l’aide de ces langages objets. Fin 1993, je participe à des projets amusants : un système de dessin collaboratif, basé sur un gestionnaire d’objets distants.

En 1994, je démarre un projet amusant : porter le code de CATIA (code écrit en FORTRAN, rappelons-le) sur une plateforme Windows (sur des machines Dec Alpha sous Windows NT, plus précisément), sans connaître le fonctionnement d’une seule ligne de ce code…. La difficulté ? L’encodage des données, en mode « Little Endian » sous Windows (et « Big Endian » ailleurs), ce qui impose d’inverser l’ordre de lecture des bits, élément très important dans la gestion du modèle de données depuis la V2. Habitué à lire de droite à gauche depuis longtemps, le projet m’amuse.

En 6 mois, un démonstrateur permet de valider un CATIA V4 sous Windows : ce projet ne verra pourtant jamais le jour, car DS décide plutôt d’investir dans un nouveau modeleur mathématique, écrit en C++ : ce sera l’ancêtre de la V5…

Cet article vous a plu? Partagez-le!