curriculum vitae

(version standard en téléchargement)

Gilles BLANC
Nationalité française
né le 3 décembre 1983


Ingénieur informatique temps réel/embarqué
Expert Linux embarqué

Expériences

01/2012, Président fondateur de la société Linacs SASU

Description :
Président.

12/2010 - 09/2011, Linagora, Développeur système Linux, Oberthur

Description :
Développeur et architecte pour Oberthur.
Principales tâches :
  • Développement en sous-traitance dans le cadre du projet de carte d'identité lettone
  • Framework logiciel libre autour de smartcards, couches basses (souche OpenSC)
  • Travail sur l'implémentation du standard européen IASECC
  • Intégration du standard PKCS11
  • Tests et travail mené sur l'ensemble des couches logicielles de la carte, depuis les appels APDU

01/2011 - 09/2011, Linagora, Expert Linux embarqué, Amphitech

Description :
Consultant pour Amphitech.
Principales tâches :
  • Débuggages urgents (architecture ARM Cortes-A8)
  • Développement noyau et u-boot
  • Conseils sur l'architecture du système

09/2010 - 12/2010 puis 06/2011 - 09/2011, Linagora, Ingénieur R&D, PSA

Description :
Forfait pour PSA, développements d'une solution de chiffrement simplifié sur poste de travail.
Principales tâches :
  • Réadaptation de TrueCrypt afin d'utiliser une clé par certificat p7m (dans un conteneur NSS)
  • Développement d'un client graphique indépendant en Python-Qt
  • Refonte à la demande du client de la solution sur une nouvelle architecture et sous Windows uniquement (05/2011 - 09/2011)

07/2010 - 09/2010, Linagora, Expert Linux embarqué, Babylone

Description :
Expertise sur un projet de certification de système Linux embarquable, au sein d'un consortium aéronautique.
Principales tâches :
  • Expertise, participation à la détermination de l'architecture du système
  • Compilation croisée du framework de communication OpenDDS

05/2010 - 06/2010, Linagora, Ingénieur R&D, AP-HP

Description :
Forfait pour l'AP/HP, fourniture d'un CRM en PHP (base VTiger).
Principales tâches :
  • Création d'un module d'importation de données (120.000 fiches Agent), en PHP
  • Adaptation du CRM pour répondre à la problématique client

01/2010 - 04/2010, Linagora, Ingénieur R&D

Description :
Interventions sur des projets au forfait, en avant-vente ou internes, en expertise.
Principales tâches :
  • Avant-vente système cryptographique (projet gagné)
  • Prise de responsabilité du projet gendarmerie OpenVPN/NuFW pour finalisation
  • Développement d'une interface graphique pour client Kaspersky (anti-virus) sous Ubuntu Linux (C/gtk, D-Bus, Hal)
  • Assistance technique sur des problèmes NTP (projet ProxyRSB)
  • Développement kernel sur FreeBSD (résolution d'un problème de boot sur clé USB)

09/2009 - 12/2009, Linagora, Ingénieur R&D, AIFE

Description :
Forfait pour l'AIFE (ministère de l'économie et des finances), développement d'extensions OpenObject, un framework d'ERP libre, dans le cadre de la fourniture d'un CRM
Principales tâches :
  • Ajout de fonctionnalités fortes en Python : reporting sous forme de matrices de maturité, d'arbres hyperboliques, de tableaux de bords calculés
  • Intégration dans plusieurs dizaines de milliers de lignes de Python, Javascript/Ajax
  • Extensions côté serveur (gestion de base de données) et client-serveur web (génération de html, javascript asynchrone, manipulation DOM)

04/2009 - 09/2009, Linagora, Ingénieur R&D, CEA

Description :
Forfait pour le CEA, développement de services de gestion protocolaire d'appareils de mesure pour un banc de test, sur un middleware libre de bus de données de contrôle-commande (Tango), et des interfaces graphiques associées
Principales tâches :
  • Veille technologique de la solution
  • Gestion de protocole GPIB
  • Réalisation en python des drivers logiciels sur le bus (interfaçage bas niveau)
  • Réalisation des interfaces graphiques en Python-Qt4
  • Fonctionnement sous Linux et Windows

