Loading...

Vincent Dufrasnes

Scrum Master

Developpeur

Je suis .

A propos de moi

Un développeur ? un SCRUM Master ? Oui, mais pas que.
Passionné d'informatique, j'ai eu la chance de découvrir un univers dans lequel je peux changer le monde. Je suis un co-équipier toujours la pour aider les autres, réflechir ensemble, accompagner si besoin.
Pour moi, donner a quelqu'un l'opportunité d'être meilleur dans ce qu'il fait, ou ce qu'il est, sera toujours une priorité.
Je sais rassembler des personnes pour en former une équipe saine, performante et accueillante.

Node.js


Node.js

J'ai commencé le Node.js en 3ème année d'informatique, avec le projet Ziczag. Le choix de cette technologie était à l'époque principalement de l'ordre de la curiosité. Aujourd'hui avec InnovOrder, mes compétences en Node.js se sont grandement amélioré et je suis entièrement capable de mettre en place un serveur l'utilisant. Mes premières tâches chez InnovOrder utilisant Node.js était la mise en place de serveurs pour gérer la première version des modules de commandes.

A cette époque, la plupart des fonctions utilisaient les callbacks, ensuite nous avons décidé de faire une API en Node.js. La règle principal du CTO d'InnovOrder a été de pas utiliser de callback, j'ai dû donc apprendre à utiliser les promesses et les coroutines, le développement de micro-services et l'implémentation de plusieurs patterns. J'essaye toujours d'expérimenter de nouveaux projets sur Node.js, tel que le tchat sécurisé en RSA.

Angular.js


Angular.js

J'ai découvert Angular.js lors de mon alternance chez InnovOrder, lorsque nous avons dû faire un choix pour la partie front des produits. Mes premiers projets utilisaient principalement les controllers, ainsi que quelques directives venu d'internet.

J'ai ensuite découvert le routing ainsi que la réelle utilité des directives, la création de services et de factories, l'utilisation des view models au lieu du scope. Aujourd'hui, je suis capable de coder des directives tel que la gestion d'inputs, leur validation et l'affichage de leurs erreurs, des factories tel que la gestion d'une session utilisateur sur le module de commande, des services tel que le service d'authentification oauth2 utilisé sur nos produits, des components (une version améliorée des directives, avec quelques subtilités différentes), des filtres...etc.

MYSQL


MYSQL

Mes premiers cours sur MYSQL était en première année d'informatique, n'utilisant que des tables simples et des requêtes simples. Ce n'est que face aux problèmatiques d'InnovOrder que j'ai enfin découvert la réelle puissance de MYSQL.

J'ai dû établir par moi-même une multitude de tables comprenant des triples jointures, nécessitant des indexes précis, ainsi que des requetes complexes comme savoir si un point géographique donné est situé dans une zone précise en utilisant la latitude et longitude, des vues afin d'afficher les statistiques des commandes. Je suis également capable de gérer les utilisateurs et les groupes sur MYSQL.

HTML5/CSS3


HTML5/CSS3

L'utilisation d'HTML a été obligatoire sur la plupart de mes projets informatiques, j'ai commencé par des structures de HTML et CSS faciles. Aujourd'hui, je suis capable d'organiser des pages HTML facilement, intégrer des animations CSS, et l'utilisation de SCSS afin d'intégrer des variables à la compilation du CSS. J'ai participé à la création du kit InnovOrder, afin de remplacer et se passer d'Angular Material.

AGILE

Je suis très attaché aux méthodes agiles et je suis à l'aise dans une équipe utilisant celles-ci.

TRAVAIL EN EQUIPE

J'essaie toujours de travailler en équipe quelque soit la situation.

AUTONOMIE

Je suis capable de prendre en main une nouvelle technologie par moi même rapidement.

ENTREPRENEUR

Je suis toujours à l'affût de nouveaux projets afin d'occuper mon temps libre et m'épanouir.

Experiences

Projets

Spam Stalker

Projets scolaires

Spam Stalker

