LB'XMB.FR LogoLB'XMB.FR
LB'XMB.FR LogoLB'XMB.FR
Guides
GuidesXbox 360Xbox OneXbox SeriesPS5PS4PS3PSPPS VitaSwitch3DSNDS / DSiWii UWii
Resources
ResourcesXbox 360Xbox OneXbox Series X|SPS5PS4PS3PSPPS VitaNintendo SwitchNintendo 3DSNintendo DSWii UWii
Forum
Overview
Support
SupportGeneral requestsConsole helpRecruitmentReport
ShopShop
Discord
Discord accessBot access
ToolsToolsDomainsDomainsDonateDonate

Changelogs

Historique des évolutions LB'XMB.FR (site, bot Discord, forum, boutique, intégrations). Cette page est synchronisée avec le document interne de récapitulatif.

2026-06-23 ~05:58 UTC — Remise en ligne prod/PTB + isolation DB dev + doc bot

### Contexte

### Changements — Production

### Changements — PTB

### Changements — Dev (base isolée)

### Documentation

### Fichiers touchés

  • web-prod en boucle de crash (5300+ restarts) : build Next.js absent dans .next-staging.
  • ptb.lbxmb.fr routé vers le mauvais service (bloc nginx manquant).
  • dev-web partageait la base lbxmb (prod) faute de .env.local.
  • Fichiers critiques manquants dans web/ : next.config.js, layout.tsx, messages/en.json, composants layout.
  • Correction TypeScript contributeurs dans resourceStructureManager.ts.
  • Restauration next.config.js, layout.tsx, DeferredClientWidgets, UmamiScript, SiteWelcomeModal, messages/en.json.
  • Build Next.js réussi ; copie .next → .next-staging pour server.js.
  • web-prod redémarré : HTTP 200 local et HTTPS.
  • Ajout bloc nginx ptb.lbxmb.fr → port 25583 dans nginx-lbxmb.fr.conf, déployé et rechargé.
  • Création ptb-web/.env.local avec lbxmb_ptb / utilisateur lbxmb_ptb.
  • HTTPS ptb.lbxmb.fr : 200.
  • Création dev-web/.env.local : DB_NAME=lbxmb_dev, DB_USER=lbxmb_dev, NEXT_PUBLIC_ENV=development.
  • Redémarrage web-dev ; base dev confirmée (3 users seed vs 124 en prod).
  • Création docs/BOT-FONCTIONNALITES.md : inventaire complet commandes, événements, handlers, config /config, notes audit.
  • web/src/lib/resourceStructureManager.ts
  • web/next.config.js, web/src/app/layout.tsx, web/messages/en.json
  • web/src/components/layout/DeferredClientWidgets.tsx
  • web/src/components/analytics/UmamiScript.tsx, web/src/components/site/SiteWelcomeModal.tsx
  • web/src/app/presentation/layout.tsx
  • nginx-lbxmb.fr.conf
  • dev-web/.env.local, ptb-web/.env.local
  • dev-web/next.config.js, dev-web/src/app/layout.tsx
  • docs/BOT-FONCTIONNALITES.md, docs/RECAP-TRAVAIL-COMMUNAUTE-2026-04.md
2026-06-23 ~06:05 UTC — Connexion Discord OAuth + langue invité

### Contexte

### Causes identifiées

### Changements

