Votre navigateur est obsolète !

Pour une expériencenet et une sécurité optimale, mettez à jour votre navigateur. Mettre à jour maintenant

×

Johan Leche

Lead developper Full Stack

Full Stack
Back-end / Scalabillity
conception / architecture
Nodejs
elasticsearch
Johan Leche
42 ans
Permis de conduire
Lyon / Paris (38310) France
Situation professionnelle
Freelance
En recherche active
Présentation
Bonjour,

Plus de 20 ans d'expérience dans les métiers du web, ça commence à faire n'est ce pas ? :)

Ces dernières années j'ai principalement travaillé sur des projets courts Front End (React / Gatsby) ainsi que sur des projets plus conséquents sur du Back End à très forte montée en charge.

j'ai acquis de très bonnes connaissances sur la conception de plateformes permettant un scaling horizontal et des montées en traffic atteignant plusieurs millions d'utilisateurs quotidiens.

Je passe sur le sérieux, la rigueur et les efforts continus pour que le code / les features soient élégants, bien conçus, testés et pérennes - ce sont des choses qui devraient être "standard"

Pour terminer, je suis un éternel curieux et n'hésite pas à me remettre en question, y compris dans mes domaines de prédilection - tout bouge tellement vite !
CV réalisé sur DoYouBuzz
  • Squad lead
    Veiller à la bonne organisation du travail de la squad (2 devs BackEnd, 2 devs FrontEnd, 1 PO, 1 UI Designer)
    Garant des bonnes pratiques
    Respect et organisation des rituels liés à SCRUM
  • Développeur BackEnd

    Développement Ruby sur monolith Ruby on Rails ainsi que sur microservices en Ruby "vanilla"

    Large utilisation de CircleCI, Docker, Kubernetes

Bocuse d'Or

GL-Events
Septembre 2019 à novembre 2019
  • Développement d'une plateforme Vidéo Live / VOD dans le but de diffuser les événements liés au Bocuse d'Or
  • FrontEnd
    • ReactJS + Gatsby
    • Netlify
  • BackEnd
    • NodeJS
    • Express
    • MariaDB
    • FFMPEG
  • BackOffice
    • React
    • Redux
    • formik
    • Hooks

Technical Lead

Ezeeworld
Octobre 2016 à 2019
Neuilly sur Seine
France
  • Encadrement des équipes de développement produit et services
  • Définition de process de suivi de développement
  • Reporting de l'activité au top management
  • Specifications fonctionnelles et techniques de chaque feature / projet
En savoir +

Lead Developper Full Stack

Ezeeworld
Depuis juillet 2015
CDI
Neuilly-sur-Seine
France
  • Développement FrontEnd
    • Mise en place d'un BackOffice à l'aide de React - intégration depuis Zeppelin / Sketch
  • Redéfinition de la plateforme existante
    • Context de départ : un MVP constitué d'une API REST et de deux SDKs mobiles (iOS et ANDROID).
      L'API est en NodeJS (Express.js) - La base de données est MongoDB.

    • Step 1 : Appropriation de la base de code et analyse des goulots d'étranglement. Une roadmap est constituée.

    • Step 2 : Remise à plat complète du projet. Des spécifications concernant une nouvelle version de l'API sont écrite. Ces modifications impactent la totalité de la chaine : L'API, les SDKs : API versionnée, chaque besoin métier est contenu dans son propre namespace et doit être RESTFull.
      Mise en place de bests pratcices en terme de code et de tests.

    • Step 3 : Un plan de migration sur 12 mois est établi, en collaboration avec l'équipe SDK. Une update "Big Bang" n'est pas une opttion : il ne doit pas y avoir d'impact avec les clients utilisant la plateforme, une rétrocompatibilité complète est nécessaire.

    • Step 4 : Mise en place de la nouvelle architecture : MariaDB est uttilisé sur toutes les données relationnelles (comptes clients, configurations, etc), MongoDB sert de Cache pour la gestion des utilisateurs (devices iOS et Android) et ElasticSearch est utilisé pour les données de type Log / TimeSeeries.

    • Step 5 : Développement incrémental de l'API et des composants core
  • DevOps / CI

    • Tests automatisés
    • Docker everywhere possible
    • Déploiement de trois clusters ElasticSearch (25 noeuds)
    • Déploiement de deux clusters KAFKA (3 noeuds haute capacité)
  • Chiffres clés
    • Utilisateurs actifs quotidiens passants d'un ordre de magnitude de quelques centaines de milliers à plusieurs millions.* Collecte de donnée par utilisateur passant de quelques dizaines à plusieurs centaines* Scalability horizontale de l'API - Utilisation de KAFKA pour les données en entrée du système / ingestion asynchrone
  • Stack technique
    • NodeJS
    • ElasticSearch
    • Kafka
    • Docker
    • RabbitMQ
    • MongoDB
    • Redis

