J'ai réalisé des missions de courtes durées en tant que Freelance pendant le lancement de Nirror:
- Un bot Node.js permettant de parcourir un ensemble de sites et de mettre à jour la base de don-
nées des prix sur le comparateur de prix ********.
(2 semaines)
- Une application web intranet de CRM en Grails pour le cabinet d'avocats STC Partners. L'accent était mis
vers la simplicité d'utilisation grâce à une recherche intelligente basée sur Elasticsearch.
(2 mois)
- Migration d'application et de base de données depuis un environnement Linux/Apache vers un en-
vironnement Windows Server/IIS pour le CIC des XV-XX.
(3 jours)
Développement de Nirror, plateforme de support client web en SaaS.
Entrepreneuriat
Nirror repose sur une technologie qui permet de reproduire visuellement les visites sur un site web.
Ces replays sont analysés par les webmasters aï¬Ân d'optimiser la conversion sur leurs pages. Le déï¬Â technique
est de taille car l'enregistrement d'une page web en JavaScript requière une connaissance approfondie du
fonctionnement des navigateurs. Ainsi, pour relever ce déï¬Â, j'ai :
- Analysé en profondeur le DOM et ses différentes implémentations selon les navigateurs.
- Etudié les nouvelles APIs HTML5 comme Mutation Observer et WebSocket et réimplémenté certaines de ces
fonctionnalités (shim) aï¬Ân d'assurer une compatibilité à 99% du marché.
- Mis en place un serveur proxy Node.js capable de streamer les resources et de les modiï¬Âer à la volée pour
que l'enregistrement puisse être joué depuis l'application en HTTPS.
- Testé l'outil en situation réel sur des centaines de sites (battle-testing) et pris en compte les "edge-cases".
Les challenges auxquels j'ai du faire face concernant la mise en place du service SaaS sont eux-
aussi nombreux :
- Réimplémenter un protocole distribué d'échange de messages et de présence avec Node.js, socket.io et
MongoDB. Exposer le service sous forme d'API REST et concevoir des applications de type single-page qui la
consomme.
Node.js
API REST
SPA
Bootstrap
require.js
Knockout
- Déployer et maintenir un cluster MongoDB recevant une forte charge en écriture (1000 écritures par seconde)
sur 14 serveurs.
MongoDB
MMS
AWS
Google Cloud
- Créer la suite d'outils DevOps permettant de redéployer l'application sans arrêt de service.
Capistrano
Load balancing Nginx
Juju
- Maintenir la suite de tests d'intégration continue.
Selenium
PhantomJS
- Créer une API d'authentiï¬Âcation OAuth2 pour que des applications tiers (modules wordpress et prestashop)
puissent accéder à l'API Nirror. Ajout d'une authentiï¬Âcation basé sur JWT pour intégrer le lecteur de visite
sur des sites tiers sans dévoiler sa clé d'API.
OAuth2
JWT
Module Prestashop
Module Wordpress
J'ai développé des outils d'acquisition que nous utilisons en interne (bots linkedin et twitter) et qui
ont été vendu à d'autres startups.
Bots
API Twitter
Je suis aussi responsable du site vitrine et des langing pages de Nirror.
Bootstrap 3
1/3
Developpement J2EE et intégration WebSphere. Expertise en systèmes de gestion de règles métiers (BRMS).
- Consultant en BRMS chez GDF SUEZ pendant 1 an au pôle pricing.
Développement et support
aux métiers sur l'outil WebSphere Operational Decision Management (anciennement ILOG JRules) pendant
les phases de développement, de test et de validation du nouveau service de pricing du gaz. Puis intervention
de 4 mois au sein de la DSI à Lyon comme expert BRMS pour la conï¬Âguration et la mise en production de
l'application. Apprentissage des méthodes agiles.
BRMS
JRules
J2EE
- Missions de courte durée pour les clients : Groupama, Hiscox, Technique Solaire.
JRules
Drools
Grails
- Fomations sur IBM Websphere Application Server 7, TIBCO Business Events, IBM WebSphere
Lombardi et Gigaspaces. Certiï¬Âcation IBM sur le produit WebSphere ILOG JRules 7
2011 Application de reconnaissance automatique de fleurs, Stage de ï¬Ân d'étude au NYP, Singapour.
Conception et implémentation d'une application web permettant la segmentation d'image, l'extraction
de caractéristiques et leur classiï¬Âcation automatique. Réalisation d'un client JavaScript ainsi que d'une
application native Android.
Django
Numpy, scypy, OpenCV, scikit-learn
Android: canvas, multi-touch
Applications et librairies open-source en Node.js, Projets Personnels.
Réalisation d'un framework MVC par dessus Express.js/socket.io, d'une application de chat distribuée, d'un
système de partage de ï¬Âchier instantanné (en streaming), d'un BBS temp-réel (chat + partage de ï¬Âchiers), de
middlewares Node.js et d'outils de DevOps.
JavaScript
Node.js
Git
GridFS
PubSub
2010-2011 Service d'alerte de radars routiers compatible avec une large gamme de systèmes mobiles,
Voxinfos.
Developpement d'une application mobile destinée aux particuliers s'abonnant au service. Client en Java
utilisant entre autres les fonctionalités de Push SMS, Bluetooth, localisation GPS et RMS.
J2ME CLDC/MIDP
2010 Projet de semestre, EPFL, Lausanne.
Technologies web émergentes et architectures linéairement scalables.
- Etude sur les nouvelles technologies permettant de réaliser des applications push distribuées.
- Analyse de la scalabilité de l'architecture Node.js + MongoDB après réalisation d'une application de chat
web distribué et de tests de charge.
Architectures distribuées
Server-side JavaScript
NoSQL Database
Synchronisation de la base de données médicale avec celle du progiciel Progeny puis prestations à distance.
JDBC-ODBC
SQL Anywhere
Administration de serveurs UNIX
Conception d'une application intranet de CRF électronique en PHP/MySQL
Gestion de projet
PHP/MySQL
2007 Conception de sites professionnels.
Centre Médical du Sommeil, Association ESIEESPACE.
PHP
Photoshop
Flash