Better Auth, la solution ultime pour l'authentification

Durée: 48m46s

Date de sortie: 30/10/2025

Dans cet épisode du podcast, nous plongeons dans un sujet qui touche absolument tous les développeurs : l’authentification. Cette partie de votre application devient vite un cauchemar dès qu’on veut faire plus que “email + mot de passe”. Nous allons parler de Better Auth, une librairie TypeScript qui promet de rendre l’authentification enfin agréable. Framework agnostique, elle vous apporte tout ce qu'il faut : 2FA, passkeys, multi-tenancy, multi-sessions, SSO... bref, tout ce qui fait qu’on finit normalement par pleurer dans la documentation ou à réinventer une roue carrée. Si vous voulez vous concentrer sur votre produit et arrêter de bricoler des flux d’authentification maison, cet épisode est pour vous. Retrouvez toutes les notes et les liens de l'épisode sur cette page : https://double-slash.dev/podcasts/better-auth/

Bonjour à tous et bienvenue sur ce nouvel épisode de Double Slash, bienvenue les devs.
Nous sommes avec Alex, comme d'habitude.
Salut Alex.
Salut Patrick, salut tout le monde.
Et donc, un épisode spécial, on va parler d'une solution.
Alors Alex, il n'y a pas longtemps, il me dit, j'ai utilisé une solution better
hot, c'est génial, il faut qu'on en parle, tout ça, il faut qu'on fasse un épisode.
Donc, ok.
Donc, on va parler de ça.
L'authentification, vous savez, c'est souvent assez complexe de mettre de l'authentification
sur un système.
Et il y a différentes solutions, token ou des providers comme GitHub, Facebook, Compagnie
ou alors le SSO, enfin voilà, il y a différentes connexions.
Donc, apparemment cette solution gère tout, c'est génial.
Et donc, Alex, tu vas nous parler de ça parce que moi en fait, j'ai pas lu la doc du tout,
je découvre avec toi.
Donc, tu vas nous expliquer ça.
Moi, je suis comme un auditeur en fait, je vais te poser des questions et voilà.
Carrément.
Et ce que tu veux, c'est le problème que j'ai rencontré, c'est mon client me dit, ok,
je veux faire ça, je veux faire ça, je veux faire évoluer mon système d'authentification
que j'ai pour mes clients, mais je voudrais aussi, c'est du bitoubit et je voudrais faire
du bitoubit, c'est-à-dire pour que mes clients puissent enregistrer les produits dans un
système de garantie et faire évoluer en fait.
Et là, j'ai été confronté au problème que le système d'authentification qu'on
utilisait a touché sa propre limite et en fait, et surtout, ils voulaient rajouter des
fonctionnalités, en fait, que le service que j'utilisais ne donnait pas accès.
En fait, il n'y avait pas cette fonctionnalité-là.
Et donc, je manquais un petit peu de souplesse sur les possibilités et ça me gênait.
Donc, je me suis mis en quête et j'ai changé mon point de vue pour être super honnête.
Pendant très, très longtemps, en fait, j'étais en mode, non, mais l'authentification,
c'est hyper critique.
Il faut utiliser soit une libre dédiée, soit un truc qui est vraiment solide.
En fait, je ne voulais pas faire mon authentification moi-même à la main.

