Jean-Christophe - Développeur C++

Ref : 110824L001
Email vérifié
Photo de Jean-Christophe, Développeur C++
Compétences
C++
LINUX EMBARQUE
Expériences professionnelles
  • Expérience professionnelle

    11-2018 / 07-2020 – THALES Avionics (26000 Valence)
    - Développement logiciel embarqué pour récepteur GPS civil aéronautique, contraint par la norme DO-178C DAL B.
    Rédaction d’exigences (HLR, LLR), de tests (HLT, LLT), codage en ADA 2012, architecture UML, environnement de test FitNesse, xUnit, intégration continue Jenkins, gestion de configuration Git.
    - Développement d’un logiciel embarqué pour les tests après production du récepteur GPS (développement non contraint par la norme DO-178C).

    9-2017 / 11-2018 – MARKEM-IMAJE
    Maintenance logicielle et gestion d’obsolescence électronique d’une gamme d’imprimante industrielle de type « print and apply » (impression thermique sur étiquette et application sur emballage).
    Investigation sur l’origine d’une variance de latence (jitter) sur un logiciel embarqué sous linux. Tuning du noyau linux pour tenter d’identifier sa cause et le réduire.

    06-2016 / 07-2017 - SCHNEIDER ELECTRIC
    Conception d’une architecture logicielle embarquée commune pour plusieurs périphériques sans-fil de la gamme Schneider Electric : sonde de température/hygrométrie, sonde de CO2, télécommande de climatisation/volets/lumière, capteur de présence de bureau.
    Conception et développement d’outils de configuration, tests et mise au point pour la gamme de capteur sans-fil de Schneider Electric. Conception d’une architecture modulaire, basé sur des plugins, en C#.NET.
    Développement d’un sketch ARDUINO pour réaliser un prototype de capteur de présence de bureau avec transmission LoRaWAN.


    12-2011 / 02-2016 - iXBlue MSD
    Ingénieur conception et développement informatique embarquée
    Conception et développement du logiciel embarqué pour carte d’asservissment de tête de périscope gyrostabilisée.
     Développement suivant cahier des charges.
     Étude du système complet du client final.
     Développement des drivers bas niveau et de l'applicatif sur cible dsPIC (SPI, I2C, RS232), sous environnement MPLAB X.
     Développement d'une interface graphique en Qt (Windows Qt Creator) pour le diagnostic, le paramétrage et le débogage de la carte.
     Définition du protocole de communication de la liaison Debug.
     Rédaction de la documentation avec Doxygen.
     Gestion de configuration sous SVN.
     Installation, mise en route et mise au point dans le sous-marin.
    Développement et mise au point d'une tourelle pour tracking de leurres pyrotechniques.

    Arrivé en cours de développement, j'ai intégré l'équipe pour finaliser la conception d'une tourelle 2 axes (Pan et Tilt), servant à faire un suivi de leurres pyrotechniques par traitement vidéo. Le contrôleur est un PC embarquant un système Linux RTAI, un serveur web pour le pilotage à distance du système, et 2 variateurs pour le pilotage des moteurs.
     Écriture d'un ensemble de classe C++ pour la gestion de la vidéo : capture des images brutes, compression FLV pour enregistrement sur disque dur et streaming en direct, relecture des fichiers enregistrés. Utilisation des librairies « libav » (ffmpeg).
     Modifications et mise au point du traitement d'image (openCV).
     Développement sur plateforme Linux, eclipse, gcc, gdb.
     Gestion de configuration sous SVN.
    Conception et développement du logiciel embarqué d'un variateur électronique

    Développement du soft embarqué et de l'interface graphique de contrôle d'un variateur pour différents types de moteur.
     Architecture, conception et développement sur cible DSP Texas Instrument C2000.
     Développement sous Code Composer Studio en C/C++.
     Pilotage de moteurs synchrone à courant sinusoïdal (Field Oriented Control).
     Pilotage de moteurs synchrones à courant trapézoïdal.
     Pilotage de moteurs à courant continu.
     Pilotage de moteurs biphasés.
     Ecriture des drivers bas-niveau en C/C++ (SPI, liaison série, PWM, EEPROM, bus parallèle, CAN/CanOpen).
     Conception et développement de l'interface graphique de contrôle sous environnement Qt.
     Définition du protocole de communication avec l'interface graphique.
    Développement de logiciel embarqué d'une carte d'asservissement pour positionneur

    Reprise d'un code existant d'une carte contrôleur pour positionneur 2 axes avec gyrostabilisation.
     Débogage et développement de nouvelles fonctionnalités sur cible DSP Texas Instrument C2000 et sous environnement Code Composer Studio.
     Tests sur matériel final.
     Génération de code C depuis planche algorithmique d'asservissement Matlab/Simulink, produite par un automaticien.
     Ajout de fonctionnalités sur l'IHM de pilotage développée en VB.NET.
    Développement et mise au point du logiciel embarqué pour une tourelle 2 axes destinée à faire du suivi de cible par vidéo.

    Reprise d'un système existant et adaptation de la partie traitement d'image.
     Développement sur plateforme Linux, eclipse, gcc, gdb, ffmpeg.
     Modifications et ajout de fonctionnalités pour le traitement d'image : détection de plusieurs cibles, puis suivi de celle choisie par l'utilisateur.
     Installation et mise en route de la machine chez le client final (Inde).

    09-2009 / 09-2011 – PGM Télévision
    Ingénieur conception informatique – chef de projet
    Réalisation d'un enregistreur vidéo sur disque dur à 4 flux.
    Enregistrement de 4 flux vidéo de façon synchronisée, sur disque dur, avec fonction de playback avancé, création d'archives basse résolution avec envoi automatique sur serveur FTP, intégration de fonction de création de DVD.
     Elaboration du cahier des charges.
     Etude de faisabilité.
     Conception et développement.
     Tests, débogage, amélioration de fonctionnalités.
     Développement sur plateforme Windows, avec Delphi et architecture DirectShow, pour la version SD (Standard Définition).
     Développement sur plateforme Linux pour la version HD (Haute Définition), avec architecture Qt, ffmpeg et API DeckLink de BlackMagic Design.
     Gestion de configuration sous CVS.
    Réalisation d'une mosaïque vidéo.

    Création d'une mosaïque vidéo contenant 8 flux, crée à partir de vidéo basse résolution stockées dans des fichiers « avi », compressés en H264.
     Conception et développement.
     Tests, débogage.
     Développement sur plateforme Linux, avec architecture Qt, ffmpeg et API DeckLink de BlackMagic Design.
    Réalisation de différents projets autour de la vidéo numérique, dans le domaine des courses hippiques.
     Développement sur plateforme cible windows et linux
     Elaboration de cahier des charges.
     Etude de faisabilité
     Conception et développement.
     Tests, débogage, amélioration de fonctionnalités.

    11-2008 / 08 -2009 – INCKA (SOFTATHOME), 10 mois
    Ingénieur intégrateur
    Portage applicatif sur « Set Top Box »
    Réalisation du portage d'un applicatif de gestion de « set top box » sur une plateforme hardware embarquant un circuit de marque Broadcom.
     Compilation croisée sous linux.
     Participation aux réunions techniques avec le fabriquant.
     Conception de tests unitaires sur les drivers fournis par Broadcom.
     Portage de l'applicatif, détection des bugs au niveau drivers, ...
     Utilisation du gestionnaire de configuration Perforce.

    08-2008 / 10 -2008 – ELSYS Design (SAGEM DS Massy), 3 mois
    Ingénieur conception – développement
    HDE
    Développement d'une carte électronique d'acquisition et de rejeu vidéo Haute Définition, sur port PCI express, embarquée dans un PC linux. Cette carte à la particularité d'avoir 8 entrées vidéo et 9 sorties vidéo. Il est possible d'acquérir et de rejouer plusieurs flux simultanément.
     Réponse à l'appel d'offre sur la partie logicielle (IHM + driver).
     Participation aux réunions techniques avec le client.
     Etude de la conception préliminaire (documentation sur les drivers linux).
     Rédaction de la documentation de conception préliminaire logicielle, en partenariat avec l'équipe hardware. Définition des interfaces soft/hard, du mapping mémoire, du système de transfert de données (DMA).
     Mise en place d'une base CVS pour la gestion de configuration des fichiers sources (logiciel et FPGA).
     Développement du driver.

    01-2008 / 07 -2008 – ELSYS Design (SAGEM DS Argenteuil), 7 mois
    Ingénieur conception – développement
    IBIS1 / IBIS2
    Développement de fonctionnalités et débogage de l’applicatif client, fonctionnant sur une plateforme propriétaire (IBIS) à base d’ARM9 et de linux temps réel.
     Intégration de données dans des trames RS485 existantes, avec une forte contrainte temporelle. Les données sont envoyées dans la bande passante restante.
     Intégration d’un protocole de communication par liaison bluetooth, gestion d’appairage bluetooth.
     Débogage de driver de port série sous linux embarqué temps réel.
     Développement de banc de test pour tester et valider les corrections et modifications de l’applicatif.
     Corrections de bogues dans le logiciel applicatif du client (RTLinux embarqué).
     Ajouts de diverses fonctionnalités dans le logiciel applicatif du client (RTLinux embarqué).
     Utilisation des outils de compilation croisée gcc.
     Utilisation de gestion de configuration (CVS).

    09-2007 / 12 -2007 – ELSYS Design, 4 mois
    Ingénieur conception – développement
    CATI
     Conception d’un logiciel sous LabWindows/CVI (langage C), permettant de récupérer des données envoyées par un microcontrôleur, intégré à un FPGA Spartan3 (μBlaze), en temps réel, par liaison RS485.
     Intégration de fonctions d’écriture, de lecture et de vérification de la mémoire FLASH du FPGA, dans le but de le reprogrammer directement sur cible.
     Optimisation de code C sur cible μBlaze.
     Utilisation des outils Xilinx (ISE, EDK, IMPACT, …).
     Utilisation de gestion de configuration (SVN).
     Rédaction de documents de validation de fonctionnement.

    2006-2007 - DEVELOPTIM, 15 mois
    Ingénieur conception – développement
    Médicalarme
    Conception d’un module électronique de détection d’alarmes sonores d’appareils médicaux. Le module transmet l’alarme à la caméra IP à laquelle il est relié.
     Etude de faisabilité. Rédaction du cahier des charges.
     Choix technologiques : composants, technique.
     Gestion du projet.
     Réalisation de la carte électronique (maquette).
     Codage du firmware en C sur dsPIC (DSP Microchip).
     Réalisation d’une IHM sur PC (DELPHI) pour debugger / monitorer les détections d’alarmes.
    Projet JONAS

    Paramétrage à distance de caméra : conception d'un système de pilotage de caméra SONY haute définition. Cette caméra est destinée à filmer en milieu sous-marin, pour un film de Jacques Perrin.
     Etude de faisabilité. Rédaction du cahier des charges. Gestion du Projet
     Choix technologiques : composants, technique, définition des différents organes.
     Etude du système de fonctionnement, définition des protocoles de données entre les différents organes électroniques.
     Conception des cartes électroniques à l’aide de PROTEL.
     Codage des firmwares propre à chaque organe, en langage C, sur cible dsPIC (Microchip).
     Conception de l’IHM PC permettant de régler les paramètres de la caméra.
     Intégration du protocole de communication de la caméra.
     Développement PC sous DELPHI.
    Catamaran des airs

    Conception d'un logiciel sous windows intégrant le réglage à distance d'une caméra HD embarquée ainsi que le pilotage du « Pan, Tilt, Zoom et Iris » à l'aide d'un joystick USB.
     Réalisation du cahier du cahier des charges avec le client.
     Conception d’un module électronique d’interface PC-camera.
     Développement du firmware en assembleur Microchip.
     Conception de l’IHM permettant de régler les paramètres de la caméra. Intégration du protocole de communication de la caméra. Intégration de la gestion du Joystick (API Microsoft DirectInput).

    2001-2006 - SONY France, 5 ans
    Ingénieur d’études/Chef de Projet pour le développement de fonctions de contrôles de caméras professionnelles SONY
    Conception de matériel électronique pour la commande de caméra vidéo professionnelle haute définition, intégrée dans un caisson de plongée. Finalisation du système et support technique sur le terrain (Polynésie française).
    Conception d'un « matchcam » pour le laboratoire professionnel de SONY. Il s'agit d'un appareil servant à aider l'ingénieur à rendre deux caméras différentes colorimétriquement identiques. L'appareil est un PC avec deux cartes d'acquisition vidéo numérique (HD-SDI). Le logiciel a été développé en utilisant les API DirectShow (Microsoft).
    Conception de matériel électronique pour la commande de caméra vidéo professionnelle haute définition, intégrée dans un caisson de plongée. Finalisation du système et support technique sur le terrain (Polynésie française).
    Développement d’une interface matérielle pour dialoguer avec les caméras : module de conversion RS232 (à 115200 bits / s) vers RS485 (à 565200 bits / s). Il gère la conversion de vitesse ainsi que la couche basse du protocole de communication (« handshaking ») afin de ne remonter au PC que les informations utiles.
    Développement de « dll » windows pour le paramétrage de caméra haute définition.
    Conception d'un logiciel d'aide au déploiement des « set top boxes » de Roland Garros. Ce logiciel permet de redémarrer, connaître l'adresse MAC/IP, la version de firmware, de n'importe quelle des 1200 « set top box » présentes sur le site.
    Développement d’un logiciel de paramétrage de caméra vidéo professionnelle par liaison USB :
    Conception d'une interface graphique hautement personnalisable permettant de contrôler tous les différents réglages internes de la caméra (colorimétrie, contraste, correction géométrique, ...), réalisation d'un module de conversion USB / RS485. Industrialisation d'un module de conversion RS232 / RS485.
    Développement d’un logiciel de paramétrage de caméra vidéo professionnelle Haute Définition par liaison série RS232. La caméra est située dans un caisson de plongée, et reliée à un PC par un câble de 50 mètres.
    Développement de fonctions informatiques pour la vidéo (moniteur de profil, détection de noir antenne) : acquisition de la vidéo à l'aide des API windows, puis traitement des images reçues avant affichage.
    Développement d’un logiciel de paramétrage de caméra vidéo professionnelle, de définition standard, par liaison série RS232. Réalisation d'un module électronique assurant la manipulation rapide du flux RS232, afin qu'il soit conforme au protocole de communication, et réalisant la protection contre le piratage.

    1998 – 2001 – S.D.S, Paris XIII – 30 mois
    Technicien en électronique.
    Conception de matériel électronique pour la commande de caméra vidéo professionnelle haute définition, intégrée dans un caisson de plongée. Finalisation du système et support technique sur le terrain (Polynésie française). Tests et maintenance de convertisseurs DC-DC haute tension avec une grande stabilité, et une faible ondulation résiduelle.
    Conception d’un système de télécommande par fibres optiques et commandes pneumatiques pour piloter des gros générateurs de tension et de courant.