SpamStalker est un projet de semestre 3 en C# qui met en place un proxy pour serveur de mail permettant de filtrer les spams. Il permet aussi bien de gérer une blacklist qu’une whitelist de mails. La fonctionnalité qui le démarque des autres anti-spams est sa capacité à ralentir les spammeurs en receptionnant les mails très lentement de manière à ce que le processus d’envoi de mail ne prenne pas une demi seconde mais plutot une demi heure.

Durant ce projet, j’ai rempli la fonction de chef de projet. Nous avons dû prendre en main le protocole de discussion de mail SMTP et mettre en place notre propre protocole afin de pouvoir gérer directement depuis la boite mail notre anti-spam.

Voir la page GitHub

INNOVORDER API

Projets professionels

INNOVORDER API

Durant mon alternance chez InnovOrder, j'ai participé à la mise en place de l'API. Cette API est le coeur du système, son rôle est de gérer toutes les informations, les commandes, les clients, les caisses, les bornes, les terminaux de paiement pour les franchises et les restaurants. Son architecture devait donc être capable de supporter toutes ces informations afin de fournir aux 5 types de produits différents (borne, caisse, backoffice, module de commande, reception des commandes) toutes les informations nécessaires et leur permettre d'éffectuer les bonnes actions en conséquent. L'API est donc entièrement stateless afin de pouvoir être dupliquée rapidement, et de manière infinie.

Afin d'éviter de bloquer le thread principal, nous avons décidé d'utiliser un système de micro-services pour toutes les actions prenant du temps et pouvant ralentir l'API. Il y a donc aujourd'hui un systeme de queue permettant de communiquer des tâches à effectuer, que les micro-services récupèrent. J'ai beaucoup participé à la mise en place de cette architecture, notament avec le service de mailing, ainsi qu'un service de build CSS.

Une autre partie de mon travail a consisté à faire un système de modules activables, afin de pouvoir gérer pour chaque restaurant et chaque franchise les produits activés, ainsi que les features à activer sur ceux-ci. Il est donc aujourd'hui assez facile de rajouter un nouveau produit (application mobile par exemple) ou de nouvelles fonctionnalités à notre base de code. Une autre utilité reste la possibilité de désactiver un produit ou une feature en cas de bug critique, évitant ainsi des désagréments.

Enfin, la troisième grosse partie de mon travail a été la mise en place, et l'amélioration de la base de données MYSQL, avec aujourd'hui 64 tables, ainsi que des triples tables de jointures pour les modules. J'ai eu donc une phase de réflexion importante notament par rapport à l'optimisation de la base de données (indexes, vues...), mais aussi quant à l'utilisation de l'ORM, facilitant parfois le travail, mais source de nombreux maux de tête.

Aujourd'hui l'API c'est des centaines de commandes par jour, plus de 300 restaurants et 15 000 utilisateurs, 40 000€ qui transitent chaque semaine.

INNOVORDER FRONTEND

Projets professionels

INNOVORDER FRONTEND

Durant mon alternance chez INNOVORDER, j'ai participé à la mise en place des produits frontend en Javascript/Angular. Chaque produit partage la même source de code, le core, contenant toutes les fonctions, constructeurs, services et factories permettant au bon fonctionnement des applications. Ainsi, la borne de commande, le module de commande, et dans un futur proche, l'application mobile, utilisent tous le même code pour charger les menus de restaurants, passer des commandes, s'authentifier...etc. Le coeur InnovOrder, ou core, est le point clé de tous les produits, et toute la logique des nouvelles features est obligatoirement placé dans celui-ci. Il y a ensuite au niveau de chaque produit une sélection, qui se fait au niveau du build, des parties du coeurs qui sont chargés (on ne veut pas retrouver du code utile au dashboard sur le module de commande).

Mon travail a été principalement sur le backoffice InnovOrder, où j'ai participé à la structure et le développement de toute l'application. Pour cela nous avons utilisé le système de routing angular afin de séparer logiquement l'application. Le backoffice est le point clé pour l'édition des restaurants, des franchises, la gestion des utilisateurs et des commandes.

J'ai également participé au développement de la commande en ligne, basé sur la même structure que le backoffice, principalement sur la finalisation de la commande. Mon travail a consisté à l'enregistrement des cartes bleues, la validation des informations avant validation de la commande, l'enregistrement d'une adresse...

