Page de contact centralisee pour les projets ArthurP avec stockage PostgreSQL et espace admin.
Site officiel: https://contact.arthurp.fr
- Next.js 16 (App Router)
- React 19
- Tailwind CSS 4
- API route
app/api/contact/route.ts - Validation partagee avec Zod
- PostgreSQL (stockage des messages)
- Notifications via Nodemailer et Discord webhook (optionnel)
- Dashboard admin avec authentification par cookie de session
- arthurp.fr
- links.arthurp.fr
- qcu.arthurp.fr
- qrcode.arthurp.fr
- lazybot.arthurp.fr
- learn.arthurp.fr
- sudoku.arthurp.fr
- reducelink.arthurp.fr
- clock.arthurp.fr
- form.arthurp.fr
- pomodoro.arthurp.fr
- visio.arthurp.fr
- doudou.arthurp.fr
- portfolio.arthurp.fr
- moon.arthurp.fr
- calculatrice.arthurp.fr
- chrono.arthurp.fr
- blocnote.arthurp.fr
- imprimersudoku.arthurp.fr
Copier .env.example vers .env puis completer:
cp .env.example .envVariables principales:
CONTACT_TO_EMAILadresse recevant les messagesCONTACT_FROM_EMAILexpediteur techniqueSMTP_HOST,SMTP_PORT,SMTP_USER,SMTP_PASSpour l'envoi emailDISCORD_WEBHOOK_URL(optionnel)DATABASE_URLURL PostgreSQLADMIN_USERNAME,ADMIN_PASSWORDcredentials adminADMIN_SESSION_SECRETsecret de signature de session admin
npm install
npm run devAccessible sur http://localhost:3000.
Dashboard admin: http://localhost:3000/admin
Exemples de liens:
http://localhost:3000?project=lazybothttp://localhost:3000?project=qrcode
Le projet fournit un Dockerfile multi-stage + Compose avec profils dev et prod.
docker compose --profile dev up --builddocker compose --profile prod up --build -dLe build production utilise output: "standalone" pour une image plus propre et legere.
/mentions-legales/politique-confidentialite/cgu/cookies
npm run lint
npm run build- Validation client + serveur
- Honeypot anti-spam
- Limitation de requetes basique par IP
- Secrets conserves via variables d'environnement
- Session admin en cookie HttpOnly