Qui suis-je ?

Photo de profil

Développeur passionné, je suis à la recherche d’une opportunité pour contribuer au sein d’une entreprise innovante. Avec une expérience en React, Vue.js, Node.js, TypeScript et Python/Django, je m’efforce de produire un code de haute qualité tout en privilégiant une collaboration efficace avec mes collègues. Au fil de ma carrière, j’ai affiné mes compétences techniques et développé une solide capacité à travailler efficacement dans des environnements multidisciplinaires. Motivé et prêt à donner le meilleur de moi-même, je suis impatient de soutenir votre organisation dans l’atteinte de ses objectifs et d’explorer ensemble de nouvelles opportunités.

Expériences

Logo d'un ordinateur'

Bénévolat

Dans une démarche de progression continue, j'ai eu l'opportunité de contribuer à divers projets stimulants. Parmi ceux-ci, un service web en TypeScript (Node.js) permettant d'interagir avec le chat de Twitch via des fonctionnalités telles que des jeux interactifs ou l'animation par des bots.

En parallèle, je travaille sur un projet open source, WorthCalendar, une solution de gestion de calendrier en Vue.js (frontend) et Laravel (backend), destiné à un large public, des start-ups nécessitant une gestion locale de calendrier, aux utilisateurs qui préfèrent l'héberger sur le web. Je suis le créateur et administrateur des deux repositories de ce projet, qui est en constante progression.


Languages/Frameworks

  1. - React
  2. - TypeScript
  3. - MUI
  4. - Vue

Technologies/Outils

  1. - Github
  2. - Git
  3. - VSCode

Soft/Hard Skills

  1. - Créer/Gérer un environnement
  2. - Adaptabilité
  3. - Travail en équipe
  4. - Héberger / Maintenir un projet
Logo de Mantra.ms

* Lettre de recommandation et références disponibles sur demande ou lors des entretiens.

Pendant deux ans chez Mantra.ms, une startup parisienne spécialisée dans la création de solutions de cyber-sensibilisation, j'ai eu l'opportunité de participer à diverses tâches de refonte et d'amélioration côté Back, à la gestion d'API ainsi qu'au développement Frontend. J'ai également contribué à la revue de tickets, exploré une partie de l'écosystème d'un projet multi-service et identifié les défis potentiels qu'il présente. Cette expérience m'a permis de renforcer mon adaptabilité et de cultiver un apprentissage continu pour toujours être au meilleur de mes capacités.

Tâches représentatives

  1. - Création, modification et optimisation des actions d'administration sous Django.
  2. - Développement de méthodes d'exportation de données au format CSV.
  3. - Amélioration et déploiement d'Add-ins pour des messageries telles qu'Outlook et Gmail.
  4. - Proposition d'améliorations pour rendre l'onboarding client autonome.
  5. - Conception de scripts personnalisés pour répondre aux demandes spécifiques des clients (envoi de données, etc.).
  6. - Implémentation de nouvelles fonctionnalités, structuration des données retournées, modification des appels API et rendu conditionnel côté Frontend (ajout de documentation, modification des dashboards des produits souscrits).

Languages/Frameworks

  1. - Python
  2. - Django
  3. - React
  4. - TypeScript
  5. - MUI

Technologies/Outils

  1. - GitLab
  2. - Pycharm
  3. - Git
  4. - Docker

Soft/Hard Skills

  1. - Créer/Gérer un environnement
  2. - Adaptabilité
  3. - Travail en équipe
  4. - Lead un meeting
  5. - Gestion de Tickets

Projets

Logo du projet WorthCalendar

Outils de gestion de calendrier professionnel (En cours)

Ce projet open-source vise à faciliter la gestion des rendez-vous professionnels en fournissant un outil de planification et de suivi des tâches. Il est développé en TypeScript, Laravel et Vue.js, et est hébergé sur Render. Il peut également être utilisé localement.

