-
Projet personnel
- Architecte et développeur
2014 - maintenant
Projet: Reprise de l'écriture d’un émulateur des micro-ordinateurs Amstrad CPC pour Windows.
Réalisations:
• Portage du code source de l'émulateur pour Palm OS ;
• Restitution vidéo sous DirectX 9, OpenGL ou Windows GDI ;
• Environnement sonore sous OpenAL ;
• Refonte de l'émulation du lecteur de disquette (FDC) afin de lire les disquettes originales protégées ;
• Ajout de fenêtres pour observer le comportement de la machine (éditeur Z80, mémoire, FDC...) ;
• Prise en charge des nouveaux supports de préservation ;
• Portage de librairies du domaine public (ZLib, LibPNG, Sun IEEE754…) ;
• Ajout d’un moteur de scripts pour les tests et la validation.
Bilan:
Autoformation aux technologies suivantes: DirectX 9, OpenGL, OpenAL, DirectInput.
Distribution de l'émulateur sous le nom "CaPriCe Forever".
-
E2-CAD
- Ingénieur d'études logiciel
2011 - maintenant
Projet: Participation à la réalisation du logiciel embarqué d'un prototype puis de plusieurs modèles séries d'occultants et d'un toit panoramique électrique :
• Mise en place de la communication LIN certifiée constructeur ;
• Écriture de couches basses;
• Écriture de couches applicatives;
• Intégration et validation des modules logiciels;
• Écriture d'applications Windows pour la mise au point et la maintenance;
• Interface avec les librairies LIN PEAK;
• Investigations et corrections des problèmes liés à la CEM;
• Suivi des évolutions et livraisons.
Environnement: C embarqué pour micro-contrôleur Fujistu, Microsoft Visual Studio Express C#, PEAK, LIN 2.0, LIN 2.1.
Projet: Réalisation d’un logiciel sous Windows, "TuneCAD", permettant la mesure de variables et la calibration de paramètres d’un logiciel embarqué en utilisant une communication CAN :
• Lecture d’un fichier ASAP2;
• Interface avec les librairies CAN PEAK;
• Visualisation de type numérique et graphique.
Environnement: Microsoft Visual Studio Express C#, PEAK, CAN TP, CAN CCP, ASAP2.
Projet : Prise de connaissance du logiciel "System Monitor" de McLaren Electronic Systems afin de participer à l'architecture d'un logiciel embarqué pour la F1:
• Problématique d'adaptation du compilateur "TASKING for Tricore" à l'environnement McLaren (incompatibilités ELF/DWARF);
• Recherches de solutions techniques;
• Organisation du mapping mémoire;
• Support au portage de l'application McLaren;
• Support à l'intégration du logiciel embarqué pour McLaren System Monitor.
Environnement: Microsoft Visual Studio C++, C, McLaren System Monitor, TASKING for Tricore, ASAP2.
Projet: Prise de connaissance et amélioration du logiciel embarqué de mesures des élongations pour le système LIRIS de la société OSMOS.
• Analyse de la qualité du code afin d'estimer la possibilité d'apporter rapidement des modifications;
• Amélioration de la profondeur de stockage des données d'élongations;
• Sécurisation de la récupération des données sans perte;
• Création d'une application afin de récupérer et stocker les données depuis les systèmes en place avec la possibilité d'afficher graphiquement l'historique des élongations.
Environnement: C pour Microchip dsPic, Microsoft Visual Studio Express C#.
Projet: Prise de connaissance de l'environnement Linux et Linux embarqué avec pour objectif de vérifier la possibilité d'utiliser Linux pour remplacer les OS propriétaires dans l'industrie automobile, domaine à fortes contraintes temps réels.
• Compilation croisée du noyau pour ajouter la prise en charge du CAN par SPI;
• Adaptation des overlays pour les composants SPI;
• Portage des couches CAN afin d'utiliser SocketCAN;
• Codage d'une application afin de communiquer avec "TuneCAD" en utilisant le CAN;
• Mesure des performances sur l'implémentation d'un timer à 1ms;
• Debug distant avec Eclipse;
• Optimisation du démarrage;
• Compilation du noyau et utilisation d'un patch temps réels;
• Compilation du noyau et utilisation de la couche Xenomai.
Environnement: Ubuntu sous VirtualBox, Debian sur une BeagleBone Black avec extensions MikroElektronika
Projet: Réalisation du logiciel d'un dongle qui se branche sur la prise diagnostic d'un véhicule pour envoyer des données vers Internet.
• Architecture et écriture du logiciel;
• Téléchargement de la messagerie CAN depuis Internet;
• Sauvegarde des données sur mémoire flash;
• Connexion TLS vers un broker MQTT;
• Mise à jour logicielle par FOTA (Maquette sur STM32L4R5ZI).
Environnement: Langage C pour STM32L4, AirPrime HL8548-G, CubeMX, WolfMQTT, WolfSSL; ST SBSFU
De 2011 à Novembre 2019: Administrateur du parc informatique
• Mise en service de NAS Dell;
• Mise en service du firewall ZyWALL 110;
• Configuration du VPN;
• Migration des données;
• Configuration du réseau;
• Sauvegardes quotidiennes, hebdomadaires et mensuelles;
• Mise à jour des archives pour éviter l'obsolescence des supports;
• Installation, configuration et adaptation de Bugzilla;
• Support au quotidien auprès du personnel.
Environnement: 2 NAS sous Windows Storage Server 2008 et 2008 R2, Synology DS416, ZyWALL 110, une cinquantaine de PC sous Windows XP et Windows 7.
-
Astrium Space Transportation
- Ingénieur consultant
2010 - 2011
Conception, codage et tests du logiciel de vol, logiciel de vol de synthèse et logiciel d'alignement pour des applications militaires.
- Analyses d'impacts des évolutions sur le code source;
- Analyses d'impacts des évolutions sur les tests unitaires;
- Analyses statiques et mises en conformités du code source;
- Codage des évolutions en Ada;
- Codage et exécution des tests unitaires;
- Rédaction de la documentation technique.
Environnement:
Sun Solaris 8, Ada83, Rational Clearcase, Rational Test RealTime, PolySpace
-
E2-CAD
- Ingénieur consultant
2010 - 2010
Projet: Développements d’évolutions, intégration et participation à la validation du logiciel des tableaux de bords A9 pour PSA.
Réalisations:
• Ecriture et tests des évolutions du téléchargement sécurisé de l’application en suivant le protocole UDS ;
• Ecriture de nouveaux services diagnostic pour faciliter les tests en fin de chaîne ;
• Adaptation des outils internes afin d’accélérer les tests et la validation des fonctions du tableau de bord ;
• Adaptation des mappings RAM/ROM aux processeurs qui seront utilisés en série ;
• Investigations sur les problèmes d’optimisations de la taille du code.
Environnement technique:
C, C++, Canalyzer, Fujitsu softune workbench, Microsoft Visual SourceSafe, Borland C++ Builder
-
SAGEM Mobiles / Purple Labs / Myriad group
- Ingénieur consultant
2006 - 2010
Projet: Développements de drivers, support et tests des plateformes fournies par EMP (Ericsson Mobile Platform), utilisées par les mobiles 3G de Sagem et par Purple Labs comme plateforme de référence.
Réalisations:
• Assurer le bon fonctionnement de la charge de la batterie. Etude et développement d’une couche d’abstraction entre la plateforme et l’application ;
• Portage du moteur SQL « SQLite » pour l’inclure dans un composant permettant d’accéder rapidement aux métadatas des fichiers audio ;
• Investigations et suivi des corrections autour des problèmes de fiabilité des flashs NAND ;
• Codages d’applications de tests pour vérifier le comportement de la plateforme ;
• Suivi de l’activité Plateforme/Drivers 3G (4 ingénieurs) ;
• Interface avec EMP pour le suivi des problèmes et développements.
Environnement technique:
• Langages : C, COM/DCOM, SQL, Perl (notions)
• Systèmes : Windows XP, Eclipse, Cygwin
• Outils : CVS, DocBook, UML
Projet: Développement et support des drivers accessoires pour les mobiles 2G. Responsable du driver des accessoires pour les mobiles 3G.
Réalisations:
• Codage, tests et mise à jours des drivers 2G;
• Support, portage et validation des drivers 3G.
Environnement technique:
• Langage : C
• Systèmes : Windows XP, Cygwin
• Outils : CVS
Bilan:
Livraison de drivers accessoires validés. Amélioration du ressenti utilisateur de l’autonomie des mobiles My750, My730, My850. Amélioration de la durée de vie des mobiles avant une corruption fatale de la mémoire Flash. Reporting de l’activité Platforme/Drivers.
Intégration dans une équipe d’une vingtaine de personnes. Participation à des réunions de crises concernant les problèmes critiques de fiabilité de la Flash NAND du My750 : Déplacements en Angleterre et en Suède à ce sujet. Prise de connaissance des problématiques de charge des batteries Li-ion/Li-Po. Participation et organisation de réunions hebdomadaires avec EMP pour le suivi des problèmes. Découverte de la technologie COM/DCOM.
-
Projet personnel
- Architecte et développeur
2006 - 2011
Projet: Ecriture d’un émulateur des micro-ordinateurs Amstrad CPC pour Palm OS.
Réalisations:
• Portage du code source placé dans le domaine public ;
• Adaptation aux contraintes héréditaires de l’environnement Palm OS 68k ;
• Optimisation du code ARM natif pour améliorer les performances ;
• Restitution vidéo et audio fidèle à l’original.
Bilan:
Réalisation d’un émulateur sur une machine assez limitée, environnement embarqué, qui restitue le comportement de la machine d’origine et offre à l’utilisateur la possibilité d’exécuter pratiquement tous les programmes de l’époque. Fonctionne sur plusieurs machines de la gamme Palm.
Autoformation à la programmation sur Palm OS. Résolution de tous les problèmes pour aboutir à un programme stable et rapide (petit écran tactile, taille limitée des ressources, passerelle 68k vers ARM, compatibilités matérielles et OS). Ajout de fonctionnalités pour contourner l’absence de périphériques matériels.
Réalisation de l’interface utilisateur.
-
AKKA Ingénierie Systèmes
- Ingénieur Consultant
2006 - 2011
-
E2-CAD
- Ingénieur études et développements
2002 - 2006
Projet: Responsable du développement en interne d’un logiciel « CaseCAD » d’édition de diagrammes, de type SA/RT, pour la spécification et la conception de systèmes temps réels embarqués.
Réalisations:
• Rédaction de la spécification du besoin, rédaction du cahier des charges, conception de l’architecture des objets ;
• Codage et tests ;
• Développement des évolutions.
Environnement technique:
• Langages : C++, VCL, Windows API
• Systèmes : Windows 2000 et XP
• Outils : Borland C++ Builder, Visual Source Safe
• Divers : IHM
Projet: Responsable du développement en interne d’un logiciel « GrafCAD » d’édition de graphes, de type « grafcet », utilisés pour décrire le comportement des logiciels embarqués.
Réalisations:
• Définition de la spécification du besoin, rédaction du cahier des charges, conception de l’architecture logicielle ;
• Encadrement d’un stagiaire responsable de la rédaction de la doc de conception, du codage et des tests unitaires ;
• Encadrement d’un ingénieur dont le rôle était de finaliser la première version pour mars 2003 ;
• Suivi et développement des évolutions ponctuelles.
Environnement technique:
• Langages : C++, VCL, Windows API
• Systèmes : Windows 2000 et XP
• Outils : Borland C++ Builder, Visual Source Safe
• Divers : IHM
Projet: Développement du logiciel du tableau de bord de la Volkswagen GOLF (PQ35) et PASSAT (PQ46) pour Visteon.
Réalisations:
• Ecriture de différents pilotes : I2C, RS232, transpondeur pour la fonction d’anti-démarrage ;
• Responsable de fonctions applicatives (Modes opératoires, Illumination…) ;
• Rédaction de documentation technique.
Environnement technique:
• Langage : C
• Systèmes : OSEK
• Matériels : TMS470R1 (ARM7)
• Outils : Texas Instruments Code Composer Studio, Visual Source Safe
Bilan:
Livraison du logiciel des tableaux de bord. Utilisation en interne des outils pour la conception des logiciels embarqués. Le logiciel « GrafCAD » a été prévu pour une commercialisation, protégé par un dongle et une licence d’utilisation.
Intégration dans une équipe soudée d’une dizaine de personnes. Autonomie pour la réalisation des outils en interne : choix de l’interface graphique, choix de l’ergonomie, choix des outils.
-
MEGTEC
- Ingénieur consultant
1998 - 2001
Projet: Portage du logiciel de supervision et de commande pour le chargement automatique des bobines de l’imprimerie « Il Sole 24 ORE »à Milan (Italie).
Réalisations:
• Adaptation de l’ancien code ;
• Ajout des évolutions.
• Installation et mise en service sur site.
Environnement technique:
• Langages : C++, VCL, Windows API
• Systèmes : Windows 95, 2000
• Outils : Borland C++, Borland C++ Builder
Projet: Développement de logiciels assurant la communication entre les pupitres de contrôle de la rotative et les différents dérouleurs de papier.
Réalisations:
• Architecture des objets ;
• Codage et tests.
Environnement technique:
• Langages : C++, VCL, Windows API
• Systèmes : Windows 2000
• Outils : Borland C++ Builder
Projet: Développement du logiciel « QualiRoll » destiné au suivi de la consommation de papier pour l’imprimerie.
Réalisations:
• Rédaction du cahier des charges, du document de spécification et de conception ;
• Développement et tests ;
• Installation en France, Allemagne et aux Pays-Bas.
Environnement technique:
• Langages : C++, VCL, Windows API, SQL
• Systèmes : Windows 2000
• Outils : Borland C++ Builder
Bilan: Rajeunissement de l’offre logicielle.
Réalisation d’un logiciel depuis un maquettage jusqu’à l’installation sur site. Autoformation au C++. Déplacements à l’étranger. Contacts directs avec le client. Intégration à une équipe de 4 personnes.
-
ALCATEL Contracting
- Ingénieur consultant
1995 - 1998
Projet: Dans le cadre du développement de cartes de commutations et d’incrustation vidéos 1716, réalisation d’un logiciel de supervision et de commande pour la surveillance vidéo de gares du réseau Paris Gare de l’Est ainsi que d’une partie de l’autoroute A13 (Poissy-Rouen).
Réalisations:
• Participation à la rédaction des documents de spécifications, de conception, d’installation et de recette ;
• Codage et tests de l’application Windows ;
• Conception et codage du logiciel embarqué de la carte assurant la passerelle entre le PC et les cartes de commutations, d’incrustation de textes et de transport ;
• Etudes et réalisation de logiciels assurant la maintenance des différents composants du système de surveillance vidéo.
Environnement technique:
• Langages : C, Windows API
• Systèmes : Windows 3.x, 95, 98
• Matériels : Motorola 68302
• Outils : Borland C++, Excel, Access
• Divers : RS232, Sockets TCP/IP, Architecture Client/Serveur, IHM
Bilan:
Ecriture d’une application de tests unitaires sous Windows qui s’est transformé en logiciel multi-utilisateurs commercialisable permettant de surveiller un réseau en temps réels.
Participation à la mise en service sur le site de Paris Gare de l’Est.
Autoformation à la programmation sous Windows. Autonomie complète sur le développement de l’application et sur ses évolutions.
Conception et réalisation de l’IHM.
-
SAGEM Automobile
- Analyste Programmeur
PARIS
1993 - 1994
Projet: Etude et réalisation d’une évolution du boîtier de synthèse de parole pour la Safrane de Renault.
Réalisations:
• Architecture matérielle, choix technologiques, optimisation de coût et transfert en production ;
• Mise à jour du banc de test ;
• Développement logiciel avec contraintes d’optimisation de taille de code, de taille des données et de temps d’exécution.
Environnement technique:
• Langage : Assembleur
• Matériel : Texas Instruments TMS320C14
Bilan:
Baisse du coût de fabrication de la carte. Limitation du nombre de références produits. Configuration directe par la ligne diagnostic.
Prise de connaissance des problématiques de coût de fabrication, de coût de maintenance, de qualité dans un environnement à fortes contraintes. Projet réalisé de bout en bout : depuis le dessin des schémas électroniques jusqu’aux essais en véhicule.