### Fichiers touchés

  • Connexion Discord : retour sur le site sans session active.
  • Langue navbar : invités ne voyaient pas le changement (cookie posé mais UI inchangée).
  • web/.env.local absent : pas de DISCORD_CLIENT_* ni BETTER_AUTH_SECRET en prod.
  • Callbacks OAuth (/api/auth/*) passaient par Anubis (risque de perte cookies Set-Cookie).
  • LanguageSwitcher utilisait router.refresh() : next-intl ne recharge pas les messages serveur.
  • Création web/.env.local (OAuth, BETTER_AUTH_URL=https://lbxmb.fr, secrets prod).
  • Nginx : bypass Anubis pour location /api/auth/.
  • auth.ts : cookies sécurisés en prod (useSecureCookies, sameSite: lax).
  • LanguageSwitcher : rechargement page après POST /api/locale.
  • Build + déploiement .next-staging, restart web-prod.
2026-06-23 ~07:30 UTC — Captcha Cap, fond LightRays global, perf navigation

### Contexte

### Changements

### Impact

### Fichiers touchés

  • Captcha Cap bloquant / peu fiable sur /login (double friction Anubis + modal Dialog).
  • Fonds de page empilés à chaque navigation (plusieurs PageLightRaysBackdrop en portail document.body).
  • Navigation perçue comme lente (WebGL dupliqué, pas de source unique couleurs).
  • Captcha : Cap affiché inline sur /login (plus de modal) ; détection runtime isCapRequiredClient() ; bypass Anubis pour /login, /register, /verify.
  • Background : PageBackgroundProvider + lib/page-backgrounds.ts — une seule instance LightRays, couleurs par route conservées (accueil #38bdf8, ressources #f97316, guides #22c55e, boutique #a855f7, support #eab308, dashboard #6366f1, cloud/mon-espace #0ea5e9, don #ec4899, donateurs #d946ef, download/checker #f472b6, modding #a855f7, donate/success #22c55e). Suppression des backdrops dupliqués par page.
2026-06-23 ~07:40 UTC — Navbar scroll, nav privée, page /domaines

### Contexte

### Changements

### Impact

### Fichiers touchés

  • Navbar : demande d'effet pill au scroll (blur, arrondi, largeur réduite) comme référence fournie.
  • Navigation privée : site inutilisable (404 /api/auth/me, SW absent, MISSING_MESSAGE: siteIntroduction (en), crash .map sur tips).
  • Nouvelle page listant les domaines officiels LB'XMB.
  • Header : effet scroll — hauteur header h-20 → h-[130px], pill rounded-[20px], bg-black/70 backdrop-blur-[30px], max-w-[1300px], marges latérales au scroll.
  • /api/auth/me : route restaurée (manquante en prod) ; réponse 200 + { authenticated: false } pour invités.
  • sw.js : ajout dans web/public/ ; enregistrement SW silencieux en nav privée (plus d'erreur bloquante).
  • i18n EN : bloc siteIntroduction complet ; SiteIntroduction tolère tips non-tableau.
  • useAuthMe : gestion 404/erreurs réseau sans crash (retry: false).
2026-06-23 ~08:00 UTC — Fix fond LightRays + scrollbar custom prod

### Contexte

### Changements

### Fichiers touchés

  • Background invisible en prod (-z-10 derrière body noir ; <main> opaques masquent les rayons).
  • Scrollbar custom sans effet fade (native Firefox/Chrome par-dessus react-scrollbars-custom).
  • PageLightRaysBackdrop : portail document.body + z-0 (aligné PTB).
  • AppScrollShell : wrapper relative z-[1] au-dessus du fond.
  • globals.css : masquage scrollbar native sur .scrollbars-scroller, scroller transparent.
  • body : bg-[#020202].
  • Retrait fonds opaques sur main guides / ressources fiche / download / checker.
  • Backup : backups/web-prod-pre-bg-scrollbar-*.tar.gz.
  • PageLightRaysBackdrop.tsx, PageBackgroundProvider.tsx, AppScrollShell.tsx, globals.css, layout.tsx
  • Pages guides, ResourceDetailClient.tsx, download/page.tsx, checker/page.tsx
2026-06-23 ~07:40 UTC — Navbar scroll, nav privée, page /domaines

### Contexte

### Changements

### Impact

### Fichiers touchés

  • Navbar : demande d'effet pill au scroll (blur, arrondi, largeur réduite) comme référence fournie.
  • Navigation privée : site inutilisable (404 /api/auth/me, SW absent, MISSING_MESSAGE: siteIntroduction (en), crash .map sur tips).
  • Nouvelle page listant les domaines officiels LB'XMB.
  • Header : effet scroll — hauteur header h-20 → h-[130px], pill rounded-[20px], bg-black/70 backdrop-blur-[30px], max-w-[1300px], marges latérales au scroll.
  • /api/auth/me : route restaurée (manquante en prod) ; réponse 200 + { authenticated: false } pour invités.
  • sw.js : ajout dans web/public/ ; enregistrement SW silencieux en nav privée (plus d'erreur bloquante).
  • i18n EN : bloc siteIntroduction complet ; SiteIntroduction tolère tips non-tableau.
  • useAuthMe : gestion 404/erreurs réseau sans crash (retry: false).
2026-06-23 ~08:00 UTC — Fix fond LightRays + scrollbar custom prod

### Contexte

### Changements

### Fichiers touchés

  • Background invisible en prod (-z-10 derrière body noir ; <main> opaques masquent les rayons).
  • Scrollbar custom sans effet fade (native Firefox/Chrome par-dessus react-scrollbars-custom).
  • PageLightRaysBackdrop : portail document.body + z-0 (aligné PTB).
  • AppScrollShell : wrapper relative z-[1] au-dessus du fond.
  • globals.css : masquage scrollbar native sur .scrollbars-scroller, scroller transparent.
  • body : bg-[#020202].
  • Retrait fonds opaques sur main guides / ressources fiche / download / checker.
  • Backup : backups/web-prod-pre-bg-scrollbar-*.tar.gz.
  • PageLightRaysBackdrop.tsx, PageBackgroundProvider.tsx, AppScrollShell.tsx, globals.css, layout.tsx
  • Pages guides, ResourceDetailClient.tsx, download/page.tsx, checker/page.tsx
2026-06-23 ~08:15 UTC — Navbar scroll (CustomScrollbar) + fond renforcé

### Contexte

### Changements

### Fichiers touchés

  • Navbar ne se centrait pas au scroll : window.scrollY toujours 0 (scroll dans .scrollbars-scroller).
  • Fond trop discret.
  • AppScrollContext : scrollTop depuis CustomScrollbar ; Header écoute contexte + scroller direct.
  • Header : pill centrée au scroll (mx-[30px], max-w-[1300px], rounded-[20px], h-[130px]).
  • Fond : gradients CSS renforcés ; backdrop z-[1], contenu z-10, body isolate.
  • AppScrollContext.tsx, custom-scrollbar.tsx, Header.tsx, AppScrollShell.tsx, light-rays-ambient-css.ts
2026-06-23 ~09:00 UTC — Navbar transparente fluide + fix fond LightRays (empilement)

### Contexte

### Changements

### Impact

### Fichiers touchés

  • Navbar opaque (bg-black/70) au scroll alors que l'utilisateur veut rester transparent.
  • Transition pill au centre trop sèche (booléen sans interpolation).
  • Fond LightRays invisible sur tous les navigateurs (portail body z-[1] vs contenu z-10).
  • Header : pill interpolée via scrollProgress (largeur, radius, hauteur 80→130 px) ; fond bg-white/[0.04] + backdrop-blur-[30px] ; marges mobile 16 px / desktop 60 px.
  • PageLightRaysBackdrop : suppression portail ; fixed inset-0 -z-10 in-tree ; params LightRays alignés ref utilisateur (ogl, followMouse desktop only).
  • AppScrollShell : retrait z-10 (empilement via body isolate + backdrop -z-10).
  • light-rays-ambient-css : gradients renforcés sans backgroundColor opaque.
2026-06-23 ~09:30 UTC — Deploy prod fond + empilement z-0/z-1

### Contexte

### Changements

### Impact

### Fichiers touchés

  • Prod servait .next-staging obsolète (BUILD_ID 7thv16…) avec portail z-[1] — fond invisible malgré le fix local.
  • deploy.sh absent ; build .next jamais recopié en staging après les changements.
  • layout : wrapper .site-viewport (relative isolate) autour fond + contenu.
  • PageLightRaysBackdrop : fixed inset-0 z-0 (plus de portail, plus de -z-10).
  • AppScrollShell : relative z-[1] au-dessus du fond.
  • Deploy : bun run build → rm -rf .next-staging && cp -a .next .next-staging → pm2 restart web-prod.
  • Prod sert le build à jour ; rayons CSS + WebGL visibles derrière le contenu transparent.
  • web/src/app/layout.tsx, PageLightRaysBackdrop.tsx, AppScrollShell.tsx, PageBackgroundProvider.tsx
  • docs/RECAP-TRAVAIL-COMMUNAUTE-2026-04.md
2026-06-23 ~10:00 UTC — Navbar scroll robuste + fond rayons CSS visible + bust cache

### Contexte

### Changements

### Impact

### Fichiers touchés

  • Après deploy : navbar transparente OK mais le recentrage au scroll + l'animation avaient disparu (détection de scroll reposant uniquement sur le contexte React useAppScrollTop, fragile).
  • Fond toujours « invisible » côté user : halo trop concentré en haut + dépendance WebGL ; suspicion de cache client.
  • Header : ré-ajout d'une détection de scroll directe et autonome (.scrollbars-scroller + window.scroll + event appscroll) dans un state local scrollY ; progression = max(scrollY, appScrollTop). Transitions complétées (width,margin,border-radius ajoutés). Pill toujours mx-auto.
  • light-rays-ambient-css : fond renforcé — conic-gradient (faisceaux qui s'évasent depuis le haut-centre) + halos radiaux plus larges + backgroundColor #020202. Visible plein écran même sans WebGL.
  • ServiceWorkerRegistration : APP_VERSION 2.1.6 → 2.2.0 (purge caches côté client au prochain chargement).
2026-06-23 ~10:11 UTC — Navbar transition fluide (booléen) + fond WebGL toujours rendu

### Contexte

### Changements

### Impact

### Fichiers touchés

  • Capture user : navbar « décroche » d'un coup au scroll (pas fluide) ; fond toujours quasi noir (juste un halo CSS à gauche, rayons WebGL absents).
  • Cause navbar : interpolation style inline par event de scroll → saccades, pas de transition CSS réelle.
  • Cause fond : rayons WebGL gated derrière prefers-reduced-motion → invisibles si l'option d'accessibilité est active (probable côté user). Le halo visible n'était que le gradient CSS latéral.
  • Header : retour à la méthode de la référence — booléen navScrolled (scroll > 20) + transition-all duration-300 ease-in-out sur header + pill. Classes Tailwind (plus d'inline style interpolé) → détachement fluide vers la pill centrée. Hauteur 80→110 px. Mobile : w-[calc(100%-1.5rem)], desktop sm:w-[calc(100%-60px)], mx-auto. Suppression isDesktop/pillStyle/eased.
2026-06-23 10:25 — Fix accès fiches ressources (404 API)

### Contexte / problème

### Changements appliqués

### Impact

### Fichiers touchés

  • Les ressources s'affichaient dans la liste mais l'ouverture d'une fiche échouait.
  • Console : XHRGET https://lbxmb.fr/api/resources/playstation-todex-payload?locale=fr [HTTP 404].
  • Cause racine : la route API web/src/app/api/resources/[id]/route.ts (GET fiche par id/slug) était absente du projet web/ (seuls les sous-dossiers [id]/download, [id]/comments, [id]/revisions, [id]/console-transfer existaient). Next renvoyait donc 404 sur /api/resources/<slug>.
  • Restauration du handler GET /api/resources/[id] depuis ptb-web (résolution par id numérique ou par slug généré depuis nom, overlay locale, structure.json, téléchargements, variantes, requis, guides, contributeurs, réseaux sociaux).
  • Vérification préalable que toutes les dépendances @/lib/* existent dans web/ (db, resourceStructureManager, slug, content-locale, resource-locale, guide-links, resource-icon-format, resource-variant-paths, uploads-root, resource-contributors).
2026-06-23 10:45 — Fond manquant /outils & /discord + titre hero blanc/bleu

### Contexte / problème

### Changements appliqués

### Impact

### Fichiers touchés

  • Plus de background LightRays sur /outils et /discord en prod.
  • Cause : resolvePageBackground() ne renvoyait une config que pour les préfixes listés ; tout le reste tombait sur return null → aucun calque de fond. Depuis la centralisation du backdrop (suppression des backdrops par page), toute route non listée se retrouvait au fond noir.
  • Titre hero « LA RÉFÉRENCE DU » rendu en gris sombre au lieu de blanc (MODDING censé rester bleu).
  • Cause : .hero-title-lb / .hero-title-modding utilisent color: transparent + background-clip: text. Si le navigateur n'applique pas background-clip: text (compositing/contexte), le texte transparent laisse voir le fond sombre → texte « noir ». Le CSS source était pourtant correct (identique à la version qui marchait).
  • lib/page-backgrounds.ts :
LB'XMB.FR Logo
LB'XMB.FR

LB'XMB.FR is the reference platform for console modding.

Support

  • Donate
  • VIP Premium

Legal

  • Legal notice
  • Terms of use
  • Privacy (GDPR)
  • Credits
  • Changelogs

Partners

    © 2026 LB'XMB.FR. Created April 25, 2024. All rights reserved.
    Made with ❤️ for the community.
  • web/.env.local
  • web/src/lib/auth.ts, dev-web/src/lib/auth.ts, ptb-web/src/lib/auth.ts
  • web/src/components/i18n/LanguageSwitcher.tsx (+ dev/ptb)
  • nginx-lbxmb.fr.conf
  • PageLightRaysBackdrop : plus de portail body, rendu inline -z-10.
  • Backup : backups/web-prod-pre-bg-cap-perf-2026-06-23-0727.tar.gz.
  • Build prod → .next-staging, reload nginx, restart web-prod.
  • Login : widget Cap visible directement, sans PoW Anubis sur la page.
  • Navigation : un seul contexte WebGL, changement de teinte sans empilement.
  • Forum : fond custom inchangé (ForumPageBackground).
  • web/src/lib/page-backgrounds.ts, web/src/components/layout/PageBackgroundProvider.tsx
  • web/src/components/ui/PageLightRaysBackdrop.tsx, web/src/app/layout.tsx
  • web/src/app/login/page.tsx, nginx-lbxmb.fr.conf
  • Pages nettoyées : accueil, ressources, guides, boutique, support, donate, dashboard, cloud, mon-espace, download, checker, demarrer-modding, etc.
  • docs/RECAP-TRAVAIL-COMMUNAUTE-2026-04.md
  • Page /domaines : liste des 11 domaines officiels, avertissement imitations, lien navbar « Domaines ».
  • Backup : backups/web-prod-pre-navbar-domaines-2026-06-23-0734.tar.gz.
  • Deploy : rm -rf .next-staging && cp -a .next .next-staging (fix copie nested incorrecte).
  • Nav privée / invité : plus d'erreurs JS en cascade sur l'accueil.
  • /domaines accessible depuis la navbar.
  • Navbar se compacte visuellement au scroll.
  • web/src/components/layout/Header.tsx, web/src/app/domaines/page.tsx, web/src/lib/lbxmb-domains.ts
  • web/src/app/api/auth/me/route.ts, web/public/sw.js
  • web/src/hooks/use-auth-me.ts, web/src/components/site/SiteIntroduction.tsx
  • web/src/components/ServiceWorkerRegistration.tsx, web/src/lib/push-notifications.ts
  • web/messages/en.json, web/messages/fr.json, web/src/lib/page-backgrounds.ts
  • docs/RECAP-TRAVAIL-COMMUNAUTE-2026-04.md
  • Page /domaines : liste des 11 domaines officiels, avertissement imitations, lien navbar « Domaines ».
  • Backup : backups/web-prod-pre-navbar-domaines-2026-06-23-0734.tar.gz.
  • Deploy : rm -rf .next-staging && cp -a .next .next-staging (fix copie nested incorrecte).
  • Nav privée / invité : plus d'erreurs JS en cascade sur l'accueil.
  • /domaines accessible depuis la navbar.
  • Navbar se compacte visuellement au scroll.
  • web/src/components/layout/Header.tsx, web/src/app/domaines/page.tsx, web/src/lib/lbxmb-domains.ts
  • web/src/app/api/auth/me/route.ts, web/public/sw.js
  • web/src/hooks/use-auth-me.ts, web/src/components/site/SiteIntroduction.tsx
  • web/src/components/ServiceWorkerRegistration.tsx, web/src/lib/push-notifications.ts
  • web/messages/en.json, web/messages/fr.json, web/src/lib/page-backgrounds.ts
  • docs/RECAP-TRAVAIL-COMMUNAUTE-2026-04.md
  • LightRays : délai 10 ms avant init WebGL + listener resize interne.
  • Navbar glass transparente avec animation fluide desktop/mobile.
  • Rayons CSS + WebGL visibles derrière le contenu transparent.
  • web/src/components/layout/Header.tsx
  • web/src/components/ui/PageLightRaysBackdrop.tsx
  • web/src/components/providers/AppScrollShell.tsx
  • web/src/lib/light-rays-ambient-css.ts
  • web/src/components/LightRays.tsx
  • docs/RECAP-TRAVAIL-COMMUNAUTE-2026-04.md
  • Vérif en-têtes : HTML servi Cache-Control: no-store (origine + via Cloudflare, pas de HIT CDN) → les clients reçoivent le HTML frais.
  • Navbar : recentrage + animation fluide rétablis, indépendants du contexte React.
  • Fond : rayons + halo cyan nettement visibles sur tout le viewport (CSS garanti, WebGL en surcouche).
  • Build prod FMJ15-fxiomOhN2i7RUCT déployé sur .next-staging, web-prod redémarré.
  • web/src/components/layout/Header.tsx
  • web/src/lib/light-rays-ambient-css.ts
  • web/src/components/ServiceWorkerRegistration.tsx
  • docs/RECAP-TRAVAIL-COMMUNAUTE-2026-04.md
  • PageLightRaysBackdrop : suppression du gate useReducedMotion → rayons WebGL ogl toujours rendus (params alignés sur la référence : raysSpeed 1, lightSpread 0.5, rayLength 3, followMouse). Gradient CSS conservé en fallback.
  • Navbar : animation douce et continue (full-width → pill centrée), plus de saut.
  • Fond : rayons animés visibles même avec « réduire les animations » activé.
  • Build prod xQ6VwKoZhzx5OlCGV9eUU déployé, web-prod redémarré.
  • web/src/components/layout/Header.tsx
  • web/src/components/ui/PageLightRaysBackdrop.tsx
  • docs/RECAP-TRAVAIL-COMMUNAUTE-2026-04.md
  • Build prod OK, copie .next → .next-staging (BUILD_ID PE0s5kGVBsAkgKEQGri7Y), restart PM2 web-prod.
  • GET /api/resources/playstation-todex-payload?locale=fr renvoie désormais HTTP 200 avec le payload complet de la fiche.
  • Les fiches ressources sont de nouveau accessibles (liste → détail).
  • Pas de gate d'auth dans le handler : accès invité OK en prod (isDevPublicPath ne concerne que dev.lbxmb.fr).
  • web/src/app/api/resources/[id]/route.ts (créé/restauré)
  • docs/RECAP-TRAVAIL-COMMUNAUTE-2026-04.md
  • Ajout des règles /outils (#f472b6) et /discord (#5865f2) dans PREFIX_RULES.
  • Ajout d'un fallback DEFAULT_RAYS (#38bdf8) : toute route publique non listée (et non custom) reçoit désormais le fond ambiant par défaut (fin du fond noir sur les pages oubliées).
  • app/globals.css :
  • Couleur pleine de secours color:#ffffff (lb) / color:#00aeef (modding) hors @supports.
  • Dégradé + background-clip:text + -webkit-text-fill-color:transparent déplacés sous @supports ((-webkit-background-clip:text) or (background-clip:text)).
  • Garantit que le titre reste blanc/bleu même si le clip texte échoue côté navigateur.
  • ServiceWorkerRegistration.tsx : APP_VERSION 2.2.0 → 2.2.1 (purge cache client, récupération du nouveau bundle CSS).
  • Build + .next→.next-staging (BUILD_ID NcE6XcqJ3J8mBD4So4dGV) + restart PM2 web-prod.
  • /outils, /discord et les autres pages publiques ont de nouveau un fond LightRays.
  • Le titre hero s'affiche blanc (« LA RÉFÉRENCE DU ») et bleu (« MODDING ») de façon fiable, avec dégradé quand le navigateur le supporte.
  • web/src/lib/page-backgrounds.ts
  • web/src/app/globals.css
  • web/src/components/ServiceWorkerRegistration.tsx
  • docs/RECAP-TRAVAIL-COMMUNAUTE-2026-04.md