Mes compétences :
Java
Pic
.NET
UML
Qt
Embedded linux
Embedded systems
Linux drivers
Nucleus OS
USB HID Drivers
Linux librairies developpement
Kernel programing
CAN protocol
Cryptography
OpenSSL
FPGA
VHDL
C/C++
FPGA/ASIC
Entreprises
Ingenico
- Ingénieur développement Linux kernel et embarqué
Paris2012 - 2014Portage Drivers vers nouvelle plateforme hardware/software
Contexte :
Afin de renouveler sa gamme de produits, Ingenico a lancé une mise à jour totale des technologies de ses terminaux. Ainsi un nouveau Soc plus puissant avec une architecture quelque peu différente a été utilisé. Partant des IP disponibles sur l'ancienne plateforme, mais intégrant de nouvelles fonctionnalités, la nouvelle plateforme hardware nécessite ainsi un portage des drivers, afin que ces derniers soient adaptés aux nouvelles IP du soc (utilisation DMA, changements des adresses de registres, etc).
1) Portage Driver lecteur carte a piste vers la nouvelle plateforme:
- Adaptation du driver carte à piste aux IP de la nouvelle plateforme hardware
- Développement d'un outil d'analyse du signal et conversion ISO.
- Test du driver carte à piste
2) Portage Librairie embarquée de configuration IP vers Linux:
- Création d'une librairie Linux permettant la manipulation des données ip (IP addr, dns addr, etc)
- Création d'une librairie permettant de configurer le pppd sous Linux
3) Portage drivers de redirection et de simulation de périphériques:
- Développement module Linux permettant de simuler des périphériques du terminal sur le PC (simulation carte à piste, clavier, écran tactile, etc)
- Developpement d'un module permettant la redirection des sorties écran et imprimante du terminal vers le PC
4) Portage d'une application vers Linux embarqués:
- Portage d'une application permettant les tests des périphériques
5) Modification d'un device driver USB HID pour l'adapter aux spécificités d'un client:
- Analyse de la requête client et du protocole HID
- Modification des descripteurs USB afin de répondre à la requête client
- Test du device driver.
Ingenico
- Ingénieur support software en Chine
Paris2012 - 2012Support projet en CHINE et analyse d’une plateforme logicielle
Contexte et mission :
Ingenico souhaitant renfoncer la collaboration entre ses bureaux R&D en France, et ceux de sa filiale chinoise, l’entreprise a donc lancé le développement d'un produit commun aux deux bureaux R&D. Le produit héritant entre autres de la partie sécurité et OS du bureau français, l’entreprise voulait donc envoyer une personne afin d’aider à la résolution des différents problèmes pouvant se présenter. S’appuyant sur les différents acteurs en France, la personne peut ainsi aider le bureau chinois à résoudre les problèmes rencontrés. Cette personne sera également en charge d’analyser les différentes plateformes logicielles utilisées par la filiale chinoise.
Tâches effectuées :
1) Support software :
-Assister les équipes pour résoudre les problématiques liées a la partie développement sécurité et OS.
-Assister les équipes pour les besoins liés à la certification PCI PTS du produit.
2) Support Projet :
- Faciliter la communication entre les acteurs du projet des deux entités.
- Assurer la tenue des plannings avec les équipes chinoises
Ingenico
- Ingénieur développement sécurité embarqué
Paris2012 - 2012Contexte et mission :
Les exigences en matière de sécurité sont parfois différentes d’une région du monde à une autre. Grâce à l’architecture modulaire du logiciel embarqué au sein de ces terminaux, Ingenico peut facilement répondre à ces différentes demandes. Une équipe est ainsi dédiée à la réalisation des requêtes, et le développement des modules de sécurité pour ses différents clients.
Tâches effectuées :
1) Analyse des requêtes afin de déterminer celles ne respectant pas le standard PCI PTS.
2) Modification et développement de modules de sécurité(cryptographie, diversification de clés, saisie de Pin).
Ingenico
- Ingénieur développement logiciel et développement embarqué
Paris2011 - 2012Mise à jour d'une plateforme de test automatique de terminaux
Contexte et Mission :
Afin d'effectuer des tests de validation automatiques des terminaux, Ingenico a recours à un outil sur PC développé au sein de l'entreprise. Du fait de la perpétuelle évolution des produits, de nombreux terminaux ne sont plus pris en compte par ce dernier. Ainsi, la tâche qui m'a été affectée fut d'effectuer ces évolutions que ce soit du côté PC ou du côté terminal, et ainsi élargir la gamme de produits compatible avec l'outil en question.
Tâches effectuées :
1) Developpement logiciel PC:
- Redifinition de l'architecture du logiciel à l'aide d'UML
- Migration de l'outil de la MFC C++ vers le Framework .NET.
- Amélioration de l’ergonomie de l'IHM
2) Developpement OS et embarqué :
- Ajout d'un driver virtuel permettant la communication entre le kernel space et le user space (Nucleus OS)
- Ajout de la redirection de périphériques vers le PC (sortie imprimante)
3) Ajout de fonctionnalités à l'outil
- Fonction multi-instance
- Fonction de traitement d'image (Analyse OCR à l'aide de TESSERACT et traitement basé sur OpenCV)
- Ajout d'un wrapper .NET de la librairie OpenSSL pour permettre la double authentification entre le terminal et le PC à l'aide d'un USB etoken
ASCOREL
- Stagiaire développement embarqué
Pont-Évêque2010 - 2010Contexte:
Depuis 1988, ASCOREL se consacre au développement, à l’installation et à la maintenance de systèmes électroniques embarqués.
Ces systèmes sont conçus pour améliorer le contrôle et la sécurité des machines utilisées dans le TP, les mines et carrières mais également la lutte contre les incendies.
Mission :
Afin de faciliter la mise à jour de ses systèmes électroniques destinés aux chantiers, l'entreprise voulait y intégrer un module qui lui permettrait d'effectuer une mise à jour du firmware à l'aide d'une clé USB.
Tâches effectuées :
-Développement du module de mise à jour par USB sur le calculateur central
-Développement de la partie mise à jour des différents nœuds, par réseau CAN
Stage développement Londres
- Stagiaire
2009 - 2009Développement d'une base de données de stockage de factures
Bourges2008 - 2011Sécurité des Systèmes Ubiquitaires
Cursus de la formation: Cette formation a la particuliraité d'être généraliste et donner une vision globale des technologies de l'information auxquelles l'ingénieur devra faire face. Une spécialité, ainsi que des projets d'application permettent d'orienter la future carrière de l'étudiant.