Compétences Acquises :

  • Apprentissage solide de Vue : compréhension des composants Vue, des directives et des hooks de cycle de vie.
  • Utilisation de Docker pour le développement et le déploiement local.
  • Configuration d'une architecture multi-service avec Docker Compose pour le développement et le déploiement local.
  • Intégration frontend et backend avec Vue et Laravel.
  • Création d'un projet complet du concept à la livraison.
  • Utilisation d'outils pour améliorer l'expérience de codage : session Admin dans Laravel et session Utilisateur dans Vue.
  • Gestion des routes et mise en place de protections pour sécuriser l'application.
Logo du projet Jimanager

Création d'un outil pour streamer

* Cliquez pour être redirigé vers le streamer concerné.

Jimanager est un projet initié par un ami streamer et développé en collaboration avec une équipe de trois personnes. Il est basé sur une architecture multi-service, où chaque module interne est isolé des autres, offrant une flexibilité et une évolutivité accrues. Cette approche, que j'ai trouvée particulièrement enrichissante à découvrir, a permis l'intégration de fonctionnalités interactives personnalisées. En tirant parti de services externes tels que OpenAI et StreamElements, Jimanager offre des interactions dynamiques comme la lecture de chat en temps réel et des actions déclenchées par les messages des spectateurs.

Compétences Acquises :

  • Participation au développement de fonctionnalités répondant aux besoins spécifiques du streamer, tout en adoptant une approche modulaire.
  • Création de vues web dédiées à l'affichage de vidéos et de messages stylisés, améliorant l'expérience visuelle des spectateurs.
  • Implémentation de la logique de file d'attente en temps réel via WebSocket, assurant une communication fluide et réactive.
  • Découverte de multiples bots aux tempéraments variés, enrichissant les interactions et diversifiant les scénarios possibles.
  • Collaboration avec des API telles que OpenAI et StreamElements pour offrir des outils innovants et interactifs.
Logo du projet DonjonBaston

Jeu intéractif DonjonBaston

* Cliquez pour voir un apercu sur Youtube.

DonjonBaston est un jeu en JavaScript permettant à un streamer d'incarner le maître du jeu (MJ), guidant les spectateurs qui, en tant que joueurs, progressent dans un donjon rempli de défis jusqu'à affronter le boss final. Ce projet interactif mêle divertissement et collaboration en temps réel.

Compétences Acquises :

  • Améliorations et de refontes structurelles du projet pour optimiser la gestion des mécaniques du jeu.
  • Développement et amélioration de plusieurs vues pour une gestion plus intuitive des sessions de jeu.
  • Intégration et mise à jour de fonctionnalités pour renforcer l'expérience utilisateur et simplifier les outils administratifs.
  • Exploration approfondie des protocoles WebSocket pour implémenter une communication en temps réel, essentielle à l’interactivité du jeu entre le MJ et les joueurs.
Logo du projet 7, Groupomania

Créer un réseau social d’entreprise

Pour clôturer la formation, j'ai participé à la création d'un réseau social d'entreprise pour le groupe Groupomania. Le projet incluait des fonctionnalités telles que l'inscription, la connexion, la création, la modification et la suppression de posts, ainsi qu'un système de likes. Un compte Admin devait pouvoir interagir avec tous les posts, et une charte de couleurs devait être respectée. J'ai réalisé ce projet en utilisant React pour le frontend, Node.js pour le backend, et MongoDB comme base de données NoSQL.

Compétences Acquises :

  • Solide apprentissage de React : utilisation des hooks (useState, useEffect, useContext) et gestion des composants et props.
  • Intégration du frontend et du backend via ViteJs et vite-plugin-mix.
  • Création d’un projet complet de A à Z, du concept à la livraison.
  • Utilisation d'outils pour améliorer l'expérience de codage : Bulma, Sass, db-import, db-export.
  • Gestion des routes et mise en place de protections pour sécuriser l'application.
Logo du projet 6

Construire une API sécurisée pour une application d'avis gastronomiques

L'avant-dernier projet visait à apprendre Node.js, explorer divers outils, établir la liaison entre le frontend et le backend, et appliquer les normes de sécurité. Le frontend, fourni en Angular, a été intégré dans ce contexte.

