Photo de Florent Viel

Florent Viel

Développeur Backend chez Wizaplace. J'habite à Lyon dans le Rhône. J'ai obtenu un DUT en Informatique en Juin 2010. Je suis passionné de nouvelles technologies. En veille permanente sur le web, je suis toujours à l'affut des nouveautés qui sortent dans le monde de la programmation, de l'infrastructure et de l'administration système.

Introduction

Nom

Florent Viel

Naissance

Avril 1989

Adresse

Lyon (69)

Mail

Contact

Expériences

Backend developer R&D

Wizaplace - Lyon (69)

Mars 2017 - Aujourd'hui

Je travaille chez Wizaplace, éditeur d'une solution de marketplace en SaaS sur les fonctionnalités backend/API et la gestion de l'infrastructure.

CTO - Directeur technique

Xotelia - Lyon (69)

Mai 2014 - Mars 2017

Je travaillais chez Xotelia, sur un gestionnaire de canaux de ente en SaaS pour les petits et moyens propriétaires. Je travaille aussi pour Bis-Electric, un magasin en ligne de vente de matériel électrique pour professionnels et particuliers, sur la refonte du site ainsi que la maintenance.

Mon travail est divisé en trois projets, un dashboard d'administration pour les clients, un logiciel de lecture de mail et d'extraction de données, et un logiciel de synchronisation de données sur différentes plateformes via des APIs.

La stack principale est développée en PHP. Nous utilisons MySQL et MongoDB comme backend de données, Redis pour le cache et RabbitMQ pour la gestion des queues. Les médias sont stockés dans le cloud Azure et servi au travers d'un CDN.

Plusieurs de nos outils interne (monitoring, déploiement) sont écrit en Go.

Lead Developer Symfony 2

Wanadev - Lyon (69)

Août 2011 - Avril 2014

J'étais développeur dans cette agence web lyonnaise de août 2011 à mai 2014. J'étais en charge du développement du site Kozikaza.com. J'étais en permanence en contact avec mes clients pour planifier et développer les nouvelles évolutions continuelles du site.

Je faisais aussi un peu de R&D et j'ai travaillé sur le projet open-source FiftySent. J'ai aussi contribué aux projets Open-Source que j'utilise pour mes développements. J'ai aussi mis au point un petit outil de contrôle des versions des dépendences d'un projet pour vérifier qu'elles soient bien à jour DependenSees.

J'utilisais solr comme moteur de recherche, rabbitmq comme protocole de messagerie et redis comme système de cache.

Je faisais beaucoup d'administration système pour Kozikaza, le site est hébergé chez un prestataire externe, mais je m'occupais de faire les mises en production régulières, de contrôler que le site tourne bien, de corriger les erreurs éventuelles.

Auto Entrepreneur

Florent Viel - Lyon (69)

Mars 2011 - Juillet 2011

J'ai eu l'opportunité de décrocher des contrats et j'ai donc décidé à l'époque de monter ma propre société. Voulant voir du neuf et travailler sur des projets de plus grandes envergures j'ai arrêté cette entreprise après 5 mois. Je développais des sites en python avec le framework Django et je faisais de l'intégration.

Compétences

Web

PHP

J'ai commencé avec le framework Symfony 1.4, depuis j'utilise principalement la version 2 de ce framework. Autant pour mes propres projets que pour les projets de mon travail. Je code uniquement en orienté objet, en utilisant principalement la composition. J'ai développé des API RESTful avec le microframework Silex, qui est basé sur les composants de Symfony. J'ai aussi transformé un framework maison en Symfony. Mes derniers projets Symfony sont basé sur les version 3.4 et 4.0.

HTML & CSS

L'intégration d'un design pour un site internet est dans mes cordes. Avec le respect des normes W3C, en utilisant les dernières fonctionnalités et je suis capable de faire un design adaptable aux mobiles et tablettes.

J'utilise dans beaucoup de projets le bootstrap twitter, qui permet d'avoir une bonne base pour structurer le CSS.

Pour gérer les dépendences frontent de mon projet j'utilise bower ainsi que grunt ou gulp pour le workflow de développement.

Javascript

Maitrise de jQuery et jQuery UI. Quelques compétences en javascript pur. J'aime bien comprendre comment faire les choses en javascript, tout en ne réinventant pas la roue et en utilisant assez souvent des plugins jquery. J'utilise React avec webpack pour développer des composants frontend.

CMS

Quelques compétences sur Wordpress. Je suis autodidacte sur Drupal.

Python

Développement d'un url-shortener en python avec le framework django disponible sur github.

Golang

Je suis plutôt novice dans ce langage, j'ai tout de même développé un worker qui s'occupe de générer les vignettes d'images qui sont postées sur le site Kozikaza. Je suis aussi en train de développer un système d'intégration continue qui exploite la puissance de docker. Pour cela j'utilise le microframework martini.

