Des technos prometteuses #1
Tags: webdev, watercooler, tooling, french
Published: 2022-02-08 07:09:25

Parmi toutes les technologies qui naissent chaque jour, parfois j'en identifie quelques unes qui pourraient remplacer ou complémenter les outils que j'utilise au quotidien. Quand c'est le cas je les mets de côté pour les suivre, me documenter à leur sujet et enfin les essayer. Dans cette article je vous partage une sélection de celles que je suis depuis quelques temps et que je testerai dans mes prochains projets. Il ne s'agit pas nécessairement de technologies très récentes mais plutôt du bon moment pour s'y intéresser.

## [Supabase](https://supabase.com/)

{% youtube dBOSUER_5T4 %}

Supabase est une alternative open source à Firebase. C'est à dire qu'il s'agit d'un service qui propose authentification, base de donnée, hébergement, stockage de fichiers et fonctions serverless. Côté client il propose une librairie pour se brancher sur la base de donnée sans avoir un serveur intermédiaire.

Ce que je trouve génial dans ce type de service c'est qu'il fournit tout ce qui est commun à presque tous les projets. En s'économisant l'implémentation de briques génériques, on peut se concentrer sur les fonctionnalités uniques à notre produit. Celles qui créent vraiment de la valeur.

Là où il faut être prudent c'est que ça crée une dépendance forte à plusieurs niveaux avec ce service, qui peut devenir dur à quitter. En l'occurence le risque est minimisé par le fait qu'il s'agisse d'un projet open source qu'il est possible d'héberger soit même. Mais quand même, ce n'est pas adapté à tous les projets.

## [GraphCDN](https://graphcdn.io/)

{% vimeo 563893703 %}

GraphCDN est un CDN qui répond aux problématiques spécifiques des APIs GraphQL. Le challenge principal tient dans le fait qu'une API GraphQL n'est servit que sur une seule URL. C'est le corps de la requête qui détermine ce qui est demandé et ce qui est attendu en retour. Pour qu'un CDN puisse faire de la mise en cache, il faut donc qu'il soit capable de comprendre ces requêtes.

C'est ce que propose GraphCDN. Dans l'idée ça veut dire qu'avec un cache bien fait, certaines requêtes de l'utilisateur n'arrivent jamais jusqu'au serveur. Ça permet d'avoir des requêtes plus rapides et de soulager la charge. Sur le papier l'idée est géniale, je suis quand même curieux de vérifier que ça ne devienne pas rapidement un cauchemar de configuration et de débogage.

## [Fathom](https://usefathom.com/)

{% youtube RN1BUVVgAi8 %}

Fathom est un service d'analytique pour le web. Pour rappel, ce type de service permet de savoir qualifier les visiteurs d'une page web pour détecter des usages et des comportements. Ces informations permettent ensuite de prendre des actions pour améliorer certains aspects d'un produit. Le géant historique du secteur est bien sûr Google Analytics.

Là où Fathom semble se différencier c'est d'abord parce qu'il est respectueux de la vie privée des utilisateurs. Ensuite le service semble proposer des analyses dont il est plus facile à tirer des actions. Là où Google Analytics est une vraie usine à gaz (parce que très puissant).

## [Planetscale](https://planetscale.com/)

![Capture d'écran du site de Planetscale](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4tv5z4ddi4fwzrpanrre.png)

Planetscale est une plateforme de base de donnée dans le cloud. Le service offre donc tout ce qui est nécessaire au bon fonctionnement d'une base de donnée comme des sauvegardes régulières et une mise à l'échelle facilité.

N'étant moi même pas très ops, j'apprécie particulièrement ce genre de service qui permet de déléguer cette partie. Le coeur même de l'application étant de fournir une base de donnée, on peut être tranquille sur le fait que les bonnes pratiques soient suivis.

## [Mantine](https://mantine.dev/)

![Capture d'écran du site de Mantine](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e73o7pujhj971h3wk6c7.png)

Mantine est une librairie de composants React comme il en existe plein. Si je m'y intéresse à celle-ci maintenant c'est parce que j'en entends parler de plus en plus et en bien. 

Et effectivement, Mantine propose de nombreux composants mais également des hooks. Ce qui veut dire que d'un côté on a plein de choses toutes faites et prêtes à l'emploi et de l'autre on a aussi la possibilité de construire soit même du plus spécifique avec les hooks. En revanche ce qui m'embête un peu avec ce type de librairie c'est la personnalisation. En l'occurence Mantine le propose via la modification du thème. Bien souvent ça reste limité, surtout sur des personnalisations structurelles.

## [Radix UI](https://www.radix-ui.com/)

![Capture d'écran du site de Radix UI](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q222gnzsv5n4r0u4shk8.png)

Radix UI est également une librairie de composants React, mais sans style cette fois-ci. De base les composants ont une apparence très basique, bien souvent celle du navigateur. Mais ils fonctionnent quand même en respectant les règles d'accessibilité.

Ce type de librairie est donc hautement personnalisable. Ce qui en fait un bon outil pour les équipes avec un designer. L'idée là encore c'est d'éviter aux développeurs d'avoir à re-développer des composants génériques en se ratant sur la gestion de l'accessibilité.

---

**👋 Restons en contact**

Je partage plein d'outils sur Twitter où j'annonce également les nouveaux numéros de cette série : [@gabinaureche](https://twitter.com/gabinaureche).