Compétences Acquises :

  • Apprentissage de Node.js et découverte d'outils tels qu'Express, Morgan, Cors, et Helmet.
  • Mise en place d'une API structurée et sécurisée (JWT, variables d'environnement).
  • Développement de middlewares pour la gestion et la vérification des routes.
  • Création et utilisation de modèles de données.
  • Apprentissage et utilisation de MongoDB pour la gestion des bases de données.
  • Gestion des requêtes HTTP et des codes de réponse (201, 404, 500, etc.).
  • Gestion des erreurs.
Logo du projet 5, Kanap

Construire un site e-commerce en JavaScript

Dans le cadre de la formation, nous avons exploré JavaScript à travers un projet de création d'un site de commande de canapés. L'objectif était de développer l'ensemble des fonctionnalités, de l'affichage des produits à la confirmation d'achat, offrant ainsi une expérience utilisateur complète.

Compétences Acquises :

  • Apprentissage de JavaScript Vanilla
  • Découverte et utilisation des requêtes API POST.
  • Gestion des données avec le local storage.
  • Initiation à la sécurité web et protection de certaines données.
  • Maîtrise des fonctions synchrones et asynchrones.
  • Création et manipulation du DOM.
Logo du projet 4

Optimiser un site web existant

Ce projet visait à nous sensibiliser à l'accessibilité des sites web pour les personnes en situation de handicap, à optimiser le référencement via les moteurs de recherche, et à adopter les bonnes pratiques du développement web

Compétences Acquises :

  • Sensibilisation à l'accessibilité web et rédaction de rapports SEO.
  • Utilisation d'outils SEO pour diagnostiquer et améliorer les performances du site.
  • Apprentissage des CDN, de la compression d'images, de l'optimisation du ratio des couleurs, et utilisation de formats d'images variés (SVG, JPG, PNG, WebP, JPEG).
  • Réalisation de tests de performance et de contrôle de chargement via des outils comme Tanuguru et DevTools.
  • Gestion des mises à jour de packages, bibliothèques, et langages.
Logo de ohmyfood

Dynamiser une page web avec des animations CSS

Ce projet avait pour objectif de dynamiser un site web statique en mettant l'accent sur les animations avec Sass, l'application de la méthodologie BEM, et l'utilisation de GitHub pour la gestion du code.

Compétences Acquises :

  • Apprentissage de la méthodologie BEM et création de mixins, loaders, keyframes, et animations avec Sass.
  • Utilisation de GitHub Pages pour héberger un projet.
  • Optimisation du chargement de page avec affichages différés.
  • Maîtrise des positions relative et absolute en CSS.
  • Utilisation des DevTools pour le débogage et l'amélioration des projets.
Logo de Booki

Transformer une maquette en site web avec HTML & CSS

Ce premier projet consistait à reproduire un site web à partir d'une maquette graphique en utilisant HTML5 et CSS3. L'objectif était de découvrir et d'assimiler la sémantique web, de comprendre la structuration d'un site, et de définir des classes ainsi que des styles de base.

Compétences Acquises :

  • Apprentissage et utilisation de HTML5 et CSS3 pour la création de sites web.
  • Réalisation de l'intégration web à partir de maquettes graphiques, avec mise en place d'un design responsive.
  • Maîtrise des animations CSS et utilisation de Flexbox pour une mise en page flexible.
  • Compréhension et application de la sémantique web pour structurer correctement les pages.
  • Connaissance de Git et de ses commandes (pull, push, stash, etc.) pour la gestion de version.
  • Validation du code selon les standards W3C.

Formations

Logo de OpenClassrooms

J'ai complété une formation de Développeur Web sur la plateforme OpenClassrooms, composée de six projets professionnels. Cette formation m'a permis de développer une solide expertise en tant que développeur junior, en maîtrisant un éventail de compétences et de techniques essentielles pour réussir dans le monde professionnel.

Who I am ?

Photo de profil

As a passionate developer, I am looking for an opportunity to contribute to an innovative company. With experience in React, Vue.js, Node.js, TypeScript and Python/Django, I strive to produce high-quality code while prioritizing effective collaboration with my colleagues. Throughout my career, I have refined my technical skills and developed a strong ability to work effectively in multidisciplinary environments. Motivated and ready to give my best, I hope to convince you to support your organization in achieving its goals and exploring new opportunities together.