Développement d'une plateforme de routing de notifications basé sur un calendrier iCal. Pour celà j'ai implémenter un parser du format iCal basé sur la RFC 5545.

Développement d'une plateforme de déploiement continue basée sur l'API Deployment de GitHub et ansible.

Asynchrone

RabbitMq

J'ai utilisé ce système de messagerie asynchrone sur Kozikaza pour la gestion de l'envoi des mails et le redimensinnement d'image via un worker que j'ai écrit en golang. Actuellement je l'utilise dans un projet de lecture de mail et d'extraction de données, ainsi que dans un projet de synchronisation de données vers différentes plateforme.

Base de données

SQL

Je connais les principales bases de données avec des compétences sur MySQL et PostgreSQL. Je fais beaucoup d'administration de base de données pour le site Kozikaza, qui est un site qui grandit très rapidement et pour lequel il faut constamment adapter le modèle de données.

NoSQL

Utilisation de la base de données MongoDB. J'ai déployé un cluster en sharding comme backend principal pour un des projets de Xotelia.

Moteurs de recherche

Solr

J'ai mis en place Solr sur Kozikaza pour afficher les documents créés en base de données. Le système sert les documents demandés sur les pages du site tandis que la base de données sert de persistence.

Elasticsearch

Utilisation du moteur de recherche Elasticsearch dans la stack ELK pour la centralisation des logs. Tuning fin de la configuration du moteur suite a des problématiques de gros volumes (environ 1Go de logs par heure).

Systèmes d'exploitation

Linux

Maitrise des distributions basées sur Debian / Ubuntu, Archlinux et Fedora / RedHat. Je fais beaucoup d'administration système sur debian pour le site Kozikaza. J'utilise de plus en plus Docker pour déployer mes applications, tester mes développements, ou mettre en place un environnement de développement.

Cloud

Utilisation cloud Azure de Microsoft à Xotelia pour le stockage des images, des assets et de certaines données client. J'ai aussi un cluster ELK (Elasticsearch Logstash Kibana) pour centraliser et analyser les logs de production.

Utilisation des services AWS comme EC2, Route53, SES, S3, SQS et RDS pour la mise en production des clients chez Wizaplace.

Utilisation de Kubernetes managé chez Azure pour la mise en production de clients chez Wizaplace et pour notre tooling interne.

Développement en équipe

Intégration continue

J'utilise couramment Jenkins CI pour contrôler la qualité du code et exécuter des batteries de test sur différents environnements au sein de mon entreprise. Pour mes projets personnels j'utilise Travis CI. Jenkins me sert également à déployer automatiquement mes projets. Pour la mise en production de mes projets j'utilise Capifony.

J'ai développé un projet en Go qui permet de déployer un projet avec Ansible, lancé depuis un évènement de déploiement GitHub.

J'utilise aussi Terraform pour décrire l'infrastructure nécessaire pour un projet en code, la déployer et l'automatiser.

Gestion de projet

J'utilise Redmine pour la gestion de mes projets en entreprise. Pour mes projets personnels j’utilise soit le système d'issues de GitHub si le projet est open source, soit une installation personnelle de GitLab. J'utilise aussi beaucoup Trello pour la gestion de mes projets personnels ainsi que certains projets professionnels.

Formations

Solr

Antibes

J'ai participé a une formation sur le moteur de recherche Solr, basé sur Lucene. Au cours de cette formation, j'ai étudié le fonctionnement de ce moteur, les mécanismes d'indexation, de requêtes et d'analyse de texte.

DUT Informatique

Université Lyon 1

2010

Diplôme universitaire technologique en informatique option web. Formation générale en informatique (réseau, base de données, applicatif, web). J'ai touché a peu près à tous les domaines de l'informatique, le web, le réseau, l'embarqué, l'administration de base de données, l'applicatif, le système et l'administration de serveurs. En première année j'ai participé au développement d'un système de messagerie sécurisée avec échange de clés privées/publiques. En deuxième année j'ai développé un clone Open-Source du système de formulaire de Google.

Université d'Ecosse de l'ouest

2009

J'ai effectué un semestre en Erasmus dans une université d'Ecosse proche de Glasgow. Lors de ce semestre, j'ai étudié le XML, qui est un langage de structuration de données compréhensible par un ordinateur tout en restant lisible par un humain. J'ai aussi appris le XSLT, qui permet de transformer un document XML en document word, pdf, html, etc. J'ai aussi fait un module système d'exploitation ou j'ai appris le fonctionnement d'un noyau linux, la gestion interne de la mémoire d'un ordinateur, etc. Et le troisième module était orienté réseaux et plus précisément Cisco.