Moraphi.com

Curriculum Vitae

Mecalog

Capture d'écran 1

Screenshot 1

Capture d'écran 2

Screenshot 2

Il s'agit de mon premier véritable pas dans la vie active.

Bien qu'ayant déjà travaillé auparavant (stages, CDDs), c'est en effet la première fois que je signe un CDI, et que je travaille pour la même société depuis si longtemps.

A savoir

Dates: 2004 - 2006 (...).

Durée d'embauche: 2 ans.

Plate-formes: SGI, Linux (RedHat et Debian), Windows XP.

Plate-formes 64-bits: HP-IA64, SGI.

Langages de programmation: C, C++, un peu de Fortran.

Autres éléments: GTK, Open GL, FlexLM.

Environnements de développement: Visual Studio 6.0, Visual Studio .Net 2003.

Débugueurs et profilers: DDD sous Linux, Visual Studio, Purify, Valgrind, PureCoverage, Quantify.

La société

Editeur de logiciels, Mecalog Group fournit une gamme étendue de produits et services dans le domaine de la simulation de phénomènes mécaniques.

Mecalog France, la société qui m'a embauché, assure la recherche, le développement des produits, et leur support. Elle propose en outre des services tels que des études méthodologiques, des expertises et des formations.

J'ai intégré dans cette société l'équipe Pre-Post chargée du développement de l'une des applications du groupes: MCrash. Cette application est spécialisée dans la simulation de crash automobile.

 

Pré-processeur conçu pour permettre une mise en données simple, rapide et de qualité des modèles destinés à la simulation de crash, cette application a été développée à l'origine en collaboration avec HONDA, et permet de gagner en productivité lors de la création ou de la modification d'un modèle.

MCrash intègre le savoir-faire dans le domaine du crash issu d'un partenariat de plus de dix ans entre les industries des transports et les experts du groupe. Les constructeurs utilisant MCrash sont entre Renault, PSA, Ford, Honda...

Mon travail

Ma mission première en arrivant chez Mecalog était de porter MCrash en 64-bits:

L'intérêt des plate-formes 64-bits face aux plate-formes actuelles en 32-bits est principalement une possibilité d'utilisation de mémoire vive décuplée pour les applications. Là où le 32-bits ne permet d'utiliser que 2 Go de mémoire vive (3 Go en compilant l'application d'une certaine manière), le 64-bits permet aux application d'en utiliser théoriquement jusqu'à plusieurs milliards. Dans la pratique, une plate-forme AMD 64-bits permet actuellement d'utiliser jusqu'à 1 To de mémoire... Ce qui est déjà conséquent comparé au 32-bits.

Si pour les particuliers une telle débauche de mémoire n'est pour le moment pas utile, il faut garder en mémoire qu'il s'agit ici d'une application industrielle, très gourmande en mémoire, car manipulant de grandes quantités d'informations...

 

Après cette première mission, j'ai rapidement réalisé d'autres tâches, parmis lesquelles on peut citer:

  • Interfaces utilisateurs en GTK: Menus dynamiques créés selon des fichiers de configuration, et autres menus complexes...
  • Dans une moindre mesure Open GL: j'ai par exemple optimisé des algorithmes de recherche de points à l'intérieur d'un polygone (utile pour la sélection d'objets à l'écran).
  • Création de modules et gestion de leur suivi (corrections, mises à jours).
  • compilation de versions sur plusieurs plate-formes.
  • Débugages.

 

Voici quelques-uns des modules que j'ai créé et sur lesquels j'ai participé:

  • Page de création / modification de matériaux et de propriétés selon des fichiers génériques.
  • Checks (vérifications de données) dans le modèle.
  • Découpage de PARTs (PART = regroupement d'éléments de même nature en une seule entité).
  • Calcul et modification du pas de temps des éléments (à la demande de PSA).
  • Page générique de création / modification d'objets.
  • Plieur d'Airbags (à la demande de Ford).
  • Pour les plate-formes 64-bits: création d'un petit programme en 32-bits, servant d'interface pour la gestion des licenses FlexLM.
  • Pavé générique de sélection et de création, pour ajouter notament la gestion des groupes par boîte.
  • Page de création / modification de Monitored Volumes (pneus, airbags, ...).