PAC/CS, Histoire d’un rendez-vous manqué

En 1987, CGI inaugure ses locaux au 30 rue du Château des Rentiers.
Tout le personnel a été regroupé dans un immeuble moderne construit à cet effet.

Tout y est fonctionnel, chaque division dispose de son étage, HR Access, PACBASE, la gestion du personnel, les patrons sont au septième et dernier étage avec terrasse et vue sur les toits de Paris.

Immeuble du Chateau des Rentiers
Immeuble du Chateau des Rentiers

La formation se trouve au rez de chaussée, tandis que les salariés bénéficient d’une cafétéria et d’un self.

LucienLes équipes ont évolué, notamment la structure commerciale.
Joël Memmi et Jean-Claude Coquant ont été rejoints par Lucien Paternostré et Nicole Moreau, mais aussi par Gilles Pérétié, tous d’anciens techniciens.
Voir le témoignage de Lucien Paternostré

La formation a été confiée à Caroline Bruyas, qui s’occupera plus tard du suivi client et sera remplacée par Sylvie Dubois.

On a créé une équipe de technico-commerciaux avec Gyslaine Métaireau, Bernard Etienne.

Il faut présenter les nouvelles versions du produit avec la station de travail.

Une démonstration en clientèle consiste à l’envoi de deux machines par colis express, une sur laquelle fonctionne un PACBASE OS2, appelé PACLAN, puis une autre avec Windows  et PACDESIGN installés, plus les écrans.

On en est au balbutiement de la démonstration, surtout que la station n’est pas particulièrement rapide et fiable.

Pacdesignpedale

Mais les clients ont une confiance absolue dans PACBASE et ne doutent pas que cela va fonctionner. Les premiers contrats sont signés, mais il va falloir pédaler ferme pour que cela marche, heureusement le terminal passif, lui, pète le feu.
On assiste à un changement technologique, on parle de plus en plus de langage objet, du client serveur, PACBASE est à une nouvelle charnière, celle des années 90 qui vont révolutionner l’informatique, l’évolution ne va pas être simple, le choc des cultures évident,  nous y reviendrons plus tard.

Fin des années 80, on commence à parler sérieusement d’orienté objet. Pascal Garrigue décide de se lancer dans le nouveau produit des années 90, pensant que PACBASE va devoir se trouver un successeur.

Le Client-Serveur est un nouveau défi, qui  offre une nouvelle ergonomie aux utilisateurs avec les interfaces graphiques et la souris, de nouveaux concurrents dans le monde des AGL viennent se positionner sur le marché.

NSDK, Power Builder, et même Micro-focus qui s’appuie sur le COBOL.
Il est vrai que l’ergonomie en terminal passif est un peu ancienne.

PACDESIGN/PACBENCH a du mal à décoller, alors, pourquoi ne pas passer à la vitesse supérieure.
L’opération s’appelle AGL 89, car nous sommes en 1989.Yvan Chemama est responsable de l’opération.

De jeunes ingénieurs, dont de nombreux polytechniciens sont embauchés pour se lancer dans le PACBASE du futur.
La génération précédente avait pris d’autres habitudes avec CICS, le COBOL et la programmation procédurale et il était nécessaire d’apporter un souffle nouveau, c’est ainsi qu’on voit arriver Jean-Marc Leroux, Guillaume Maisondieu, Maxime Daniel, Marc Boullé avec de nouvelles idées et de nouvelles méthodes.
On y adjoint Vincent Lataye, Regis Coqueret, François Alloing, Pascal Fantoni, une belle et brillante équipe.

Jusqu’en 1991, la stratégie est encore floue, car à chaque vente de PACBASE, la question est de savoir si on se projete sur le nouvel AGL ou si on conforte l’ancien.
Yvan Chemama préfère renoncer, mais finalement, après quelques hésitations, Pascal Garrigue choisit d’évoluer vers AGL 89 tandis que PACBASE va ralentir son développement.

Le futur produit prend le nom de code DIVA, et un langage objet va être écrit pour le développer.
Jean-Marc Leroux est responsable de Diva, Maxime Daniel du L89, nom du langage objet utilisé pour développer l’AGL, L comme langage et 89, année de naissance de l’opération…

L’orienté Objet

C’est un paradigme de programmation informatique élaboré par Alan Kay dans les années 1970.

OO
Dans le contexte des langages à objets, un objet est une entité de programmation permettant d’associer des données et des traitements qui s’appliquent à ces données. Un objet est donc doté de caractéristiques des données qu’il porte et de leur comportement, les traitements et les opérations qu’il peut effectuer.

