Ce dépôt contient un projet d’école réalisé dans le cadre d’un travail mêlant :
- Stratégie marketing
- UI/UX (conception et prototypage)
- Développement (site front + CMS)
L’objectif du projet est de proposer un site vitrine connecté à un back-office de contenu, afin de pouvoir éditer facilement les pages et médias.
- Front : site construit avec Astro + React (animations, navigation, pages statiques/hybrides)
- CMS : Sanity Studio pour gérer le contenu (documents, images, etc.)
- Monorepo : géré avec pnpm workspaces
packages/front: application front (Astro/React)packages/sanity: Sanity Studio (back-office)
Les scripts à la racine orchestrent les commandes des deux packages.
- Node.js (version récente recommandée)
- pnpm
Depuis la racine du projet :
pnpm installpnpm devpnpm --dir packages/front devLe front démarre sur le port 3000 (script Astro : astro dev --port 3000).
pnpm --dir packages/sanity devpnpm buildpnpm build:frontpnpm build:sanityLe front utilise des variables publiques pour configurer l’accès à Sanity.
Fichier d’exemple : packages/front/.env.example
Variables attendues :
PUBLIC_SANITY_PROJECT_IDPUBLIC_SANITY_STUDIO_DATASETPUBLIC_SANITY_READ_TOKENPUBLIC_SANITY_API_VERSION
En local, crée un fichier packages/front/.env (ou configure tes variables d’environnement) en te basant sur .env.example.
- Sanity Studio (dans
packages/sanity) sert à créer/éditer le contenu. - Le front (dans
packages/front) consomme ce contenu via le client Sanity (requêtes API) et affiche les pages. - Le monorepo te permet de développer les deux parties dans le même dépôt, avec des commandes unifiées.
- Les fichiers
README.mdprésents danspackages/frontetpackages/sanitysont les fichiers générés par les templates de démarrage (Astro/Sanity). CeREADME(racine) est la documentation principale du projet.