Tu utilises quoi ? Tu peux nous dire ?
Non, je ne peux pas.
Héberger, tu passais par un cloud, un truc comme ça ?
Oui, exactement.
Je passais par un service cloud et je ne voulais pas, et en fait, il n'y a aucune évolution,
bien sûr, payant.
En fait, ça manque de flexibilité et ça manque d'évolution.
Par contre, évidemment, le système, il est robuste, il est béton.
Et c'est en ça, c'est même la raison première.
Pourquoi je suis allé sur des solutions auto self-hostées ?
Enfin, non, pardon, justement, pas celles hostées qui étaient chez un opérateur.
Tu mets ta carte bleue et tu payes à l'utilisateur actif.
Oui, tout le monde.
En même temps, c'est facile.
En même temps, c'est facile.
Tu connectes, tu voilà.
C'est super facile, sauf que des services comme ça, il y en a plein.
Et il n'y a pas toujours toutes les fonctionnalités qu'on veut sur le côté backend
et sur le côté frontaine, en fait, tu es obligé de te fader ton SDK côté front.
Parce qu'au mieux, on te donne un accès API, voilà, donc tu as tout endpoint propre.
Mais pour ton intégration côté front, parfois, tu as une librairie, parfois, tu n'as pas.
Donc, tu es quand même obligé de te fader toi-même un peu tout le taf.
Donc, il y a de plus en plus de solutions qui ont émergé.
Et on peut regarder, mais je pense à des solutions type SuperToken ou SuperBase,
ou HotZero qui marchent très, très bien.
C'est des acteurs qui sont là depuis très, très, très longtemps.
Il y a des nouveaux acteurs qui sont arrivés sur le marché type Clerk.
Voilà, en très, très, très peu de temps, en fait, tu as une solution tout intégrée,
donc aussi bien backend que frontaine.
Donc, tu as ta librairie, tu as même tes composants, tout.
Donc, ton authentification, elle se fait très, très, très, très, très, très vite.
Et tu as même des personnes qui utilisent SuperBase juste pour gérer l'authentification.
Ils n'utilisent que ce service pour gérer.
C'est bien.
Après, tu as des solutions type KeyClock,
où tu vas vraiment avoir ton IAM,
donc la gestion de ton authentification, tes droits, tout ça.
Mais c'est un service dédié que tu vas self-hoster.
Par contre, il n'y a pas toujours les fonctionnalités que tu as besoin.
Et moi, ça me dérangeait.
En fait, j'étais limité par ces fonctionnalités.
Je ne voulais pas me retrouver dans une deuxième situation,
une deuxième fois, en fait, avec quelque chose de bloquant.
Donc, le cahier des charges, en fait, était un open source.
En tout cas, activement en développement,
je ne suis pas bloqué sur un opérateur,
parce que sortir, c'est toujours compliqué.
En fait, je veux tout dans le meilleur des mondes.
Et c'est là où j'ai vu héberger, en tout cas, sortir Beterhaut.
Et j'ai commencé à lire la doc.
Ça commençait pas mal.
Et là, j'en parle à mon client.
Et je lui propose de faire un POC.
Et on voit que si on peut faire la migration,
comment on peut organiser la migration.
Et en fait, il est plutôt partant.
Et moi, plus je creuse et plus je découvre,
que c'est juste super intéressant,
parce qu'en fait, on a le meilleur des mondes.
On a le côté back-end,
avec une librairie solide,
qui a déjà une certaine maturité, qui est propre,
qui est hyper évolutive,
dans laquelle il y a la possibilité de la self-hoster,
soit sur mon projet front, soit sur mon projet back,
soit de manière séparée.
Et on va voir ça.
Et j'ai un SDK pour ma partie front,
en fait, avec toutes mes fonctions,
que je vais pouvoir gérer moi-même.
Et c'est là où je me dis, ça commence à être super intéressant.
Et donc, c'est là où j'ai changé mon plan.
J'ai un point de vue vraiment sur l'authentification,
parce que cette librairie, pour moi,
est la fusion entre...
Il y a une sorte de maturité entre la librairie open source,
la flexibilité, la sécurité, l'évolution possible,
et le côté où on n'est pas tributaire d'un opérateur.
Et c'est ça, en fait, qui me gênait le plus,
c'était d'être tributaire d'un opérateur
qui peut changer les règles,
et qui ne suit pas toujours les tendances marchées.
Là, en fait, on va le voir, il y a des systèmes de plug-in.
C'est totalement agnostique.
Donc, ça me paraît plutôt pas mal.
Après, de toute façon, je comprends le fait de passer
par un service cloud ou quelque chose comme ça.
Parce que l'authentification, c'est de la sécurité,
et c'est un point vraiment critique.
Et c'est vrai qu'en attendant, ça se repose sur un service tiers,
pour dire, eux, ils savent gérer, ils le font bien,
donc je me connecte, au pire, je paye,
mais je ne prends pas de risque.
Parce que c'est vrai que le nombre de sites qu'on entend pas tous les jours,
mais presque haqué, où on a volé les bases de données, etc.
Enfin, c'est quasiment quotidien.
Et c'est vrai que c'est un point hyper critique.
Donc, en tant que dev, surtout quand tu es un peu tout seul,
en friands sous une petite équipe,
tu n'as pas forcément le temps de développer
un système de tant de vérification,
tout ça, de sécuriser, donc tu te reposes vraiment sur des services tiers.
Ouais, et puis surtout, si tu le fais toi-même, ton système,
et c'est pour ça où j'étais contre pendant longtemps,
si tu fais ton propre module d'authentification,
il faut que tu le maintiennes,
il faut que tu le mettes à jour,
tout la sécurité, tout ça,
c'est des choses que tu dois gérer au quotidien.
Donc, si tu as ton propre service, tu dois gérer,
enfin, si tu l'as fait tout toi-même,
aujourd'hui, on peut le faire, on peut le faire soi-même.
Mais tu vas devenir responsable de beaucoup de choses,
donc il faut trouver, à mon sens, un juste milieu
entre la flexibilité, garder le contrôle, la sécurité,
et je trouve que BetterAuth, en fait,
t'as à trouver ce juste milieu qui me paraît un bon équilibre.
Ouais, ouais, et je te disais aussi, tu sais,
juste avant l'épisode, moi, je travaillais avec un client
qui utilise un SSO, enfin, un truc cloud, machin,
et on a aussi quelque chose qu'on n'y pense pas forcément,
mais on va inclure des librairies JIS dans le front
pour pouvoir connecter machin midule.
Et sur points clients, justement, ils utilisent,
je vais pas dire le nom du service,
mais la librairie front est plutôt assez lourde,
et en fait, du coup, on se la trimballe sur toutes les pages,
et on ne peut pas faire autrement.
Donc, voilà, il y a aussi ce point-là,
aussi, qui est un peu à faire attention quand même.
La perfe, quoi, la perfe.
Ouais, c'est ça.
Et donc, pour revenir sur Beterhaut,
il se présente vraiment comme framework agnostique.
Donc déjà, alors, OK, c'est du JIS, on est bien d'accord.
C'est du JIS.
Là, on n'est que sur du JIS, front et back.
Ouais, on n'est que sur du JIS, front et back,
mais que ce soit côté back ou côté front,
c'est totalement agnostique.
Donc, ça déjà, c'est un gros, gros point.
OK, tu vas pouvoir gérer tes accontes et tes sessions,
parce que c'est deux choses totalement différentes.
Tu as un système de rate limiteur.
Tu vas pouvoir faire du social signing.
Aujourd'hui, c'est devenu un standard.
C'est connaîté avec Google.
Non, mais c'est un truc de fou.
La friction que ça enlève.
La conversion, c'est clair.
C'est juste monstrueux.
Donc là-dessus, ça, c'est un must-have.
On est aujourd'hui, c'est obligé.
De l'authentification à double facteur,
c'est aussi devenu un standard
dès qu'on commence à avoir des notions de thunes ou d'argent
ou de données, en tout cas, qui peuvent être sensibles.
Beaucoup de clients vont demander
de donner la possibilité à leur client
de mettre une double authentification.
Donc, il nous faut intégrer ce système-là.
Et surtout, peut-être comment on peut rendre ce système
totalement résilient sur des futures fonctionnalités
qu'on ne connaît pas encore.
Parce que, en fait, le propre de notre job,
c'est que si le client,
il savait exactement ce qu'il voulait,
ce qu'il veut, ça serait tellement plus facile.
Mais là, parfois, ils ne savent même pas ce qu'ils veulent,
les clients.
Donc, c'est difficile d'anticiper des futures fonctionnalités.
L'avantage qu'on a, c'est qu'il y a tout un écosystème de plugins
qui répondent à toutes ces fonctionnalités dans la majorité des cas.
Mais au pire des cas,
on peut écrire nous-mêmes notre propre plugin pour venir étonner les fonctionnalités.
Est-ce que...
Juste un test, je pense à un truc, tu me parles de double authentification.
Tu sais, on a les...
Je ne sais pas si ça rend dans la double authentification,
mais je pense que oui.
Tu sais, les applications Authenticator, tu vas acheter ton code pour t'écoller.
Ça s'agère, ça, aussi, Véterrote.
Oui, en fait, c'est ça, le système de double authentification.
Oui, c'est ça, un double authentification.
Donc, tu vas créer, tu vas connecter,
tu vas mettre ton espèce de QR code,
ça va faire un aller-retour.
Et oui, c'est exactement ça.
Ça, je reçois.
Exactement.
Et donc, le concept de base, en fait,
c'est dissociation de...
Donc, tu vas avoir un better-hôte côté back
et un better-hôte côté client.
Et donc, soit tu vas le mettre sur la même instance
parce que ton application gère les deux.
Donc, tu...
Par exemple, tu as un Next.
D'ailleurs, petite information,
mais le projet Auth.js,
qui est souvent utilisé avec Next,
en fait, est venu se rattacher, en tout cas,
à fusionner avec better-hôte.
Et donc, ça, c'est plutôt bien
parce qu'il y a une sorte d'homogénisation
sur toutes les librairies d'authentification.
Et on arrête d'avoir plein d'acteurs
et tout se centralise,
mais pour le bien,
parce que ça reste open source,
ça reste accessible.
Et plus il y a de monde qui participe au projet,
et mieux c'est.
C'est clair.
Mais le concept, c'est qu'on va vraiment avoir
les deux parties.
Et ça, que ça soit, en fait,
soit côté backend tout court.
Donc là, ils ont déjà des exemples
pour Nitro, pour Fastify, pour Express,
pour Nest.js.
Voilà, on va pouvoir en fait
gérer et intégrer automatiquement,
en fait, de manière assez facile,
Auth.js sur la partie backend,
ou alors, pour tous les librairies,
dit full stack,
donc je pense Astro, Remix, Next,
Nuxt, Svelkit, Tanstack, tout ça.
En fait, on va installer
l'instance de better-auth
et on va l'utiliser côté back
et on va l'utiliser côté front.
Mais on peut aussi dissocier les deux.
Et personnellement,
moi je l'ai dissocié parce que mon service d'autre,
il va être utilisé sur différentes applications.
En fait, j'ai fait une sorte de micro-service
d'authentification avec better-auth.
Du coup, tu as appris un Nitro
et puis tu as fait un micro-service.
Évidemment, que j'ai pris Nitro,
tu crois pas que j'allais prendre Express quand même ?
Ouais, on va pas reparler de ça.
Donc ouais, c'est cool.
Attends, je répète pour ceux qui sont
un audio, parce qu'on a des gens qui sont un audio aussi.
Donc ouais, beaucoup de frameworks front aussi.
Les plus connues en tout cas,
Next.js, Nux, tout ça.
Et en back, ouais, en JDS, de toute façon,
ça gère quasiment tout, Express, Ono, tout ça.
Donc ouais, propre.
Et pour l'instant, c'est compatible avec beaucoup de choses.
Exactement.
Et il y a aussi un autre point qui peut être délicat.
C'est, ah ouais, mais moi,
je veux utiliser ma base de données.
J'utilise ma base de données.
En fait, on veut contrôler ces utilisateurs
et surtout, on voudrait faire évoluer.
Par exemple, le user account ou des choses comme ça,
on voudrait introduire des champs qui nous sont propres
à notre business logic.
Sauf qu'il y en a en fait qui sont utilisés que pour l'authentification.
Et donc là, en fait, le système better out,
il y a donc une CLI qui va nous permettre de dire,
OK, tu vas instantier le projet.
Sur quel DB tu vas te connecter
et que on soit sur MySQL, SQLite, Postgre ou Microsoft SQL.
En fait, on va pouvoir utiliser Better Out.
Et ça va automatiquement via ce qu'ils appellent un adaptateur.
Et donc, c'est Drizzle ou Prisma ou Mango DB.
On a vraiment tous les adaptateurs possibles.
Pour en fait, justement, aller se connecter à n'importe quelle base de données.
Et au moment où on va faire Better Out, Migrate et Generate,
donc ça va générer le schéma et ça va faire des modifications,
ça va lancer le script de migration sur la base de données qu'on a choisi.
Et on va pouvoir en fait étendre nous-mêmes,
si on veut rajouter un champ spécifique dans notre business logic,
on va pouvoir le faire.
Et donc, c'est là où ça reste hyper, hyper, hyper flex.
Ouais, carrément.
Tu peux te connecter aux principales bases de données.
Oui.
Donc ça va te créer ta base user, tout ça, avec tout ce qu'il faut.
Et après, derrière, tu peux rajouter des colonnes que tu veux d'âte d'anniversaire, etc.
Donc tu n'as qu'une seule table user,
plutôt que d'avoir une table user avec connectée, avec ton cloud.
Exactement.
Et je ne sais pas si tu l'as déjà fait, mais sur le projet en question,
moi, j'avais ma table user de mon authentication et j'ai une table client,
enfin que je ne voulais pas nommer user, mais que je voulais utiliser client.
Et donc, en fait, j'avais un système de synchronisation,
c'est-à-dire à chaque fois que j'avais un nouvel utilisateur qui se connectait,
je crée en fait via un système de hook.
C'est après la création d'un nouvel utilisateur,
tu viens aussi créer le client associé et tu fais l'association.
Mais là, en fait,
Tu avais double on, en fait.
Ouais, voilà.
Mais tu vois, il y a une sorte de double on,
mais parce que c'était le user de l'authentification,
ce n'est pas le même client que là, en fait, avec ce système-là,
ok, on synchronise tout et on utilise les mêmes données.
Ça évite de faire cette gymnastique qui était propre.
Et donc, ça, c'est vachement plus facile et plus clean, en fait.
C'est vachement plus light.
Et la petite CLI marche super bien, super facile à intérer.
Ça se connecte aussi sous nos yeux, la vidéo.
C'est les cloud providers aussi de DB aussi.
Oui, absolument.
Absolument.
En fait, si vous êtes sur des bases de données hébergées,
il y a déjà, en fait, des plugins soit officiels,
soit qui sont drive par la communauté,
donc bien distinguer ceux qui sont propres à better haute.
Et on va dire, celles-ci,
enfin, ces plugins-là sont officielles.
Et après, vous allez avoir une communauté qui a écrit
leur propre adaptateur selon, en fait,
du Cloudflare D1, du Neon, du Gizana, du Clickhouse,
tout les opérateurs.
Donc, objectivement, pour ne pas trouver son bonheur,
il faut commencer un petit peu à être de mauvaise foi quand même.
Oui, disons que là, pour l'instant,
ça s'intègre à tout au principe ofameworkfront, back.
Et au base de données,
enfin les plus disées,
donc il n'y a pas de frein à l'utiliser à ce niveau-là.
Absolument.
Absolument.
Et pour le coup,
sur l'authentification,
en fait, on va avoir le système basique e-mail password.
On va dire, ça, c'est le truc un peu hyper classique.
Et on va avoir évidemment tous les SSO de
de signing social avec Apple, avec GitHub, avec Google, TikTok, Switch, Twitter.

