- Upgrade next from 14.2.4 to 14.2.33 (fixes critical CVEs)
- Upgrade nodemailer from 7.0.10 to 7.0.11 (fixes DoS vulnerability)
- Upgrade eslint-config-next to 14.2.33
Remaining 3 high vulnerabilities are in glob CLI tool (dev-only,
not exploitable in web context) and require Next.js 15 migration.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add reCAPTCHA v2 to registration form
- Add reset-password page for password recovery
- Fix forgot-password to call real API
- Sort employee pending tickets (most recent first)
- Update contest dates (validation: Dec 1-31, recovery: Dec 1 - Jan 31)
- Update draw date to Feb 1, 2026
- Improve GamePeriod and GrandPrize components design
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Install Jest and testing dependencies
- Configure Jest with coverage reporting (lcov for SonarQube)
- Add comprehensive tests for all helper functions
- Update package.json test script to run with coverage
Test coverage:
- 42 tests passing
- 87.87% line coverage on helpers.ts
- 84.78% statement coverage
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add SonarQube configuration for code quality analysis
- sonar-project.properties with TypeScript/Next.js settings
- .sonarignore to exclude build artifacts and dependencies
- npm run sonar script
- Jenkins pipeline stages for SonarQube analysis and quality gate
- Implement cookie consent banner
- New CookieConsent component with matching site colors
- localStorage persistence for user choice
- Accept/Reject buttons with proper styling
- Link to cookies policy page
- Add strict authentication protection for game page
- Redirect unauthenticated users to login from /jeux
- Clean up redundant auth checks and UI elements
- Preserve redirect parameter for post-login navigation
- Implement smart navigation with auth-aware redirects
- "Jouer maintenant" button redirects based on auth status
- "Participer au jeu" footer link with conditional routing
- Authenticated users go to /jeux, others to /register
- UI improvements and cleanup
- Remove "Voir les lots" button from homepage
- Remove "Gestion des cookies" from footer
- Remove "À propos" from footer navigation
- Consistent design across components
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Downgrade ESLint from v9 to v8.57.0 (required by eslint-config-next)
- Replace eslint.config.js with .eslintrc.json
- Remove incompatible ESLint plugins
- Use standard Next.js ESLint configuration
This resolves the peer dependency conflict where eslint-config-next
requires ESLint 7 or 8, not 9.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Frontend fixes:
- Add eslint-config-next package to devDependencies
- Update Jenkinsfile to block deployments on failed lint/tests
- Add proper error handling for quality checks
This ensures that the deployment only proceeds when all quality
checks pass successfully, preventing broken code from being deployed.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>