Plateformes2026En ligneDépôt privé

Night & Day

Un championnat amateur avec la plateforme qui va avec

Site public d'un championnat League of Legends, espace de travail par équipe, et une console d'administration de trente-trois écrans.

Next.js 16React 19App RouterTailwind 4Framer MotionGSAPPostgreSQLRLSVercel CronWebGL
79
pages applicatives
33
écrans d'admin
100+
migrations
Night & Day — en directdémo interactive

La plateforme en production. Les pages publiques — équipes, joueurs, classement, calendrier, playoffs — s'ouvrent sans compte ; le tableau de bord d'équipe et la console d'administration sont derrière une authentification Riot puis Discord.

Architecture Night & Daydémo interactive
providerquotidienlecture seuleNext.js 16App Router · RSCPostgreSQLRLS par rôleOpenRiftOIDC · identité RiotDiscord OAuthidentité obligatoireBot NADdiscord.js · VPSVercel Cronprogrammation auto

Le site est rendu côté serveur et lit la base directement ; le bot Discord lit la même base, sans jamais y écrire de structure. Les deux identités — Riot par OpenRift, puis Discord — sont exigées avant qu'une fiche joueur existe, parce que les notifications personnelles en dépendent.

En bref
  • 0179 pages : site public, espace par équipe, console d'administration
  • 02La saison est une machine à états, le calendrier se programme par cron
  • 03Double identité obligatoire : Riot via OpenRift, puis Discord
  • 04Chaque page retombe sur des données statiques si la base est absente
Le point dur

Le coût réel des jolis effets

Deux calques animés en fond réinvalidaient le flou de tous les panneaux posés dessus, à chaque image. Plafonner à 30 images par seconde et couper en arrière-plan a suffi à récupérer le défilement.