1. Contexte
• Entreprise: Artdantech.
• Livrables: site responsive (Home, Projets, Détails projet, À propos, Contact, Blog optionnel), SEO (Open Graph, JSON‑LD), analytics respectueuses de la vie privée, dark mode, CI/CD, performance (CWV).
• Point de départ: contenus (projets GitHub, captures, logos), maquettes (Figma) et articles en Markdown/MDX.
2. Besoin
• Présenter clairement les compétences, réalisations et résultats, avec des études de cas et des KPI mesurables (clics contact, temps sur page).
• Permettre une mise à jour simple du contenu (MDX / CMS headless) et un déploiement sans friction (CI/CD).
• Optimiser le référencement (SEO technique et contenu), les performances et l’accessibilité pour maximiser la découvrabilité et la assurer les prises de contact.
3. Client
• Clients cherchant des preuves de réalisations et d’expertise.
• Pairs/communauté (articles techniques, partage de ressources).
• Artdantech pour éditer rapidement le contenu et suivre des métriques (analytics).
4 Objectifs
4.1 Fonctionnels
• Parcourir les projets (grille + filtres) et afficher un détail par projet (contexte, objectifs, stack, résultats, visuels, liens).
• Consulter des articles (MDX) avec code et médias intégrés.
• Envoyer un message via le formulaire de contact.
4.2 Techniques
• Génération statique (SSG) et rendu rapide (islands/partial hydration) pour d’excellentes performances.
• Images optimisées (WebP/AVIF, tailles responsives, lazy loading) et cache HTTP efficace (ETag).
• SEO complet: métas, Open Graph/Twitter Cards, JSON‑LD (Person, Article, Project), sitemap, robots.txt.
• Accessibilité (WCAG AA): sémantique, contraste, navigation clavier, focus visibles, aria-live pour messages de formulaire.
• Qualité: tests (unitaires/E2E), linting, prévisualisation PR (Preview URLs), budgets de performance Lighthouse/CWV.
5. Contraintes / défis
• Temps limité et nécessité d’itérer vite sur le contenu et le design.
• Cohérence visuelle (système de design léger) et qualité des visuels (poids/ratio/recadrage).
• Respect de la vie privée (pas de cookies inutiles, analytics sans tracking invasif).
• Référencement sur un nom de domaine personnalisé et maintenance à long terme (coûts, renouvellement).
6. Processus / méthodologie
6.1 Analyse
• Audit du contenu existant (projets, résultats, médias), définition des personae et des priorités.
• Carte du site: Home → Projets → Détail projet; Services; À propos; Contact; Mentions légales.
• KPIs: clics sur Contact/CV, taux de scroll des études de cas, temps de lecture, pages/sessions, performances CWV (LCP/FID/CLS).
6.2 Découpage en issues (GitHub)
• Setup du projet + CI/CD + domaine + analytics.
• Design system (couleurs, typo, espacements, composants UI: Button, Tag, Card, Nav, Footer).
• Modèle de contenu (MDX/frontmatter) ou schéma CMS headless.
• Pages: Home, Projets, Détail projet (slug), À propos, Blog (liste + article), Contact (form).
• SEO (métas, JSON‑LD, sitemap/robots, Open Graph), accessibilité, performance (images, code splitting).
• Tests (unitaires/E2E), audits Lighthouse, a11y (axe/pa11y).
6.3 Architecture et logique
• Structure (exemple):
- src/components (UI réutilisables), src/layouts, src/styles.
- content/projects/.mdx, content/blog/.mdx (frontmatter: titre, date, tags, stack, images, résultats).
- pages/routes: “/”, “/projets”, “/projets/[slug]”, “/blog”, “/blog/[slug]”, “/about”, “/contact”.
• Données: MDX + frontmatter ou CMS (Sanity/Contentful/Notion) via un adapter; génération statique des pages.
• Thème: variables CSS et prefers-color-scheme; toggle persistant (localStorage) et SSR-safe.
• Formulaire contact: envoi via API serverless (email provider) + anti-spam (honeypot/Turnstile).
6.4 Choix techniques (justification)
• SSG (Next.js) + MDX: simplicité d’édition, performances élevées et très bon SEO technique.
• Tailwind CSS (ou CSS Modules) pour une implémentation rapide et cohérente du design system.
• Traitement d’images intégré (optimisation, responsive) pour réduire le LCP.
• Analytics respectueuses (Plausible/Umami), sans cookies par défaut; bannière seulement si besoin.
• Accessibilité intégrée dès la conception (contrastes, ordre de tabulation, rôles ARIA).
6.5 Flux principaux
• Découverte projet: Home → Projets → [slug] → CTA (Visiter, GitHub, Contact).
• Lecture article: Blog → Article (MDX avec TOC, images, code highlight) → partage social (Open Graph).
• Contact: formulaire → validation (client/serveur) → envoi → confirmation (aria-live) → email de notification.
• Mise à jour de contenu: commit MDX → CI → Preview → validation → production (déploiement automatisé).
6.6 Tests et qualité
• Unitaires: composants UI (rendu, variantes), helpers (formatage dates, SEO tags).
• E2E: navigation, soumission du formulaire, dark mode, 404 personnalisée.
• Audits: Lighthouse (Perf ≥ 95, A11y ≥ 100, Best Practices ≥ 95, SEO ≥ 95), pa11y/axe, link checker (liens brisés).
• CI: GitHub Actions (lint, tests, build), prévisualisations sur PR, budgets de perf et a11y en gate.
7. Analyse
• Un SSG alimenté en MDX offre le meilleur ratio vitesse/SEO/maintenabilité pour un portfolio, tout en permettant des études de cas riches (médias, composants interactifs). La séparation contenu/présentation facilite l’itération et la scalabilité (multilingue, nouveaux cas).
8. Choix techniques
• OpenAPI non requis; focus sur SEO technique (sitemap, robots, JSON‑LD), outils: Next.js + MDX, Tailwind, image optimizer, Plausible/Umami, API serverless pour le contact, déploiement sur Vercel/Netlify.
• Alternatives: CMS headless (Sanity/Contentful) si édition non-technique; Algolia si recherche avancée; RSS pour le blog.
9. Logique de résolution
• Démarrer par un MVP (Home, Projets, Services, A propos, Contact) puis enrichir (Blog, animations, études de cas approfondies). Mesurer, itérer (contenu, SEO, performances) et automatiser le cycle édition → déploiement.
10. Stack utilisée
• Front: Next.js + MDX, React “islands” pour interactivité ciblée.
• Styles: Tailwind CSS (ou CSS Modules + PostCSS).
• Média: Optimisation images (WebP/AVIF, srcset), icônes SVG.
• Formulaire: API serverless (Resend/EmailJS) + anti-spam (honeypot/Turnstile).
• Analytics: Plausible (ou Umami).
• Qualité: ESLint, Prettier, Vitest/Jest, Playwright/Cypress, axe/pa11y.
• CI/CD: GitHub Actions; hébergement Vercel/Netlify; domaine personnalisé (DNS, HTTPS).
11. Résultat final
• Site rapide, accessible et SEO‑ready, avec des études de cas structurées et une mise à jour de contenu simple (MDX).
• Performances: Core Web Vitals “Good”, Lighthouse ≥ 95, images optimisées, bundle minimal.
• Maintenabilité: design system léger, composants réutilisables, pipeline d’édition → déploiement fluide; feuilles de route possibles (i18n, CMS headless, recherche, newsletter).