Experiences

Logo d'un ordinateur'

Volunteer Experience

In a continuous improvement mindset, I had the opportunity to contribute to various exciting projects. Among them is a web service built with TypeScript (Node.js) that allows interaction with the Twitch chat through features such as interactive games or bot animations.

At the same time, I am working on an open-source project called WorthCalendar, a calendar management solution built with Vue.js (frontend) and Laravel (backend). It is intended for a large scope of users, from startups needing local calendar management to those who prefer hosting it on the web. I am the creator and administrator of both repositories for this project, wich is in constant improvement.

Languages/Frameworks

  1. - NodeJS
  2. - TypeScript
  3. - Laravel
  4. - Vue

Technologies/Tools

  1. - Github
  2. - Git
  3. - VSCode
  4. - Render

Soft/Hard Skills

  1. - Create/Manage an environment
  2. - Adaptability
  3. - Teamwork
  4. - Host / Maintain a project
Logo de Mantra.ms

* Recommendation letter and references available upon request or during interviews.

During two years at Mantra.ms, a Parisian startup specializing in the creation of cyber-awareness solutions, I have had the opportunity to participate in various tasks of redesign and improvement on the Back-end, API management, and Front-end development. I have also contributed to ticket reviews, explored part of the ecosystem of a multi-service project, and identified potential challenges it presents. This experience has allowed me to strengthen my adaptability and cultivate continuous learning to always be at my best.

Representative Tasks

  1. - Creation, modification, and optimization of administration actions under Django.
  2. - Development of data export methods in CSV format.
  3. - Improvement and deployment of Add-ins for messaging services such as Outlook and Gmail.
  4. - Proposing improvements to make client onboarding autonomous.
  5. - Designing custom scripts to meet specific client requests (data sending, etc.).
  6. - Implementation of new features, structuring returned data, modifying API calls, and conditional rendering on the Frontend (adding documentation, modifying dashboards of subscribed products).

Languages/Frameworks

  1. - Python
  2. - Django
  3. - React
  4. - TypeScript
  5. - MUI

Technologies/Tools

  1. - GitLab
  2. - Pycharm
  3. - Git
  4. - Docker

Soft/Hard Skills

  1. - Create/Manage an environment
  2. - Adaptability
  3. - Teamwork
  4. - Lead a meeting
  5. - Ticket management

Projects

Logo du projet WorthCalendar

Professional Calendar Management Tools (In progress)

This open-source project aims to facilitate the management of professional appointments by providing a scheduling and task tracking tool. It is developed in TypeScript, Laravel, and Vue.js, and is hosted on Render. It can also be used locally.

Skills Acquired:

  • Solid learning of Vue: understanding of Vue components, directives, and lifecycle hooks.
  • Use Docker for local development and deployment.
  • Setup of a multi-service architecture with Docker Compose for local development and deployment.
  • Frontend and backend integration with Vue and Laravel.
  • Creation of a complete project from concept to delivery.
  • Use of tools to improve the coding experience: Admin session in Laravel and User session in Vue.
  • Route management and protections implementation to secure the application.
Logo du projet Jimanager

Create a Streamer Tool

* Click to redirect to the concerned streamer.

Jimanager is a project initiated by a streamer friend and developed in collaboration with a team of three people. It is based on a multi-service architecture, where each internal module is isolated from the others, offering increased flexibility and scalability. This approach, which I found particularly enriching to discover, allowed for the integration of customized interactive features. By leveraging external services such as OpenAI and StreamElements, Jimanager offers dynamic interactions like real-time chat reading and actions triggered by viewers' messages.

Skills Acquired:

  • Participation in the development of features meeting the specific needs of the streamer, while adopting a modular approach.
  • Creation of web views dedicated to displaying videos and stylized messages, enhancing the visual experience for viewers.
  • Implementation of real-time queue logic via WebSocket, ensuring smooth and responsive communication.
  • Discovery of multiple bots with varied temperaments, enriching interactions and diversifying possible scenarios.
  • Collaboration with APIs such as OpenAI and StreamElements to offer innovative and interactive tools.
