Ma passion est mon métier !


  Dans la vie, ma grande passion c’est l’informatique et plus particulièrement la programmation. Cette passion date de longtemps quand, en cassant ma tirelire j’ai acheté un Amstrad CPC6128. A l’époque, j’avais 14 ans et au lieu de jouer comme tout le monde je me suis passionné pour le basic en réalisant des jeux simples comme le pacman et autres invaders et des programmes de cryptographie pour échanger des secrets avec mon voisin. Certaines méthodes étant basées sur les nombres premiers je m’y suis intéressé.

En 1988, je suis passé dans le monde du PC en achetant un Amstrad 1640HD20 et le basic compilé de BORLAND le Turbo Basic. En auto-didacte, j’ai appris la programmation procédurale structurée en réalisant des programmes de calcul de dates, de crypto, de nombre premiers mais également de statistiques pour casser les algorithmes des copains.

Par la suite, lors de mes études, j’ai appris le C que je ne trouvais pas assez lisible et le rigoureux Pascal. En 1990, j’ai arrêté mes études sur un coup de tête mais aussi pour cause d’overdose de mathématiques spéciales. Après quelques mois, passés à faire des petits boulots j’ai repris un cycle de formation de six mois sur AS400, au passage, j’ai appris DBASE, le Cobol et le fameux GAP III.

A la fin de ma formation, peu enthousiasmé par l’AS400, j’ai trouvé mon premier travail en temps qu’informaticien... et en pascal sur PC. Ces quatre ans, pendant lesquels j’ai réalisé plusieurs gros projets, n’ont permis d’apprendre la programmation orientée Objets avec le Turbo Pascal 5.5 puis 6 et 7 ainsi de NOVELL. La méthodologie objet m’a tout de suite séduit par son coté rigoureux et la réutilisabilité du code. Au niveau personnel les programmes de sprites, de stat, de crypto et de fractales de 'MandelBrot' se succédaient mais sur un nouveau PC 486DX33 équipé de 8Mo, 240Mo en HD et multi-média avec le superbe TP5.5 de borland.

A la fin 1994, en récupérant la version bêta de delphi j’ai beaucoup apprécié cet outil qui gommait les lacunes des précédantes versions du pascal et qui présentait un vrai outil de développement sous Windows effaçant totalement les lourdeurs de l’OWL de la version 7. En avril 1995, date de sortie de Delphi en France, la première application développée pour un ami avec ce nouvel outil m’a démontré sa puissance gestion de magasin de location de K7 vidéo. Delphi apportait beaucoup des choses qui manquaient au Pascal sous DOS et notamment les bases de données. Il était bien possible, au moyen de bibliothèques supplémentaires, d’accèder à des fichiers Paradox ou C-ISAM sous Dos mais pas sous forme de POO. Cette nouveauté m’a donné l’occasion d’approfondir les Bases de données.

Pour me faire la main, j’ai décidé de refondre une des applications dont je m’occupait dans le cadre de mon travail. Cette application gérait le contrôle de la qualité au cours de process industriel. Je m’en occupait depuis plus de trois ans et j’en connaissait les forces et les faiblesses. Mes lectures sur l’organisation des bases de données m’ont permis de dessiner la base. Puis le développement de l’interface a été rapide. Au bout de 300 heures de travail, tout en allant au CNAM le soir, j’ai obtenu une belle maquette fonctionnelle. Et c’est grâce à elle que j’ai obtenu le poste que j’occupe actuellement.

En avril 1996, la phase de déploiement du programme de gestion de la qualité en réseau NOVELL sur 15 postes c’est achevée. Le groupe qui m’emploie était à l’époque composé de trois filiales réparties dans trois sites, j’ai vraiment commencé à rentrer dans les différents systèmes (Unix, VMS) et des programmes de GPAO, de compta, de paye, de supervision machines et de gestion de pointage. La prise en main a été longue et fastidieuse car le parc n’était pas homogène et vieillissant et il fallait apprendre à connaître des nouveaux types d’utilisateurs avec lesquels je n’avais jamais eu à faire....

Pendant ce temps, le développement à la maison a continué, j’ai fait un programme pour gérer mes comptes bancaires ; j’ai améliorer les calculs de nombre premiers et un jour j’ai atteints la fameuse limite des 2147483647 du longint du pascal en quelques jours. Ces quelques jours se tranformerons en quelques heures sur une machine NT4.0 bi-processeurs équipée de 128Mo de RAM et Delphi 2 C/S. J’ai donc décidé de franchir cette limite en développant un objet capable de réaliser des calculs sur plusieurs centaines de chiffres.

Du coté du boulot, en voyant les faiblesses et abérrations pointées du doigt par les utilisateurs des systèmes de GPAO installés, je me suis demandé si, avec l’aide de Delphi, j'étais capable de refaire un tel système tout en l’améliorant... La tâche est ardue. A cette époque la presse parlait beaucoup de client/serveur et, chose étrange, Delphi comportait un tel système nommé Interbase. Après la lecture de différents ouvrages rares et quelques bons articles, j’ai donc décidé d’apprendre le C/S. Connaissant le SQL la tâche n’a pas étée trop dure et je ai doute de suite vu ce que le C/S apportait par rapport à des bases de données comme Dbase, Paradox et Access.

