VH
Profil

Développeur Fullstack Senior avec plus de 7 ans d'expérience en développement web, je suis déterminé, persévérant et toujours prêt à apprendre et à partager mes connaissances. Mon objectif est de mettre à profit mon expertise pour contribuer à la réussite de votre projet en atteignant vos objectifs et en assurant la satisfaction du travail bien fait.

Formation
Analyste Programmeur (Bac +2)

CESI Alternance, Rouen, France

2016 - 2018

3 semaines en entreprise, 1 semaine en formation

DUT Informatique (Bac +2)

IUT du Havre, Le Havre, France

2015 - 2016

Stage de 3 mois

BTS Technico-Commercial (Bac +2)

Tourville-sur-Pont-Audemer, France

2013 - 2015

Stage de 14 semaines

Compétences
Frontend
  • Bibliothèque : React.js (hooks, Redux, Context API), React Hook Form, React Query, Apollo Client, Next-Intl, ShadCn, Zod
  • Framework : Next.js
  • Styling : Tailwind CSS, Styled Components, ShadCn, Storybook
  • Langages : HTML, CSS, JavaScript, TypeScript
  • Tests : Jest, Testing Library
Backend
  • Environnements : Node.js, NestJS
  • Bases de données : PostgreSQL, MySQL, MongoDB, Prisma
  • API : REST, GraphQL, Apollo GraphQL
  • Sécurité : JWT, OAuth, SSO
  • Outils : Docker, CI/CD (GitLab, Azure DevOps, GItHub Actions), Google Cloud Platform, AWS, Vercel, Serverless Framework
Autres
  • Méthodologies : Agile (Scrum, Kanban, Scrumban), Atomic Design, Git Flow, GitHub Flow
  • Gestion de projet : JIRA, Confluence, Slack, Notion, Trello
  • Versionning : Git, GitHub, GitLab
  • Optimisation et conformité : SEO, RGPD
Langues
Français - Langue maternelle
Anglais - Technique
Loisirs
Sport

Course à pied et trail, tennis de table, padel, randonnée en montagne, musculation

Voyager

Découvrir le monde, les cultures et les paysages

Activités en plein air

Aventures avec mon Shiba Inu, pêche, jardinage

Projets DIY et créativité

