From 00e8dcb7d2d04263e0bd0addae0b597877a3ec78 Mon Sep 17 00:00:00 2001 From: snoopy Date: Thu, 27 Aug 2026 21:24:38 +0200 Subject: [PATCH] Initial commit: Sudoku game with accounts, history, leaderboard, themes and i18n Node/Express + SQLite backend, vanilla JS frontend, deployed via Docker Compose. --- .env.example | 1 + .gitignore | 4 + Dockerfile | 15 ++ README.md | 117 ++++++++++ app/game.js | 535 +++++++++++++++++++++++++++++++++++++++++++ app/i18n.js | 258 +++++++++++++++++++++ app/index.html | 227 ++++++++++++++++++ app/main.js | 409 +++++++++++++++++++++++++++++++++ app/styles.css | 490 +++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 13 ++ docs/screenshot.png | Bin 0 -> 278333 bytes server/.dockerignore | 2 + server/auth.js | 60 +++++ server/db.js | 38 +++ server/package.json | 17 ++ server/server.js | 219 ++++++++++++++++++ 16 files changed, 2405 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 app/game.js create mode 100644 app/i18n.js create mode 100644 app/index.html create mode 100644 app/main.js create mode 100644 app/styles.css create mode 100644 docker-compose.yml create mode 100644 docs/screenshot.png create mode 100644 server/.dockerignore create mode 100644 server/auth.js create mode 100644 server/db.js create mode 100644 server/package.json create mode 100644 server/server.js diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..05a04ac --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +JWT_SECRET=change-me-to-a-long-random-value diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..02910f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.env +data/ +server/node_modules/ +*.log diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d61051f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM node:22-bookworm-slim + +WORKDIR /app + +RUN apt-get update \ + && apt-get install -y --no-install-recommends python3 build-essential ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +COPY server/package.json ./ +RUN npm install --omit=dev + +COPY server/ ./ + +EXPOSE 3000 +CMD ["node", "server.js"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..a12eb18 --- /dev/null +++ b/README.md @@ -0,0 +1,117 @@ +# 🧩 Sudoku + +*[English version below / Version anglaise plus bas](#-sudoku-english)* + +Un jeu de Sudoku complet, jouable dans le navigateur, avec comptes utilisateurs, historique de parties, classement, thèmes de couleur et support multilingue (FR/EN) — le tout servi par un unique conteneur Docker (Node.js/Express + SQLite). + +![Capture d'écran](docs/screenshot.png) + +## Fonctionnalités + +- **Génération de grilles** à 4 niveaux de difficulté (facile, moyen, difficile, expert), avec solution unique garantie +- **Cycle de jeu explicite** : Démarrer / Pause / Stop (aucune partie ne se lance automatiquement) +- **Aide au jeu** : notes (crayon), indices, annulation, détection des erreurs en temps réel +- **Comptes utilisateurs** : inscription (pseudo, email, mot de passe — sans validation par email), connexion, mode invité toujours disponible +- **Historique personnel** des parties (temps, erreurs, points, résultat) +- **Classement** : meilleurs temps par difficulté et classement général par points cumulés +- **Garde-fou anti-triche** : temps minimum plausible par difficulté avant qu'un score ne soit validé +- **4 thèmes de couleur** : Bleu, Émeraude, Ambre, Noir & blanc + rouge +- **Français / Anglais**, avec bascule instantanée et mémorisation du choix +- **Guide du débutant** intégré, accessible sans compte + +## Stack technique + +- Frontend : HTML/CSS/JS vanilla (aucune dépendance de build) +- Backend : Node.js + Express +- Base de données : SQLite (fichier persistant, monté en bind mount) +- Authentification : cookie JWT httpOnly, mots de passe hashés (bcrypt) +- Déploiement : Docker / Docker Compose + +## Démarrage rapide + +```bash +git clone https://gitea.harmonia-it.fr/snoopy/sudoku.git +cd sudoku +cp .env.example .env +# Éditez .env et remplacez JWT_SECRET par une valeur aléatoire longue, +# par exemple avec : openssl rand -hex 32 +docker compose up -d --build +``` + +L'application est alors disponible sur `http://localhost:8090` (port configurable dans `docker-compose.yml`). + +## Structure du projet + +``` +sudoku/ +├── app/ # Frontend statique (HTML/CSS/JS), monté en bind mount (lecture seule) +├── server/ # Backend Node/Express (API + service des fichiers statiques) +├── data/ # Base SQLite persistante (bind mount, ignoré par git) +├── docs/ # Ressources documentaires (capture d'écran, etc.) +├── Dockerfile +├── docker-compose.yml +└── .env.example # Modèle de configuration (copier en .env) +``` + +## Licence + +Projet personnel, libre d'utilisation et de modification. + +--- + +# 🧩 Sudoku (English) + +A full-featured Sudoku game playable in the browser, with user accounts, game history, leaderboards, color themes, and multilingual support (FR/EN) — all served by a single Docker container (Node.js/Express + SQLite). + +![Screenshot](docs/screenshot.png) + +## Features + +- **Puzzle generation** with 4 difficulty levels (easy, medium, hard, expert), each guaranteed to have a unique solution +- **Explicit game lifecycle**: Start / Pause / Stop (no game ever starts automatically) +- **Gameplay aids**: pencil notes, hints, undo, real-time mistake detection +- **User accounts**: sign up (username, email, password — no email verification), log in, guest mode always available +- **Personal history** of games played (time, mistakes, points, result) +- **Leaderboards**: best times per difficulty and an overall ranking by cumulative points +- **Anti-cheat safeguard**: a minimum plausible solve time per difficulty before a score is accepted +- **4 color themes**: Blue, Emerald, Amber, Black & white + red +- **French / English**, switchable instantly with the choice remembered +- **Built-in beginner's guide**, accessible without an account + +## Tech stack + +- Frontend: vanilla HTML/CSS/JS (no build step required) +- Backend: Node.js + Express +- Database: SQLite (persistent file, bind-mounted) +- Authentication: httpOnly JWT cookie, hashed passwords (bcrypt) +- Deployment: Docker / Docker Compose + +## Quick start + +```bash +git clone https://gitea.harmonia-it.fr/snoopy/sudoku.git +cd sudoku +cp .env.example .env +# Edit .env and replace JWT_SECRET with a long random value, +# e.g. using: openssl rand -hex 32 +docker compose up -d --build +``` + +The app will then be available at `http://localhost:8090` (port configurable in `docker-compose.yml`). + +## Project structure + +``` +sudoku/ +├── app/ # Static frontend (HTML/CSS/JS), bind-mounted (read-only) +├── server/ # Node/Express backend (API + static file serving) +├── data/ # Persistent SQLite database (bind mount, git-ignored) +├── docs/ # Documentation assets (screenshot, etc.) +├── Dockerfile +├── docker-compose.yml +└── .env.example # Configuration template (copy to .env) +``` + +## License + +Personal project, free to use and modify. diff --git a/app/game.js b/app/game.js new file mode 100644 index 0000000..73a9799 --- /dev/null +++ b/app/game.js @@ -0,0 +1,535 @@ +(function () { + "use strict"; + + const SIZE = 9; + const BOX = 3; + const DIFFICULTY_CLUES = { easy: 42, medium: 34, hard: 28, expert: 24 }; + const DECORATIVE = [ + [5,3,4,6,7,8,9,1,2], + [6,7,2,1,9,5,3,4,8], + [1,9,8,3,4,2,5,6,7], + [8,5,9,7,6,1,4,2,3], + [4,2,6,8,5,3,7,9,1], + [7,1,3,9,2,4,8,5,6], + [9,6,1,5,3,7,2,8,4], + [2,8,7,4,1,9,6,3,5], + [3,4,5,2,8,6,1,7,9], + ]; + + const STATE = { IDLE: 'idle', RUNNING: 'running', PAUSED: 'paused', FINISHED: 'finished' }; + + let dom = {}; + let callbacks = { onWin: null, onAbandon: null }; + + let state = STATE.IDLE; + let solution = [], puzzle = [], given = [], board = [], notes = []; + let selected = null; + let notesMode = false; + let history = []; + let mistakes = 0; + let timerSeconds = 0; + let timerHandle = null; + let currentDifficulty = 'medium'; + + // ---------- Sudoku generation ---------- + + function emptyGrid(){ return Array.from({length:SIZE}, () => Array(SIZE).fill(0)); } + + function shuffled(arr){ + const a = arr.slice(); + for(let i=a.length-1;i>0;i--){ + const j = Math.floor(Math.random()*(i+1)); + [a[i],a[j]]=[a[j],a[i]]; + } + return a; + } + + function isValidPlacement(grid, row, col, val){ + for(let i=0;i=limit) return; + let row=-1, col=-1; + outer: + for(let r=0;r=limit) return; + } + } + } + backtrack(); + return count; + } + + function generatePuzzle(clueCount){ + const full = emptyGrid(); + fillGrid(full); + const puz = full.map(r=>r.slice()); + + const cells = shuffled(Array.from({length:81}, (_,i)=>i)); + let removed = 0; + const toRemove = 81 - clueCount; + + for(const idx of cells){ + if(removed>=toRemove) break; + const row = Math.floor(idx/SIZE), col = idx%SIZE; + if(puz[row][col]===0) continue; + const backup = puz[row][col]; + puz[row][col] = 0; + + const testGrid = puz.map(r=>r.slice()); + const solutions = countSolutions(testGrid, 2); + if(solutions !== 1){ + puz[row][col] = backup; + } else { + removed++; + } + } + return { full, puzzle: puz }; + } + + // ---------- Rendering ---------- + + function renderDecorative(){ + dom.board.innerHTML = ''; + dom.board.classList.remove('blurred'); + for(let r=0;r 0){ + const notesGrid = document.createElement('div'); + notesGrid.className = 'notes'; + for(let n=1;n<=9;n++){ + const span = document.createElement('span'); + span.textContent = notes[r][c].has(n) ? n : ''; + notesGrid.appendChild(span); + } + cell.appendChild(notesGrid); + } + + cell.addEventListener('click', () => selectCell(r,c)); + dom.board.appendChild(cell); + } + } + applySelectionStyles(); + } + + function applySelectionStyles(){ + const cellEls = dom.board.querySelectorAll('.cell'); + cellEls.forEach(el => el.classList.remove('peer','selected','same-value')); + if(!selected) return; + const [sr, sc] = selected; + const selVal = board[sr][sc]; + cellEls.forEach(el => { + const r = +el.dataset.row, c = +el.dataset.col; + const sameRow = r===sr, sameCol = c===sc; + const sameBox = Math.floor(r/BOX)===Math.floor(sr/BOX) && Math.floor(c/BOX)===Math.floor(sc/BOX); + if(sameRow || sameCol || sameBox) el.classList.add('peer'); + if(r===sr && c===sc) el.classList.add('selected'); + if(selVal!==0 && board[r][c]===selVal) el.classList.add('same-value'); + }); + } + + function renderKeypad(){ + dom.keypad.innerHTML = ''; + const counts = Array(10).fill(0); + for(let r=0;r=9) btn.classList.add('count-done'); + btn.addEventListener('click', () => inputNumber(n)); + dom.keypad.appendChild(btn); + } + } + + function updateNotesBtn(){ + dom.notesBtn.classList.toggle('active', notesMode); + } + + function formatTime(s){ + const m = Math.floor(s/60).toString().padStart(2,'0'); + const sec = (s%60).toString().padStart(2,'0'); + return `${m}:${sec}`; + } + + function updateUiForState(){ + dom.difficulty.disabled = (state === STATE.RUNNING || state === STATE.PAUSED); + dom.startOverlay.hidden = state !== STATE.IDLE; + dom.pauseOverlay.hidden = state !== STATE.PAUSED; + dom.gameActions.hidden = !(state === STATE.RUNNING || state === STATE.PAUSED); + dom.keypad.style.visibility = (state === STATE.RUNNING) ? 'visible' : 'hidden'; + dom.pauseBtn.hidden = state !== STATE.RUNNING; + dom.board.classList.toggle('blurred', state === STATE.PAUSED); + } + + // ---------- Timer ---------- + + function startTimerTick(){ + clearInterval(timerHandle); + timerHandle = setInterval(() => { + timerSeconds++; + dom.timer.textContent = formatTime(timerSeconds); + }, 1000); + } + + function stopTimerTick(){ + clearInterval(timerHandle); + timerHandle = null; + } + + // ---------- History (undo) ---------- + + function pushHistory(){ + history.push({ + board: board.map(r=>r.slice()), + notes: notes.map(row=>row.map(s=>new Set(s))), + mistakes + }); + if(history.length>200) history.shift(); + } + + function undo(){ + if(state !== STATE.RUNNING || history.length===0) return; + const prev = history.pop(); + board = prev.board; + notes = prev.notes; + mistakes = prev.mistakes; + dom.mistakes.textContent = mistakes; + renderBoard(); + } + + // ---------- Interaction ---------- + + function selectCell(r,c){ + if(state !== STATE.RUNNING) return; + selected = [r,c]; + applySelectionStyles(); + } + + function inputNumber(n){ + if(state !== STATE.RUNNING || !selected) return; + const [r,c] = selected; + if(given[r][c]) return; + + pushHistory(); + + if(notesMode){ + if(board[r][c]!==0) { history.pop(); return; } + if(notes[r][c].has(n)) notes[r][c].delete(n); + else notes[r][c].add(n); + renderBoard(); + return; + } + + board[r][c] = n; + notes[r][c].clear(); + clearPeerNotes(r,c,n); + + if(solution[r][c] !== n){ + mistakes++; + dom.mistakes.textContent = mistakes; + } + + renderBoard(); + renderKeypad(); + checkWin(); + } + + function clearPeerNotes(row,col,n){ + for(let i=0;iel.classList.remove('hint'), 900); } + checkWin(); + } + + function checkWin(){ + for(let r=0;r row.map(s => Array.from(s))), + mistakes, timerSeconds + })); + }catch(e){} + } + + function loadInProgress(){ + try{ + const raw = localStorage.getItem('sudoku-inprogress'); + if(!raw) return false; + const data = JSON.parse(raw); + currentDifficulty = data.difficulty || 'medium'; + solution = data.solution; + puzzle = data.puzzle; + given = data.given; + board = data.board; + notes = data.notes.map(row => row.map(arr => new Set(arr))); + mistakes = data.mistakes || 0; + timerSeconds = data.timerSeconds || 0; + history = []; + selected = null; + dom.difficulty.value = currentDifficulty; + dom.mistakes.textContent = mistakes; + dom.timer.textContent = formatTime(timerSeconds); + renderBoard(); + renderKeypad(); + state = STATE.PAUSED; + updateUiForState(); + return true; + }catch(e){ + return false; + } + } + + function clearSavedState(){ + try{ localStorage.removeItem('sudoku-inprogress'); }catch(e){} + } + + // ---------- Public lifecycle ---------- + + function start(difficulty){ + currentDifficulty = difficulty || dom.difficulty.value; + timerSeconds = 0; + mistakes = 0; + history = []; + selected = null; + notesMode = false; + updateNotesBtn(); + dom.mistakes.textContent = '0'; + dom.timer.textContent = '00:00'; + dom.msg.textContent = ''; + + const clueCount = DIFFICULTY_CLUES[currentDifficulty] || 34; + const { full, puzzle: puz } = generatePuzzle(clueCount); + solution = full; + puzzle = puz; + given = puz.map(r => r.map(v => v!==0)); + board = puz.map(r => r.slice()); + notes = Array.from({length:SIZE}, ()=>Array.from({length:SIZE}, ()=>new Set())); + + state = STATE.RUNNING; + renderBoard(); + renderKeypad(); + updateUiForState(); + startTimerTick(); + saveInProgress(); + } + + function pause(){ + if(state !== STATE.RUNNING) return; + state = STATE.PAUSED; + stopTimerTick(); + updateUiForState(); + saveInProgress(); + } + + function resume(){ + if(state !== STATE.PAUSED) return; + state = STATE.RUNNING; + startTimerTick(); + updateUiForState(); + selected = null; + applySelectionStyles(); + } + + function stop(){ + if(state !== STATE.RUNNING && state !== STATE.PAUSED) return; + const ok = window.confirm(window.I18N ? window.I18N.t('confirm.stop') : 'Abandonner la partie en cours ?'); + if(!ok) return; + stopTimerTick(); + clearSavedState(); + const snapshot = { difficulty: currentDifficulty, timeSeconds: timerSeconds, mistakes }; + state = STATE.IDLE; + renderDecorative(); + updateUiForState(); + if(snapshot.timeSeconds >= 1 && typeof callbacks.onAbandon === 'function'){ + callbacks.onAbandon(snapshot); + } + } + + function reset(){ + stopTimerTick(); + clearSavedState(); + state = STATE.IDLE; + selected = null; + renderDecorative(); + updateUiForState(); + } + + function getState(){ return state; } + + function init(cb){ + callbacks = cb || {}; + dom = { + board: document.getElementById('board'), + keypad: document.getElementById('keypad'), + timer: document.getElementById('timer'), + mistakes: document.getElementById('mistakes'), + difficulty: document.getElementById('difficulty'), + msg: document.getElementById('msg'), + boardWrap: document.getElementById('boardWrap'), + startOverlay: document.getElementById('startOverlay'), + startBtn: document.getElementById('startBtn'), + pauseOverlay: document.getElementById('pauseOverlay'), + resumeBtn: document.getElementById('resumeBtn'), + gameActions: document.getElementById('gameActions'), + pauseBtn: document.getElementById('pauseBtn'), + stopBtn: document.getElementById('stopBtn'), + undoBtn: document.getElementById('undoBtn'), + eraseBtn: document.getElementById('eraseBtn'), + notesBtn: document.getElementById('notesBtn'), + hintBtn: document.getElementById('hintBtn'), + }; + + dom.startBtn.addEventListener('click', () => start(dom.difficulty.value)); + dom.resumeBtn.addEventListener('click', resume); + dom.pauseBtn.addEventListener('click', pause); + dom.stopBtn.addEventListener('click', stop); + dom.undoBtn.addEventListener('click', undo); + dom.eraseBtn.addEventListener('click', eraseCell); + dom.hintBtn.addEventListener('click', giveHint); + dom.notesBtn.addEventListener('click', () => { notesMode = !notesMode; updateNotesBtn(); }); + + document.addEventListener('keydown', (e) => { + if(state !== STATE.RUNNING || !selected) return; + if(e.key>='1' && e.key<='9'){ inputNumber(parseInt(e.key,10)); return; } + if(e.key==='Backspace' || e.key==='Delete' || e.key==='0'){ eraseCell(); return; } + let [r,c] = selected; + if(e.key==='ArrowUp') r = Math.max(0, r-1); + else if(e.key==='ArrowDown') r = Math.min(8, r+1); + else if(e.key==='ArrowLeft') c = Math.max(0, c-1); + else if(e.key==='ArrowRight') c = Math.min(8, c+1); + else return; + e.preventDefault(); + selectCell(r,c); + }); + + window.addEventListener('beforeunload', saveInProgress); + setInterval(saveInProgress, 5000); + + if(!loadInProgress()){ + state = STATE.IDLE; + renderDecorative(); + } + updateUiForState(); + } + + window.SudokuGame = { init, start, pause, resume, stop, reset, getState, STATE }; +})(); diff --git a/app/i18n.js b/app/i18n.js new file mode 100644 index 0000000..aef4159 --- /dev/null +++ b/app/i18n.js @@ -0,0 +1,258 @@ +(function () { + "use strict"; + + const DICTS = { + fr: { + auth: { + login: "Se connecter", + register: "S'inscrire", + logout: "Déconnexion", + loginTab: "Connexion", + registerTab: "Inscription", + identifierLabel: "Pseudo ou email", + passwordLabel: "Mot de passe", + submitLogin: "Se connecter", + pseudoLabel: "Pseudo", + emailLabel: "Email", + submitRegister: "Créer mon compte", + benefit1: "📜 Historique de toutes vos parties", + benefit2: "⏱️ Suivi de votre vitesse de résolution", + benefit3: "🏆 Apparition au classement des joueurs", + }, + banner: { + html: "Vous jouez en anonyme. Créez un compte gratuit pour sauvegarder votre historique, suivre votre vitesse de résolution et grimper au classement !", + }, + topbar: { difficulty: "Difficulté", time: "Temps", mistakes: "Erreurs" }, + difficulty: { easy: "Facile", medium: "Moyen", hard: "Difficile", expert: "Expert" }, + board: { ready: "Prêt à jouer ?", start: "▶ Démarrer", paused: "⏸ En pause", resume: "▶ Reprendre" }, + actions: { + pause: "⏸ Pause", stop: "⏹ Stop", undo: "↩️ Annuler", erase: "🧹 Effacer", + notes: "✏️ Notes", hint: "💡 Indice", history: "📜 Historique", + leaderboard: "🏆 Classement", rules: "📖 Règles", + }, + confirm: { stop: "Abandonner la partie en cours ?" }, + win: { + title: "🎉 Bravo !", + subtitle: "Grille {difficulty} résolue.", + time: "TEMPS", + mistakesLabel: "ERREURS", + pointsSaved: "+{points} points enregistrés", + saveError: "Erreur d'enregistrement : {msg}", + ctaText: "Connectez-vous pour sauvegarder ce score et apparaître au classement.", + ctaButton: "Créer un compte gratuit", + replay: "Rejouer", + }, + msg: { + welcome: "Bienvenue, {pseudo} !", + accountCreated: "Compte créé, bienvenue {pseudo} !", + loggedOut: "Vous êtes déconnecté.", + loginRequiredHistory: "Connectez-vous pour consulter votre historique.", + scoreSaved: "Score enregistré : +{points} points !", + scoreSaveError: "Impossible d'enregistrer le score : {msg}", + }, + history: { + title: "📜 Historique", loading: "Chargement…", + empty: "Aucune partie enregistrée pour le moment.", error: "Erreur : {msg}", + colDate: "Date", colDifficulty: "Difficulté", colTime: "Temps", + colMistakes: "Erreurs", colResult: "Résultat", colPoints: "Points", + }, + leaderboard: { + title: "🏆 Classement", tabTimes: "Meilleurs temps", tabPoints: "Points", + emptyTimes: "Aucun score pour cette difficulté.", emptyPoints: "Aucun classement disponible.", + colRank: "#", colPlayer: "Joueur", colTime: "Temps", colMistakes: "Erreurs", + colPoints: "Points", colWins: "Victoires", error: "Erreur : {msg}", + }, + rules: { + title: "📖 Règles & guide du débutant", + objectiveTitle: "Objectif", + objectiveText: "Remplissez la grille de 9×9 cases avec des chiffres de 1 à 9.", + goldenRulesTitle: "Les 3 règles d'or", + rule1: "Chaque ligne doit contenir les chiffres de 1 à 9, sans répétition.", + rule2: "Chaque colonne doit contenir les chiffres de 1 à 9, sans répétition.", + rule3: "Chaque bloc de 3×3 doit contenir les chiffres de 1 à 9, sans répétition.", + howToTitle: "Comment jouer sur ce site", + how1: "Cliquez sur une case vide puis sur un chiffre (ou utilisez les touches 1-9 du clavier).", + how2: "✏️ Notes : activez ce mode pour noter les chiffres possibles dans une case, utile pour explorer les hypothèses.", + how3: "💡 Indice : révèle la bonne valeur dans la case sélectionnée (ou une case au hasard).", + how4: "↩️ Annuler : revient sur votre dernière action.", + how5: "⏸ Pause / ⏹ Stop : mettez la partie en pause ou abandonnez-la à tout moment.", + tipsTitle: "Astuces pour débutants", + tip1: "Repérez d'abord les chiffres qui apparaissent le plus souvent dans la grille de départ.", + tip2: "Pour une case donnée, éliminez les chiffres déjà présents dans sa ligne, sa colonne et son bloc.", + tip3: "Si un chiffre ne peut aller qu'à un seul endroit dans un bloc, une ligne ou une colonne, placez-le.", + tip4: "Utilisez les notes pour les cases à plusieurs possibilités, puis réduisez au fur et à mesure.", + tip5: "Ne devinez pas au hasard : chaque grille a une solution logique unique.", + }, + footer: { text: "Fait maison • servi depuis un conteneur Docker" }, + settings: { language: "Langue", theme: "Thème" }, + theme: { blue: "Bleu", green: "Émeraude", amber: "Ambre", mono: "Noir & blanc" }, + errors: { + INVALID_PSEUDO: "Pseudo invalide (3 à 20 caractères, lettres/chiffres/_).", + INVALID_EMAIL: "Adresse email invalide.", + INVALID_PASSWORD: "Le mot de passe doit contenir au moins 6 caractères.", + PSEUDO_TAKEN: "Ce pseudo est déjà utilisé.", + EMAIL_TAKEN: "Cette adresse email est déjà utilisée.", + REGISTER_FAILED: "Erreur lors de l'inscription.", + MISSING_CREDENTIALS: "Identifiant et mot de passe requis.", + INVALID_CREDENTIALS: "Identifiants incorrects.", + AUTH_REQUIRED: "Authentification requise.", + RATE_LIMITED: "Trop de tentatives, réessayez plus tard.", + INVALID_DIFFICULTY: "Difficulté invalide.", + INVALID_TIME: "Temps invalide.", + INVALID_MISTAKES: "Nombre d'erreurs invalide.", + TIME_TOO_SHORT: "Temps trop court pour cette difficulté.", + UNKNOWN: "Une erreur est survenue.", + }, + }, + en: { + auth: { + login: "Log in", + register: "Sign up", + logout: "Log out", + loginTab: "Login", + registerTab: "Sign up", + identifierLabel: "Username or email", + passwordLabel: "Password", + submitLogin: "Log in", + pseudoLabel: "Username", + emailLabel: "Email", + submitRegister: "Create my account", + benefit1: "📜 History of all your games", + benefit2: "⏱️ Track your solving speed", + benefit3: "🏆 Appear on the player leaderboard", + }, + banner: { + html: "You're playing as a guest. Create a free account to save your history, track your solving speed and climb the leaderboard!", + }, + topbar: { difficulty: "Difficulty", time: "Time", mistakes: "Mistakes" }, + difficulty: { easy: "Easy", medium: "Medium", hard: "Hard", expert: "Expert" }, + board: { ready: "Ready to play?", start: "▶ Start", paused: "⏸ Paused", resume: "▶ Resume" }, + actions: { + pause: "⏸ Pause", stop: "⏹ Stop", undo: "↩️ Undo", erase: "🧹 Erase", + notes: "✏️ Notes", hint: "💡 Hint", history: "📜 History", + leaderboard: "🏆 Leaderboard", rules: "📖 Rules", + }, + confirm: { stop: "Abandon the current game?" }, + win: { + title: "🎉 Well done!", + subtitle: "{difficulty} grid solved.", + time: "TIME", + mistakesLabel: "MISTAKES", + pointsSaved: "+{points} points saved", + saveError: "Save error: {msg}", + ctaText: "Log in to save this score and appear on the leaderboard.", + ctaButton: "Create a free account", + replay: "Play again", + }, + msg: { + welcome: "Welcome, {pseudo}!", + accountCreated: "Account created, welcome {pseudo}!", + loggedOut: "You are logged out.", + loginRequiredHistory: "Log in to view your history.", + scoreSaved: "Score saved: +{points} points!", + scoreSaveError: "Could not save the score: {msg}", + }, + history: { + title: "📜 History", loading: "Loading…", + empty: "No games recorded yet.", error: "Error: {msg}", + colDate: "Date", colDifficulty: "Difficulty", colTime: "Time", + colMistakes: "Mistakes", colResult: "Result", colPoints: "Points", + }, + leaderboard: { + title: "🏆 Leaderboard", tabTimes: "Best times", tabPoints: "Points", + emptyTimes: "No scores for this difficulty.", emptyPoints: "No leaderboard available.", + colRank: "#", colPlayer: "Player", colTime: "Time", colMistakes: "Mistakes", + colPoints: "Points", colWins: "Wins", error: "Error: {msg}", + }, + rules: { + title: "📖 Rules & beginner's guide", + objectiveTitle: "Objective", + objectiveText: "Fill the 9×9 grid with numbers from 1 to 9.", + goldenRulesTitle: "The 3 golden rules", + rule1: "Each row must contain the numbers 1 to 9, without repetition.", + rule2: "Each column must contain the numbers 1 to 9, without repetition.", + rule3: "Each 3×3 block must contain the numbers 1 to 9, without repetition.", + howToTitle: "How to play on this site", + how1: "Click an empty cell then a number (or use the 1-9 keyboard keys).", + how2: "✏️ Notes: turn this on to jot down candidate numbers in a cell — handy for exploring possibilities.", + how3: "💡 Hint: reveals the correct value in the selected cell (or a random one).", + how4: "↩️ Undo: reverts your last action.", + how5: "⏸ Pause / ⏹ Stop: pause the game or abandon it at any time.", + tipsTitle: "Tips for beginners", + tip1: "Start by spotting the numbers that appear most often in the starting grid.", + tip2: "For a given cell, eliminate numbers already present in its row, column and block.", + tip3: "If a number can only go in one spot within a block, row or column, place it there.", + tip4: "Use notes for cells with several possibilities, then narrow them down as you go.", + tip5: "Don't guess randomly: every grid has a unique logical solution.", + }, + footer: { text: "Homemade • served from a Docker container" }, + settings: { language: "Language", theme: "Theme" }, + theme: { blue: "Blue", green: "Emerald", amber: "Amber", mono: "Black & white" }, + errors: { + INVALID_PSEUDO: "Invalid username (3 to 20 characters, letters/digits/_).", + INVALID_EMAIL: "Invalid email address.", + INVALID_PASSWORD: "Password must be at least 6 characters.", + PSEUDO_TAKEN: "This username is already taken.", + EMAIL_TAKEN: "This email address is already in use.", + REGISTER_FAILED: "An error occurred during registration.", + MISSING_CREDENTIALS: "Username/email and password required.", + INVALID_CREDENTIALS: "Incorrect credentials.", + AUTH_REQUIRED: "Authentication required.", + RATE_LIMITED: "Too many attempts, please try again later.", + INVALID_DIFFICULTY: "Invalid difficulty.", + INVALID_TIME: "Invalid time.", + INVALID_MISTAKES: "Invalid number of mistakes.", + TIME_TOO_SHORT: "Time too short for this difficulty.", + UNKNOWN: "An error occurred.", + }, + }, + }; + + function detectInitialLang() { + try { + const saved = localStorage.getItem('sudoku-lang'); + if (saved === 'fr' || saved === 'en') return saved; + } catch (e) {} + return 'fr'; + } + + let lang = detectInitialLang(); + + function get(dict, path) { + return path.split('.').reduce((o, k) => (o && o[k] !== undefined ? o[k] : undefined), dict); + } + + function t(key, vars) { + let str = get(DICTS[lang], key); + if (str === undefined) str = get(DICTS.fr, key); + if (str === undefined) return key; + if (vars) { + Object.keys(vars).forEach(k => { + str = str.replace(new RegExp('\\{' + k + '\\}', 'g'), vars[k]); + }); + } + return str; + } + + function applyTranslations() { + document.documentElement.lang = lang; + document.querySelectorAll('[data-i18n]').forEach(el => { + el.textContent = t(el.getAttribute('data-i18n')); + }); + document.querySelectorAll('[data-i18n-html]').forEach(el => { + el.innerHTML = t(el.getAttribute('data-i18n-html')); + }); + } + + function setLang(l) { + if (l !== 'fr' && l !== 'en') return; + lang = l; + try { localStorage.setItem('sudoku-lang', l); } catch (e) {} + applyTranslations(); + if (typeof window.onLangChange === 'function') window.onLangChange(l); + } + + window.I18N = { t, setLang, getLang: () => lang, applyTranslations }; + + applyTranslations(); +})(); diff --git a/app/index.html b/app/index.html new file mode 100644 index 0000000..cc5cd99 --- /dev/null +++ b/app/index.html @@ -0,0 +1,227 @@ + + + + + +Sudoku + + + + +
+

đź§© Sudoku

+ +
+
+ + +
+
+ + + + +
+
+ +
+ + + +
+
+ +
+
00:00
+
0
+
+ +
+
+ +
+

+ +
+ + +
+ +
+ + + +
+ + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + diff --git a/app/main.js b/app/main.js new file mode 100644 index 0000000..c72d05f --- /dev/null +++ b/app/main.js @@ -0,0 +1,409 @@ +(function () { + "use strict"; + + let currentUser = null; + let pendingScore = null; + + function diffLabel(d) { return I18N.t('difficulty.' + d); } + + // ---------- API helper ---------- + + async function api(path, options) { + const opts = Object.assign({ credentials: 'include', headers: {} }, options); + if (opts.body) { + opts.headers['Content-Type'] = 'application/json'; + opts.body = JSON.stringify(opts.body); + } + const res = await fetch(path, opts); + let data = null; + try { data = await res.json(); } catch (e) { data = null; } + if (!res.ok) { + const code = (data && data.error) || 'UNKNOWN'; + throw new Error(I18N.t('errors.' + code)); + } + return data; + } + + // ---------- Modal helpers ---------- + + function openModal(id) { document.getElementById(id).classList.add('show'); } + function closeModal(id) { document.getElementById(id).classList.remove('show'); } + + document.querySelectorAll('.modal-overlay').forEach(overlay => { + overlay.addEventListener('click', (e) => { + if (e.target === overlay) overlay.classList.remove('show'); + }); + }); + document.querySelectorAll('.modal-close').forEach(btn => { + btn.addEventListener('click', () => btn.closest('.modal-overlay').classList.remove('show')); + }); + + // ---------- Theme ---------- + + const THEMES = ['blue', 'green', 'amber', 'mono']; + + function applyTheme(name) { + if (!THEMES.includes(name)) name = 'blue'; + document.documentElement.dataset.theme = name; + try { localStorage.setItem('sudoku-theme', name); } catch (e) {} + document.querySelectorAll('.theme-swatch').forEach(btn => { + btn.classList.toggle('active', btn.dataset.theme === name); + }); + } + + document.querySelectorAll('.theme-swatch').forEach(btn => { + btn.addEventListener('click', () => applyTheme(btn.dataset.theme)); + }); + + // ---------- Language ---------- + + function syncLangButtons() { + const lang = I18N.getLang(); + document.querySelectorAll('.lang-btn').forEach(btn => { + btn.classList.toggle('active', btn.dataset.lang === lang); + }); + } + + document.querySelectorAll('.lang-btn').forEach(btn => { + btn.addEventListener('click', () => I18N.setLang(btn.dataset.lang)); + }); + + window.onLangChange = function () { + syncLangButtons(); + renderAuthbar(); + // Re-render whichever modal body is currently open, since their content is JS-generated + if (document.getElementById('leaderboardModal').classList.contains('show')) loadLeaderboard(); + if (document.getElementById('historyModal').classList.contains('show')) loadHistory(); + }; + + // ---------- Auth bar ---------- + + function renderAuthbar() { + const bar = document.getElementById('authbar'); + const banner = document.getElementById('anonBanner'); + bar.innerHTML = ''; + + if (currentUser) { + banner.hidden = true; + const who = document.createElement('div'); + who.className = 'who'; + who.innerHTML = `👤 ${escapeHtml(currentUser.pseudo)} · ${currentUser.totalPoints || 0} pts`; + const actions = document.createElement('div'); + actions.className = 'actions-inline'; + const logoutBtn = document.createElement('button'); + logoutBtn.textContent = I18N.t('auth.logout'); + logoutBtn.addEventListener('click', logout); + actions.appendChild(logoutBtn); + bar.appendChild(who); + bar.appendChild(actions); + } else { + const dismissed = localStorage.getItem('sudoku-anon-banner-dismissed') === '1'; + banner.hidden = dismissed; + const who = document.createElement('div'); + who.className = 'who'; + who.textContent = '🔓 ' + (I18N.getLang() === 'en' ? 'Guest mode' : 'Mode anonyme'); + const actions = document.createElement('div'); + actions.className = 'actions-inline'; + const loginBtn = document.createElement('button'); + loginBtn.textContent = I18N.t('auth.login'); + loginBtn.addEventListener('click', () => openAuthModal('login')); + const registerBtn = document.createElement('button'); + registerBtn.textContent = I18N.t('auth.register'); + registerBtn.className = 'primary'; + registerBtn.addEventListener('click', () => openAuthModal('register')); + actions.appendChild(loginBtn); + actions.appendChild(registerBtn); + bar.appendChild(who); + bar.appendChild(actions); + } + } + + function escapeHtml(s) { + return String(s).replace(/[&<>"']/g, c => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); + } + + async function refreshAuth() { + try { + const data = await api('/api/auth/me'); + currentUser = data.user; + } catch (e) { + currentUser = null; + } + renderAuthbar(); + } + + async function logout() { + try { await api('/api/auth/logout', { method: 'POST' }); } catch (e) {} + currentUser = null; + renderAuthbar(); + setMsg(I18N.t('msg.loggedOut')); + } + + function setMsg(text) { + document.getElementById('msg').textContent = text || ''; + } + + // ---------- Anonymous banner ---------- + + document.getElementById('anonBannerClose').addEventListener('click', () => { + localStorage.setItem('sudoku-anon-banner-dismissed', '1'); + document.getElementById('anonBanner').hidden = true; + }); + document.getElementById('anonBannerLogin').addEventListener('click', () => openAuthModal('login')); + document.getElementById('anonBannerRegister').addEventListener('click', () => openAuthModal('register')); + + // ---------- Auth modal ---------- + + function openAuthModal(tab) { + setAuthTab(tab || 'login'); + document.getElementById('authError').textContent = ''; + openModal('authModal'); + } + + function setAuthTab(tab) { + const isLogin = tab === 'login'; + document.getElementById('authTabLogin').classList.toggle('active', isLogin); + document.getElementById('authTabRegister').classList.toggle('active', !isLogin); + document.getElementById('loginForm').hidden = !isLogin; + document.getElementById('registerForm').hidden = isLogin; + document.getElementById('authError').textContent = ''; + } + + document.getElementById('authTabLogin').addEventListener('click', () => setAuthTab('login')); + document.getElementById('authTabRegister').addEventListener('click', () => setAuthTab('register')); + + document.getElementById('loginForm').addEventListener('submit', async (e) => { + e.preventDefault(); + const identifier = document.getElementById('loginIdentifier').value.trim(); + const password = document.getElementById('loginPassword').value; + const errEl = document.getElementById('authError'); + errEl.textContent = ''; + try { + const user = await api('/api/auth/login', { method: 'POST', body: { identifier, password } }); + await refreshAuth(); + closeModal('authModal'); + e.target.reset(); + setMsg(I18N.t('msg.welcome', { pseudo: user.pseudo })); + await maybeSubmitPendingScore(); + } catch (err) { + errEl.textContent = err.message; + } + }); + + document.getElementById('registerForm').addEventListener('submit', async (e) => { + e.preventDefault(); + const pseudo = document.getElementById('registerPseudo').value.trim(); + const email = document.getElementById('registerEmail').value.trim(); + const password = document.getElementById('registerPassword').value; + const errEl = document.getElementById('authError'); + errEl.textContent = ''; + try { + const user = await api('/api/auth/register', { method: 'POST', body: { pseudo, email, password } }); + await refreshAuth(); + closeModal('authModal'); + e.target.reset(); + setMsg(I18N.t('msg.accountCreated', { pseudo: user.pseudo })); + await maybeSubmitPendingScore(); + } catch (err) { + errEl.textContent = err.message; + } + }); + + async function maybeSubmitPendingScore() { + if (!pendingScore || !currentUser) return; + try { + const saved = await api('/api/games', { method: 'POST', body: { + difficulty: pendingScore.difficulty, + time_seconds: pendingScore.timeSeconds, + mistakes: pendingScore.mistakes, + won: true, + }}); + setMsg(I18N.t('msg.scoreSaved', { points: saved.points })); + pendingScore = null; + await refreshAuth(); + } catch (e) { + setMsg(I18N.t('msg.scoreSaveError', { msg: e.message })); + } + } + + // ---------- History modal ---------- + + async function loadHistory() { + const body = document.getElementById('historyBody'); + body.innerHTML = `

${I18N.t('history.loading')}

`; + try { + const data = await api('/api/games/history'); + if (!data.history.length) { + body.innerHTML = `

${I18N.t('history.empty')}

`; + return; + } + const rows = data.history.map(g => ` + + ${new Date(g.created_at + 'Z').toLocaleString(I18N.getLang() === 'en' ? 'en-US' : 'fr-FR', { dateStyle: 'short', timeStyle: 'short' })} + ${diffLabel(g.difficulty)} + ${formatTime(g.time_seconds)} + ${g.mistakes} + ${g.won ? '✅' : '❌'} + ${g.points} + `).join(''); + body.innerHTML = ` +
+ + + + + + + ${rows} +
${I18N.t('history.colDate')}${I18N.t('history.colDifficulty')}${I18N.t('history.colTime')}${I18N.t('history.colMistakes')}${I18N.t('history.colResult')}${I18N.t('history.colPoints')}
+
`; + } catch (e) { + body.innerHTML = `

${I18N.t('history.error', { msg: e.message })}

`; + } + } + + document.getElementById('historyBtn').addEventListener('click', async () => { + if (!currentUser) { + openAuthModal('login'); + setMsg(I18N.t('msg.loginRequiredHistory')); + return; + } + openModal('historyModal'); + loadHistory(); + }); + + function formatTime(s) { + const m = Math.floor(s / 60).toString().padStart(2, '0'); + const sec = (s % 60).toString().padStart(2, '0'); + return `${m}:${sec}`; + } + + // ---------- Rules modal ---------- + + document.getElementById('rulesBtn').addEventListener('click', () => openModal('rulesModal')); + + // ---------- Leaderboard modal ---------- + + let leaderboardMode = 'times'; + let leaderboardDiff = 'medium'; + + document.getElementById('leaderboardBtn').addEventListener('click', () => { + openModal('leaderboardModal'); + loadLeaderboard(); + }); + + document.getElementById('lbTabTimes').addEventListener('click', () => { leaderboardMode = 'times'; syncLbTabs(); loadLeaderboard(); }); + document.getElementById('lbTabPoints').addEventListener('click', () => { leaderboardMode = 'points'; syncLbTabs(); loadLeaderboard(); }); + + function syncLbTabs() { + document.getElementById('lbTabTimes').classList.toggle('active', leaderboardMode === 'times'); + document.getElementById('lbTabPoints').classList.toggle('active', leaderboardMode === 'points'); + document.getElementById('lbDiffTabs').hidden = leaderboardMode !== 'times'; + } + + document.querySelectorAll('#lbDiffTabs button').forEach(btn => { + btn.addEventListener('click', () => { + leaderboardDiff = btn.dataset.diff; + document.querySelectorAll('#lbDiffTabs button').forEach(b => b.classList.toggle('active', b === btn)); + loadLeaderboard(); + }); + }); + + async function loadLeaderboard() { + const body = document.getElementById('leaderboardBody'); + body.innerHTML = `

${I18N.t('history.loading')}

`; + try { + if (leaderboardMode === 'times') { + const data = await api(`/api/leaderboard/best-times?difficulty=${leaderboardDiff}`); + if (!data.entries.length) { + body.innerHTML = `

${I18N.t('leaderboard.emptyTimes')}

`; + return; + } + const rows = data.entries.map((e, i) => ` + ${i + 1}${escapeHtml(e.pseudo)}${formatTime(e.time_seconds)}${e.mistakes} + `).join(''); + body.innerHTML = ` +
+ + + + + + ${rows} +
${I18N.t('leaderboard.colRank')}${I18N.t('leaderboard.colPlayer')}${I18N.t('leaderboard.colTime')}${I18N.t('leaderboard.colMistakes')}
+
`; + } else { + const data = await api('/api/leaderboard/points'); + if (!data.entries.length) { + body.innerHTML = `

${I18N.t('leaderboard.emptyPoints')}

`; + return; + } + const rows = data.entries.map((e, i) => ` + ${i + 1}${escapeHtml(e.pseudo)}${e.total_points}${e.wins} + `).join(''); + body.innerHTML = ` +
+ + + + + + ${rows} +
${I18N.t('leaderboard.colRank')}${I18N.t('leaderboard.colPlayer')}${I18N.t('leaderboard.colPoints')}${I18N.t('leaderboard.colWins')}
+
`; + } + } catch (e) { + body.innerHTML = `

${I18N.t('leaderboard.error', { msg: e.message })}

`; + } + } + + // ---------- Win modal ---------- + + function showWinModal({ difficulty, timeSeconds, mistakes }) { + document.getElementById('winSubtitle').textContent = I18N.t('win.subtitle', { difficulty: diffLabel(difficulty) }); + document.getElementById('winTime').textContent = formatTime(timeSeconds); + document.getElementById('winMistakes').textContent = mistakes; + const cta = document.getElementById('winCta'); + const pointsLine = document.getElementById('winPoints'); + pointsLine.textContent = ''; + + if (currentUser) { + cta.hidden = true; + api('/api/games', { method: 'POST', body: { difficulty, time_seconds: timeSeconds, mistakes, won: true } }) + .then(saved => { + pointsLine.textContent = I18N.t('win.pointsSaved', { points: saved.points }); + return refreshAuth(); + }) + .catch(err => { pointsLine.textContent = I18N.t('win.saveError', { msg: err.message }); }); + } else { + pendingScore = { difficulty, timeSeconds, mistakes }; + cta.hidden = false; + } + openModal('winModal'); + } + + document.getElementById('winRegisterBtn').addEventListener('click', () => { + closeModal('winModal'); + openAuthModal('register'); + }); + document.getElementById('winCloseBtn').addEventListener('click', () => { + closeModal('winModal'); + window.SudokuGame.reset(); + }); + + // ---------- Abandon ---------- + + async function handleAbandon({ difficulty, timeSeconds, mistakes }) { + if (!currentUser) return; + try { + await api('/api/games', { method: 'POST', body: { difficulty, time_seconds: timeSeconds, mistakes, won: false } }); + } catch (e) { /* silent */ } + } + + // ---------- Boot ---------- + + applyTheme(localStorage.getItem('sudoku-theme') || 'blue'); + syncLangButtons(); + window.SudokuGame.init({ onWin: showWinModal, onAbandon: handleAbandon }); + refreshAuth(); +})(); diff --git a/app/styles.css b/app/styles.css new file mode 100644 index 0000000..8e4b3f7 --- /dev/null +++ b/app/styles.css @@ -0,0 +1,490 @@ +:root{ + --bg:#1b1e27; + --panel:#242836; + --cell:#2c3142; + --cell-alt:#323851; + --line-thin:#454c66; + --line-thick:#7d88b8; + --text:#eef0f7; + --muted:#9aa2c0; + --accent:#5b8cff; + --accent-soft:#33395222; + --given:#c9cfe8; + --user:#8fc7ff; + --error:#ff6b6b; + --success:#4ade80; + --select:#3a4a7a; + --peer:#2f3650; + --same:#3d5a8a; + --warn:#f5b942; +} +:root[data-theme="green"]{ + --accent:#34d399; + --accent-soft:#1f6f5722; + --user:#7ee3bd; + --select:#1f5b48; + --same:#227a5e; + --peer:#20352f; + --given:#bfe8d4; +} +:root[data-theme="amber"]{ + --accent:#fb923c; + --accent-soft:#8a4a1c22; + --user:#ffce9e; + --select:#5a3820; + --same:#7a4d28; + --peer:#332a22; + --given:#f0d2b0; +} +:root[data-theme="mono"]{ + --bg:#000000; + --panel:#0a0a0a; + --cell:#141414; + --cell-alt:#1c1c1c; + --line-thin:#3a3a3a; + --line-thick:#6b6b6b; + --text:#ffffff; + --muted:#a0a0a0; + --accent:#e11d2e; + --accent-soft:#4d0a0e22; + --given:#ffffff; + --user:#ff6b6b; + --select:#3a0d10; + --peer:#1a1a1a; + --same:#5c1015; +} +*{box-sizing:border-box;} +html,body{height:100%;} +body{ + margin:0; + background:radial-gradient(circle at top, #232838, #14161d 70%); + color:var(--text); + font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; + display:flex; + align-items:flex-start; + justify-content:center; + min-height:100vh; + padding:16px; +} +.app{ + width:100%; + max-width:520px; + display:flex; + flex-direction:column; + gap:14px; +} +h1{ + margin:0; + font-size:1.6rem; + letter-spacing:0.04em; + text-align:center; + font-weight:700; +} +[hidden]{ display:none !important; } + +select, button, input{ + font-family:inherit; + font-size:0.9rem; + border-radius:10px; + border:1px solid var(--line-thin); + background:var(--cell); + color:var(--text); + padding:8px 10px; + cursor:pointer; +} +input{ cursor:text; } +select:hover, button:hover{ border-color:var(--accent); } +button:active{ transform:translateY(1px); } +button:disabled{ opacity:0.4; cursor:not-allowed; } + +/* ---------- Settings bar (language + theme) ---------- */ +.settings-bar{ + display:flex; + justify-content:space-between; + align-items:center; + gap:10px; +} +.lang-switch{ + display:flex; + gap:4px; + background:var(--panel); + border-radius:10px; + padding:3px; +} +.lang-btn{ + padding:5px 12px; + font-size:0.75rem; + font-weight:600; + border:none; + background:transparent; + border-radius:8px; +} +.lang-btn.active{ background:var(--accent); color:#0c1220; } +.theme-switch{ + display:flex; + align-items:center; + gap:8px; + background:var(--panel); + border-radius:10px; + padding:6px 12px; +} +.theme-swatch{ + width:20px; + height:20px; + border-radius:50%; + padding:0; + border:2px solid transparent; + cursor:pointer; +} +.theme-swatch[data-theme="blue"]{ background:#5b8cff; } +.theme-swatch[data-theme="green"]{ background:#34d399; } +.theme-swatch[data-theme="amber"]{ background:#fb923c; } +.theme-swatch[data-theme="mono"]{ background:conic-gradient(#000 0% 33.33%, #fff 33.33% 66.66%, #e11d2e 66.66% 100%); } +.theme-swatch.active{ border-color:var(--text); } + +/* ---------- Auth bar ---------- */ +.authbar{ + display:flex; + align-items:center; + justify-content:space-between; + gap:8px; + background:var(--panel); + border-radius:14px; + padding:8px 14px; + font-size:0.85rem; +} +.authbar .who{ color:var(--muted); } +.authbar .who b{ color:var(--text); } +.authbar .pts{ color:var(--warn); font-weight:700; } +.authbar .actions-inline{ display:flex; gap:6px; } +.authbar button{ + padding:6px 10px; + font-size:0.8rem; + background:transparent; +} +.authbar button.primary{ + background:var(--accent); + border-color:var(--accent); + color:#0c1220; + font-weight:700; +} + +.anon-banner{ + display:flex; + align-items:center; + gap:10px; + background:linear-gradient(135deg, #2a3350, #262b45); + border:1px solid var(--line-thin); + border-radius:12px; + padding:10px 12px; + font-size:0.82rem; + color:var(--muted); +} +.anon-banner .txt{ flex:1; line-height:1.4; } +.anon-banner .txt b{ color:var(--text); } +.anon-banner .btns{ display:flex; flex-direction:column; gap:6px; } +.anon-banner button{ padding:6px 10px; font-size:0.78rem; white-space:nowrap; } +.anon-banner .close-x{ + background:none; border:none; color:var(--muted); font-size:1rem; + padding:2px 6px; align-self:flex-start; +} + +.topbar{ + display:flex; + justify-content:space-between; + align-items:center; + background:var(--panel); + border-radius:14px; + padding:10px 16px; + font-variant-numeric:tabular-nums; + box-shadow:0 4px 18px rgba(0,0,0,0.35); +} +.topbar .stat{ + display:flex; + flex-direction:column; + align-items:center; + font-size:0.75rem; + color:var(--muted); + gap:2px; +} +.topbar .stat span.value{ + font-size:1.05rem; + color:var(--text); + font-weight:600; +} + +.board-wrap{ + position:relative; + background:var(--panel); + border-radius:16px; + padding:14px; + box-shadow:0 6px 24px rgba(0,0,0,0.4); +} +.board{ + display:grid; + grid-template-columns:repeat(9, 1fr); + grid-template-rows:repeat(9, 1fr); + width:100%; + aspect-ratio:1/1; + border:2px solid var(--line-thick); + border-radius:8px; + overflow:hidden; + background:var(--line-thin); + gap:1px; + transition:filter 0.2s ease; +} +.board.blurred{ filter:blur(6px); pointer-events:none; } +.cell{ + background:var(--cell); + display:flex; + align-items:center; + justify-content:center; + position:relative; + font-size:clamp(16px, 4.2vw, 26px); + font-weight:600; + color:var(--user); + cursor:pointer; + user-select:none; +} +.cell.alt-box{ background:var(--cell-alt); } +.cell.given{ color:var(--given); font-weight:700; cursor:default; } +.cell.peer{ background:var(--peer); } +.cell.alt-box.peer{ background:#37406a; } +.cell.same-value{ background:var(--same); } +.cell.selected{ background:var(--select); box-shadow:inset 0 0 0 2px var(--accent); } +.cell.error{ color:var(--error) !important; } +.cell.hint{ color:var(--success) !important; } +.cell:nth-child(3n){ border-right:2px solid var(--line-thick); } +.cell:nth-child(9n){ border-right:none; } +.notes{ + position:absolute; + inset:0; + display:grid; + grid-template-columns:repeat(3,1fr); + grid-template-rows:repeat(3,1fr); + font-size:clamp(7px, 1.6vw, 10px); + font-weight:500; + color:var(--muted); + padding:2px; +} +.notes span{ display:flex; align-items:center; justify-content:center; } + +.board-overlay{ + position:absolute; + inset:14px; + background:rgba(20,22,30,0.6); + display:flex; + flex-direction:column; + align-items:center; + justify-content:center; + gap:12px; + border-radius:8px; + z-index:5; + text-align:center; + padding:16px; +} +.board-overlay[hidden]{ display:none; } +.board-overlay p{ margin:0; font-size:1.1rem; font-weight:700; color:var(--text); } +.board-overlay .big-btn{ + padding:14px 28px; + font-size:1.1rem; + font-weight:700; + background:var(--accent); + border-color:var(--accent); + color:#0c1220; +} + +.keypad{ + display:grid; + grid-template-columns:repeat(9, 1fr); + gap:6px; +} +.keypad button{ + padding:12px 0; + font-size:1.1rem; + font-weight:700; + background:var(--cell); +} +.keypad button.count-done{ + opacity:0.35; + pointer-events:none; +} + +.actions{ + display:flex; + gap:8px; + justify-content:center; + flex-wrap:wrap; +} +.actions button{ + display:flex; + align-items:center; + gap:6px; + flex:1 1 auto; + justify-content:center; + min-width:80px; +} +.actions button.active{ + border-color:var(--accent); + background:var(--accent-soft); + color:var(--accent); +} +.actions[hidden]{ display:none; } + +.msg{ + text-align:center; + min-height:1.4em; + font-weight:600; + color:var(--success); +} + +/* ---------- Modals ---------- */ +.modal-overlay{ + position:fixed; + inset:0; + background:rgba(10,12,18,0.75); + display:none; + align-items:center; + justify-content:center; + z-index:20; + padding:16px; +} +.modal-overlay.show{ display:flex; } +.modal-card{ + background:var(--panel); + padding:24px 26px; + border-radius:16px; + text-align:center; + box-shadow:0 10px 40px rgba(0,0,0,0.5); + width:100%; + max-width:400px; + max-height:90vh; + overflow-y:auto; + position:relative; +} +.modal-card h2{ margin:0 0 6px; } +.modal-card p.sub{ color:var(--muted); margin:4px 0 16px; font-size:0.85rem; } +.modal-close{ + position:absolute; + top:10px; right:10px; + background:none; border:none; + color:var(--muted); + font-size:1.1rem; + padding:4px 8px; +} +.modal-card.win h2{ color:var(--success); } +.modal-card .field{ + display:flex; + flex-direction:column; + gap:4px; + text-align:left; + margin-bottom:12px; +} +.modal-card .field label{ font-size:0.8rem; color:var(--muted); } +.modal-card .field input{ width:100%; } +.modal-card .error-text{ color:var(--error); font-size:0.82rem; min-height:1.2em; margin-bottom:8px; } +.modal-card .tabs{ + display:flex; + gap:6px; + margin-bottom:16px; + background:var(--cell); + border-radius:10px; + padding:4px; +} +.modal-card .tabs button{ + flex:1; + border:none; + background:transparent; + padding:8px; +} +.modal-card .tabs button.active{ + background:var(--accent); + color:#0c1220; + font-weight:700; +} +.modal-card .full-btn{ + width:100%; + background:var(--accent); + border-color:var(--accent); + color:#0c1220; + font-weight:700; + padding:10px; +} +.modal-card .benefits-list{ + text-align:left; + color:var(--muted); + font-size:0.85rem; + line-height:1.7; + margin:0 0 16px; + padding-left:0; + list-style:none; +} +.modal-card .benefits-list li{ display:flex; gap:8px; align-items:flex-start; } +.modal-card .stack{ display:flex; flex-direction:column; gap:8px; } +.modal-card .win-stats{ + display:flex; + justify-content:center; + gap:18px; + margin:10px 0 18px; +} +.modal-card .win-stats .stat{ display:flex; flex-direction:column; align-items:center; } +.modal-card .win-stats .stat .v{ font-size:1.3rem; font-weight:700; } +.modal-card .win-stats .stat .l{ font-size:0.7rem; color:var(--muted); text-transform:uppercase; } + +.data-table{ + width:100%; + border-collapse:collapse; + font-size:0.82rem; + text-align:left; +} +.data-table th, .data-table td{ + padding:6px 8px; + border-bottom:1px solid var(--line-thin); +} +.data-table th{ color:var(--muted); font-weight:600; } +.data-table tr:first-child td{ font-weight:700; } +.empty-note{ color:var(--muted); font-size:0.85rem; padding:12px 0; } + +.diff-tabs{ + display:flex; + gap:6px; + margin-bottom:12px; + flex-wrap:wrap; + justify-content:center; +} +.diff-tabs button{ + padding:6px 12px; + font-size:0.78rem; + background:var(--cell); +} +.diff-tabs button.active{ + background:var(--accent); + border-color:var(--accent); + color:#0c1220; + font-weight:700; +} + +.modal-card.rules{ text-align:left; } +.modal-card.rules h2{ text-align:center; } +.modal-card.rules h3{ + margin:16px 0 6px; + font-size:0.9rem; + color:var(--accent); +} +.modal-card.rules h3:first-of-type{ margin-top:0; } +.modal-card.rules p, .modal-card.rules li{ + font-size:0.85rem; + color:var(--muted); + line-height:1.6; +} +.modal-card.rules ul, .modal-card.rules ol{ + margin:4px 0 12px; + padding-left:20px; +} + +footer{ + text-align:center; + color:var(--muted); + font-size:0.75rem; + opacity:0.7; +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9a5b01b --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,13 @@ +services: + sudoku: + build: . + container_name: sudoku + restart: unless-stopped + ports: + - "8090:3000" + environment: + - NODE_ENV=production + - JWT_SECRET=${JWT_SECRET} + volumes: + - ./app:/app/public:ro + - ./data:/app/data diff --git a/docs/screenshot.png b/docs/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..f273f5d164264dd7e29fc7706bf4810ceb480a22 GIT binary patch literal 278333 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ΠRSR=H+n)(#TlI+eMDBL6-0?wYrJQ_X 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 { + const pseudo = String(req.body.pseudo || '').trim(); + const email = String(req.body.email || '').trim().toLowerCase(); + const password = String(req.body.password || ''); + + if (!PSEUDO_RE.test(pseudo)) { + return res.status(400).json({ error: 'INVALID_PSEUDO' }); + } + if (!EMAIL_RE.test(email)) { + return res.status(400).json({ error: 'INVALID_EMAIL' }); + } + if (password.length < 6) { + return res.status(400).json({ error: 'INVALID_PASSWORD' }); + } + + try { + const passwordHash = hashPassword(password); + const info = db + .prepare('INSERT INTO users (pseudo, email, password_hash) VALUES (?, ?, ?)') + .run(pseudo, email, passwordHash); + const user = { id: info.lastInsertRowid, pseudo }; + const token = signToken(user); + setAuthCookie(res, token); + res.json({ id: user.id, pseudo: user.pseudo, email, totalPoints: 0, wins: 0 }); + } catch (e) { + if (String(e.message).includes('users.pseudo')) { + return res.status(409).json({ error: 'PSEUDO_TAKEN' }); + } + if (String(e.message).includes('users.email')) { + return res.status(409).json({ error: 'EMAIL_TAKEN' }); + } + console.error(e); + res.status(500).json({ error: 'REGISTER_FAILED' }); + } +}); + +app.post('/api/auth/login', authLimiter, (req, res) => { + const identifier = String(req.body.identifier || '').trim().toLowerCase(); + const password = String(req.body.password || ''); + if (!identifier || !password) { + return res.status(400).json({ error: 'MISSING_CREDENTIALS' }); + } + + const user = db + .prepare('SELECT * FROM users WHERE lower(pseudo) = ? OR email = ?') + .get(identifier, identifier); + + if (!user || !verifyPassword(password, user.password_hash)) { + return res.status(401).json({ error: 'INVALID_CREDENTIALS' }); + } + + const token = signToken(user); + setAuthCookie(res, token); + res.json({ id: user.id, pseudo: user.pseudo, email: user.email }); +}); + +app.post('/api/auth/logout', (req, res) => { + clearAuthCookie(res); + res.json({ ok: true }); +}); + +app.get('/api/auth/me', (req, res) => { + if (!req.user) return res.json({ user: null }); + const row = db + .prepare( + `SELECT u.id, u.pseudo, u.email, + COALESCE(SUM(g.points), 0) AS totalPoints, + COALESCE(SUM(g.won), 0) AS wins + FROM users u + LEFT JOIN games g ON g.user_id = u.id + WHERE u.id = ? + GROUP BY u.id` + ) + .get(req.user.id); + if (!row) return res.json({ user: null }); + res.json({ user: row }); +}); + +// ---------- Games routes ---------- + +app.post('/api/games', requireAuth, (req, res) => { + const difficulty = String(req.body.difficulty || ''); + const timeSeconds = Math.round(Number(req.body.time_seconds)); + const mistakes = Math.round(Number(req.body.mistakes)); + const won = !!req.body.won; + + if (!DIFFICULTIES.includes(difficulty)) { + return res.status(400).json({ error: 'INVALID_DIFFICULTY' }); + } + if (!Number.isFinite(timeSeconds) || timeSeconds < 1 || timeSeconds > 36000) { + return res.status(400).json({ error: 'INVALID_TIME' }); + } + if (!Number.isFinite(mistakes) || mistakes < 0 || mistakes > 999) { + return res.status(400).json({ error: 'INVALID_MISTAKES' }); + } + if (won && timeSeconds < MIN_TIME_SECONDS[difficulty]) { + return res.status(400).json({ error: 'TIME_TOO_SHORT' }); + } + + const points = won ? computePoints(difficulty, timeSeconds, mistakes) : 0; + + const info = db + .prepare( + 'INSERT INTO games (user_id, difficulty, time_seconds, mistakes, won, points) VALUES (?, ?, ?, ?, ?, ?)' + ) + .run(req.user.id, difficulty, timeSeconds, mistakes, won ? 1 : 0, points); + + res.json({ id: info.lastInsertRowid, difficulty, time_seconds: timeSeconds, mistakes, won, points }); +}); + +app.get('/api/games/history', requireAuth, (req, res) => { + const rows = db + .prepare( + `SELECT difficulty, time_seconds, mistakes, won, points, created_at + FROM games WHERE user_id = ? ORDER BY created_at DESC LIMIT 50` + ) + .all(req.user.id); + res.json({ history: rows }); +}); + +// ---------- Leaderboard routes ---------- + +app.get('/api/leaderboard/best-times', (req, res) => { + const difficulty = String(req.query.difficulty || ''); + if (!DIFFICULTIES.includes(difficulty)) { + return res.status(400).json({ error: 'INVALID_DIFFICULTY' }); + } + const rows = db + .prepare( + `SELECT u.pseudo AS pseudo, g.time_seconds AS time_seconds, g.mistakes AS mistakes, g.created_at AS created_at + FROM games g + JOIN users u ON u.id = g.user_id + WHERE g.difficulty = ? AND g.won = 1 + AND g.time_seconds = ( + SELECT MIN(g2.time_seconds) FROM games g2 + WHERE g2.user_id = g.user_id AND g2.difficulty = g.difficulty AND g2.won = 1 + ) + GROUP BY g.user_id + ORDER BY g.time_seconds ASC + LIMIT 10` + ) + .all(difficulty); + res.json({ difficulty, entries: rows }); +}); + +app.get('/api/leaderboard/points', (req, res) => { + const rows = db + .prepare( + `SELECT u.pseudo AS pseudo, + COALESCE(SUM(g.points), 0) AS total_points, + COALESCE(SUM(g.won), 0) AS wins, + COUNT(*) AS games_played + FROM users u + JOIN games g ON g.user_id = u.id + GROUP BY u.id + ORDER BY total_points DESC + LIMIT 20` + ) + .all(); + res.json({ entries: rows }); +}); + +// ---------- Static frontend ---------- + +const publicDir = path.join(__dirname, 'public'); +app.use(express.static(publicDir)); +app.get('*', (req, res) => { + res.sendFile(path.join(publicDir, 'index.html')); +}); + +app.listen(PORT, () => { + console.log(`Sudoku server listening on port ${PORT}`); +});