Hello, hola, 你好, bonjour !

Besoin d'un voilier ou d'un porte-avion ? Je suis à votre service !

A propos

Vétéran de l'informatique (commencé à 10 ans sur MO5 et j'en ai 44 !), j'ai eu la chance de pouvoir évoluer sur de nombreux postes au cours de ma carrière (20 années), voir et participer à l'évolution du Web (depuis Netscape avec Worldnet et mon modem 28K !) et je souhaite désormais mettre cette expérience à votre service.

Je peux intervenir à peu près à tous les niveaux d'un projet, dans une multitude de langages de programmation, sur diverses plateformes et architectures, mais ce qui m'interesse le plus est ce dont vous avez besoin afin d'y répondre le plus simplement et rapidement possible.

Je pourrais certainement en écrire davantage, mais je vous invite à regarder mon travail qui parlera mieux de moi que je ne saurais le faire !

Design technique
Gestion de Projet
Développement (web, mobile, applicatif)
Réseaux et Cloud
Intégration Continue
c'est moi

Services

Conseil

20 ans d'expérience à votre service, en process qualité selon le modèle CMMI.

Je vous aide à passer au Digital Learning avec les LMS les plus performants du marché, le nouveau standard xAPI (successeur de SCORM) et comprendre les enjeux des LRS (plateformes de stockage, d'échange et d'analyse des données de formation).

Développement

En mode agile, je travaille en toute autonomie ou avec vos équipes. De façon non exhaustive, je code en C#, C++, PHP, Java et Javascript (Vue, React, Node, etc.).

Si vous avez d'anciens logiciels que vous souhaiteriez proposer en full web, je suis l'auteur de Myrtille, une solution open source de virtualisation d'applications et de postes de travail au standard HTML5.

Sécurité

Je réalise des tests d'intrusion (en black ou white box), de l'analyse de code et de flux et vous aide à améliorer la sécurité de vos infrastructures et applications.

Vous pourriez également être intéressé par une authentification multi-facteurs de vos utilisateurs, des stratégies de sécurité Active Directory et le cryptage de vos communications et données.


Vous voulez en savoir plus ou juste discuter de quelque chose ?

Contactez moi

Ce que les autres
disent de moi

20
Ans d'expérience
9
Entreprises
8000
Cafés
400000
Lignes de code

Mon travail

Voici quelques unes de mes réalisations, classées par secteur d'activité.

×

Orange Learning

Formations en ligne des salariés du groupe Orange

En 2016 et 2017, j'ai été chargé par Orange d'apporter mon expertise dans le cadre de la migration de leurs anciens LMS (MOS Chorus, Skillsoft, Saba, etc.), accumulés au fil du temps et des différentes entités/divisions du groupe, vers un nouvel LMS centralisé et davantage adapté aux besoins d'identification et d'amélioration des compétences internes.

C'est ainsi que j'ai participé au programme "Orange Learning", dont l'ambition est à terme la formation (ou la reconversion) des 150000+ salariés du groupe. Le nouvel LMS est "Cornerstone on Demand" (CSOD), un des leaders mondial du e-learning avec une plateforme en marque blanche et en mode SaaS.

Avec une grande autonomie (responsable de projet surchargé), mon rôle a été de :

  • Identifier les données à extraire des anciens LMS (profils utilisateurs, historiques de formations, certifications, etc.)
  • Adapter ces données au format Cornerstone (transcripts)
  • Superviser les équipes techniques Orange chargées de déprovisionner les anciens systèmes
  • Coordonner les équipes techniques Cornerstone pour l'injection des données dans le nouveau système
  • Mettre à jour ou créer de nouveaux tableaux de bord (utilisateurs, connexions, temps passé, etc.)

La majeure partie de mon travail était un soutien à la gestion de projet face à une montée en charge de travail importante. L'environnement technique était varié: Windows Server 2012 (IIS, .NET, SQL Server) et Red Hat (Linux, Apache, MySQL, PHP). Les serveurs étaient virtualisés (Hyper-V, VMware) avec un accès par rebond via Citrix.

J'ai eu l'occasion d'utiliser une large palette d'outils allant de Git (versioning), WinSCP (SFTP), PuTTY (SSH), SQLYog (SQL), Zend (PHP), Talend (Java) comme ETL (cloud/big data) et quelques scripts Korn Shell (RHEL) et Powershell (Windows) à créer ou faire évoluer (crontab, suivi d'execution, rapport d'erreur, etc.).

Ce projet transverse était intéressant. Moins intéressant, l'inertie d'un grand groupe et la difficulté de savoir qui fait quoi !

