From 36768e2441ce2d875f3c44788931c8caf53f33dc Mon Sep 17 00:00:00 2001 From: kayjaydee Date: Wed, 8 Apr 2026 17:26:02 +0200 Subject: [PATCH] =?UTF-8?q?docs(03):=20update=20context=20=E2=80=94=20SMTP?= =?UTF-8?q?=20direct=20OVH,=20remove=20formation=20from=20scope?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Contact form uses server-side nodemailer via Nuxt API route (not EmailJS) - Formation page removed from Phase 3 scope (was SaaS pricing, not portfolio) Co-Authored-By: Claude Opus 4.6 (1M context) --- .planning/phases/03-pages-ship/03-CONTEXT.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.planning/phases/03-pages-ship/03-CONTEXT.md b/.planning/phases/03-pages-ship/03-CONTEXT.md index 9b442d0..123df10 100644 --- a/.planning/phases/03-pages-ship/03-CONTEXT.md +++ b/.planning/phases/03-pages-ship/03-CONTEXT.md @@ -30,7 +30,7 @@ Toutes les 8 pages du portfolio sont construites avec contenu réel, les composa - **D-08:** 3 champs seulement : Nom, Email, Message — friction minimale - **D-09:** Validation Zod côté client avant envoi - **D-10:** Feedback via UToast (notification Nuxt UI) en haut à droite — succès ou erreur -- **D-11:** Envoi via EmailJS (plugin côté client, clés dans runtimeConfig) +- **D-11:** Envoi via SMTP direct (OVH) — API route serveur Nuxt (`server/api/contact.post.ts`) avec nodemailer, credentials dans runtimeConfig privé (NUXT_SMTP_HOST, NUXT_SMTP_USER, NUXT_SMTP_PASS) ### Dockerfile & déploiement - **D-12:** SSR avec Node.js — node:22-alpine build + node:22-alpine runtime, copie `.output/` @@ -38,11 +38,11 @@ Toutes les 8 pages du portfolio sont construites avec contenu réel, les composa - **D-14:** docker-compose.yml existant avec Traefik — mettre à jour le port loadbalancer de 80 vers 3000 - **D-15:** GA4 via nuxt-gtag, activé uniquement en production via runtimeConfig -### Pages restantes (About, Fiverr, Formation, 404) +### Pages restantes (About, Fiverr, 404) - **D-16:** Migration fidèle des pages existantes depuis src/views/ — mêmes sections et contenu, composants Nuxt UI - **D-17:** Page About : bio + tech stack badges (TechBadge.vue à migrer) - **D-18:** Page Fiverr : hero + service cards + FAQ accordion (UAccordion) + CTA -- **D-19:** Page Formation : contenu formations comme l'actuel +- **D-19:** Page Formation SUPPRIMÉE — contenu pricing SaaS non pertinent pour un portfolio freelance - **D-20:** Page 404 : error.vue Nuxt avec message et lien retour accueil ### Claude's Discretion