Directeur Technique Web

PROSUD
Août 2011 à juin 2015
CDI
Embrun
France
  • Conception et développement d'un ERP sur-mesure :
    • Gestion de plusieurs sociétés
    • Gestion de plusieurs boutiques au sein de ces sociétés
    • Gestion d'un catalogue produit propre à chaque boutique
    • Gestion commerciale Complète (clients, produits, commandes, logistique, livraison, facturation)
    • Gestion de la comptabilité des Ventes + synchronisation vers différentes solutions de comptabilité.
    • Synchronisation complète avec n'importe quel CMS e-commerce
    • Gestion logistique avancée avec suivi des produits du catalogue de la fabrication à la livraison chez le client en prenant en compte chaque étape, calcul du chemin critique des coûts dans le but de maîtriser le pricing et le contrôle de la marge.
    • Gestion des droits utilisateurs via un système de rôles reliés a chaque fonctionnalité de l'ERP, dans chaque contexte de navigation (combo société + boutique)
    • basé sur le pFramework php 5.4
    • API REST
    • Utilisation d'AngularJS pour les interfaces utilisateurs nécessitant une excellente réactivité et une grande souplesse
    • Classification des produits dynamique multi critères à des fins de merchandising sur différents médias / plateformes de ventes / réseau de revendeurs
      -Suivi du CA sur chaque canal en temps réel selon différentes métriques, et plusieurs méthodologies de calcul / indicateurs (CA Facturé, CA potentiel, provisoire, en cours de validation, transféré en compta, pointé en compta... etc)
    • [...]
  • Consultant technique pour la visibilité du site de vente www.prosoud.com.
  • Refonte complète technique et graphique du site internet principal de la société (2012)
  • Campagnes de publicité / Marketing / Adwords (jusqu'en 2013)
  • Placement des produits selon les tendances sur le web / saisonnalité.
  • Mise en place de campagnes de communication sur les réseaux sociaux pour les marque ELECTROPOWER, PROTOOLS et crédibilité des gammes de produits de ces deux marques
  • Optimisation du référencement, du netlinking et de l'indice de crédibilité de nos landing pages, listings de vente et fiche produit
  • Développement d'outils spécifiques de mesure ROI, fréquentation, coûts globaux
  • Chef de projet / Directeur technique sur l'ensembles des projets informatique et développement de la société
  • Administration d'une infrastructure multi-serveurs GNU Linux
  • R&D :
    • MongoDB
    • Ruby On Rails
    • Node.js
    • AngularJS
    • React
    • Meteor
    • Backbone
  • Auto formations :
    • Ruby
    • Ruby on Rails
    • Python
    • MongoDB
    • ES6 (Étude et apprentissage complet du langage, scope, prototype, hoisting, optimisation CPU / mémoire, [...])
    • AngularJS
    • Express.js
    • Node.js
    • Backbone.js
    • React
    • Meteor
    • GIS
En savoir +

Conception du framework PHP 5.4 pFramework

pFramework
Février 2012 à juin 2015
France
  • Spécification, création, conception du framework entièrement ortienté objet pFramework
  • technologie PHP 5.4
  • Utilisation très forte des traits (PHP 5.4)
  • Utilisation poussée des espaces de noms (PHP 5.3)
  • Framework entièrement orienté Objet
  • Helpers pour les formulaires entièrement gérés côté serveur et génération de code Front-End complet
  • Gestion des erreurs et des exceptions
  • Support en natif de Savant 3 pour un templating simple
  • Support en natif de Twitter Bootstrap (pour le Front)
  • Support en natif des API Facebook, Twitter, Google+
  • Abstraction Base de données et génération des Modèles de données
  • Automatisation du CRUD
  • Gestion CRUD et Helpers MongoDB
  • Paradigme MVC flexible avec forte granularité possible dans la hiérarchisation des différents fichiers métiers
  • Optimisation des performances et lazy loading
  • Optimisation de l'utilisation mémoire
  • Développement en parallèle de projets en production
  • https://github.com/ZeLearner/pFramework
  • Gestion multi Thèmes via ThemeManager
  • Gestion dynamique des fichiers / instructions Javascript via JSManager
  • Système d'override pour bootstrapper une application selon son objectif

Alpes-Passion / V2 du site, aspect communautaire et participatif boosté

Alpes Passion
Décembre 2014 à juin 2015
France
  • Remise à plat du projet dans le but de le rendre plus attirant pour les différents acteurs du marché.
  • Chamboulement technologique avec dans l'immédiat des tests de faisabilité effectués sur des technologies à base de Node.js :
  • Stack MEAN (sans angular)
  • Framework React
  • Orientation vers un CMS "orienté GIS" :
    • Chaque type de contenu est relié à un ensemble de données géographiques
    • Ces données géographiques reposent sur GeoJSON
    • Le but : un ranking pertinent par rapport au contexte de navigation d'un point de vue thématique et géographique

Création d'une application web de lecture de partition de percussions

DKM - DrumKitMachine
Février 2013 à 2014
France
  • Recherche et développement autour des bibliothèques WebGL et Canvas HTML5 pour la conception d'un "Rock Band Like" Open Source dont la vocation est de servir de lecteur de partition interactif pour les percussionnistes.
  • Utilisation de blender et Photoshop pour les assets
  • Nombreux tests 3D via Three.js
  • Nombreux tests sonores via SoundJS, audiolib.js, audionode.js
En savoir +

Site à vocation touristique Alpes-Passion.fr - V1

Alpes Passion
Décembre 2012 à 2013
Freelance
BRIANCON
France
  • Conception / création du concept su site Alpes Passion
  • Développement graphique
  • Développement Technique à l'aide du framework PHP pFramework
  • Développement commercial
  • Application de partenariats commerciaux et bénévoles
  • Intégration à l'API Graph de Facebook pour la curation des contenus
En savoir +

Concepteur / Développeur d'une application intranet

Régie Autonome des Remontées Mécaniques de Montgenèvre
Février 2011 à août 2011
CDD
Montgenèvre
France
  • Adaptation de processus qualité internes vers une application intranet utilisable par l'ensemble des services.
  • Développement axé vers la fiabilité / stabilité de l'application et l'ergonomie des fonctionnalités utilisées par du personnel peu qualifié en informatique.
En savoir +

Co-Gérant - Ingénieur en développement Web

KEYRIO
Décembre 2007 à août 2010
LYON
France
  • Recherche et développement sur les nouveaux produits.
  • Développement du framework de développement propriétaire à la société.
  • Administrateur Serveur LINUX / Debian / Red Hat, CentOS et Ubuntu
  • Administrateur de bases de données MySQL, PostgreSQL
  • Lead Developpeur sur le framework propriétaire PHP 5.0
  • Responsable des projets Grands comptes :
    • GL Events
    • Club Méditerannée
    • ARROW GENERICS
    • UBI SOFT via GL Events
En savoir +

Travailleur Indépendant

01Dice Communication
Juin 2006 à décembre 2007
Freelance
LYON
France
  • Développement de solutions Web pour les professionnels.
  • Industrie du Pétrole : multiples développements d'applications extranet sécurisées visant à gérer de multiples installations de Raffineries de Pétrole dans l'ensemble de l'Europe : création, entretien journalier, interventions techniques, changement de pièces sur ces installations, historique de l'activité sur chaque lieu, chaque installation.
  • Développement d'un CMS multi thème / multi sociétés pour le compte d'un conglomérat de sociétés du BTP de l'Ain
En savoir +

DUT Services et réseaux de communication

IUT 2 de Grenoble

Septembre 2006 à 2008
Communication, Marketing, Infographie

Licence Informatique

UJF Grenoble

Septembre 2003 à 2006
Programmation - Maths - Boilogie - Chimie

Bénévolat

Cité U le Rabot, Grenoble

Septembre 2004 à mai 2005
Responsable de la salle de musique de la cité U, membre du bureau de l'association étudiante (350 membres sur 900 résidents)

  • Mise sur pieds de nombreux dossiers de financement pour de nouveaux instruments de musique (piano, batterie notamment) et insonorisation de la pièce mise à disposition par le CROUS de Grenoble
  • node.js
    Node 0.10+.
    C'est mon environnement de référence depuis Juillet 2015.
    Expert
  • Ruby
    Avancé
  • JavaScript
    Appris au départ comme simple langage pour animer des éléments à l'écran puis consolidé avec l'utilisation de frameworks comme prototype, mootools puis jQuery.

    Je me suis hautement documenté depuis, notamment sur les notions complexes qui composent le langage (chaine de prototype, héritage, le modèle objet si particulier de javascript, l'hoisting... )

    Node.js a l'avantage de permettre l'utilisation des dernières version de ES6 et ES7 sans avoir besoin de recourir à un transpiller (selon la version de node ;) )
    Expert
  • React
    Avancé
  • Kafka
    Expert
  • Redis
    Avancé
  • RabbitMQ
    Avancé
  • Docker
    Expert
  • PHP
    Apprentissage de PHP 4, puis de PHP 5 et toutes ses déclinaisons.
    Grande expérience du paradigme Objet de PHP et des Design patterns qui s'y appliquent.
    Ecriture de plusieurs Frameworks utilisés en production.
    Expert
  • Swagger / Open API
    Expert
  • GatsbyJS
    Utilisation de la génération de pages statiques de façon programmatique + fallback à du React / redux "classique"
    Expert
  • React.js
    Du site vitrine au Back Office en passant par une plateforme de streaming vidéo
    Expert
  • Redux
    Un immanquable sur du reactJS
    Expert
  • SASS
    L'horreur du CSS contrebalancé par la beauté des mixins, règles imbriquées, variables ...
    Expert
  • JavaScript
    Appris au départ comme simple langage pour animer des éléments à l'écran puis consolidé avec l'utilisation de frameworks comme prototype, mootools puis jQuery.

    Aujourd'hui utilisé virtuellement de partout : Nodejs, React, MongoDB ...
    Expert
  • ElasticSearch
    Déploiement via Docker
    Modélisation
    Mapping
    requetes
    aggregation
    Utilisation comme data store principal
    Utilisation comme cache
    Utilisation en temps qu'index de recherche Fulltext
    Expert
  • NodeJS
    Job handling
    Job scheduler
    Job Monitoring
    ETLs
    Expert
  • Python
    Scripting
    pySpark
    Bon niveau
  • R
    Exploration de données
    Notions
  • MariaDB / MySQL
    Expert
  • MongoDB
    Très largement utilisé sur mes projets actuels, montre très clairement ses limites sur un certain nombre de sujet (aggregats avec critères multiples par exemple)
    Expert
  • PostgreSQL
    Expert
  • ElasticSearch
    Expert
  • RedShift
  • Technical Lead
    Expert
  • Tests unitaires
    Bonne expérience sur des effectifs < 10 personnes
    Avancé
  • Prestashop
    Connaissance complète de la version 1.4 à 1.6
    Expert
  • Project Management / planning
    Bonne expérience sur des effectifs < 10 personnes
    Avancé
  • Programmation objet
    Expert
  • Architecture logicielle
    Avancé
  • Framework et architectures
    Expert
  • Français
    Expert
  • Anglais
    Bon niveau
  • Italien
    Notions
  • Batterie
  • Guitare
  • basse
  • Piano
  • Trompette
  • Nouvelles technologies
  • Science fiction
  • Heroic Fantasy
  • Littérature Française
  • Psychologie
  • Ecriture
  • VTT
  • Course à pied
  • Randonnées pedestres
  • Ski Alpin