Aujourd'hui le backoffice permet à tous les restaurateurs de voir en temps réel les statistiques de leurs restaurants (commandes, chiffre d'affaire...), et aux administrateurs Innovorder de gérer à distance tous les produits chez les clients.

Simple Secured Chat

Projets personnels

Simple Secured Chat

Projet personnel en Node.js de serveur de chat securisé en RSA encrypté. Le principe est de permettre à une multitude de personnes de discuter sur une chat room en utilisant chacun sa propre clé RSA. J'ai également codé un client node.js permettant d'utiliser ce serveur.
Le projet est en cours de refactoring, pour un passage d'un systeme de promesse vers un systeme de coroutine. Un client web est également en cours de développement.
Ma problèmatique principal était de faire un système permettant à plusieurs utilisateurs de discuter de manière sécurisée.
Par soucis légal, la France n'acceptant pas d'encryptage superieur à 128 bits, je ne suis pas en mesure de rendre ce système disponible sur mon serveur sans quelques changements (le serveur utilise une clé RSA 512 bits). Le serveur change de clé RSA toute les 5 secondes, j'ai également mis en place un système de rooms et d'administrateurs, ainsi que des mots de passe pour les rooms.
Voir la page GitHub

ZicZag

Projets scolaires

ZicZag

ZicZag est un projet de semestre 4 et 5 en Javascript et Node.js. Son objectif est simple : génerer une playlist pour un événement à partir des chansons préférés des participants. Pour cela, nous utilisons un algorithme qui nous permet de choisir les meilleurs chansons, que ce soit sur la dansabilité, l'energie, le genre ou l'artiste, nous saurons vous créer la playlist qu'il vous faut.
L'algorithme est modulable et vous permet de changer, tout au long de l'evenement, les critères de choix. Si vous souhaitez que le reste de votre soirée se passe sur un thème de Jazz, aucun soucis, demandez-le ! ZicZag est aussi capable de proposer de nouvelles chansons en fonction de leurs compatibilités avec l'événement en cours, ainsi que leur popularité.

Etant chef de projet durant les deux semestres, j'ai dû travailler énormément avec le client afin que l'équipe satisfasse au mieux sa vision du produit. J'ai également mis en place l'authentification oauth 2 ainsi que la connexion à l'API REST Echonest.

Escape it

Projets personnels

Escape it

Projet personnel en Angular.js de génération de labyrinthe parfait. J'ai utilisé la librairie Phaser.io afin de créer un jeu utilisant cet algorithme. Actuellement toujours en developpement afin de migrer l'algorithme coté serveur et faire un mode multi-joueur.

Voir la page GitHub
Essayez-le Version Unity

Itipac

Projets scolaires

Itipac

Itipac est un projet de semestre 1 développé en C. La base du jeu est inspiré du principe de Pacman inversé : les joueurs incarnent des fantomes et doivent échapper au pacman. Une intelligence artificielle a été mise en place pour le pacman ainsi qu'un systeme permettant de jouer à plusieurs en temps réel. La technologie CGI a été utilisée pour ce projet.

Ce projet a été mon premier projet informatique, j'ai découvert le langage C, ainsi que les signatures de fonctions et mes premiers pas vers une pseudo intelligence artificielle.

Mes Voyages

Dallas, Texas

2006-2009

Expatriation de 3 ans à Dallas,TEXAS USA, en école française. Durant cette expatriation, j'ai eu le plaisir de visiter une grande partie des états et perfectionner mon anglais.
Aujourd'hui, je suis parfaitement capable d'entretenir une discussion en anglais.

Pérou

Été 2010

Trek de 2 semaines à travers tout le Pérou, voyage à pied, en raft et en bus.
Monté du Machu Picchu ainsi que du Huayna Picchu, et nuit chez l'habitant sur le lac Titicaca.

Thailande

Été 2011

Voyage de 2 semaines en catamaran sur les eaux turquoises de la Thailande.
Visite de nombreuses îles et plages dans un environnement paradisiaque.

Contact

  • +33 6 61 84 94 84

  • dufrasnes@intechinfo.fr