Randomiseur de restaurant avec roue pondérée. La roue tire un restaurant au sort selon la formule appréciation × (6 - récurrence) — les coups de cœur peu fréquentés sortent plus souvent.
- Next.js 16.2 (App Router), React 19, TypeScript 5 strict
- Tailwind CSS v4 — thème dans
app/globals.css - shadcn/ui (style radix-luma, icônes lucide)
- Pas de backend, pas de base de données — tout l'état est côté client, initialisé depuis
data/restaurants.json
npm install
npm run devOuvrir http://localhost:3000.
Avec Docker :
docker compose upAccessible sur http://localhost:3001.
| Tâche | Commande |
|---|---|
| Serveur de dev | npm run dev |
| Build | npm run build |
| Lint | npm run lint |
app/page.tsx— toute l'UI (composant client), logique de la roue, CRUD des restaurantsdata/restaurants.json— données initiales, importées statiquementapp/globals.css— thème Tailwind v4 + animationanimate-bloblib/weighted-random.ts— algorithme de tirage pondérécomponents/ui/— composants shadcn