Et natellement, on n'a pas de toxicité.
Quasiment, voilà.
Il n'y a aucun frein sur le connect with machin.
Il y a grande chance que ça soit déjà en place et que ça marche.
Il y a tout en fait.
Je pense qu'il y a tout.
Il y a tout en fait.
Figma même, alors je ne sais même pas comment on peut se connecter avec Figma.
Mais Figma, tu t'es connecté avec Google aussi, tu vois.
Donc, enfin, mon qu'importe quoi.
Ouais, c'est le truc qui est un peu ce mort là que.
Par contre, un truc que moi, je trouve vachement, vachement bien,
c'est que cette libérée, en fait, un système de hook,
c'est que dans ton instance, en fait, de ton de ton de ton bet au reau,
tu vas déclarer en fait un système de hook.
Et donc, les hooks, c'est des points de passage.
En fait, à tel moment, en fait, je vais demander d'exécuter du code.
Donc, tu as toutes les fameux before action ou after action.
Et donc, tu as plein d'actions qui sont qui sont listées.
Et tu vas pouvoir en fait interagir et exécuter ton propre code
pour faire soit ta vérification, soit tu veux envoyer un email, par exemple.
Et bien, tu vas pouvoir en fait le faire.
Il y a déjà, en fait, des hooks qui se sont qui se sont un qui ont été introduits
sur lequel tu vas pouvoir envoyer tes informations, tes SMS
ou une inscription à double base de données
ou tu veux créer une configuration par défaut.
Voilà, après, ça, c'est le propre du métier.
Mais ce système de hook, en fait, nous permet d'avoir vachement plus de
flexibilité et de pouvoir interagir,
faire ce qu'on veut au moment où on le veut.
Donc, c'est grande, grande, grande, grande flexibilité.
On parlait des emails.
Évidemment, si on veut faire une validation du compte via un email,
il va falloir qu'on rentre les informations de notre opérateur d'email.
Parce que, pour le coup, c'est pas better autre qui va envoyer l'email.
On va utiliser notre propre API et notre donc soit
brevaux, ricens ou le service de
en tout cas, le facteur pour qu'on puisse envoyer directement les emails.
C'est un système qui a déjà été pensé.
On a aussi de manière de manière par défaut, en fait.
On a une sorte de rate limiteur pour éviter de se faire taper
dans tous les sens.
Les attaques par dictionnaires.
Par exemple, exactement.
Là, en fait, on va de manière native.
En fait, on va faire un petit rate limiteur.
Est-ce que je l'active ou pas?
Et surtout, quelle valeur je lui donne sur la fenêtre,
le nombre de requêtes?
Voilà, on va pouvoir en fait vraiment interagir.
Est-ce que je me base sur l'IP?
Est-ce que je me base sur?
Voilà, il y a plein de possibilités.
En tout cas, on a la possibilité d'interagir avec
avec avec ce son bloquer les bottes ou tout comme ça.
Ça, c'est pratique.
Exactement.
On parlait de de de de de de de de de de de de de de de de de de de de de de de
de de Christ.
Et là, on aussi화를 s'sagning.
Mais les entreprises, les interpris.
Elles vont vraiment être sur du, du du SSO et et ça, en fait,
c'est quasiment indispensable pour eux.
En tout cas, ils ne seront pas prêts à faire le pas,
si ils n'ont pas cette cette fonctionnalité là.
Bien joué.
Beterhaut en fait l'a déjà intégré sous un système de plugins et on va revenir là-dessus
mais d'outre façon c'est un peu le concept chez Beterhaut c'est on va avoir un corps et après on
va étendre les fonctionnalités que l'on veut via un système de plugins qui vient avec leur propre
configuration et si je n'ai pas besoin d'installer le SSO, je n'installe pas et puis basta j'ai un
système un petit peu plus maigre mais qui au moins a l'avantage de fonctionner et j'installe
uniquement ce que j'ai besoin de quoi. On va peut-être expliquer ce que c'est le SSO pour des
personnes qui ne sont pas au courant en fait souvent s'utiliser l'entreprise c'est simple c'est un
système d'authentification qui est unique pour différents services donc par exemple une entreprise
à différentes applications et tu vas toujours passer par le même système d'authentification qui va
te connecter à différentes applications séparées en fait et souvent les entreprises veulent ça
pour simplifier avoir qu'un seul une seule base de données pour tout et avoir plus de sécurité
donc c'est souvent demandé par les entreprises. Et ça marche plutôt bien sur Beterhaut ?
On parlait de double authentification de la même chose ça va être un plugin qu'on va venir
ajouter et spécifier si on veut pareil on a un plugin pour gérer les numéros de téléphone donc je vois
pour toutes les apps mobiles en fait. One time password. Exactement on va avoir une
authentification pour valider le code. Avec un code tu reçois par SMS. Exactement et on va
avoir aussi les magic links en fait où au lieu de nous mettre un mot de passe en fait ça nous
envoie un email et dans cet email en fait en cliquant sur le bouton de l'email on arrive
automatiquement à s'authentifier et ce qui évite pour les personnes qui ont beaucoup de mal avec
les mots de passe c'est un système qui marche. Ça c'est pas mal pour éviter d'avoir des mots de
passe pourri dans ta base de données. Mais les gens n'aiment pas forcément. Exactement mais en fait
ça pour le coup c'est vraiment soit les gens sont complètement fans soit ils voient pas l'intérêt.
J'ai voulu sur un truc là que je suis en train de faire j'ai proposé me dire non je déteste ça
moi je veux un mot de passe c'est bon. Mais en fait le problème c'est que nous ou le client
n'est pas c'est qu'en fait notre client donc le prescripteur du projet le porteur de projet
lui il va mettre ses propres règles selon son propre schéma mais son propre schéma n'est pas
le schéma de ses clients et donc c'est là où il faut faire preuve un minimum d'empathie de dire
ok mais mes clients ils veulent quoi et donc construire un site à son image oui mais en
prenant en compte la réalité de ses clients ça me paraît important. On est d'accord mais bon
c'est ça reste lui qui décide. Oui et à la fois c'est lui qui fait le check de toute façon
donc voilà c'est lui qui paye donc c'est lui qui décide on est d'accord. Après c'est à toi aussi
en tant que pro à mon avis d'essayer d'initier cette mentalité là et de lui dire que attention
vous avez un pied quoi vous pensez à une certaine manière mais vos clients ne pensent pas cette
manière là. Un autre truc qui est vraiment super sympa aujourd'hui c'est les pas skis alors tu vas
dire ouais mais les clés fidot ou les choses comme ça. Non mais non ça le gère maintenant sur le
Mac et tout. Exactement aujourd'hui quand tu utilises ton finger touch là mais c'est un truc qui est
aussi beaucoup sur PC. Oui sur PC bien sûr. Ton visage je crois sur Windows il me semble. Mais sur
les mobiles. Sur les mobiles. Oui forcément. On a le touch où on a le face ID sur les personnes
qui sont sur Apple mais ça c'est des systèmes d'authentification qui marchent qui sont très
appréciés et donc ajouter cette type de fonctionnalité dans ton système d'authentification vient
vraiment en fait augmenter la qualité de service l'expérience. C'est un super truc honnêtement mais
parfois je pense que sur des utilisateurs comment dire l'AMDA c'est pas très simple en fait quand
l'authentification leur demande de valider le pas ski ou un truc comme ça il faut comprendre il faut
avoir mon doigt pour l'empreinte c'est pas forcément très intuitif en fait je trouve mais après
c'est vrai que c'est top. Alors sur PC en fait pardon sur desktop donc sur ordinateur je suis d'accord
avec toi l'expérience est pas ouf et elle est plus complexe. Par contre à l'inverse sur mobiles
la validation via pas ski tout le monde a associé le face ID ou le touch ID ou avec mon doigt ça
ça marche beaucoup mieux et donc en fait c'est beaucoup plus facile et compréhensible pour ma
mère moi je prends toujours l'exemple de ma mère mais si ma mère elle arrive à se connecter avec
son face ID elle me dit oh non mais c'est vachement bien j'ai pas de mot de passe c'est parfait voilà
et ben ça ça marche par contre faire la même expérience sur ordinateur c'est beaucoup plus
compliqué oui c'est vrai que sur mobiles t'as raison enfin en tout cas sur iphone quand tu tombes
sur iphone sur ça t'as même pas réfléchi que en fait le téléphone prend déjà ton visage et
c'est déjà validé donc c'est vrai que sur iphone c'est top sur desktop. On est encore on est encore
assez loin assez loin donc donc non non ça c'est pas mal ça prend ça aussi ouais ça gère cette
fonctionnalité là donc tu peux l'étendre ce n'est pas natif c'est via un plugin et et tu peux c'est
quand même super cette histoire de plugin parce que finalement tu as le système de base et après tu
rajoutes les fonctionnalités que tu veux c'est vraiment top franchement c'est non pour l'instant
je trouve que c'est assez bluffant comme on est non non non c'est vraiment vraiment top et le système
d'admine le système d'admine en fait bah tu vas pouvoir en fait opérer en fait et créer des
des admins où tu peux lister tes admins où en fait pour pour la simple et bonne raison moi je vois
mon client il est un peu tech et donc il aime bien trifouiller il aime bien avoir des infos et
lui il veut avoir une vision globale quoi il veut il veut savoir combien il y a de personnes qui sont
sur qui se sont connectés et surtout est ce qu'il y a des clients dormant en clair des mecs qui
sont pas connectés depuis un certain temps bah soit il les appelle soit il les relance mais en tout cas
il a besoin d'avoir accès d'accéder à ces données là et bah ce système en fait d'admine va lui
permettre en fait de visualiser ou en tout cas de requêter des informations qui sont de type admin
et il peut il a des fonctions pour ban ban des users pour révoquer des décessions ou des choses
comme ça donc là ce qu'on voit là parce que là on voit autre client point admin ça c'est donc
c'est la librairie tu vas appeler ces fonctions qui vont appeler les url qu'on voit juste au dessus
admin remove user exactement exactement des serveurs ça crée aussi les routes c'est toi qui
c'est magique si si si c'est que en fait au moment où tu vas déclarer ton plugin admin
ça tu derrière tu vas lancer la fameuse si elle aille qui qui dit migrailles donc ça va te générer
un fichier de migration derrière ça va le générer et ça vient modifier ton schéma dans ta table
pour ajouter toutes ces fonctionnalités et ça vient générer ton SDK qui va te permettre en fait
depuis ton interface client donc côté fronte en fait tu vas aussi ajouter le plugin spécifique et
sous couvert que ton client donc que la perte que ton login password à les droits en tant que admin
tu lui a autorisé les droits d'admin il va pouvoir en fait exécuter toutes les fonctions
qui sont avec le haute point admin donc en clair c'est tu tu tu fais un espèce de dashboard que
t'appelles une heure admin uniquement les personnes qui sont admins vont avoir le droit d'accéder à
dashboard donc ça tu vas le gérer dans ton application et après tu vas envoyer des tu vas
exécuter en fait des des des requêtes via cette fonction qu'on voit à l'écran donc qui est
haute point admin mais t'as un deuxième t'as une deuxième sécurité c'est à dire qu'au moment
où la personne va exécuter ce code là on va aller inspecter son token sa session
oui c'est est ce que c'est si il peut faire exactement et donc on va aller regarder s'il a
les autorisations d'exécuter ces informations là et donc donc c'est top parce que la gère
tout ça alors un espèce de dashboard que t'as fait et donc non tu n'es tu n'es pas venu créer
toutes les routes à la main ça se fait le bon l'angle et serveur juste pour voir ce qui est
qu'est ce qu'on a on a à peu près la même chose en fait oui alors et oui c'est utilisation côté
serveur côté clire ok d'accord exactement parce que de la même manière peut-être que tu vas vouloir
en fait mettre je sais pas par exemple tu veux tu veux créer un espèce de wrapper chat gpt ou
wrapper un ia et bah il te faut créer un un une api une clé api et bah tu vas avoir en fait un
plugin qui va qui va gérer ça sauf que celui ci il va il va interagir côté front et côté
back donc c'est pour ça que tu vas avoir en fait les deux toujours les deux parties alors attend
parce que je vois je vois attend attend avant de tu cliques dessus je vois un onglet mcp ne
pas que ça gère les autorisations mcp puisque c'est c'est le point crucial au niveau des mcp
c'est de quand tu les gens font des actions en fait il faut qu'ils aient les droits de le faire
est-ce que ça gère ça sur tes routes mcp qui a tué ma tuer là en fait c'est vraiment le truc
ultime en fait c'est tellement beau que c'est du mal à j'ai du mal à y croire en fait ça fait vraiment
tout et pour le coup pour le coup ça j'ai pas testé je jouais encore avec mais en tout cas
ils ont intégré cette fonctionnalité là et ça et ça c'est quand même assez assez puissant il y a un
autre truc qui est qui est super intéressant de voir et c'est ce que tu me disais tout à l'heure
et ça vient générer les routes automatiquement oui ça vient générer les routes automatiquement
et en fait aujourd'hui il ya un standard qui existe qui s'appelle open api et ça vient en
fait inspecter toutes tes routes et ça vient générer un énorme fichier json et ce fichier
json là en fait il correspond à un standard qui est le standard open api et il y a toutes ces
références qui sont à l'intérieur et quand tu navigues selon une adresse qu'on t'a donné tu vas
voir en fait directement la doc mise à jour automatiquement et tu vas voir toutes tes endpoints
les paramètres qui ont besoin tout va être géré automatiquement et donc ça c'est super
intéressant parce que tu peux voir visuellement en fait tu as une vision globale de qu'est ce que la
librairie t'a généré automatiquement à générer en fait tous les endpoints avec tous les paramètres
qui vont bien quoi donc soit tu n'as pas géré ça tu me parlais de Scalar tout à l'heure exactement
alors Scalar en fait d'achbord exactement pour ceux qui nous voient en fait souvent des librairies
en fait on va voir ces types de doc quoi et donc on va avoir l'intégralité des endpoints avec toutes
ces informations on va pouvoir faire des recherches on va pouvoir si c'est des postes des guests et on
va pouvoir en fait exécuter les séroquettes en mode test donc on va générer on va mettre ces clés
à pays et on va pouvoir exécuter directement donc ça c'est un service en plus on est bien d'accord
ce qu'il faut comprendre c'est que better hot va te générer ton fichier open API et après c'est à
quoi tu le branches tout ça ouais mais c'est vachement bien sur sur ton sur ton sur tes IA si tu
lui donnes le fichier open API un agent peut facilement utiliser les bonnes routes qui vont
bien oui oui bah écoute bon il y a encore plein de trucs qu'on va passer surtout mais c'est assez
incroyable je vois stripe c'est quoi stripe et il se connecte c'est quoi le principe il se connecte
alors en fait tu l'as utilisé ça non je n'ai pas utilisé stripe par contre j'ai écrit non non
je n'ai pas utilisé ce que le client n'utilise pas des services de paiement par contre ce qui est
cool c'est que avec stripe souvent en fait le problème tu vas c'est qu'il faut créer ton client
côté stripe donc une solution qu'on qui était souvent mis en place c'était ok bah à la création
d'un login et bah tu viens créer le client côté stripe comme ça au moment où il fait son achat ou
son abonnement et bah en fait le client est déjà créé ou tu fais le choix de créer le client côté
stripe au moment où il s'abonne voilà et bah là en fait avec ce petit système il vient
automatiquement synchroniser tes clients stripe et les clients de better route wow out of the box
c'est tellement magique c'est et ce qui est super bien c'est que quand tu vas quand tu vas gérer
tes abonnements par exemple tu vas les gérer côté stripe et bah tu vas les récupérer côté
côté de l'autre côté donc franchement c'est ouf parce que tu vas avoir la tout ton système de
de de de de gestion et des des des abonnements des teams des qui sont propres à stripe vont être
directement intégrés dans ton système de better route et donc tu tu vas éviter en fait de faire
du câblage à la main ça va le faire pour beaucoup beaucoup de choses ça va le faire tout
de tout seul quoi ok ça c'est fou en fait là ça fait beaucoup mais c'est ça c'est fou cette
cette cette ce ce package ce projet cette librairie qui va qui fait énormément de choses en fait c'est
elle est vraiment pas mal j'avoue que je connaissais pas je et c'est là où et c'est là où tu vois
moi j'ai un peu le sentiment qu'on arrive sur sur une solution ultime parce que j'ai toute la
liberté de faire ce que je veux avec les évolutions j'ai pas besoin de telle plug-in j'ai pas besoin
de plug-in je veux mettre un birer token j'ai un j'ai un j'ai un plug-in pour ça je veux mettre du
jwt parce que mon système utilise ce que j'ai une autre api qui utilise le jwt voilà tout ça
je vais pouvoir l'augmenter en fait au fur et à mesure je suis propre de ma propre base de données
je suis pas bloqué par un opérateur je peux le gérer comme je veux je crois que la dernière
mise à jour elle date de deux il ya deux jours voilà ouais ouais c'est bien il a été mis à jour il ya
deux jours donc ça veut dire que ça évolue il ya des systèmes de de de poule request qui sont
qui sont en place il ya des issues il ya du monde qui ont travaillé qui ont qui ont travaillé là
dessus donc clairement tu sais pas tu vois c'est pas le truc un peu hype où j'étais étonné je
disais tout à l'heure c'était que je voyais pas de sponsor de type netlify versel et compagnie
tous les gros cloud provider alors peut-être qu'ils ont pas aussi intérêt à ce que des
systèmes comme ça se montrent puisque ils proposent aussi des trucs de connexion peut-être
mais clairement là c'est c'est un beau projet communautaire open source et là c'est beau
non non c'est vraiment top et la doc est ultra ultra ultra ultra bien faite toute façon aujourd'hui
voilà ça fait partie du des des des standards on se doit d'avoir une base une base de
documentation hyper hyper propre et c'est hyper hyper complet elle est on suit le get
started ça marche quoi tu me disais qu'ils avaient projet éventuellement de faire du cloud
aussi eux oui ça non et absolument et en fait ils ont ce qui est normal ce qui ce qui donne
une pérennité au projet aussi s'ils arrivent si eux derrière ils arrivent à faire du business
tout en restant avec le projet open source c'est intéressant pour nous parce que ça veut dire
que le projet va durer dans le temps exactement et en fait c'est ok là nous on va vous sortir de
toutes ces de toute la problématique de admin analytics sécurité storage tout ça nous on
gère tout ça pour vous avec les les emails les la fraude la la les blocages et tout ça
vous gérer pas l'infrastructure nous on gère l'infrastructure pour vous et donc c'est leur
projet et je pense que c'est c'est comme ça qu'ils vont gagner de l'argent en fait en fait en
gros le better out reste open source et eux ce qui propose c'est l'infra voilà ouais exactement
et ben voilà donc ça reste deux projets séparés du coup c'est voilà et ça reste open source
oui oui exactement et puis surtout bah on va donner un accès admine avec un dashboard déjà déjà
en place alors que là c'est moi qui me suis fadé tu vois donc il ya voilà il y a toujours des
avantages et des inconvénients mais moi ce que je vois surtout c'est que on n'est pas vendeur
loc quoi enfin tu vois moi c'est ça qui me fait peur aujourd'hui c'est je me sens bloqué par mon
opérateur et en clair il me tient par les par ce qu'il faut et j'ai pas le choix de de de de de
changer et si il change la politique tarifaire bah je n'ai pas le choix que bah de quoi ce qui
s'est déjà passé d'ailleurs sur oui sur des providers et ça coûte relativement cher en fait
après ils vont payer par utilisateur des trucs comme ça c'est exactement ça et ça devient vite
cher quoi donc très très cher et ça c'est pas c'est pas cool c'est pas cool du tout donc franchement
peter haute c'est pour moi je pense qu'on on on atteint un niveau de maturité qui est assez
intéressante sur l'authentification le bon compromis entre tout ça c'est que du js on est complètement
d'accord c'est dans l'écosystème js il y a chaque écosystème va avoir sa solution un peu
d'authentification je sais que toi tu es tu fais beaucoup de la ravelle il ya déjà un système qui
marche très très bien et donc là je je m'y aventurais pas par contre la grosse puissance de
de better route pour moi c'est le côté front et le côté bac avec toutes les api et c'est le même
système des deux côtés et donc il ya ça communique toujours parfaitement entre l'un et l'autre et
ça c'est hyper c'est plaisant quoi c'est très plaisant non c'est clean c'est clean et ça fait
plaisir tu vois de je pense qu'on atteint de maturité peut-être au niveau de l'écosystème
js ts là où on voit que les projets se sont regroupés sur un seul pour faire voilà un truc
super propre communautaire etc donc on a peut-être atteint aussi un niveau de maturité intéressant au
niveau de l'écosystème js pas mal clairement clairement écoute patrick on en reste là pour
pour better route ouais belle découverte merci d'avoir plaisir plaisir à grand merci pour
tous ceux qui sont restés jusqu'au bout de l'épisode pensez à mettre un petit petit like
un petit commentaire partagez la bonne parole de pour aller propager et étendre l'information
de double slash un grand merci pour tous les sponsors qui peuvent le faire sur github sponsor
un grand merci à vous et on vous dit à bientôt pour d'autres épisodes ciao ciao

Les infos glanées

Je suis une fonctionnalité encore en dévelopement

Signaler une erreur

DoubleSlashPodcast

Double Slash, un podcast sur le développement web. Retrouvez-nous régulièrement pour parler de sujets variés tels que la JAMStack, l’accessibilité, l’écoconception, React.js, Vue.js, Next.js, Nuxt.js, le CSS et des retours d’expériences sur des implémentations.
Tags
Card title

Lien du podcast

[{'term': 'Technology', 'label': None, 'scheme': None}, {'term': 'Technology', 'label': None, 'scheme': 'http://www.itunes.com/'}]

Go somewhere