Menu

Christopher FAULET

Paris

En résumé

Passionné par le développement logiciel depuis près de 15 ans, j'apprécie tout particulièrement la programmation d'applications «backend» et réseaux. Initialement développeur C/C++, je développe aujourd'hui principalement en Erlang, langage fonctionnel que j'affectionne, entre autre, pour ses aspects distribué et concurrent. Je comprend la nécessité des tests unitaires et de la documentation et je m'efforce au quotidien d'utiliser des outils me permettant d'améliorer la qualité de mon travail (intégration continue, revue de code, profiling...).

Depuis plus de 2 ans je participe activement au développement du logiciel open-source Yaws, un serveur HTTP écrit en Erlang. Je suis sensible aux idées véhiculées par le développement open-source et je dois une grande partie des mes connaissances aux différentes communautés qui font vivre le logiciel libre.

Mes compétences :
JavaScript
C
Python
Erlang
Linux
FreeBSD
PHP
C++
Git
Yaws
Java
Perl
Debian
Ejabberd
Shell
RabbitMQ

Entreprises

  • Yakaz - Développeur Erlang/C++/C

    Paris 2010 - maintenant • Développements réalisés pour le site yakaz.com :
            ◦ Contribution active au projet Yaws (Serveur HTTP écrit en Erlang)
                    ▪ Commiteur officiel depuis février 2012 : Correction de plusieurs bugs & ajout de nombreuses fonctionnalités
            ◦ Modules Erlang pour Ejabberd : Présence géolocalisée, Stockage des contacts et des conversations dans Cassandra...
            ◦ Un milter Sendmail/Postfix en Erlang pure permettant de poster sur le site par mail
            ◦ Un driver PHP pour Yaws sous la forme d'un module SAPI
            ◦ Un serveur DNSBL écrit en Erlang et utilisé par notre solution de modération : Détection des open-proxy HTTP, SOCKS4/SOCKS5 et des utilisateurs du réseau Tor
            ◦ Divers applications Erlang
            ◦ Utilisation du logiciel d'intégration continue Buildbot
            ◦ Utilisation des principes OTP et des mécanismes de gestion de releases SASL : Supervision des applications & mise à jour de code à chaud
            ◦ Déploiement des applications sous forme de paquets Debian

    • Développements réalisés pour la plate-forme wonderpush.com:
            ◦ Réutilisation de nombreuses applications ainsi que des processus de déploiement utilisés pour le site yakaz.com
            ◦ Modules Erlang pour RabbitMQ :
                    ▪ Un scheduler de messages AMQP permettant de programmer la date de publication d'un message ainsi que sa répétition
                    ▪ Un consommateur de messages AMQP générique et modulaire
            ◦ Mise en place d'un cluster Redis
    • Réalisation en Erlang d'une solution de jeux (massivement) multi-joueurs realtime pour la plate-forme scoreflex.com
    • Réalisation d'un Proof of concept de plate-forme permettant l'utilisation d'applications mobiles déportées
            ◦ Basé sur le projet SPICE, un projet open-source utilisé pour visualiser et gérer à distance des systèmes d'exploitations
            ◦ Streaming video en H.264 et audio en Opus
            ◦ Développement d'un client Android et Chrome en C++
  • Meetic - Développeur Erlang/C++/C

    Paris 2006 - 2010 • Réalisation d'un middleware orienté message en Erlang dédié à l'injection SQL asynchrone dans des bases de données MySQL et Oracle
            ◦ Utilisation de la base GeoIP de MaxMind
    • Développement, en C, d'un serveur de géolocalisation◦
            ◦ Stockage des photos en MySQL
            ◦ Utilisation du protocole FastCGI pour servir les photos
            ◦ Utilisation de la bibliothèque de traitement d'image ImageMagick
    • Réalisation d'une solution distribuée de modération automatique en Erlang
            ◦ Mise en cache des données dans un cluster Mnesia
            ◦ Détection automatique des comportements suspects (analyse des flux de messages, géolocalisation et tracking de sessions)
            ◦ Moteur de règles configurable par interface Web
    • Développement de divers outils backend en Erlang s’interfaçant avec MySQL et Oracle
    • Développement d'un plugin MySQL pour la manipulation de texte unicode
    • Développement, en C, d'une extension PHP permettant la communication entre des
    processus PHP et des nœuds Erlang
    • Développement d’un driver Erlang pour Oracle au dessus de la bibliothèque OCI (Oracle Call Interface) d'Oracle.
  • Dolphian - Développeur C/C++ - Team Leader

    2003 - 2006 • Responsable de l'équipe en charge du développement des logiciels de filtrage mail.
            ◦ Encadrement technique d'une équipe de 4 personnes
            ◦ Mise en place d'une appliance de filtrage mail pour les entreprises
    • Développement en C d'un logiciel antispam à la SpamAssassin (Tests heuristiques par Regex, dnsbl, réseau bayésien...).
    • Développement, en C, d'un bridge antivirus pouvant utiliser plusieurs moteurs antivirus, dont ClamAV.
    • Développement d'un milter SMTP pour les serveur mail CriticalPath.
    • Développement, en C++, d'un proxy POP3/IMAP permettant la récupération et le filtrage de boîtes mail distantes.
  • Cable Wireless - Développeur

    Paris La Defense 2001 - 2003 • Développement et maintenance d'un intranet collaboratif en PHP/MySQL
    • Conception d'une application n-tiers de monitoring réseaux (JAVA, SOAP, Webservices)

Formations

Réseau

Annuaire des membres :