67 lines
1.9 KiB
Markdown
67 lines
1.9 KiB
Markdown
# Mostuki Photo
|
|
|
|
Site vitrine de Mostuki Photo (Corentin Joguet, Cannes / PACA) pour vendre des
|
|
prestations photo : mariage, portrait-lifestyle, reportage-editorial, evenementiel.
|
|
|
|
Direction visuelle Brutalist (JetBrains Mono, accent violet `#5e2ca5`, photos
|
|
teintees revelees au hover).
|
|
|
|
## Stack
|
|
|
|
| Composant | Role |
|
|
|-----------|------|
|
|
| Astro 6 | Frontend SSR (`@astrojs/node`, mode standalone) |
|
|
| Directus 11 | CMS headless (contenus, series, demandes de contact) |
|
|
| Postgres 16 | Base de donnees Directus |
|
|
| Docker / Colima | Runtime local |
|
|
|
|
## Developpement local
|
|
|
|
```bash
|
|
# 1. Variables d'environnement
|
|
cp .env.example .env # puis renseigner DIRECTUS_TOKEN et les secrets
|
|
|
|
# 2. Demarrer la stack data (Postgres + Directus)
|
|
colima status || colima start
|
|
docker-compose up -d postgres directus
|
|
|
|
# 3. Lancer Astro en local (hot-reload)
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
URLs :
|
|
- Site : http://localhost:4321
|
|
- Directus admin : http://localhost:8055
|
|
|
|
## Build production
|
|
|
|
```bash
|
|
npm run build # genere dist/ (serveur node standalone)
|
|
npm run preview # sert le build sur le port 4321
|
|
```
|
|
|
|
## Structure
|
|
|
|
```
|
|
src/
|
|
layouts/ Layout.astro (head, boot, script client)
|
|
pages/ index, tarifs, contact, realisations/[id], 404
|
|
api/contact.ts (POST form), api/files/[id].ts (proxy assets)
|
|
components/ Header, Hero, Manifesto, Portfolio, Process, Pricing, Contact, ...
|
|
lib/ directus.ts (client SDK + types)
|
|
styles/ brutalist.css
|
|
scripts/ brutalist.client.js (boot screen, dark mode, Konami)
|
|
scripts/
|
|
seed-directus.mjs cree collections + relations + defaults
|
|
create-admin-token.mjs genere le token admin static
|
|
```
|
|
|
|
## Variables d'environnement
|
|
|
|
Voir `.env.example`. Les secrets (`DIRECTUS_TOKEN`, `DIRECTUS_SECRET`,
|
|
mots de passe) ne sont jamais commites — `.env` est gitignore.
|
|
|
|
## Etat / suivi
|
|
|
|
Le journal de bord detaille est dans `SESSION.md`.
|