J'adore vraiment ton style, vraiment sur cette chaine je ne suis que sur NestJS et c'est tres propre d'avoir une chaine pour ca, et tres bien faite. je te rejoins, "Algomax"
Hello there ! J'ai vue de la lumière , je me suis permis d'entrée 😆. Plus sérieusement, je suis curieux de la techno nest.js et j'ai découvert ta chaine. Ta vidéo est au top 👍!
Merci pour cette vidéo. Dommage pour PlanetScale, pas envie donner mes n° de CB à tous ces services. Y aurait possibilité d'utiliser XAMPP pour MySQL ? Si oui, comment ? Bonne continuation.
Hello, good tuto! Hmm, j'ai une petite question, je vois que tu as utilisé les presigned url de S3, je voudrais savoir comment tu fais pour gérer l'expiration de l'url utilisé pour download/afficher l'image stockée sur S3?
Bonjour Mohamed, merci pour le commentaire. Pour gérer l'expiration, ce qui est fait actuellement c'est que nous générons une nouvelle Presigned URL à chaque chargement de la page par un utilisateur. Comme l'URL est générée à chaque fois, elle est fraîche et l'utilisateur n'a aucun risque d'appeler une URL expirée. Comment ferais-tu pour optimiser cette logique ?
@@algomax-dev Merci de ton retour! Pour optimiser ta logique, je mettrai peut etre en place un stockage cache coté client et verifier la validité de l'url avant de générer une nouvelle. Car avec ton approche, on peut se retrouver a faire des calls pour générer une URL inutilement (si l'url courante n'est pas expiré autant continuer à l'utiliser meme si la page se charge). Hmmm, dis moi quelle est la durée de validité de l'url? Si celle-ci est short, toujours avec ta logique, je l'augmenterai. Keep in mind que le max c'est 7 jours
Bonjour, j'ai 4 années d'expérience mais je pense que tu n'as pas besoin d'autant d'années pour développer une application NestJS et Remix. Je te conseille de pratiquer et de build avec la même techno, plusieurs projets sans regarder de tuto à côté (entraîne ton cerveau à te souvenir de la syntaxe)
@@garius3559 dans cette stack là, il n’y a pas moyen de forcer l’expiration du token. Il a une date d’expiration de une fois expirer, il faut en régénérer un nouveau via le formulaire de login
@@algomax-dev Je demande parce qu'actuellement, je suis en train d'apprendre nest js et j'essaie de connecter cette API à une application mobile et j'aimerais implémenter le refresh token de telle sorte que l'access token se génère sans besoin de se reconnecter.
@@garius3559 Exact. À chaque connexion, tu appelles ta route NestJS qui génère un nouveau token. Mais les anciens tokens générés pour cet utilisateur ne sont pas expirés. Ils existent encore côté API (donc l'API autorise tout appel signé par ce token). C'est côté front qu'on "oublie" le token (en vidant le cache par exemple) et c'est plus simple de regénérer un token que de retrouver le token oublié. Généralement on ne sauvegarde pas le token en base de données.
@@garius3559 Généralement, le token expire soit parce que : l'utilisateur est resté connecté 30 jours (ou a dépassé la durée d'expiration), soit parce qu'il a cliqué sur " se déconnecter ", soit parce qu'il a vidé le cache, l'asyncStorage, ou la base de donnée locale dans laquelle il avait enregistré ce token de connexion. Pour les deux derniers cas, tu n'as pas moyen de refresh le token : S'il est inaccessible "côté front" ou "côté mobile", tu dois en regénérer un nouveau (en te connectant). Mais avec le premier cas, je pense qu'il y a moyen de récupérer la date d'expiration du token JWT, et de faire une demande de refresh. Par contre dans ce cas là, tu n'appelerais pas la route login avec identifiants / mdp de l'utilisateur (car tu ne le connais pas), mais tu identifierais l'utilisateur toi même grâce au token sauvegardé (côté client). Le client récupère donc son token, regarde si le token expire bientôt. Si oui, il lance une requête sur une route protégée qui prend en entrée le userId, et renvoie un nouveau token. Ensuite, tu vas remplacer le token sauvegardé dans l'asyncStorage. Et ça devrait être bon.
Hello moi je n'ai pas la base de donnée gratuite sur ton appli :(
Pourquoi?
Hello ! Malheureusement ils ont retiré le tiers gratuit : il faut passer chez neon.tech
La solution se trouve à 5:00:30
@@algomax-dev j’ai utilisé l’alternative avec mysql et wamp ça devrait bien marcher aussi je pense non?
Merci :)
Ayant déjà fait pas mal de dev sur Fastify et Hono, ce walkthrough avec NestJS est vraiment pas mal 🎉
Merci !
J'adore vraiment ton style, vraiment sur cette chaine je ne suis que sur NestJS et c'est tres propre d'avoir une chaine pour ca, et tres bien faite. je te rejoins, "Algomax"
Hello there ! J'ai vue de la lumière , je me suis permis d'entrée 😆. Plus sérieusement, je suis curieux de la techno nest.js et j'ai découvert ta chaine. Ta vidéo est au top 👍!
@@nearweb8133 ça fait plaisir ! assieds-toi confortablement et profite !
Merci beaucoup pour ce contenu qualitatif 👏👏👏👏
@@colincourbe1540 content que ça te plaise Colin !
Merci beaucoup pour ce mega contenu ❤❤
Merci pour cette vidéo.
Dommage pour PlanetScale, pas envie donner mes n° de CB à tous ces services.
Y aurait possibilité d'utiliser XAMPP pour MySQL ? Si oui, comment ?
Bonne continuation.
@@fabienmacip tu peux utiliser neon.tech gratuitement sans CB. Ce sera du postgresql !
Hello, good tuto! Hmm, j'ai une petite question, je vois que tu as utilisé les presigned url de S3, je voudrais savoir comment tu fais pour gérer l'expiration de l'url utilisé pour download/afficher l'image stockée sur S3?
Bonjour Mohamed, merci pour le commentaire. Pour gérer l'expiration, ce qui est fait actuellement c'est que nous générons une nouvelle Presigned URL à chaque chargement de la page par un utilisateur. Comme l'URL est générée à chaque fois, elle est fraîche et l'utilisateur n'a aucun risque d'appeler une URL expirée.
Comment ferais-tu pour optimiser cette logique ?
@@algomax-dev Merci de ton retour! Pour optimiser ta logique, je mettrai peut etre en place un stockage cache coté client et verifier la validité de l'url avant de générer une nouvelle. Car avec ton approche, on peut se retrouver a faire des calls pour générer une URL inutilement (si l'url courante n'est pas expiré autant continuer à l'utiliser meme si la page se charge).
Hmmm, dis moi quelle est la durée de validité de l'url? Si celle-ci est short, toujours avec ta logique, je l'augmenterai. Keep in mind que le max c'est 7 jours
C’est mortel, GG !
Tu essaieras AdonisJS et Elysia ?
@@Gustavewpm pourquoi pas !
Salut donc le monorepo je fais quoi avec un petit éclaircissements merci
@@user-jj1ly3mi8g du contenu arrive très rapidement pour le monorepo
Avec tout ça plus d'excuse pour pas savoir faire !
Combien d'années pour avoir ce niveau ?
Bonjour, j'ai 4 années d'expérience mais je pense que tu n'as pas besoin d'autant d'années pour développer une application NestJS et Remix.
Je te conseille de pratiquer et de build avec la même techno, plusieurs projets sans regarder de tuto à côté (entraîne ton cerveau à te souvenir de la syntaxe)
Merci pour ton retour mais je reste impressionné par l'aisance que tu as!!
S'il te plait tu gére le refresh token comment avec nest js et react??
@@garius3559 dans cette stack là, il n’y a pas moyen de forcer l’expiration du token. Il a une date d’expiration de une fois expirer, il faut en régénérer un nouveau via le formulaire de login
@@algomax-dev En se reconnectant, c'est bien ça?
@@algomax-dev
Je demande parce qu'actuellement, je suis en train d'apprendre nest js et j'essaie de connecter cette API à une application mobile et j'aimerais implémenter le refresh token de telle sorte que l'access token se génère sans besoin de se reconnecter.
@@garius3559 Exact. À chaque connexion, tu appelles ta route NestJS qui génère un nouveau token. Mais les anciens tokens générés pour cet utilisateur ne sont pas expirés. Ils existent encore côté API (donc l'API autorise tout appel signé par ce token). C'est côté front qu'on "oublie" le token (en vidant le cache par exemple) et c'est plus simple de regénérer un token que de retrouver le token oublié. Généralement on ne sauvegarde pas le token en base de données.
@@garius3559 Généralement, le token expire soit parce que : l'utilisateur est resté connecté 30 jours (ou a dépassé la durée d'expiration), soit parce qu'il a cliqué sur " se déconnecter ", soit parce qu'il a vidé le cache, l'asyncStorage, ou la base de donnée locale dans laquelle il avait enregistré ce token de connexion.
Pour les deux derniers cas, tu n'as pas moyen de refresh le token : S'il est inaccessible "côté front" ou "côté mobile", tu dois en regénérer un nouveau (en te connectant).
Mais avec le premier cas, je pense qu'il y a moyen de récupérer la date d'expiration du token JWT, et de faire une demande de refresh. Par contre dans ce cas là, tu n'appelerais pas la route login avec identifiants / mdp de l'utilisateur (car tu ne le connais pas), mais tu identifierais l'utilisateur toi même grâce au token sauvegardé (côté client). Le client récupère donc son token, regarde si le token expire bientôt. Si oui, il lance une requête sur une route protégée qui prend en entrée le userId, et renvoie un nouveau token. Ensuite, tu vas remplacer le token sauvegardé dans l'asyncStorage. Et ça devrait être bon.