Un process qualité rigoureux était en place, avec notamment une traçabilité de la chaîne décisionelle, un suivi permanent des processus métiers (à des fins d'amélioration) et la recherche de la meilleure expérience utilisateur possible.

La sécurité était omniprésente, ce qui est une bonne chose. Toute opération sur l'infrastructure réseau (ouverture de port, installation d'un certificat SSL sur un reverse proxy, etc.) devait être dûment qualifiée avant d'être soumise à validation.

Concernant l'organisation, il y avait beaucoup de conf calls avec un planning/répartition des tâches suivant une méthodologie agile (Scrum, Kanban) avec Atlassian Jira (pour les user story, sprint planning, backlog, etc.).

Visitez le site web

Schneider Electric

Reliability Centered Maintenance

Entre 2013 et 2015, j'ai participé à l'élaboration d'un prototype (PoC), avec pour objectif le remplacement d'anciens systèmes de supervision d'équipements électrotechniques (IEDs, substations, etc.), en utilisant les dernières technologies dans le domaine mobile et web.

Avec une équipe de 7 personnes, en mode agile (Scrum), j'étais en charge du backend autour de services REST (sous Azure), sur des technologies .NET/MVC/C# et des "Application Blocks" de type Microsoft Enterprise Library (Entity (ORM), Unity (IoC), PostSharp (AoP), etc.), une base de données SQL Server, une sérialisation JSON (frontend AngularJS), des flux de news (RSS), des tests unitaires (nUnit), le tout sous Intégration Continue (Jenkins, Team City, Subversion (SVN), Powershell, etc.).

J'ai ensuite travaillé sur l'acquisition des données (protocole IEC 61850, ComX, etc.), leur échantillonage (Historian OPC HDA) ainsi que le versioning des configurations (Alfresco).

Puis j'ai eu à m'occuper de la partie sécurité, en mettant en place notamment un accès SSO sur les différents frontaux (oAuth, SAML, etc.), le cryptage des canaux de communications (SSL) et effectuer ou superviser des tests de pénétration ("pen tests") sur les différents composants de l'architecture.

Par bien des aspects, cette mission m'a rappelé celle chez Si Automation (en 2004 et 2005), alors que l'objectif de Schneider Electric était en outre de proposer une optimisation des coûts, grâce à la RCM (Reliability Centered Maintenance), maintenance prédictive des équipements basée sur des algorithmes de vieillissement propriétaires.

Visitez le site web

Myrtille

Solution d'accès distant HTML5 en Open Source

Après 3 ans d'efforts avec des amis (et anciens collègues de travail) sur notre temps libre, j'ai co-fondé en 2011 Steemind, une startup dont l'objectif était de fournir un accès à distance à toute application ou poste de travail via un simple navigateur web, sans aucun plugin (HTML5 uniquement !) et de manière transparente pour l'utilisateur final.

L'idée était de rendre "Web Ready" des applications traditionnelles non prévues à la base pour cet usage, que ce soit pour des raisons techniques, de moyens ou simplement pour avoir manqué la transition internet. Notre modèle était en SaaS et marque blanche et permettait aux éditeurs non seulement de proposer leurs applications en full web mais aussi à la demande (avec contrôle d'accès, tableaux de bord, facturation, etc.). L'hébergement pouvait être local (on-premise), cloud (Azure, AWS, etc.) ou hybride (applications en cloud mais stockage de données local).

L'aventure aura duré 2 ans. Malgré notre avance technologique, notre positionnement sur le marché et une levée de fonds, nous avons finalement été rattrapé par de grands noms (Citrix et VMWare, entre autres) contre lesquels la lutte était difficile. Mais tout cela aura été une expérience très enrichissante, tant sur le plan humain que professionnel !

En 2016, j'ai pensé que c'était dommage de jeter tout ce travail et décidé de passer le coeur de la technologie en Open Source. Nous avions aussi un frontal web ainsi qu'un site d'admin assez avancés (complètement dynamiques, avec framework Ajax personnalisé et notifications de mises à jour issues de la base de données pour l'actualisation des composants de l'affichage), ainsi qu'un backend SQL Server également poussé (avant que le framework Entity ne soit disponible, nous avions l'équivalent de fonctionnalités: cache, notifications MSMQ pour l'invalidation du cache, objets métiers C# sérialisés/désérialisés à partir de la base, etc.), mais celà représentait peu d'intérêt et je voulais me recentrer sur l'essentiel.

Aujourd'hui, Myrtille est une solution aboutie et utilisée par un grand nombre de personnes et d'organisations à travers le monde. C'est une solution comparable à Apache Guacamole (développé en Java sous Linux) et une alternative à RDWeb (fourni par Microsoft et fonctionalité du rôle RDS) pour tous ceux qui ne veulent pas être limités à Internet Explorer (Edge) à cause de l'utilisation d'un composant ActiveX.

