Aller au contenu
Julien Bigot, accueil
Menu
Tous les projets

05/Plateforme e-learning · Serverless

LearnJS

14 cours JavaScript interactifs FR/EN, avec paiement, magic link et contenu protégé à l’edge.

Rôle
Conception, contenu et développement, en solo
Période
mars 2026
Statut
En ligne
Page d'accueil learnjs.eu : « De débutant à développeur qui comprend »
cours FR / EN
14
de développement
4 jours
dépendance pour vérifier les JWT
0

Contexte

Un projet court pour éprouver les fondamentaux du web et une architecture serverless sécurisée, en complément de mes projets React.

Le problème

Protéger du contenu payant sur un site statique, sans base de données classique ni framework, et gérer proprement les remboursements.

Architecture & choix techniques

  1. 01

    JWT vérifié à l’edge, sans dépendance

    Une Edge Function (Deno) vérifie elle-même la signature HMAC-SHA256 du jeton avec crypto.subtle. Le cookie est HttpOnly, Secure et SameSite=Strict.

  2. 02

    Révocation sur remboursement

    Un webhook Stripe signé (charge.refunded) pose une clé de révocation avec TTL dans Redis, contrôlée à chaque requête. Une session unique limite le partage de compte.

  3. 03

    Magic link sans énumération

    Un JWT de 15 minutes est échangé contre un jeton de session ; la réponse reste neutre quelle que soit l’adresse saisie.

  4. 04

    Pédagogie en vanilla JS

    Sommaire synchronisé au scroll (IntersectionObserver), QCM, suivi de progression et i18n maison, sans aucune bibliothèque.

Stack

  • JavaScript
  • HTML / CSS
  • Netlify Functions
  • Netlify Edge Functions (Deno)
  • Web Crypto
  • Stripe Checkout & webhooks
  • JWT HS256
  • Upstash Redis
  • Resend

Sélectionnez une image pour l’agrandir.

  • 01learnjs.eu : 14 cours interactifs FR/EN, en HTML/CSS/JS sans framework.
  • 02Un cours gratuit : sommaire suivi au scroll (IntersectionObserver), mini-projet fil rouge, démo en direct.
  • 03La landing sur mobile, avec sélecteur de langue maison.
  • 04Les cours sont pensés pour le mobile.