# TODO — Highland Games Studio Website

Liste des tâches restantes, classées par priorité.
Dernière mise à jour : 2026-06-22

---

## 🔴 P0 — Critique (avant toute mise en ligne)

- [ ] **Vidéo 84 Mo dans Git** (`public/Video/Header_Video.mp4`)
  - [ ] Compresser la vidéo (cible < 5 Mo, ~1080p) avec ffmpeg
  - [ ] La sortir de l'historique Git (BFG ou `git-filter-repo`) — sinon elle reste à vie dans le repo
  - [ ] Ajouter un `poster` (image) sur la balise `<video>` de la page d'accueil
  - [ ] Idéalement : servir le fichier hors-Git (CDN / objet statique)

- [ ] **Formulaires non fonctionnels** (perdent les données, juste un `console.log`)
  - [x] Choisir un service email → **Resend**
  - [x] Brancher le formulaire de contact → `app/actions/contact.ts`
  - [ ] Brancher la newsletter → `app/actions/subscribe.ts`
  - [x] Clé API + adresses lues depuis l'env (`.env.example` créé)
  - [ ] **À faire côté toi** : `npm install resend`, créer un compte Resend,
        vérifier le domaine, et renseigner `RESEND_API_KEY` / `CONTACT_TO_EMAIL`
        / `CONTACT_FROM_EMAIL` (en local dans `.env.local` + en prod sur le VPS)

- [ ] **Déploiement à valider en réel**
  - [x] Trigger workflow corrigé (`main` → `master`)
  - [ ] Vérifier que les secrets `SSH_*` sont bien configurés sur GitHub
  - [ ] Tester un push qui déclenche bien le deploy sur le VPS

---

## 🟠 P1 — Important (contenu avant lancement public)

- [ ] **Remplacer tout le contenu placeholder**
  - [ ] Vrai nom du jeu (au lieu de « Project One ») → `lib/games.ts`
  - [ ] Vrais noms / bios de l'équipe (au lieu de « Founder One / Two ») → `app/studio/page.tsx`
  - [ ] Vrais liens réseaux sociaux (actuellement tous en `href="#"`) → `app/components/SocialLinks.tsx`
  - [ ] Vraies images de jeu / screenshots (le logo sert de placeholder partout)

- [ ] **Configurer l'URL du site**
  - [x] Centralisée dans `lib/site.ts` (pilotable par `NEXT_PUBLIC_SITE_URL`)
  - [ ] Confirmer le domaine final et définir la variable d'env en production

- [ ] **Asset inutilisé** : `public/image/Studio/Full Logo.png` n'est référencé nulle part
  - [ ] L'utiliser quelque part, ou le supprimer

---

## 🟢 P2 — Plus tard (qualité / robustesse)

- [ ] **Monitoring d'erreurs** (ex. Sentry) — le texte de `app/error.tsx` ne ment plus, mais aucune alerte n'existe
- [ ] **Rate-limiting** sur les server actions (anti-spam une fois les emails branchés)
- [ ] **Vulnérabilités npm** : `npm audit` remonte 5 alertes (1 low, 4 moderate) — à examiner
- [ ] **Warning build** : `app/opengraph-image.tsx` utilise `runtime = "edge"` qui désactive la génération statique de la page — à vérifier si volontaire
- [ ] **Press kit** : la page contact promet des assets « soon » — préparer un vrai press kit

---

## ✅ Déjà fait (2026-06-22)

- [x] Supprimé les 5 SVG par défaut de create-next-app (inutilisés)
- [x] Retiré 4 dépendances MDX inutilisées (`@next/mdx`, `@mdx-js/*`, `@types/mdx`)
- [x] Ajouté `sharp` en devDependency (requis par `scripts/build-favicon.mjs`)
- [x] Dédupliqué `.gitignore` (contenu collé en double)
- [x] Réécrit le `README.md` (doc réelle au lieu du boilerplate)
- [x] Corrigé le trigger de déploiement (`main` → `master`, + `git pull`)
- [x] Corrigé une erreur de lint dans `Navbar.tsx` (setState dans useEffect)
- [x] Retiré le texte trompeur « team has been notified » dans `error.tsx`
- [x] Centralisé l'URL du site dans `lib/site.ts`
- [x] Resynchronisé `package-lock.json` (nécessaire pour `npm ci` au deploy)