Myrtille est écrit en JavaScript, C# et C++ et utilise les protocoles RDP et SSH.

Visitez le site web Téléchargez la dernière version

Genapi

Logiciel de gestion d'étude notariale

En 2010 et 2011, juste avant de créer Steemind (ma startup), j'étais en poste chez Genapi (groupe Septeo), leader dans le secteur notarial et juridique en France.

En mode agile Scrum/XP (sprints assez courts, 1 à 2 semaines en moyenne) et au sein d'une équipe R&D de 40 personnes, j'étais développeur sur iNot - suite logicielle hybride client lourd/web dédiée aux notaires - dans un 1er temps puis architecte technique par la suite.

L'environnement était variable selon les projets, iNot utilisant principalement .NET/C# (WPF, WCF, Spring.NET, TFS, etc.) mais également Silverlight et Sharepoint. Une des difficultés d'iNot, mais aussi un point d'intérêt, était que certains processus s'executaient localement (ex: rédaction d'actes avec l'ActiveX de Microsoft Word, conversion de scans au format TIFF en PDF avec ajout de QRCode, signature electronique via réseau sécurisé, support de lecteur de carte à puce, système de fichiers SAN, etc.) alors que d'autres étaient en mode web (IIS, webservices SOAP, webmethods AJAX, etc.), et il fallait les synchroniser.

Un autre point d'intérêt était que la base de données (SQL Server) était non seulement capable de stocker des données (jusque là, ça va...) mais également de définir des objets métiers, désérialisés en C#, permettant ainsi de personnaliser le logiciel à chaque étude et de le faire évoluer sans redéploiement du code binaire. Cette approche "Data Driven" est désormais assez répandue et facile à appréhender avec le framework Entity (C#) ou Hibernate (Java).

Visitez le site web

Aduno RichMeeting 2

Portail web de téléconférence

Entre 2005 et 2008, j'ai participé à la refonte du service de téléconférence Rich Meeting de la société Aduno (à l'époque, concurrent des sociétés Arkadin et Genesys Conferencing) en tant que développeur puis chef de projet.

Le service proposé était assez novateur car il permettait de partager des documents en ligne lors de la conférence audioweb, avec des fonctionnalités plus classiques comme le tranfert du statut d'organisateur, la mise en silence d'un participant, l'enregistrement de la conférence, etc.

La technologie était également novatrice puisqu'elle s'affranchissait de la nécessité de tout plugin dans le navigateur (ActiveX, Flash, Java, etc.), en surfant sur la vague du Web 2.0 dynamique avec un framework AJAX personnalisé. C'est d'ailleurs autour de cette technologie que j'ai fait mes armes pour ce qui allait devenir par la suite Steemind puis Myrtille.

Le développement était principalement réalisé sous Visual Studio (IIS/.NET/C#), webservices SOAP (dans un 1er temps puis Remoting, sur lequel se base WCF, par la suite), base de données SQL Server, modules bas niveau en C pour l'acquisition des données téléphoniques (T2, PBX, Centrex) et une équipe de 5 personnes.

L'ambiance était stimulante, de type startup, avec beaucoup d'échange, de créativité et une méthodologie agile de type Extreme Programming (XP). La société a malheureusement cessé son activité en 2012, sur un marché très concurentiel.

Communiqué de presse

Si Automation

Fault Detection and Classification

En 2004 et 2005, j'étais développeur R&D chez Si Automation, société spécialisée dans le secteur des semiconducteurs (acquise en 2006 par PDF Solutions, USA). Je travaillais sur la suite logicielle "Maestria", avec pour objectif le contrôle en temps-réel du bon fonctionnement d'équipements et de processus de production de composants électroniques.

Parmi les clients, de grands noms de l'industrie tel que STMicroelectronics, avec des "fabs" en France et à Taiwan.

Dans le respect de la certification de qualité ISO 9001, j'étais également responsable de la gestion des documents relatifs à mes développements, depuis l'étude des besoins, la définition des objectifs, la gestion des ressources, l'analyse des risques ainsi que la rédaction et le déroulement de scénarios de tests (manuels et automatisés).

L'environnement technique était basé sur les technologies Delphi, RAD Studio (UML), Visual C++, Linux, Apache, MySQL, PHP ("LAMP"), Subversion et Bugzilla. Les processus étaient assez complexes, tant sur le fond (stratégies FDC s'adressant à des ingénieurs process) que sur la forme (norme de qualité ISO 9001 et supervision de certains développements en outsourcing).