10/2008, Linagora, Ingénieur R&D puis responsable projet, GN

Description :
Forfait pour la gendarmerie nationale, mise en place d'une solution de connexion réseau par authentification forte entre des clients OpenVPN et un serveur NuFirewall.
Principales tâches :
  • Revue de code des précédents développeurs et apport de corrections
  • Intégration dans une solution fonctionnelle
  • Rédaction de la documentation et création des packages
  • Client sous Windows, serveur sous Ubuntu Linux

02/2008 - 08/2008, Linagora, Maître de stage informatique système embarqué/temps-réel

Description :
Maître de stage (fin d'études) de Rémy Gottschalk : étude et conception sur le projet libre de paravirtualisation embarquée OKL4.
Principales tâches :
  • Supervision du stagiaire
  • Élaboration d'un plan d'action technique
  • Interaction avec la communauté OKL4

02/2008 - 05/2009, Linagora, Ingénieur informatique embarquée, GIE CB

Description :
Forfait pour le GIE Groupement des Cartes Bancaires CB, projet du proxy RSB, un noeud du nouveau réseau côté client, permettant le transit intelligent de flux de données nécessaires à la communication centralisée vers le GIE, afin de gérer les transferts monétaires inhérents au système CB.
Principales tâches :
  • Élaboration d’une distribution allégée basée sur openBSD parfaitement adaptée aux besoins spécifiques et à l’environnement embarqué (x86, flash), intégré à un système de firmware, gérant des mises à jour, une sécurité accrue, etc.
  • Développement de l'interface de commande adaptée (IOS-like), en C et shell (ksh)
  • Développement des scripts de gestion de la distribution
  • Nombreux patches d'adaptation de la distribution (syslog, ifstated, kernel, etc)
  • Intervention sur l’ensemble du projet, depuis les spécifications générales/fonctionnelles, techniques, la réalisation, les livraisons, les installations sur site et le support.

12/2007 - 01/2008, Linagora, Ingénieur informatique temps réel, Aldebaran

Description :
Mission courte pour Aldebaran (Paris)
Principales tâches :
  • Refonte du bus de stockage de données local sur le robot androïde Nao, afin de répondre à des contraintes temps-réel fortes (C++, Linux).

08/2007 – 10/2007, Elsys Design, Ingénieur R&D, Philips

Description :
Mission pour Philips (Suresnes), intégration et développement pour la télévision numérique (STB en démonstration, sous Linux, chip ST base sh4).
Principales tâches :
  • Développement du PVR
  • Intégration et amélioration de fonctionnalités (soft, config, bootloader, drivers, vidéoconférence, etc)
  • Corrections de bugs
  • Implémentation de nouvelles fonctionnalités (RFID)

03/2007 – 07/2007, Elsys Design, Ingénieur intégration logiciel embarqué, Sagem Communication

Description :
Mission pour Sagem Communication (Vélizy), spécification et intégration d'un système Linux embarqué complet, plus configurations et outils spécifiques, sur un module GPRS (MO300e, chip TI OMAP base ARM9)
Principales tâches :
  • Spécifications : design, base (OpenEmbedded), logiciel à embarquer, sécurité (ssh, ssl, gnupg, rsbac)
  • Intégration, création de firmwares
  • Développement des outils spécifiques pour la cible et les besoins
  • Développement d'une interface web d'administration (CGI)
  • Développement d'un SDK
  • Documentation complète

11/2006 – 03/2007, Elsys Design, Ingénieur développement, Alcatel-Lucent

Description :
Forfait pour Alcatel-Lucent, conception et codage de deux simulateurs de cartes de communication pour un projet de TNT mobile sous Linux (x86 et powerQUICC II).
Principales tâches :
  • Conception/spécifications
  • Codage intégral en C
  • Mise en place de protocoles de test
  • Codage d'un outil de sauvegarde/rechargement de configuration

07/2006 - 10/2006, Elsys Design, Ingénieur R&D, Trango Virtual Processors

Description :
Projet de R&D interne, portage et intégration en milieu paravirtualisé ARM9.
Principales tâches :
  • Portage du code et de l'environnement de compilation de la suite GNU (gcc) vers les suites ARM ADS/RVDS (armcc)
  • Portage/intégration de l'environnement graphique pour l'embarqué Maemo

01/2006 – 06/2006, Développeur et intégrateur, Thales Communications

Description :
Projet interne à Thales Communications (Colombes), équipe DLIP, portage complet d'un simulateur de poste radio depuis HP-UX vers Linux.
Principales tâches :
  • Adaptations du code pour Gnat, Linux, et l'architecture little endian
  • Intégration dans un système Linux adapté et reconfiguré pour les besoins spécifiques
  • Débuggage du code, re-spécification, étude des échanges interprocessus et réseaux

Formateur, conférencier, auteur

  • Enseignant en écoles d'ingénieurs (EPITA, INSIA)
  • Formateur Python, C système, Linux embarqué (CEA, Decaux, Amphitech)
  • Conférencier (Linux embarqué : voir mes conférences)
  • Auteur de l'ouvrage Linux embarqué : comprendre, développer, réussir (éd. Pearson, 12/11, 460pp.)

Compétences

Langages

  • C/C++ : développeur très expérimenté (compilateurs gcc et Realview armcc ; y compris réalisation de scripts de link et pragmas de compilation)
  • Python : langage très maîtrisé, plusieurs projets en production, formateur
  • Ada : programmation en informatique de défense sur plusieurs centaines de milliers de lignes de code ; principalement Ada 95 (2005 abordé ; migration depuis Ada 83 et briques Alsys)
  • Java, J2ME (Java 2 Micro Edition) : forte expérience
  • Caml/OCaml : langage de programmation de prédilection
  • Assembleur : sparc, x86, programmation sur microcontrôleurs PIC, et Arm9 sur GNU gcc/binutils et
  • Realview armcc/armasm (rvds)
  • Matlab, Mapple : bon niveau, réalisation de projets de traitement d’image et du son en matlab
  • scripts shell (sh, bash, zsh) ; expertise Python ; PHP ; quelques connaissances en Perl
  • xhtml/css2, javascript, Ajax/Dom, cgi (haserl, en langage script ash pour systèmes embarqués)
  • Turbo Pascal, Basic (Visual Basic 6, VB3)
  • LaTeX

systèmes

  • système Linux pour l’embarqué : OpenEmbedded (création d’une distribution complète et originale, ajout de paquets personnels, etc), OpenWRT ; bootloader u-boot (adaptation/ajouts, intégration)
  • systèmes UNIX : Linux (2.4.x & 2.6.x), *BSD, Solaris

Autres

  • Modélisation en UML (diagramme de classes, de séquence, etc), SART, et SADT
  • Connaissances en hardware poussées (informatique, électronique, architecture des microprocesseurs, bus, . . .)
  • Sécurité (programmation et OS)
  • Réseaux (protocoles, administration, réseaux locaux industriels, ...)
  • Base de données

Diplômes/Formation

  • juillet 2006 : Diplômé de l’EPITA (Ecole Pour l’Informatique et les Techniques Avancées), Paris, spécialisation GISTR (Génie Informatique des Systèmes Temps Réel)
  • 2001-2003 : classes préparatoires aux grandes écoles MPSI/MP, spécialité informatique (TIPE sur les algorithmes génétiques)
  • juin 2001 : Baccalauréat Scientifique mention Bien, Section Européenne (Anglais/Histoire), spécialité mathématiques, option Sciences Industrielles

Langues

  • Français : langue maternelle (15.5 au bac)
  • Anglais : écrit, lu et parlé couramment ; bac section européenne (Histoire), TOEIC obtenu à 925 points
  • Japonais : débutant (2 ans d’étude)
  • Espagnol : lu, compris (3 ans d’étude)
  • Allemand : en auto-apprentissage

Divers

Cf. page dédiée.