feat: Mettre à jour la configuration du backend et le formulaire de contact pour utiliser BASE_URL

This commit is contained in:
Boris Waaub
2026-03-16 16:00:19 +01:00
parent c392670539
commit bbfc0949c4
7 changed files with 14 additions and 11 deletions
+1
View File
@@ -1,4 +1,5 @@
# Configuration SMTP pour contact-backend.js
BASE_URL=http://localhost
SMTP_HOST=HOST
SMTP_PORT=PORT
SMTP_SECURE=false
+2 -2
View File
@@ -19,9 +19,9 @@ COPY . .
RUN npm run build
EXPOSE 1313
EXPOSE 1313 3001
CMD ["hugo", "server", "-D", "--bind", "0.0.0.0", "--baseURL", "http://localhost:1313", "--appendPort=false"]
CMD ["sh", "-c", "BASE_URL=${BASE_URL:-http://localhost}; node contact-backend.js & hugo server -D --bind 0.0.0.0 --baseURL ${BASE_URL}:1313 --appendPort=false"]
# @TODO: Ajouter une étape de build pour générer les fichiers statiques de Hugo
# gunzippé et optimisé pour la production
+1 -1
View File
@@ -12,7 +12,7 @@ docker build --no-cache -t chill-site:latest .
## Lancer le site en local avec un nom de conteneur
```bash
docker run --name chill-site-container -p 1313:1313 -d chill-site:latest
docker run --name chill-site-container -p 1313:1313 -p 3001:3001 -d chill-site:latest
```
Pour relancer après un arrêt :
+5 -5
View File
@@ -37,17 +37,17 @@ app.post('/contact', upload.none(), async (req, res) => {
if (req.body.website && req.body.website.trim() !== '') {
return res.status(400).send('Bot détecté.');
}
const { email, sujet, message } = req.body;
if (!email || !sujet || !message) {
return res.status(400).send('Champs manquants.');
const { email, subject, message } = req.body;
if (!email || !subject || !message) {
return res.status(400).send('Champs manquants');
}
try {
await transporter.sendMail({
from: process.env.SMTP_USER,
to: process.env.SMTP_USER,
replyTo: email,
subject: `Contact site: ${sujet}`,
text: `Email: ${email}\nSujet: ${sujet}\nMessage:\n${message}`
subject: `Contact site: ${subject}`,
text: `Email: ${email}\nSujet: ${subject}\nMessage:\n${message}`
});
res.status(200).send('Message envoyé !');
} catch (err) {
-1
View File
@@ -3,7 +3,6 @@ title: "Nous contacter"
layout: "simple"
contactForm:
title: "Formulaire de contact"
action: "http://localhost:3001/contact"
developers:
title: "Échanger avec les développeurs"
description: "Il existe un salon sur la messagerie Matrix, pour échanger avec les développeurs de Chill."
+1 -1
View File
@@ -45,7 +45,7 @@ pagination = { pagerSize = 6, path = "page" }
# Security Configuration
[security.funcs]
getenv = ['^HUGO_', '^CI$']
getenv = ['^HUGO_', '^CI$', '^BASE_URL$']
# Required Markup Configuration
@@ -1,9 +1,12 @@
{{ $form := .Page.Params.contactForm }}
{{ $baseURL := default "http://localhost" (getenv "BASE_URL") }}
{{ $normalizedBaseURL := strings.TrimSuffix "/" $baseURL }}
{{ $defaultContactAction := printf "%s:3001/contact" $normalizedBaseURL }}
<form id="contactForm" class="max-w-lg mx-auto p-6 bg-white rounded shadow" method="POST"
action="{{ $form.action | default "http://localhost:3001/contact" }}">
action="{{ $form.action | default $defaultContactAction }}">
<h3 class="text-2xl font-bold mb-4">{{ $form.title }}</h3>
{{ range $form.fields }}
<div class="mb-4">