Technologies que j'utilise

Cuzeac Florin

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

React

Next.js

TypeScript

Tailwind CSS

MongoDB

PostgreSQL

Express

Fastify

Vous pouvez scroller de gauche à droite pour voir toutes les technologies.

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

1806 au total
(nombre de commits)
Environ 95.31%
en TypeScript
Environ 0.45%
en JavaScript
Environ 0.54%
en CSS
Environ 3.66%
en MDX
Environ 0.04%
en Shell

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

TS

(49.48%)

MDX

(13.21%)

Pug

(18.22%)

JS

(9.63%)

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 côté serveur (SSR) et de la génération de 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.

css

@tailwind base; @tailwind components; @tailwind utilities;

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

Pour la gestion des bases de données, j'utilise principalement MongoDB et Postgres. MongoDB est une base de données NoSQL 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 Copilot et 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.