Work

Compétences et Outils

Aperçu de toutes les langues de programmation, bibliothèques et outils avec lesquels j'ai travaillé.

Je suis développeur web depuis environ 2 ans.


Même si le domaine du développement web est vaste, je me suis particulièrement intéressé et concentré sur le Développement Front-End, le Développement Back-End et l'Ingénierie DevOps.

Développeur Front-End

J'aime créer quelque chose de propre et minimaliste, attrayant et qui a de la valeur, et bien sûr, facile à utiliser.

J'apprécie vraiment créer des sites web et des applications mobiles avec des composants UI riches, notamment :

  • Applications web
  • Applications mobiles
  • Pages de documentation
  • Mise en page de contenus CMS
  • Mise en page de tableau de bord
  • et autres.

J'aime toujours créer des pages web simples comme des landing pages. Voici les outils avec lesquels je suis à l'aise pour le développement :

TypeScript

Tout d'abord, le langage de programmation. Je suis très à l'aise avec TypeScript pour le développement web et mobile. Il ajoute la sécurité de type à mes projets et aide à prévenir de nombreuses erreurs courantes.

React.js

React est ma principale bibliothèque frontend. Je l'utilise pour construire des interfaces utilisateur dynamiques et interactives avec une architecture basée sur les composants qui garde mon code organisé et maintenable.

Next.js

Next.js est mon framework React préféré. J'apprécie son système de routage basé sur les fichiers, ses capacités de rendu côté serveur, et la façon dont il simplifie la construction d'applications rapides et optimisées pour le SEO.

Expo

Pour le développement d'applications mobiles, j'utilise Expo avec React Native. Cela me permet de créer des applications mobiles multi-plateformes en utilisant les mêmes paradigmes React que j'utilise pour le développement web.

Tailwind CSS

Pour le style, je préfère Tailwind CSS. Son approche utility-first me permet de créer des designs personnalisés rapidement sans quitter mon HTML ou JSX. C'est parfait pour maintenir la cohérence entre les projets.

Framer Motion

En ce qui concerne les animations, Framer Motion est ma bibliothèque de prédilection. Elle rend la création d'animations fluides et complexes simple grâce à une API intuitive qui s'intègre parfaitement avec React.

Développeur Back-End

J'aime construire des systèmes robustes, évolutifs, sécurisés et efficaces, toujours avec une architecture propre et des API conviviales pour les développeurs.

J'apprécie vraiment travailler sur :

  • APIs RESTful
  • Systèmes d'authentification et d'autorisation
  • Traitement de tâches en arrière-plan
  • Conception et optimisation de bases de données (SQL, NoSQL)
  • Fonctionnalités en temps réel utilisant WebSockets
  • Intégrations avec des API et services tiers

Bien que j'aime travailler sur des systèmes backend complexes, j'apprécie également construire des services petits et ciblés qui résolvent efficacement un seul problème.

Node.js

Node.js est mon environnement d'exécution principal pour le développement backend. Son modèle d'E/S non bloquant et piloté par les événements le rend parfait pour créer des applications réseau rapides et évolutives.

Express.js

Express.js est mon framework de prédilection pour construire des API RESTful. Il est minimal, flexible et me permet de mettre en place rapidement des services backend robustes avec des routes et des middlewares propres.

Nest.js

Lorsque j'ai besoin de plus de structure pour des applications plus importantes, je me tourne vers Nest.js. Il combine des éléments de POO, PF et PFR, offrant une excellente architecture pour les applications de niveau entreprise.

PHP

Je suis également compétent avec PHP pour le développement côté serveur. C'est un langage polyvalent que j'ai utilisé pour construire diverses applications et services web.

Symfony

Symfony est mon framework PHP préféré. J'apprécie son architecture basée sur les composants, sa flexibilité et les outils puissants qu'il fournit pour créer des applications web complexes.

Ingénieur DevOps

Je suis passionné par l'optimisation des flux de travail de développement et la garantie de processus de déploiement fluides.

Je continue d'apprendre et de travailler avec :

  • Conteneurisation avec Docker
  • Pipelines CI/CD
  • Configuration et gestion de serveurs
  • Surveillance et journalisation des systèmes
  • Déploiements automatisés

Je continue à me développer dans ce domaine, mais j'ai déjà mis en œuvre des solutions efficaces dans mes projets :

Docker

J'utilise Docker pour conteneuriser les applications, assurant la cohérence entre différents environnements et simplifiant le processus de déploiement. Je peux configurer des applications multi-conteneurs avec Docker Compose.

GitHub Actions

Pour le CI/CD, j'ai implémenté des workflows GitHub Actions pour automatiser les processus de test, de construction et de déploiement, garantissant la qualité du code et rationalisant les versions.

Nginx

J'ai configuré Nginx comme serveur web et proxy inverse pour mes applications, optimisant les performances et gérant la terminaison SSL/TLS pour des connexions sécurisées.

Linux

Je maintiens un serveur personnel sous Debian, que j'ai configuré pour héberger divers services, y compris ce portfolio. Cette expérience pratique m'a donné une connaissance concrète de l'administration des serveurs Linux.