Compare commits
1 Commits
1411e6816d
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 1a0a29059e |
@@ -1,5 +0,0 @@
|
|||||||
node_modules
|
|
||||||
.astro
|
|
||||||
dist
|
|
||||||
.git
|
|
||||||
*.md
|
|
||||||
-24
@@ -1,24 +0,0 @@
|
|||||||
# build output
|
|
||||||
dist/
|
|
||||||
# generated types
|
|
||||||
.astro/
|
|
||||||
|
|
||||||
# dependencies
|
|
||||||
node_modules/
|
|
||||||
|
|
||||||
# logs
|
|
||||||
npm-debug.log*
|
|
||||||
yarn-debug.log*
|
|
||||||
yarn-error.log*
|
|
||||||
pnpm-debug.log*
|
|
||||||
|
|
||||||
|
|
||||||
# environment variables
|
|
||||||
.env
|
|
||||||
.env.production
|
|
||||||
|
|
||||||
# macOS-specific files
|
|
||||||
.DS_Store
|
|
||||||
|
|
||||||
# jetbrains setting folder
|
|
||||||
.idea/
|
|
||||||
Vendored
-4
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"recommendations": ["astro-build.astro-vscode"],
|
|
||||||
"unwantedRecommendations": []
|
|
||||||
}
|
|
||||||
Vendored
-11
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"version": "0.2.0",
|
|
||||||
"configurations": [
|
|
||||||
{
|
|
||||||
"command": "./node_modules/.bin/astro dev",
|
|
||||||
"name": "Development server",
|
|
||||||
"request": "launch",
|
|
||||||
"type": "node-terminal"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
-18
@@ -1,18 +0,0 @@
|
|||||||
# ── Étape 1 : build ──────────────────────────────────────────────
|
|
||||||
FROM node:22-alpine AS builder
|
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
COPY package.json package-lock.json ./
|
|
||||||
RUN npm ci
|
|
||||||
|
|
||||||
COPY . .
|
|
||||||
RUN npm run build
|
|
||||||
|
|
||||||
# ── Étape 2 : serveur statique ───────────────────────────────────
|
|
||||||
FROM nginx:alpine
|
|
||||||
|
|
||||||
COPY --from=builder /app/dist /usr/share/nginx/html
|
|
||||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
||||||
|
|
||||||
EXPOSE 80
|
|
||||||
@@ -1,43 +1,2 @@
|
|||||||
# Astro Starter Kit: Minimal
|
# Le-site-de-ma-mamounette
|
||||||
|
|
||||||
```sh
|
|
||||||
npm create astro@latest -- --template minimal
|
|
||||||
```
|
|
||||||
|
|
||||||
> 🧑🚀 **Seasoned astronaut?** Delete this file. Have fun!
|
|
||||||
|
|
||||||
## 🚀 Project Structure
|
|
||||||
|
|
||||||
Inside of your Astro project, you'll see the following folders and files:
|
|
||||||
|
|
||||||
```text
|
|
||||||
/
|
|
||||||
├── public/
|
|
||||||
├── src/
|
|
||||||
│ └── pages/
|
|
||||||
│ └── index.astro
|
|
||||||
└── package.json
|
|
||||||
```
|
|
||||||
|
|
||||||
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
|
|
||||||
|
|
||||||
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
|
|
||||||
|
|
||||||
Any static assets, like images, can be placed in the `public/` directory.
|
|
||||||
|
|
||||||
## 🧞 Commands
|
|
||||||
|
|
||||||
All commands are run from the root of the project, from a terminal:
|
|
||||||
|
|
||||||
| Command | Action |
|
|
||||||
| :------------------------ | :----------------------------------------------- |
|
|
||||||
| `npm install` | Installs dependencies |
|
|
||||||
| `npm run dev` | Starts local dev server at `localhost:4321` |
|
|
||||||
| `npm run build` | Build your production site to `./dist/` |
|
|
||||||
| `npm run preview` | Preview your build locally, before deploying |
|
|
||||||
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
|
|
||||||
| `npm run astro -- --help` | Get help using the Astro CLI |
|
|
||||||
|
|
||||||
## 👀 Want to learn more?
|
|
||||||
|
|
||||||
Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).
|
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
// @ts-check
|
|
||||||
import { defineConfig } from 'astro/config';
|
|
||||||
|
|
||||||
import tailwindcss from '@tailwindcss/vite';
|
|
||||||
|
|
||||||
// https://astro.build/config
|
|
||||||
export default defineConfig({
|
|
||||||
vite: {
|
|
||||||
plugins: [tailwindcss()]
|
|
||||||
}
|
|
||||||
});
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
services:
|
|
||||||
web:
|
|
||||||
build: .
|
|
||||||
ports:
|
|
||||||
- "127.0.0.1:8082:80"
|
|
||||||
restart: unless-stopped
|
|
||||||
-22
@@ -1,22 +0,0 @@
|
|||||||
server {
|
|
||||||
listen 80;
|
|
||||||
server_name _;
|
|
||||||
|
|
||||||
root /usr/share/nginx/html;
|
|
||||||
index index.html;
|
|
||||||
|
|
||||||
# Compression
|
|
||||||
gzip on;
|
|
||||||
gzip_types text/plain text/css application/javascript image/svg+xml;
|
|
||||||
|
|
||||||
# Cache long durée pour les assets avec hash
|
|
||||||
location ~* \.(js|css|woff2?|png|jpg|jpeg|webp|svg|ico)$ {
|
|
||||||
expires 1y;
|
|
||||||
add_header Cache-Control "public, immutable";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Toujours servir index.html (site one-page)
|
|
||||||
location / {
|
|
||||||
try_files $uri $uri/ /index.html;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Generated
-5359
File diff suppressed because it is too large
Load Diff
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "evolved-event",
|
|
||||||
"type": "module",
|
|
||||||
"version": "0.0.1",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=22.12.0"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"dev": "astro dev",
|
|
||||||
"build": "astro build",
|
|
||||||
"preview": "astro preview",
|
|
||||||
"astro": "astro"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@tailwindcss/vite": "^4.3.0",
|
|
||||||
"astro": "^6.4.2",
|
|
||||||
"lucide-astro": "^0.556.0",
|
|
||||||
"tailwindcss": "^4.3.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 655 B |
@@ -1,9 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128">
|
|
||||||
<path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" />
|
|
||||||
<style>
|
|
||||||
path { fill: #000; }
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
path { fill: #FFF; }
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 749 B |
@@ -1,49 +0,0 @@
|
|||||||
<section id="about" class="py-32 scroll-mt-20">
|
|
||||||
<div class="max-w-6xl mx-auto px-6">
|
|
||||||
<div class="grid md:grid-cols-2 gap-16 items-center">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<span class="block text-xs tracking-[0.3em] uppercase text-primary mb-5">
|
|
||||||
Le gîte
|
|
||||||
</span>
|
|
||||||
<h2 class="font-serif text-5xl md:text-6xl font-light leading-tight mb-8">
|
|
||||||
Un havre de paix<br/>au bord de l'Allier
|
|
||||||
</h2>
|
|
||||||
<p class="text-dark/70 leading-relaxed mb-8">
|
|
||||||
Ancien moulin rénové avec soin, mêlant authenticité, pierre naturelle
|
|
||||||
et confort moderne. Laissez-vous bercer par le doux bruit de l'eau
|
|
||||||
et la beauté des paysages environnants.
|
|
||||||
</p>
|
|
||||||
<ul class="space-y-3 list-none">
|
|
||||||
<li class="flex items-center gap-3 text-dark/70">
|
|
||||||
<span class="w-1.5 h-1.5 rounded-full bg-primary flex-shrink-0"></span>
|
|
||||||
6 couchages
|
|
||||||
</li>
|
|
||||||
<li class="flex items-center gap-3 text-dark/70">
|
|
||||||
<span class="w-1.5 h-1.5 rounded-full bg-primary flex-shrink-0"></span>
|
|
||||||
Terrasse avec vue sur la rivière
|
|
||||||
</li>
|
|
||||||
<li class="flex items-center gap-3 text-dark/70">
|
|
||||||
<span class="w-1.5 h-1.5 rounded-full bg-primary flex-shrink-0"></span>
|
|
||||||
Nature préservée
|
|
||||||
</li>
|
|
||||||
<li class="flex items-center gap-3 text-dark/70">
|
|
||||||
<span class="w-1.5 h-1.5 rounded-full bg-primary flex-shrink-0"></span>
|
|
||||||
Repas maison disponibles
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="relative">
|
|
||||||
<img
|
|
||||||
src="https://images.unsplash.com/photo-1480074568708-e7b720bb3f09?auto=format&fit=crop&w=800&q=80"
|
|
||||||
alt="Intérieur du gîte"
|
|
||||||
class="w-full h-[500px] object-cover rounded-sm object-center"
|
|
||||||
/>
|
|
||||||
<div class="absolute -bottom-5 -left-5 w-40 h-40 border border-primary/25 -z-10"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
<section id="contact" class="py-32 bg-secondary/20 scroll-mt-20">
|
|
||||||
<div class="max-w-6xl mx-auto px-6">
|
|
||||||
<div class="grid md:grid-cols-2 gap-16">
|
|
||||||
|
|
||||||
<!-- Infos -->
|
|
||||||
<div>
|
|
||||||
<span class="block text-xs tracking-[0.3em] uppercase text-primary mb-5">
|
|
||||||
Contact
|
|
||||||
</span>
|
|
||||||
<h2 class="font-serif text-5xl md:text-6xl font-light leading-tight mb-8">
|
|
||||||
Réservez<br/>votre séjour
|
|
||||||
</h2>
|
|
||||||
<p class="text-dark/70 leading-relaxed mb-10">
|
|
||||||
Une question ou une demande de réservation ?
|
|
||||||
N'hésitez pas à nous contacter, nous répondons sous 24h.
|
|
||||||
</p>
|
|
||||||
<div class="space-y-4 text-dark/70">
|
|
||||||
<div class="flex items-center gap-4">
|
|
||||||
<span class="text-primary font-serif text-xl">→</span>
|
|
||||||
<span>06 00 00 00 00</span>
|
|
||||||
</div>
|
|
||||||
<div class="flex items-center gap-4">
|
|
||||||
<span class="text-primary font-serif text-xl">→</span>
|
|
||||||
<span>contact@moulindesrives.fr</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Formulaire -->
|
|
||||||
<form class="space-y-4">
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
name="nom"
|
|
||||||
placeholder="Votre nom"
|
|
||||||
class="w-full bg-white border border-secondary px-4 py-3 text-dark placeholder:text-dark/40 focus:outline-none focus:border-primary transition-colors"
|
|
||||||
/>
|
|
||||||
<input
|
|
||||||
type="email"
|
|
||||||
name="email"
|
|
||||||
placeholder="Votre adresse email"
|
|
||||||
class="w-full bg-white border border-secondary px-4 py-3 text-dark placeholder:text-dark/40 focus:outline-none focus:border-primary transition-colors"
|
|
||||||
/>
|
|
||||||
<textarea
|
|
||||||
name="message"
|
|
||||||
rows="5"
|
|
||||||
placeholder="Votre message (dates souhaitées, nombre de personnes...)"
|
|
||||||
class="w-full bg-white border border-secondary px-4 py-3 text-dark placeholder:text-dark/40 focus:outline-none focus:border-primary transition-colors resize-none"
|
|
||||||
></textarea>
|
|
||||||
<button
|
|
||||||
type="submit"
|
|
||||||
class="w-full bg-primary text-white py-4 text-xs tracking-[0.25em] uppercase hover:bg-primary/80 transition-colors"
|
|
||||||
>
|
|
||||||
Envoyer le message
|
|
||||||
</button>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
---
|
|
||||||
import { BedDouble, Trees, CookingPot, Wifi } from 'lucide-astro';
|
|
||||||
|
|
||||||
const features = [
|
|
||||||
{ icon: BedDouble, label: '3 chambres' },
|
|
||||||
{ icon: Trees, label: 'Nature préservée' },
|
|
||||||
{ icon: CookingPot,label: 'Repas maison' },
|
|
||||||
{ icon: Wifi, label: 'Wifi inclus' },
|
|
||||||
];
|
|
||||||
---
|
|
||||||
|
|
||||||
<section class="py-20 bg-dark">
|
|
||||||
<div class="max-w-6xl mx-auto px-6">
|
|
||||||
<div class="grid grid-cols-2 md:grid-cols-4 gap-8 text-center">
|
|
||||||
{features.map(({ icon: Icon, label }) => (
|
|
||||||
<div class="flex flex-col items-center gap-4 text-white/60 group">
|
|
||||||
<div class="w-14 h-14 flex items-center justify-center border border-white/20 group-hover:border-primary transition-colors">
|
|
||||||
<Icon class="w-5 h-5" />
|
|
||||||
</div>
|
|
||||||
<span class="text-xs tracking-[0.2em] uppercase">{label}</span>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
<section id="food" class="py-32 bg-secondary/20 scroll-mt-20">
|
|
||||||
<div class="max-w-6xl mx-auto px-6">
|
|
||||||
<div class="grid md:grid-cols-2 gap-16 items-center">
|
|
||||||
|
|
||||||
<!-- Image -->
|
|
||||||
<div class="relative order-2 md:order-1">
|
|
||||||
<img
|
|
||||||
src="https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=800&q=80"
|
|
||||||
alt="Repas fait maison"
|
|
||||||
class="w-full h-[500px] object-cover rounded-sm"
|
|
||||||
/>
|
|
||||||
<div class="absolute -top-5 -right-5 w-40 h-40 border border-primary/25 -z-10"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Texte -->
|
|
||||||
<div class="order-1 md:order-2">
|
|
||||||
<span class="block text-xs tracking-[0.3em] uppercase text-primary mb-5">
|
|
||||||
Restauration
|
|
||||||
</span>
|
|
||||||
<h2 class="font-serif text-5xl md:text-6xl font-light leading-tight mb-8">
|
|
||||||
Des repas maison<br/>avec des produits locaux
|
|
||||||
</h2>
|
|
||||||
<p class="text-dark/70 leading-relaxed mb-6">
|
|
||||||
Cuisine authentique et conviviale préparée à partir de produits
|
|
||||||
frais et locaux. Chaque repas est une invitation à découvrir
|
|
||||||
les saveurs du terroir auvergnat.
|
|
||||||
</p>
|
|
||||||
<p class="text-dark/70 leading-relaxed">
|
|
||||||
Sur réservation : petits-déjeuners et dîners en table d'hôte.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
<footer class="bg-dark py-10">
|
|
||||||
<div class="max-w-6xl mx-auto px-6 flex flex-col md:flex-row items-center justify-between gap-4">
|
|
||||||
<span class="font-serif text-xl text-white/70">Le Moulin des Rives</span>
|
|
||||||
<span class="text-white/30 text-sm">© 2026 · Tous droits réservés</span>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
<section id="gallery" class="py-32 scroll-mt-20">
|
|
||||||
<div class="max-w-6xl mx-auto px-6">
|
|
||||||
|
|
||||||
<div class="mb-14 text-center">
|
|
||||||
<span class="block text-xs tracking-[0.3em] uppercase text-primary mb-4">Galerie</span>
|
|
||||||
<h2 class="font-serif text-5xl font-light">Découvrez le lieu</h2>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="grid grid-cols-2 md:grid-cols-3 gap-4">
|
|
||||||
<img
|
|
||||||
src="https://images.unsplash.com/photo-1480074568708-e7b720bb3f09?auto=format&fit=crop&w=800&q=80"
|
|
||||||
alt="Extérieur du gîte"
|
|
||||||
class="w-full h-64 object-cover rounded-sm"
|
|
||||||
/>
|
|
||||||
<img
|
|
||||||
src="https://images.unsplash.com/photo-1566665797739-1674de7a421a?auto=format&fit=crop&w=800&q=80"
|
|
||||||
alt="Chambre"
|
|
||||||
class="w-full h-64 object-cover rounded-sm"
|
|
||||||
/>
|
|
||||||
<img
|
|
||||||
src="https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?auto=format&fit=crop&w=800&q=80"
|
|
||||||
alt="Cuisine"
|
|
||||||
class="w-full h-64 object-cover rounded-sm"
|
|
||||||
/>
|
|
||||||
<img
|
|
||||||
src="https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=800&q=80"
|
|
||||||
alt="Rivière et forêt"
|
|
||||||
class="w-full h-64 object-cover rounded-sm"
|
|
||||||
/>
|
|
||||||
<img
|
|
||||||
src="https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=1200&q=80"
|
|
||||||
alt="Vue panoramique"
|
|
||||||
class="w-full h-64 object-cover rounded-sm col-span-2 md:col-span-2"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
<section class="relative h-screen flex items-center justify-center overflow-hidden">
|
|
||||||
<!-- Image de fond -->
|
|
||||||
<div class="absolute inset-0">
|
|
||||||
<img
|
|
||||||
src="https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=1920&q=80"
|
|
||||||
alt="Vallée de l'Allier"
|
|
||||||
class="w-full h-full object-cover"
|
|
||||||
/>
|
|
||||||
<div class="absolute inset-0 bg-dark/50"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Contenu centré -->
|
|
||||||
<div class="relative z-10 text-center text-white px-6 max-w-4xl mx-auto">
|
|
||||||
<span class="block text-xs tracking-[0.4em] uppercase text-white/60 mb-6">
|
|
||||||
Gîte de charme · Vallée de l'Allier
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<h1 class="font-serif text-7xl md:text-9xl font-light leading-none mb-6">
|
|
||||||
Le Moulin<br/>des Rives
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<p class="text-lg text-white/70 font-light mb-12 max-w-lg mx-auto">
|
|
||||||
Un lieu chaleureux et authentique au cœur de la nature.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="flex flex-col sm:flex-row gap-4 justify-center">
|
|
||||||
<a
|
|
||||||
href="#contact"
|
|
||||||
class="bg-primary text-white px-10 py-4 text-xs tracking-[0.25em] uppercase hover:bg-primary/80 transition-colors"
|
|
||||||
>
|
|
||||||
Réserver votre séjour
|
|
||||||
</a>
|
|
||||||
<a
|
|
||||||
href="#about"
|
|
||||||
class="border border-white/60 text-white px-10 py-4 text-xs tracking-[0.25em] uppercase hover:bg-white/10 transition-colors"
|
|
||||||
>
|
|
||||||
Découvrir
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Indicateur de défilement -->
|
|
||||||
<div class="absolute bottom-8 left-1/2 -translate-x-1/2 flex flex-col items-center gap-2 text-white/40">
|
|
||||||
<span class="text-[10px] tracking-widest uppercase">Défiler</span>
|
|
||||||
<div class="w-px h-8 bg-white/30"></div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
<section class="py-32">
|
|
||||||
<div class="max-w-6xl mx-auto px-6">
|
|
||||||
<div class="grid md:grid-cols-2 gap-16 items-center">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<span class="block text-xs tracking-[0.3em] uppercase text-primary mb-5">
|
|
||||||
Localisation
|
|
||||||
</span>
|
|
||||||
<h2 class="font-serif text-5xl md:text-6xl font-light leading-tight mb-8">
|
|
||||||
Au cœur de la<br/>vallée de l'Allier
|
|
||||||
</h2>
|
|
||||||
<p class="text-dark/70 leading-relaxed mb-8">
|
|
||||||
Entre rivière, forêts et villages de caractère.
|
|
||||||
Facilement accessible depuis les grandes villes.
|
|
||||||
</p>
|
|
||||||
<div class="space-y-3 text-dark/70 text-sm">
|
|
||||||
<div class="flex items-center gap-3">
|
|
||||||
<span class="text-primary">—</span>
|
|
||||||
<span>Vallée de l'Allier, Auvergne</span>
|
|
||||||
</div>
|
|
||||||
<div class="flex items-center gap-3">
|
|
||||||
<span class="text-primary">—</span>
|
|
||||||
<span>Accessible en voiture et en train</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Remplacez le contenu de cette div par l'iframe Google Maps :
|
|
||||||
Allez sur maps.google.com → partagez → intégrer une carte → copiez l'iframe
|
|
||||||
-->
|
|
||||||
<div class="h-[420px] bg-secondary/40 rounded-sm flex items-center justify-center text-dark/40 text-sm">
|
|
||||||
Carte à intégrer (iframe Google Maps)
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
<header class="fixed top-0 left-0 right-0 z-50 bg-cream/95 backdrop-blur-sm border-b border-secondary/60">
|
|
||||||
<div class="max-w-6xl mx-auto px-6 py-4 flex items-center justify-between">
|
|
||||||
<a href="#" class="font-serif text-2xl text-dark tracking-wide">
|
|
||||||
Le Moulin des Rives
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<nav class="hidden md:flex items-center gap-8">
|
|
||||||
<a href="#about" class="text-xs tracking-[0.2em] uppercase text-dark/60 hover:text-primary transition-colors">Le gîte</a>
|
|
||||||
<a href="#gallery" class="text-xs tracking-[0.2em] uppercase text-dark/60 hover:text-primary transition-colors">Galerie</a>
|
|
||||||
<a href="#food" class="text-xs tracking-[0.2em] uppercase text-dark/60 hover:text-primary transition-colors">Restauration</a>
|
|
||||||
<a href="#contact" class="text-xs tracking-[0.2em] uppercase bg-primary text-white px-6 py-2.5 hover:bg-primary/80 transition-colors">
|
|
||||||
Réserver
|
|
||||||
</a>
|
|
||||||
</nav>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
---
|
|
||||||
import '../styles/global.css';
|
|
||||||
|
|
||||||
interface Props {
|
|
||||||
title?: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const {
|
|
||||||
title = 'Le Moulin des Rives'
|
|
||||||
} = Astro.props;
|
|
||||||
---
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="fr">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta name="viewport" content="width=device-width" />
|
|
||||||
|
|
||||||
<title>{title}</title>
|
|
||||||
|
|
||||||
<meta
|
|
||||||
name="description"
|
|
||||||
content="Gîte de charme dans la vallée de l’Allier avec restauration et hébergement au cœur de la nature."
|
|
||||||
/>
|
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
||||||
|
|
||||||
<link
|
|
||||||
href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap"
|
|
||||||
rel="stylesheet"
|
|
||||||
>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="bg-cream text-dark font-sans antialiased">
|
|
||||||
<slot />
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
---
|
|
||||||
import MainLayout from '../layouts/MainLayout.astro';
|
|
||||||
|
|
||||||
import Navbar from '../components/Navbar.astro';
|
|
||||||
import Hero from '../components/Hero.astro';
|
|
||||||
import About from '../components/About.astro';
|
|
||||||
import Features from '../components/Features.astro';
|
|
||||||
import Gallery from '../components/Gallery.astro';
|
|
||||||
import Food from '../components/Food.astro';
|
|
||||||
import Location from '../components/Location.astro';
|
|
||||||
import Contact from '../components/Contact.astro';
|
|
||||||
import Footer from '../components/Footer.astro';
|
|
||||||
---
|
|
||||||
|
|
||||||
<MainLayout>
|
|
||||||
<Navbar />
|
|
||||||
<Hero />
|
|
||||||
|
|
||||||
<main>
|
|
||||||
<About />
|
|
||||||
<Features />
|
|
||||||
<Gallery />
|
|
||||||
<Food />
|
|
||||||
<Location />
|
|
||||||
<Contact />
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<Footer />
|
|
||||||
</MainLayout>
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
@import "tailwindcss";
|
|
||||||
|
|
||||||
@theme {
|
|
||||||
--color-primary: #8b8d62;
|
|
||||||
--color-secondary: #d9d2c3;
|
|
||||||
--color-cream: #f5f2eb;
|
|
||||||
--color-dark: #1f1f1f;
|
|
||||||
--font-serif: 'Cormorant Garamond', serif;
|
|
||||||
--font-sans: 'Inter', sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
scroll-behavior: smooth;
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "astro/tsconfigs/strict",
|
|
||||||
"include": [".astro/types.d.ts", "**/*"],
|
|
||||||
"exclude": ["dist"]
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user