Études et formations
  • Diplômes
    2004 DESS Imagerie Electronique, Université Pierre et Marie Curie (Jussieu) en alternance

    2003 Ingénieur IFITEP, Université Pierre et Marie Curie (Jussieu) en alternance.

    2000 DEUST électronique à IFITEP en alternance.

    1998 Baccalauréat STI électronique au lycée Jean Jaurès à Chatenay-Malabry.

    Compétences
    Électronique électronique analogique, électronique numérique, microprocesseurs (8051, PIC, ATMEL AVR, C167,
    µBlaze, ARM9, TI C2000, ColdFire, IMX6), DSP (Texas, Analog Device), FPGA (Altera).

    Informatique Programmation assembleur, C, Java, Delphi (Pascal objet), C++, ADA, Qt, C#.NET, Matlab,
    vidéo numérique, traitement d'image, API windows, DirectX, utilisation Word, Excel,
    PowerPoint, Orcad, Protel, gestion de configuration (SVN, CVS, Perforce, Git), linux
    (programmation et utilisation), RTLinux, eCOS, bluetooth, programmation « multi-threadée ».

    Bus/protocoles RS232/422, SPI, I²C, CAN/CanOpen, Arinc, TCP/IP.

    Capteurs GPS, Gyroscopes, centrales inertielles, camera.

    Radio ISM 868MHz (Microchip MRF), LoRaWAN.

    Méthodologies Waterfall, AGILE (Kanban, Scrum).

    Fonctionnelles Analyse des demandes clients et étude de faisabilité, rédactions de spécifications, proposition, conception et architecture de systèmes électroniques, avec logiciel embarqué associé, conception d’interface (console ou graphique) de débogage et diagnostic et paramétrage, maintenance corrective et évolutive, optimisation de code (mémoire, exécution, …), interface avec équipe électronique pour aide à la conception et optimisation fonctionnelle du logiciel embarqué.

    Langues

    Anglais (TOEIC).
    Espagnol.