Un objet de programmation est en général la transcription d’un objet identifié en phase d’analyse.

OOPlus

Par exemple, une application gérant des commandes passées par des clients fera Intervenir des objets de type Commande et d’autres de type Client. Un objet Client comportera les Informations attachées à un client, et pourra exécuter des traitements de création, modification de ces Informations, passage d’une commande…

Maxime Daniel, le père du Langage
Maxime Daniel, le père du Langage

Voir l’article de Maxime Daniel sur le O+

PAC/CS

Même s’il n’a pas abouti, PAC/CS peut être considéré comme le produit qui a capitalisé toute la culture de CGI et de PACBASE.

Cet AGL a demandé,durant cinq ans, un investissement considérable puisque plus de  30 personnes au développement y ont travaillé, sans compter toutes les forces commerciales d’avant-ventes et d’après-ventes qui ont porté la bonne parole aux quatre coins du globe.

C’était aussi un produit de son temps qui prenait en compte toutes les technologies en émergence (langage objet, client-serveur, modélisations), et en les cumulant à toutes les expériences effectuées autour de PACBASE par l’équipe technique et chez les clients.

25 ans passés autour de grands projets industriels mis en exploitation et qui fonctionnaient, intégration des développeurs objets avec ceux des mainframes, culture d’entreprise élevée à la hauteur d’une institution chez CGI.

L’AGL n’était pas encore exploitable en 1995, mais on imagine aisément ce qu’il pourrait représenter aujourd’hui, 17 ans après.

 

On ne saura jamais si on lui avait donné sa chance s’il serait devenu l’AGL du 21eme siècle.

Quoi qu’il en soit, il a marqué l’histoire de PACBASE, et il était nécessaire voire obligatoire de le présenter de la manière la plus détaillée possible dans ce livre.

PacCS

Le Chapitre suivant a été construit avec la documentation du produit, remarquable au demeurant, avec une pensée pour ceux qui l’ont réalisée, Patrick Bonhomme et Sylvie Gueyne, et peut-être d’autres dont j’ai oublié le nom.
Les objectifs qu’un AGL ( Atelier de Génie Logiciel) tel que PACBASE/CS pouvaient être envisagés sous trois axes:

l’outil de développement;

les applications générées;

l’industrialisation et ses atouts économiques.

A chacun de ces objectifs correspondait un ou plusieurs moyens mis en œuvre par PACBASE/CS.

On notera tout particulièrement les apports spécifiques de PAC/CS.

Quelles étaient les spécifications du produits  ?

PACBASE/CS est un support unique, partageable et exhaustif des différentes phases du cycle de vie des applications de gestion. Il est utilisé par tous les intervenants, qu’ils soient ou non informaticiens de métier.

Cette intégration est permise grâce à la modularité de PACBASE/CS, découpé en modules fonctionnels, à l’exhaustivité de l’ensemble de ces modules et à leur coopération au sein d’un ensemble cohérent et partageable. Son organisation spécifique de type référentiel en fait le point de contrôle unique de tout le système d’information.

PAC/CS s’intègre parfaitement dans cet ensemble.

Avec la Modélisation des applications qui propose un cadre méthodologique généralisé, elle guide la démarche de développement et permet de s’affranchir de toute contrainte matérielle, en représentant le système d’information de l’entreprise a un niveau logique.

Ceci est assuré par le Méta-modèle de conception PACDESIGN, le Méta-modèle PACBENCH pour la réalisation d’applications traditionnelles, et le Méta-modèle PAC/CS pour la réalisation d’applications client/serveur.
Convivialité et ergonomie des outils d’accès aux informations facilitent l’apprentissage et l’utilisation de PAC/CS.

Le Méta-modèle permet la définition de types de données et de traitements, regroupés selon une logique orientée-objet, de façon à rattacher tous les éléments de même type à une famille commune.

Cette définition de structures favorise la cohérence et l’uniformité dans les descriptions.

PAC/CS permet donc de générer des applications client/serveur des plus simples au plus complexes.
Dans le premier cas, les traitements applicatifs sont localisés sur le poste de travail de l’utilisateur, et les données sont stockées sur un serveur externe de bases de données.
Dans l’autre cas, la logique applicative est distribuée entre le poste de travail et le serveur, et la base de données est, elle-même, répartie sur plusieurs machines.

Plus de détail en lisant ici PAC/CS