L'expérience était intéressante, avec une forte implication personnelle (nous étions peu nombreux en R&D pour un tel projet, une 15aine de personnes), et rejoint celle de Schneider Electric entre 2013 et 2015.

Visitez le site web

SSII Inscape

Suivi de projets et salle des marchés

Entre 2000 et 2003, j'étais à Paris pendant la période faste de la bulle internet. Au travers de la SSII Inscape et en mode régie, j'ai d'abord travaillé pour BNP-Paribas (en 2000 et 2001), dans le quartier Opéra, pour mettre en place un système de suivi et de contrôle des projets internes. Les objectifs principaux étaient d'identifier les doublons (dans le cadre de la fusion BNP-Paribas qui était en cours), établir des plans d'action et leurs mises en oeuvre (objectifs, budgets, ressources, délais, etc.).

Sur des technologies Delphi, Oracle et Lotus Notes, j'ai travaillé en binôme sous la responsabilité d'un expert de la programmation objet, avec lequel j'ai beaucoup appris en la matière. En contrepartie de son exigence de rigueur, et parce-que le travail doit aussi inclure des moments de plaisir et de partage, je me rappelle avec nostalgie les parties de Quake III que nous faisions au bureau sur notre pause déjeuner, avec un panini sur le clavier.

Nous participions aussi aux comités MOA/MOE entre BNP et Paribas, à la défense. Pour faciliter les déploiements, nous avions mis en place un système de mise à jour automatique du client et de la base de données (packages PL/SQL).


A la suite de cette mission, j'ai travaillé pour la Caisse des Dépôts et Consignations (entre 2001 et 2003), près du musée d'Orsay, dans le département salle des marchés (CDC Ixis Capital Markets, intégrée en 2004 au groupe Caisse d'Epargne puis Natixis en 2006) sur des portails intranet dédiés aux traders (Treasury, Swaps, CDOs, Bonds, etc).

C'est là que j'ai fait mes 1ères armes dans le développement web. J'avais déjà de bonnes notions en la matière, HTML et Javascript, mais j'ai également fait connaissance avec ce qui allait devenir des incontournables, à savoir XML (base de données "à plat") et XSLT (transformation des données pour affichage UI).

Je développais sous Visual InterDev en ASP (Active Server Pages) ainsi qu'en Java (applets/servlets) et même Visual Basic. Le backend était sous Solaris, avec interface CORBA (Orbix) pour les passages d'ordre en bourse et une base de données Sybase.

Les flux de données temps-réel, notamment utilisés pour les cotations, étaient basés sur un bus de données TIBCO sur lequel il suffisait de s'abonner pour obtenir les dernières valeurs (pattern publisher/subscriber).

Visitez le site web

Genie Telecom

Logiciel de gestion d'accueil téléphonique

Entre 1996 et 1999, j'ai été chargé de développer la nouvelle version de Genigreet, un logiciel de gestion d'accueil téléphonique axé sur la satisfaction client. Entre autres, le logiciel présentait des statistiques assez précises (tableaux et graphiques) pour identifier les points d'amélioration possibles de l'accueil.

J'ai dû me familiariser avec le fonctionnement et la supervision d'autocoms et PBX (Nortel, Alcatel, Cisco, etc.) puis créer ou modifier des modules d'acquisition de tickets téléphoniques "au fil de l'eau", au travers de systèmes de stockage et bufferisation spécifiques (type Western Telematic PollCat).

Une de mes 1ères actions fût de créer un planificateur de tâches plus évolué que celui de Windows. Il fallait en effet pouvoir gérer l'enchainement de certaines tâches (l'une se terminant entrainait l'execution de la suivante, dans une séquence définie), des déclencheurs personnalisés (réception de données sur port COM, présence d'un fichier, etc.) et un contrôle précis (ms) avec des rapports d'execution détaillés (utilisation ram, cpu, codes de retour, etc.). Il fallait également pouvoir gérer la récurrence de ces tâches (itération en cas d'erreur, programmation journalière, hebdomadaire, etc.).

Delphi (Pascal) était le principal langage de programmation, avec FoxPro (SQL) pour les bases de données et Symantec pcAnywhere pour la prise de contrôle à distance. Le protocole ZModem était encore largement utilisé (je me souviens du "chant" du modem !) avant que TCP/IP ne s'impose, avec notamment le protocole SNMP pour la gestion des alarmes.

Cette période était assez exaltante, non seulement parce-qu'il s'agissait de ma 1ère expérience et que j'avais 22 ans de moins, mais aussi parce-qu'Internet en était à ses débuts (Google n'existait même pas !). La société n'existe plus aujourd'hui, mais j'ai pu retrouver un article de presse (paru en 2002 dans La Dépêche).

Article de presse

Contactez moi