Logo du projet DonjonBaston

Interactive game DonjonBaston

* Click to see the final result on Youtube.

DonjonBaston is a JavaScript game that allows a streamer to play the role of the game master (GM), guiding viewers who, as players, progress through a dungeon filled with challenges until they face the final boss. This interactive project combines entertainment and real-time collaboration.

Skills Acquired:

  • Structural improvements and redesigns of the project to optimize game mechanics management.
  • Development and enhancement of multiple views for more intuitive session management.
  • Integration and update of features to enhance user experience and simplify administrative tools.
  • In-depth exploration of WebSocket protocols to implement real-time communication, essential for game interactivity between the GM and players.
Logo du projet 7, Groupomania

Create a corporate social network

To complete the training, I participated in the creation of a corporate social network for the Groupomania group. The project included features such as registration, login, creation, modification, and deletion of posts, as well as a like system. An Admin account could interact with all posts, and a color scheme had to be respected. I completed this project using React for the frontend, Node.js for the backend, and MongoDB as the NoSQL database.

Skills Acquired:

  • Solid learning of React: use of hooks (useState, useEffect, useContext) and management of components and props.
  • Frontend and backend integration with ViteJs and vite-plugin-mix.
  • Creation of a complete project from concept to delivery.
  • Use of tools to improve the coding experience: Bulma, Sass, db-import, db-export.
  • Route management and protections implementation to secure the application.
Logo du projet 6

Build a secure API for a food review application

The penultimate project aimed to learn Node.js, explore various tools, establish the connection between the frontend and backend, and apply security standards. The frontend, provided in Angular, was integrated in this context.

Skills Acquired:

  • Learning Node.js and discovering tools such as Express, Morgan, Cors, and Helmet.
  • Setting up a structured and secure API (JWT, environment variables).
  • Developing middlewares for route management and verification.
  • Creating and using data models.
  • Learning and using MongoDB for database management.
  • Managing HTTP requests and response codes (201, 404, 500, etc.).
  • Error handling.
Logo du projet 5, Kanap

Build an e-commerce site in JavaScript

As part of the training, we explored JavaScript through a project to create a sofa ordering site. The goal was to develop all the features, from product display to order confirmation, providing a complete user experience.

Skills Acquired:

  • Learning Vanilla JavaScript
  • Discovering and using POST API requests.
  • Managing data with local storage.
  • Introduction to web security and data protection.
  • Mastering synchronous and asynchronous functions.
  • Creating and manipulating the DOM.
Logo du projet 4

Optimize an existing website

This project aimed to raise awareness about web accessibility for people with disabilities, optimize search engine ranking, and adopt best practices in web development

Skills Acquired:

  • Awareness of web accessibility and writing SEO reports.
  • Using SEO tools to diagnose and improve site performance.
  • Learning about CDNs, image compression, color ratio optimization, and using various image formats (SVG, JPG, PNG, WebP, JPEG).
  • Conducting performance tests and load control using tools like Tanuguru and DevTools.
  • Managing updates for packages, libraries, and languages.
Logo de Booki

Transform a mockup into a website with HTML & CSS

This first project involved reproducing a website from a graphic mockup using HTML5 and CSS3. The goal was to discover and assimilate web semantics, understand site structuring, and define classes and basic styles.

Skills Acquired:

  • Learning and using HTML5 and CSS3 for website creation.
  • Web integration from graphic mockups, with responsive design implementation.
  • Mastering CSS animations and using Flexbox for flexible layout.
  • Understanding and applying web semantics to properly structure pages.
  • Knowledge of Git and its commands (pull, push, stash, etc.) for version control.
  • Code validation according to W3C standards.

Formations

Logo de OpenClassrooms

I completed a Web Developer training on the OpenClassrooms platform, consisting of six professional projects. This training allowed me to develop solid expertise as a junior developer, mastering a range of essential skills and techniques to succeed in the professional world.