PASCAL
SANDREZ

Système de gestion des données de conception de circuits intégrés

Dans le cadre de mon travail j'ai souvent fait de petits outils afin d'exécuter plus rapidement certaines taches répétitives. Dans la continuité j'ai créé ce logiciel pour m'aider à travailler. Avant d'obtenir ce qu'il est actuellement j'avais tenté de faire plusieurs prototypes qui ne m'ont pas convaincu. Ces "échecs" m'ont permit de savoir ce dont je ne voulais pas et ce qu'il était possible de faire. C'était aussi quelques briques de base du futur logiciel. Après plusieurs mois de réflexion, lorsque j'ai enfin eu un peu de temps à y consacrer j'ai développé un logiciel de gestion de données, essentiellement basé sur une application WEB. C'est assurément le plus gros projet de programmation que j'ai pu réaliser qui comporte plusieurs dizaines de milliers de lignes de code.

Lors de la conception de circuits électronique beaucoup de données sont générés par différents métiers, ces données doivent être recoupés pour s'assurer que le produit réalisé soit conforme au cahier des charges. Des données sont générés depuis la spécification puis lors de la conception et jusqu'à l'évaluation des différentes version du produit. Lorsque j'ai vu que je passais beaucoup de temps à chercher et recouper manuellement ces données j'ai commencé à chercher des moyens d'optimiser ces opérations. Notamment en ce qui me concerne je voulais un moyen de voir simplement mes résultats de vérification. Après quelques essais de petits outils pour collecter ces données, mes idées ont muries petit à petit. Je n'avais pas vraiment le temps de développer ce qui me passer par la tête, j'avais trop de travail mais j'y pensais régulièrement. En fait j'ai finalement établi tout le cahier des charges et même l'architecture de mon futur logiciel en tête. Après plusieurs mois, un peu après un tape-out je me suis finalement lancé et j'ai conçu une application WEB. Les outils que l'on utilise sont configurés pour y publier les données ce qui permet de les consulter et les recouper avec une étonnante efficacité. En effet les outils de conception en micro-électronique sont très fragmentés et rarement prévu pour utiliser des serveurs centralisés, j'avais donc là une réelle nouveauté. Cela me permettait dans un premier temps de personnellement gagner beaucoup de temps et d'efficacité. Je l'ai amélioré petit à petit et je l'ai partagé avec des collègues qui avaient les mêmes problématiques. Rapidement les gens ont véritablement accroché et il s'est avéré que des centaines de personnes pouvaient s'appuyer sur cet outil dans leur travail quotidien. Il a donc été repris par une équipe de développement interne.

Lors de la conception j'ai appris beaucoup de choses. Premièrement j'ai beaucoup approfondi mes connaissances en PHP et surtout en Javascript. Une grosse partie de l'application est écrite en Javascript dans le but d'améliorer l'ergonomie et limiter les accès serveur. PHP est surtout utilisé pour stocker les données et servir les données à l'application, il n'est quasiment pas utilisé pour créer les pages.

Un autre gros enseignement de ce développement c'est l'ergonomie. J'ai adapté l'outil au fur et à mesure pour limiter le nombre de clics, diminuer les temps de calcul et de chargement et gagner en efficacité. Je n'ai pas particulièrement cherché à le peaufiner mais quand je me rendais compte que je faisais trop d'actions répétitives j'ai cherché à les éliminer. L'outil est rapidement devenu très optimisé au besoin. J'ai compris là le besoin de communication entre le développeur et l'utilisateur de l'application. Dans mon cas j'étais à la fois développeur et utilisateur ce qui facilite considérablement les choses, en général ce n'est pas le cas. Le développeur doit comprendre les vrais besoins de l'utilisateur et identifier tous les axes d'amélioration qui pourrait intéresser l'utilisateur.

De plus je me suis rendu compte que prendre des risques, repenser tout en se focalisant sur l'essentiel, casser les barrières donne souvent de bon résultats. Je prends rarement des risques incontrôlés mais j'aime chercher des idées innovantes. On peut se demander parfois si le jeu en vaut la chandelle si tout repenser est une bonne idée ou pas. J'ai appris que lorsqu'on se focalise sur le vrai but à atteindre le risque est très limité et qu'il en sort souvent de très bonnes choses. Le plus important est donc de se concentrer sur le client final, essayer de le comprendre ainsi que ses besoins même s'il ne sait pas exactement les définir. Je me sers souvent de ces principes, ils m'apportent souvent de très bon résultats.

Ce logiciel est encore très utilisé, il a évolué de différentes façons, il est toujours utilisé et est toujours plus que nécessaire. Il permet notamment de participer à la validation de la sécurité fonctionnelle (ISO 26262) de nos produits.