No description
  • HTML 70.8%
  • JavaScript 27.4%
  • Shell 1.4%
  • Dockerfile 0.4%
Find a file
Crosey 72ec2ce320 E-mail : Reply-To vers une vraie adresse (plus de réponse dans le vide)
- L'invité peut répondre à sa confirmation -> arrive aux mariés (Reply-To)
- Les mariés peuvent répondre à la notif -> arrive à l'invité (Reply-To = son email)
- Si coupleTo est une adresse no-reply, le texte n'invite plus à répondre
  (renvoie vers la page Contact du site)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 01:36:08 +02:00
admin Emails Brevo + templates soignés, ajout au calendrier, expéditeur par défaut 2026-07-02 01:09:03 +02:00
deploy Déploiement derrière nginx système (pas de Caddy) 2026-07-02 01:22:16 +02:00
public Emails Brevo + templates soignés, ajout au calendrier, expéditeur par défaut 2026-07-02 01:09:03 +02:00
.dockerignore Déploiement : Docker + Caddy (HTTPS auto) pour clemelomariage.fr 2026-07-02 01:11:53 +02:00
.env.example Emails Brevo + templates soignés, ajout au calendrier, expéditeur par défaut 2026-07-02 01:09:03 +02:00
.gitignore Déploiement : Docker + Caddy (HTTPS auto) pour clemelomariage.fr 2026-07-02 01:11:53 +02:00
DEPLOY.md Déploiement derrière nginx système (pas de Caddy) 2026-07-02 01:22:16 +02:00
Dockerfile Déploiement : Docker + Caddy (HTTPS auto) pour clemelomariage.fr 2026-07-02 01:11:53 +02:00
package-lock.json Initial commit: site mariage avec RSVP et espace admin 2026-07-01 23:24:51 +02:00
package.json Initial commit: site mariage avec RSVP et espace admin 2026-07-01 23:24:51 +02:00
README.md Initial commit: site mariage avec RSVP et espace admin 2026-07-01 23:24:51 +02:00
server.js E-mail : Reply-To vers une vraie adresse (plus de réponse dans le vide) 2026-07-02 01:36:08 +02:00

Mariage — Éloïse & Clément (29 mai 2027)

Site de mariage + collecte des réponses (RSVP) avec export CSV. 100 % self-hosted : Node/Express, stockage fichier append-only (aucune base de données à administrer), se sauvegarde comme le reste (rclone → kDrive).

Structure

mariage/
├─ server.js          API + sert le site et l'admin
├─ public/index.html  le site public
├─ admin/index.html   espace mariés (liste + export CSV)
├─ package.json       une seule dépendance : express
├─ .env.example       config à copier en .env
└─ data/rsvps.ndjson  créé au 1er RSVP (une ligne JSON par réponse)

Démarrer

cp .env.example .env      # puis choisis ADMIN_USER / ADMIN_PASSWORD
npm install
npm start

Espace mariés (/admin)

  • Tableau des réponses, recherche + filtre présents/absents.
  • Compteurs : réponses, présents, convives estimés, absents.
  • Bouton Exporter en CSVrsvp-mariage-AAAA-MM-JJ.csv (séparateur ; + BOM UTF-8, s'ouvre direct dans Excel FR).

Production (ton stack habituel)

PM2 :

pm2 start server.js --name mariage
pm2 save

Caddy (reverse proxy) :

mariage.exemple.fr {
    reverse_proxy localhost:3000
}

Le site ET l'API sont sur la même origine → rien à configurer côté CORS. (Si un jour tu sépares le front, renseigne ALLOWED_ORIGIN dans .env et API_BASE en haut de public/index.html.)

Sauvegarde

Tout tient dans data/rsvps.ndjson. Un rclone copy data/ kdrive:mariage/ périodique suffit.

Ce qu'il reste à personnaliser dans public/index.html

  • Photos de la galerie (section « Un peu de nous »).
  • Horaires du déroulé si besoin (bloc « Le jour J »).
  • Le lieu exact est déjà réglé (19 chemin de Fina, Fuveau) + carte des hébergements autour.