Add contact backend and update readme

This commit is contained in:
2026-04-14 23:18:17 +02:00
parent 1c63ecdb83
commit f5f83c5ade
81 changed files with 11090 additions and 80 deletions
+9 -72
View File
@@ -1,82 +1,19 @@
# Démarrage avec Docker
## Builder ou re-builder l'image Docker
Pour construire ou reconstruire l'image Docker (forcer le rebuild même si une image existe déjà) :
# Docker compose
```bash
docker build --no-cache -t chill-site:latest .
docker compose up --build
```
## Lancer le site en local avec un nom de conteneur
Cela démarre à la fois le site, mais également le backend de contact et mailpit (pour tester la réception des e-mails avec un faux server SMTP).
```bash
docker run --name chill-site-container -p 1313:1313 -p 3001:3001 -d chill-site:latest
```
- Site: http://localhost:1313
- Backend e-mail: http://localhost:1314/contact.php
- Boite de réception des emails envoyés . http://localhost:8025/
Pour relancer après un arrêt :
! Attention, le site n'est pas automatiquement rebuild, il est nécessaire de ré-executer la commande pour rebuild.
```bash
docker start chill-site-container
```
Pour supprimer le conteneur (si besoin de re-builder et relancer) :
```bash
docker rm -f chill-site-container
```
Le site sera accessible sur http://localhost:1313
## Utiliser le backend de contact
Le formulaire de contact du site envoie les données vers un backend Node.js défini dans `contact-backend.js`.
### 1. Configurer les variables d'environnement
Créer un fichier `.env` à la racine du projet (ou copier `.env.template`) et renseigner :
```bash
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=utilisateur@example.com
SMTP_FROM=utilisateur@example.com
SMTP_PASS=mot_de_passe
PORT=3001
```
Notes :
- `SMTP_SECURE=true` en général pour le port 465.
- `SMTP_SECURE=false` en général pour les ports 587 et 25.
### 2. Installer les dépendances Node.js
Si ce n'est pas déjà fait :
```bash
npm install
```
### 3. Démarrer le backend contact
```bash
node contact-backend.js
```
Le serveur écoute par défaut sur `http://localhost:3001` et expose l'endpoint `POST /contact`.
### 4. Vérifier l'URL du formulaire
Dans `content/contact.md`, la valeur `contactForm.action` doit pointer vers le backend :
```yaml
contactForm:
action: "http://localhost:3001/contact"
```
### 5. Lancer le site Hugo
## Lancer le site Hugo seul
Dans un autre terminal :
@@ -84,4 +21,4 @@ Dans un autre terminal :
npm run start
```
Le formulaire sera alors fonctionnel en local, à condition que le backend tourne en même temps.
Le formulaire sera alors fonctionnel en local, à condition que le backend de contact tourne en même temps.