D'autres freelances
Développeur C++

Ces profils pourraient vous intéresser !
CV Ingénieur de développement Full stack Senior (Python, Django, CSS, SQL, JSON,...)
Justin

Ingénieur de développement Full stack Senior (Python, Django, CSS, SQL, JSON,...)

  • AIX-EN-PROVENCE
PYTHON DJANGO SQL HTML C++ CSS JAVASCRIPT SQL SERVER
Bientôt disponible
CV Développeur WEB
Tittouan

Développeur WEB

  • CÉPIE
JAVASCRIPT HTML WORDPRESS CSS PHP SSL MYSQL C++ C# .NET
Disponible
CV Développeur UNITY 3D
Jérôme

Développeur UNITY 3D

  • CELLETTES
UNITY 3D C# C++ JAVASCRIPT PHP .NET HTML5 CSS MYSQL SQL
Disponible
CV Ingénieur de développement JAVASCRIPT
Said

Ingénieur de développement JAVASCRIPT

  • PARIS
JAVASCRIPT SQL JAVA Angular J2EE C++
Disponible
CV Analyste programmeur PHP
Mamadou

Analyste programmeur PHP

  • AMIENS
C PHP JAVA C++ SQL MYSQL Angular
Disponible
CV Développeur
Sabri

Développeur

  • BÉZIERS
REACT.JS JAVA .NET PHP C++ SQL JAVASCRIPT Angular ORACLE C SHARP
Disponible
CV Développeur JAVA
Léo

Développeur JAVA

  • QUILLY
JAVA J2EE SQL JAVASCRIPT MYSQL JAVA J2EE C++ ORACLE Angular PL SQL
Disponible
CV full stack Développeur
Mohamed Ilias

full stack Développeur

  • NONANCOURT
JAVASCRIPT C++ Angular SQL SQL SERVER JAVA
Disponible
CV Igènieure Computer Vision
Rania

Igènieure Computer Vision

  • VILLIERS-SUR-MARNE
PYTHON OPENCV VISUAL STUDIO Jupyter LINUX C++ OPENGL
Disponible
CV Développeur C++
Camille

Développeur C++

  • MÉRÉVILLE
C++ PYTHON JAVASCRIPT SQL C# ASSEMBLEUR PHP .NET JAVA
Disponible