Impression 3D, projets DIY (borne d'arcade, photobooth, pincab, ...), rénovation de ma maison, drone

Valentin Harrang

Développeur Fullstack Senior React - Next.js - Node.js - TypeScript

Expérience professionnelle
  • Tylia Invest - Solutions d'investissements alternatifs
    CDI
  • Lead Frontend Developer
    Juil. 2023 - Aujourd'hui
  • Rôle de Lead : Encadrement des développeurs juniors par le partage de connaissances (tech talks, pair-programming, conseils), et participation aux décisions techniques stratégiques. Mise en place de bonnes pratiques de développement (code review, tests unitaires, CI/CD). Mise en œuvre d'une stack technique complète pour le développement d'un portail investisseur.
  • Automatisation et Dockerisation : Dockerisation de la stack technique et automatisation des processus de développement avec la création d’une CI/CD, et la synchronisation entre Jira, Slack et Gitlab. Génération de types TypeScript à partir de la spécification OpenAPI. Implémentation de feature flags avec Unleash pour une gestion flexible des fonctionnalités en production. Déploiements automatisés via Terraform pour les environnements de QA, Staging et Production. Utilisation du reverse proxy Traefik pour sa configuration dynamique et automatique pour notamment gérer le routage des services Docker.
  • Intégration frontend : Intégration de maquettes Figma sur Next.js 14 (App Router) en utilisant une approche Atomic Design avec TailwindCSS, ShadCn, React Hook Form, StoryBook, Next-Intl et Zod.
  • Développement API : Création de routes API avec NestJS pour supporter les fonctionnalités de l'application.
  • Méthodologies Agiles : Participation active aux rituels agiles (poker planning, daily meetings, sprint backlog) avec les outils Jira et Notion.
  • Services Cloud : Utilisation des services de Google Cloud Platform (Storage, Build, Run, SQL) pour le déploiement et la gestion de l'infrastructure.
  • Tests et Qualité : Écriture de tests unitaires avec Jest et React Testing Library pour assurer la qualité et la fiabilité du code. Création de tests automatisés via Selenium (tests E2E).
  • Développement SSO : Conception et implémentation d'un système de Single Sign-On (SSO) pour simplifier et sécuriser l'authentification des utilisateurs entre deux plateformes.
  • Portail Investisseur : Développement d’un portail investisseur multi-tenant, intégrant des stories et des tests unitaires pour chaque composant développé pour assurer la maintenabilité et l'évolutivité du code.
  • Logs : Mise en place de Datadog pour un meilleur monitoring des applications.
  • Silae - Solutions de paie et RH
    CDI - 4 mois
  • Fullstack Developer Symfony / PHP / JavaScript
    Fév. 2023 - Mai 2023
  • Ajout de fonctionnalités : Développement de nouvelles fonctionnalités sur la plateforme Silae et correction des anomalies remontées par le support.
  • Gestion de projet et versioning : Utilisation d'Azure DevOps pour le versioning et la gestion de projet, travail en squads agiles de 5 développeurs. Mise en œuvre de Git et Git Flow pour le versioning.
  • Dockerisation : Dockerisation de l'ensemble du projet (incluant MySQL, Nginx et PHP FPM) pour une portabilité optimale. Intégration de Sentry pour la supervision et la gestion des erreurs.
  • Qualité et fiabilité du code : Utilisation de PHPStan, CS-Fixer et PHPUnit pour assurer la qualité et la fiabilité du code.
  • Automatisation & CI/CD : Création d'un Makefile pour les tâches courantes et mise en place de pipelines via Azure pour des déploiements automatiques.
  • Documentation : Élaboration d'une documentation interne structurée en fichiers markdown pour faciliter l'accès à l'information.
  • Développement frontend : Création de scripts avec JavaScript (ES6) pour améliorer l'interface utilisateur.
  • Agence web - Dernier Cri
    CDI - Projet de 8 mois
  • La Fabrique by Credit Agricole
    Juin 2022 - Jan. 2023
  • Frontend Developer React.js / TypeScript
  • Objectif : Développement d'une solution SaaS de facturation. Développement frontend de Kolecto, un outil SaaS destiné aux dirigeants de TPE/PME pour simplifier la gestion et le paiement des factures.
  • Composition de l'équipe : 1 chef de projet, 1 CTO, 1 lead frontend, 1 lead backend, 4 développeurs frontend et 2 développeurs backend.
  • Gestion de projet : Nous avons adopté une approche Scrumban avec des sprints de 2 semaines, incluant des rituels tels que daily écrit, poker planning, rétrospectives et démos clients.
  • Mise en place de TailwindCSS : Mise en place de TailwindCSS et Tailwind Styled Components dans le projet en les rendant compatibles avec StoryBook.
  • Création de presets : Création de presets TailwindCSS pour avoir un thème pour la marque blanche (Crédit Agricole) et un autre thème pour la marque Kolecto.
  • Développement de composants React : Développement de composants React (utilisation de TypeScript) et liaison avec StoryBook.
  • Formulaires dynamiques : Développement de formulaires dynamiques via React Hook Form.
  • Utilisation de React Query : Utilisation de React Query pour consommer l'API Rest, bénéficier des états des requêtes ainsi que du caching.
  • Implémentation d'outils AWS : Implémentation des outils AWS Cognito et Amplify pour la connexion, inscription et mot de passe oublié.
  • Intégration frontend : Intégration frontend à partir de maquettes Figma réalisées par des designers.
  • Module de paiement Klarna : Implémentation du module de paiement Klarna pour le règlement de factures et recharger son portefeuille.
  • Tests unitaires : Utilisation de Jest et Testing Library.
  • Agence web - Dernier Cri
    CDI - Projet de 2 mois
  • Nos Quartiers ont du Talent
    Mai - Juin 2022
  • Backend Developer PHP / Laravel
  • Objectif : Modernisation et amélioration d'un back-office existant conçu avec Laravel. L'association Nos Quartiers ont du Talent s'engage activement à créer des passerelles entre les entreprises et les jeunes diplômés issus de milieux modestes. Dans ce contexte, j'ai été sollicité pour renforcer et optimiser leur système d'information.
  • Dockerisation : Dockerisation du projet Laravel pour assurer la portabilité et la cohérence des environnements de développement.
  • Administration des bases de données : Administration des bases de données à travers la mise en place de seeds et migrations.
  • Opérations CRUD personnalisées : Conception d'opérations CRUD personnalisées pour répondre précisément aux besoins spécifiques de l'association.
  • Agence web - Dernier Cri
    CDI - Projet de 4 mois
  • Groupe Carrefour
    Jan. - Avr. 2022
  • Lead Developer Fullstack Symfony / Sylius / PHP
  • Objectif : Développement des sites E-commerce Bio c’ Bon et So.Bio.
  • Rôle de lead : Dans le cadre de cette mission, j'ai occupé le rôle de lead developer, responsable de l'encadrement de développeurs juniors sur les technologies Symfony et Sylius et de la mise en place des bonnes pratiques.
  • Dockerisation : Dockerisation du projet Sylius pour une meilleure gestion des environnements de développement.
  • Élaboration de la logique métier : Conception des entités Doctrine, mise en place des fixtures et migrations et développement des contrôleurs et services associés.
  • Optimisation de la recherche : Intégration d'Algolia pour optimiser la recherche de produits.
  • Modularité du site : Création de blocs réutilisables via Twig pour une meilleure modularité du site.
  • Gestion des ressources : Création et personnalisation des pages du back-office pour une gestion efficace des ressources (CRUD).
  • API REST sécurisée : Mise en place d'API Platform pour l'exposition d'API REST sécurisée avec JWT.
  • Gestion des fichiers : Utilisation du SDK AWS S3 pour gérer l'upload de fichiers sur un bucket.
  • ESN - Proxiad
    CDI - Projet de 3 mois
  • VINCI Construction
    Nov. 2021 - Jan. 2022
  • Fullstack Developer React.js / TypeScript / Apollo GraphQL
  • Objectif : Réalisation d'une Progressive Web App (PWA) pour la gestion des bétons sur les chantiers.
  • Conception GraphQL : Conception et mise en œuvre de resolvers pour GraphQL au sein d'Apollo Server.
  • Consommation de l'API GraphQL : Consommation de l'API GraphQL sur l'application frontend via Apollo Client.
  • Méthodologies Agiles : Adoption de méthodologies agiles incluant des réunions quotidiennes, des sessions de planning poker, et des cycles de sprints.
  • Optimisation de composants : Création et optimisation de composants en s'appuyant sur Material UI.
  • Création d'un back-office : Création d'un back-office avec React Admin en qualité de développeur frontend.
  • ESN - Proxiad
    CDI - Projet de 2 semaines
  • AXA France
    Oct. 2021
  • Frontend Developer React.js
  • Objectif : Amélioration de l'expérience utilisateur de l'application.
  • Amélioration UX/UI : Intégration de maquettes Figma pour améliorer l'interface utilisateur et ajout de nouvelles fonctionnalités pour faciliter l'utilisation de l'application.
  • ESN - Proxiad
    CDI - Projet de 1 mois
  • Proxiad Groupe
    Oct. 2021
  • Fullstack Developer React / PHP
  • Amélioration UX/UI sur le back-office : Intégration frontend de maquettes Figma pour améliorer l'interface utilisateur du back-office.
  • DocuSign : Ajout de champs dans le modèle DocuSign pour la génération des ordres de mission via l'API DocuSign.
  • ESN - Proxiad
    CDI - Projet de 1 mois
  • DigiSoft
    Sept. 2021
  • Backend Developer PHP / Symfony / API Platform
  • Objectif : Développement d'une API avec authentification JWT consommée par Next.js.
  • Création de routes API : Création de routes API pour les développeurs frontend React sur l'API Platform.
  • Authentification : Mise en place de l'authentification avec Auth0 et JWT pour renforcer la sécurité.
  • Tests : Test des appels API avec Postman pour assurer la qualité.
  • Agence web - D-Impulse
    CDI
  • Fullstack Developer React / Next.js / Node.js / Symfony
    Jan. 2020 - Sept. 2021
  • Objectif : Développement de sites internet sur-mesure pour TPE/PME et grands groupes.
  • Rôles : Sur ce poste, j'ai occupé plusieurs rôles : Développeur fullstack, lead developer et développeur frontend. J'ai eu l'opportunité de travailler sur des projets variés : sites vitrines, e-commerce, blog, back-office, etc.
  • Technologies principales : Symfony 4, Symfony 5, Next.js, Strapi, PHP 7, PHP 8, React, TypeScript, GraphQL, MongoDB, et Node.js.
  • Méthodologie : Travail en Agile avec participation aux dailies et planning poker. Utilisation d'Asana et EverHour pour la gestion de projet.
  • Environnement de développement : Dockerisation des projets pour un développement local simplifié et déploiements sur Amazon EC2.
  • Versionning : Git, Git Flow, et GitLab.
  • API & Backend : Création d'APIs via Strapi, Symfony Skeleton, et API Platform. Mise en place d'authentifications JWT et d'une recherche avancée grâce à Algolia. Conception de back-offices avec EasyAdmin et Strapi.
  • Projets marquants :
    • Site web pour une franchise de salles de sport développé avec Next.js, Material UI, TypeScript, GraphQL et Strapi.
    • Sites e-commerce dans le secteur de la distillerie et de la restauration via Sylius (framework e-commerce Symfony).
    • Site web pour un concessionnaire automobile avec un back-office pour la gestion des contenus. Ce projet a été réalisé avec Symfony et EasyAdmin. La complexité de ce projet résidait dans la gestion des stocks des véhicules via des flux externes (XML, JSON, MongoDB) et la mise en place d'un système de LOA / LLD avec calculateur de mensualités et de remboursements anticipés via Cetelem.
  • Frontend : Intégration à partir de maquettes Figma, développement de composants React réutilisables documentés avec Storybook.
  • Maintenance : Interventions sur divers projets, dont Laravel, Grav et Sylius, avec un focus sur l'optimisation et la résolution de bugs.
  • Agence web - ForeachCode
    CDI
  • Fullstack Developer PHP / Symfony / Javascript / React Native
    Avr. 2017 - Déc. 2019
  • Objectif : Développement d'une trentaine de sites internet sur-mesure avec Symfony pour des TPE/PME et grands groupes (site vitrine, blog, e-commerce, plateforme sur-mesure, ...).
  • Développement Web : Conception de sites sur-mesure via Symfony 3 & 4, avec les versions 5.6 à 7.0 de PHP.
  • Intégration frontend : Intégration de maquettes avec HTML5, JavaScript (ES6), jQuery, Bootstrap (3 & 4), CSS3 et Ajax.
  • E-mailing : Conception de templates de mails et optimisation de la délivrabilité.
  • Fonctionnalités Symfony : Développement de bundles, commandes personnalisées et de CRUD.
  • Mobile : Développement d'une application de todolist en React Native, déployée sur le Play Store.
  • E-commerce : Intégration de solutions de paiement (Stripe, Klik and Pay, SystemPay, Payline) et mise en place d'un module de réservation pour un hôtel.
  • Conformité et Sécurité : Mise en conformité RGPD avec diverses mesures dont l'anonymisation et la gestion des cookies.
  • APIs : Consommation de l'API Instagram pour afficher les derniers posts d'un compte utilisateur sur un site web.
  • SEO : Mise en place et optimisation rigoureuse du SEO pour garantir une visibilité optimale sur les moteurs de recherche (données structurées JSON-LD, plan du document hn, optimisation des metas, sitemap, etc.).
  • Optimisation & Performance : Amélioration des performances web suite à des analyses via GTmetrix et PageSpeed Insights.
  • Développement & Déploiement : Utilisation de VM sous Debian, déploiements via SSH et SFTP, et versioning avec Git et Gitlab.
  • Projets marquants :
    • Site web pour une MMA avec système de paiement en ligne
    • Site web pour un hôtel avec module de réservation, multilingue, galerie photos, back-office et blog
  • SPREAD - Plateforme de marketing client tout-en-un
    Stage de 3 mois
  • Développeur full-stack PHP
    Juin - Août 2016
  • Intégration de Twig : Intégration du moteur de template Twig dans le back-office SPREAD développé en PHP 5.6, afin de bénéficier d'une syntaxe claire pour les développeurs frontend et facilement maintenable, ainsi que d'une séparation claire entre la logique métier et la présentation.
  • Développement de templates Twig : Développement de templates Twig personnalisables en créant des macros, blocks et embeds.
  • Proof of Concept (POC) : Création d'un POC pour évaluer les plateformes de paiement en ligne Stripe et Braintree. Développement de prototypes PHP pour Stripe et Braintree, incluant des fonctionnalités telles que l'enregistrement de cartes bancaires, le paiement et le remboursement.
Freelance & Bénévolat
  • Club Pongiste Quevillais - Club de tennis de table de Le Petit-Quevilly
    Mission freelance - 3 mois
  • React.js Developer
    2024
  • Développement sur-mesure du site web : Utilisation des technologies React.js, Next.js, TailwindCSS, React Hook Form, Zod, GraphQL, NestJS et Forest Admin.
  • Développement d'un blog pour les actualités du club : Les administrateurs du club peuvent publier des articles sur le blog depuis l'interface d'administration Forest Admin.
  • Contenus dynamiques : La totalité des contenus du site web est dynamique et gérée via l'interface d'administration Forest Admin.
  • Gestion des membres et des équipes de compétition : Les administrateurs peuvent gérer les membres du club et les équipes de compétition depuis l'interface d'administration Forest Admin.
  • ShopClop - Spécialiste en e-cigarettes, e-liquides & CBD
    Mission freelance - 6 mois
  • PrestaShop / React.js Developer
    2023
  • Refonte du site web : Refonte du site web de ShopClop avec PrestaShop, en collaboration avec un designer pour l'intégration des maquettes.
  • Développement d'un calculateur DIY pour e-liquides : Le client souhaitait un calculateur DIY pour les e-liquides afin de permettre aux utilisateurs de créer leurs propres recettes. J'ai donc développé un calculateur avec Next.js, TailwindCSS, ShadCn, React Hook Form et Zod en utilisant les formules de calcul de la nicotine et des arômes. Ce calculateur est hébergé sur le PaaS Vercel et sera intégré au site web de ShopClop.
  • Vitaliplay - Plateforme numérique de santé
    Mission freelance - 1 mois
  • Fullstack Developer React.js / Next.js
    Juin 2023
  • Diagnostic SEO: Les robots d'indexation de Google ne pouvaient pas lire le contenu des pages du site web réalisé avec Next.js. J'ai donc analysé le code source et le code React pour identifier les problèmes et les corriger.
  • Next SEO : Implémentation de Next SEO pour la gestion des balises meta et Open Graph.
  • Amélioration de l'UX/UI : Il y avait des incohérences dans le design et l'ergonomie du site web. J'ai donc proposé des améliorations pour rendre l'expérience utilisateur plus agréable.
  • Social Kitchen - Gestion de réseaux sociaux
    Mission freelance - 2 mois
  • Frontend Developer React.js
    Déc. 2022 - Jan. 2023
  • Intégration et développement frontend : Intégration des maquettes Figma sur la plateforme SaaS Social Kitchen en utilisant React.js et Material UI.
  • Consommation d'API : Consommation d'une API REST avec Axios pour récupérer et afficher des données dynamiques sur l'application.
  • Tests d'API : Utilisation de Postman pour tester les appels API et s'assurer de la qualité de l'application.
  • Méthodologies Agiles : Travail en agilité, avec des réunions de daily stand-up, des sessions de planning poker, rétrospectives et des sprints avec l'équipe de développement.
  • Ville de Grand-Couronne
    Mission freelance - 6 mois
  • WordPress Developer
    2022
  • Refonte du site web : Refonte du site web de la ville de Grand-Couronne avec WordPress, en collaboration avec un designer pour l'intégration des maquettes.
  • Social Gones - Réseau social et actualités sportives
    Bénévolat - 4 ans
  • Fullstack Developer Symfony / React Native
    2014 - 2018
  • Création d'un réseau social : Développement d'un réseau social en PHP avec authentification (connexion/inscription), espace membre, chat, liste d'amis, messagerie privée et timeline.
  • Site web pour les actualités de l'Olympique Lyonnais : Conception et développement d'un site web Symfony pour la diffusion des actualités de l'Olympique Lyonnais, avec un système de gestion de contenu personnalisé pour les rédacteurs et les modérateurs. Obtention de la promotion du site web sur OL TV et de la recommandation du président du club.
  • Interface d'administration : Création d'une interface d'administration personnalisée pour faciliter la gestion des publications et la modération des commentaires.
  • Partenariats : Prospection de partenaires et mise en place de partenariats pour renforcer la visibilité du site et offrir des lots à la communauté.
  • Gestion de communauté : Gestion d'une communauté de 65k followers sur Facebook, 15k followers sur Twitter et 21k followers sur Instagram, avec publication régulière de contenu engageant et réponse aux commentaires et messages privés.
  • Interviews : Participation à des interviews de joueurs et d'anciens joueurs de l'Olympique Lyonnais.
  • Hébergement : Hébergement du site web sur un serveur dédié.
  • Extension Google Chrome : Développement d'une extension Google Chrome pour un accès rapide aux actualités de l'OL depuis le navigateur.
  • Application mobile : Développement d'une application mobile React Native dédiée aux actualités de l'OL.
  • WeeMove - Réseau social du monde de la nuit
    Bénévolat - 1 an
  • Modérateur
    2013 - 2014
  • Gestion quotidienne de la modération : Gestion quotidienne de la modération des publications et des commentaires sur le site internet de la communauté du monde de la nuit, avec un volume de plusieurs centaines de posts par jour.
  • Respect de la charte éditoriale : Respect strict de la charte éditoriale du site internet en supprimant tout contenu inadapté ou non conforme aux règles de la communauté.
  • Surveillance de la qualité : Surveillance régulière de la qualité des contenus publiés et proposition d'améliorations pour favoriser l'interaction entre les membres.
  • Collaboration avec les administrateurs : Collaboration avec les administrateurs du site internet pour résoudre les problèmes de modération les plus complexes.
  • Switch Radio 76 - Webradio associative
    Bénévolat - 1 an
  • Développeur web PHP
    2012 - 2013
  • Création du site internet : Création du site internet d'une webradio associative en PHP avec mise en place du player Radionomy, d'un espace membre et d'un chat.
  • Démarchage et négociation de partenariats : Démarchage et négociation de partenariats avec des acteurs locaux (discothèques, Laser Game, Temple du foot, etc.) pour obtenir des avantages pour les auditeurs et promouvoir la webradio.
  • Recrutement de DJ's bénévoles : Recrutement de DJ's bénévoles pour animer la grille de programmes de la webradio.
  • Organisation d'événements : Organisation d'événements pour promouvoir la webradio, comme des soirées en discothèque ou des événements sportifs avec des partenaires locaux.
  • Promotion lors d'événements : Tenue d'un stand lors du concert de Keen'v, Lio et Dave à Alizay pour promouvoir la webradio, avec distribution de flyers et d'affiches pour augmenter la notoriété de la webradio auprès d'un public large.