Les systèmes SGBD/R imposent, et c’est une bonne chose, une grande rigueur au dessinateur de la base de données ce qui induit forcément une définition très précise des besoins des utilisateurs. Ayant un bon panel d’utilisateurs avec lesquels j’avais de fréquents contacts, il ne n’a pas été trop difficile de définir les diverses informations à gérer ainsi que les besoins fonctionnels. Cette définition des besoins était en perpétuelle évolution car les contacts n’avaient pas lieu dans un ordre logique et les modifications que j’effectuais aux logiciels de GPAO étaient régulières

Au travail, les développements avec Delphi continuaient avec une interface entre le logiciel de pointage et la paye pour éviter la re-saisie les heures, des améliorations dans le logiciel de qualité, un programme de calcul pour optimiser l’injection en production, le calcul des prix de vente des pièces en fonctions des cours et des indices en relation avec la GPAO, un programme de devis, un programme d’édition d’étiquettes, un programme de vérification de pointage de production, un programme de purge des anciennes versions de fichier pour un programme de CAO . Ces expériences variées m’ont permis de découvrir le cœur de Delphi et chacune d’entre elles m’a permis de développer des objets adaptés aux divers besoins. Elles n’ont aussi permis de trouver des solutions pour améliorer la productivité de Delphi; et oui, malgré sa puissance reconnue, c’est encore possible ! ! !.

Entre temps, à la maison, un beau dessin de la base de données se terminait. Devant le nombre de fichiers à gérer et la taille du script à taper dans Interbase rien que pour générer la base de données, je me suis un peu découragé (je suis fainéant). J’ai donc décidé de créer mon propre programme de génération de script SQL pour n’avoir qu’à décrire les données et leurs relations et obtenir un script générant la base de données dans son intégralité. La chose la plus bizarre c’est que j’y suis arrivé... Mais ce posait un autre problème. Cette fois ci, il était du coté de Delphi, car la taille du code et le nombre de boîtes de dialogues a créer était colossale bien que leurs types soient réduits.

Il fallait donc trouver une solution. Je me suis intéressé à la génération des Boites de dialogues et à leur sauvegarde dans les .PAS et .DFM. Le programme devait être indépendant de l’EDI de Delphi dans le but d’être intégrer dans le générateur SQL pour profiter de la description des données. Après de nombreux tâtonnements avec le tout nouveau Delphi 3, j’ai enfin réussit à me dépatouiller des différents problèmes posés par l’utilisation de fonctions pas ou peu documentées par BORLAND, quel dommage...

Après ces frasques, j’avait un programme de génération SQL (DBBuilder) écrit en Delphi 2 et un programme de génération de TForm en Delphi 3 (GenForm). Le portage de DBBuilder sous Delphi 3 accompagné de l’intégration des algorithmes de GenForm a été court et a permis l’ajout d’informations spécifiques à la génération des boites. Une fois ses premiers buggs corrigés, DBB V.3 était capable de générer un script SQL et les centaines de boîtes de dialogues associés aux fichiers en m’évitant de taper quelques milliers de ligne de code SQL et de Pascal sans compter les manipulations dans l’EDI. Il ne restait plus qu’à assembler les pièces. Mais l'assemblage manquait.

La quatrième version de DBB apporta le support des suppressions en cascade non encore présentes dans Interbase 4, la gestions des relations 1 à n et 0 à n ainsi que la génération des paquets et d’applications mettant en œuvre des différentes parties de la base de données. Les tests avec la base de GPAO ce sont avérés plutôt positifs car les applications vérouillaient la saisie des relations 1 à n par un système de transaction. Au niveau des sources, les unités étaient normées et les boites de dialogues présentaient une présentation uniforme non déplaisante. Il restait à réaliser les éditions et à terminer un nombre certain de fonctions suppémentaires dont l'algorithme d'ordonancement...

La bibliographie sur l'ordonancement est très pauvre voir inéxistante. Il a donc fallu improviser et se creuser les méninges ce qui, pour un esprit peu profond comme le mien, n'est pas chose facile. Après quelques semaines passées à retourner le problème dans tous les sens, je me suis orienté vers le développement d'une hiérachie d'objets complètement indépendante de la GPAO qui implémentait plusieurs tactiques d'ordonancement. Le développement, par rapport à l'étude, n'a pas été très long. Mais comment tester un tel programme où tellement de cas peuvent se produire... Seuls des tests en grandeur nature pouvaient valider les algorithmes et les objets.

En juillet 1998, j'ai proposé le logiciel au PDG du groupe car c'était dans ce but que j'avait réalisé ce projet en quelques 2500 heures de travail. Entre temps, d'après une étude interne, une des GPAO du groupe aurait le plus grand mal à passer le cap de l'Euro et je pensait, compte tenu des faiblesses de la seconde développée sous DOS sous clipper, que mon projet serait accepté. Mais la décision du PDG a été négative car appuyer toute l'informatique sur une seule personne est trop dangeureux même si c'est déjà le cas. Il est vrai qu'il vaut mieux investir dans un logiciel développé avec un compilateur et une technologie qui sont morts depuis déjà quelques années. Mais je ne suis pas là pour faire le procès du choix fait mais je tiens quand même à rajouter qu'un bon vendeur arrive à vendre une paire de chaussures à un cul de jatte. Peu après, une quatrième société est venue rejoindre le groupe et par soucis d'uniformisation ce n'est pas une installation mais deux installations/migrations à faire avant la fin de l'année 1999...Aujourd'hui j'y travaille toujours...

Si mon C.V. vous intéresse consulter le... ou Retournez à l'acceuil