Menu avec les différents contenus et commandes

Une photo de moi
Une photo de moi

les technologies que j'utilise

Cuzeac FlorinCuzeac FlorinDéveloppeur web

Voici les technologies avec lesquelles je suis le plus productif, et avec lesquelles jedémarre chaque projet, sans me poser des questions.

React

Next.js

TypeScript

Tailwind CSS

React

Next.js

TypeScript

Tailwind CSS

React

Next.js

TypeScript

Tailwind CSS

React

Next.js

TypeScript

Tailwind CSS

Les principales technologies que j'ai utilisées sur ce projet sont les suivantes :

484 au total
(nombre de commits)
Environ 88.73%
en TypeScript
Environ 1.06%
en CSS
Environ 10.12%
en MDX
Environ 0.03%
en JavaScript
Environ 0.06%
en Shell

Les langages que j'ai le plus utilisé cette semaine, sont les suivants (en pourcentage d'utilisation) :

TS

(78.44%)

Pug

(12.41%)

JS

(3.80%)

SCSS

(1.72%)

1. Avec un framework plus orienté front (React et Next.js)

J'ai commencé à travailler avec React et Next.js en 2020, à la fin de mes études. Depuis, j'ai eu l'occasion de développer plusieurs projets professionnels et personnels en utilisant ces technologies.

Leur flexibilité et leur puissance m'ont permis de créer des applications web performantes et évolutives. Grâce à Next.js, j'ai pu tirer parti du rendu pu tirer parti du rendu côté serveur (SSR) et de la génération de sites statiques sites statiques (SSG), ce qui a considérablement amélioré les performances et le SEO de mes projets.

Quelques patterns super utiles et efficaces que j'utilise souvent avec Next.js, dans tous mes projets :

2. Avec un framework plus orienté back (Express ou Fastify)

Pour les projets nécessitant un backend robuste, j'utilise des frameworks comme Express ou Fastify. Express est un choix populaire grâce à sa simplicité et sa flexibilité, tandis que Fastify se distingue par ses performances élevées et son faible overhead.

Ces frameworks me permettent de créer des API rapides et scalables, tout en offrant une grande liberté dans la structuration du code et l'intégration de middlewares.

3. Design et interfaces (Tailwind CSS et shadcn/ui)

Construire des composants flexibles et accessibles est un défi. On peut soit utiliser (et étendre) une bibliothèque de composants, soit créer ses propres composants. C’est pour cette raison que j’utilise désormais shadcn/ui.

Cette bibliothèque propose des composants bien conçus et extensibles, basés sur des primitives accessibles et non stylées. Cela inclut des éléments de base comme des boutons et des champs de saisie, mais aussi des icônes, des graphiques, et même des thèmes personnalisés.

Pourquoi utiliser Tailwind CSS ?

Tailwind CSS est un excellent outil pour accélérer la création de sites web grâce à ses classes prêtes à l’emploi, permettant d’éviter d’écrire du CSS personnalisé.

On applique directement des classes aux éléments HTML, ce qui simplifie le design tout en assurant un style cohérent et un code plus lisible. Sa grande flexibilité permet de personnaliser facilement les styles via un fichier de configuration, d’ajuster les points de rupture pour le responsive et d’optimiser les performances en supprimant les classes inutilisées.

De plus, avec une large communauté et des outils comme Tailwind UI, il est facile de profiter de ressources supplémentaires, ce qui fait de Tailwind un choix populaire pour des interfaces modernes et efficaces.

4. Base de données (MongoDB ou Postgres)

Pour la gestion des bases de données, j'utilise principalement MongoDBet Postgres. MongoDB est une base de donnéesNoSQL qui offre une grande flexibilité grâce à son modèle de documents, ce qui est idéal pour les applications nécessitant une structure de données dynamique.

D'autre part, Postgres est une base de données relationnelle robuste et riche en fonctionnalités, parfaite pour les applications nécessitant des transactions complexes et une intégrité des données stricte. Ces deux bases de données me permettent de choisir la solution la plus adaptée en fonction des besoins spécifiques de chaque projet.

5. IA (v0, GitHub Copilot et ChatGPT)

Pour améliorer ma productivité et la qualité de mon code, j'utilise plusieurs outils d'intelligence artificielle comme v0, GitHub Copilotet ChatGPT.

v0 m'aide à générer des snippets de code en Front. GitHub Copilot fournit des suggestions de code en temps réel directement dans mon IDE, ce qui accélère le développement et réduit les erreurs. ChatGPT est utile pour obtenir des explications détaillées, des exemples de code et des solutions à des problèmes complexes.

Ces outils ne sont pas parfaits, mais ils représentent un gain de temps considérable et améliorent la qualité globale de mes projets.

6. Matériel que j'utilise (écosystème Apple)

Pourquoi j’utilise du Apple pour le développement web ?

En tant que développeur web, j’ai choisi l’écosystème Apple pour les avantages significatifs qu’il apporte à mon travail au quotidien.

  • MacOS basé sur Unix : MacOS repose sur un noyau Unix, ce qui est proche de l’environnement des serveurs web. Cela simplifie l’utilisation du terminal et des outils essentiels comme Git, SSH, et Homebrew, que j’utilise régulièrement pour gérer mes projets.
  • Compatibilité avec les outils de développement : Les environnements et frameworks populaires, tels que Node.js et Docker, fonctionnent de manière fluide sur MacOS. Cela me permet de tester mes applications web dans des environnements similaires aux serveurs de production.
  • Optimisation matérielle et logicielle : Les Mac sont réputés pour leur stabilité et leur performance, des qualités essentielles pour un travail de développement sans interruptions. Avec la puce Apple Silicon, je profite d’une performance accrue pour le multitâche et le traitement de fichiers lourds.
  • Support des outils de design : Travaillant souvent en collaboration avec des designers, j’utilise des outils comme Sketch, Figma, et Adobe XD, qui sont parfaitement optimisés pour MacOS. Cela facilite l’intégration des éléments visuels dans mes projets de développement web.
  • Écosystème unifié pour la productivité :L’intégration avec d’autres produits Apple comme l’iPhone et l’iPad me permet de synchroniser mes tâches sur tous mes appareils. Par exemple, Handoff et Airdrop facilitent le transfert de fichiers, et iCloud me garantit un accès rapide à mes fichiers essentiels, où que je sois.