Site Hugo : formulaire de contact

Fermé
Teasie - 5 janv. 2022 à 17:24
 fiurino - 7 mars 2022 à 10:33
Bonjour,

Je suis en train de découvrir hugo afin de créer une site web statique, basique.

J'en suis arrivé au formulaire de contact, cependant je n'arrive pas à comprendre comment renseigner le serveur mail qui devra recevoir le mail envoyé.

Je dispose de l’arborescence suivante :

├── archetypes
│ └── default.md
├── config.toml
├── content
├── data
├── layouts
├── static
└── themes

Dans le dossier content, j'ai un fichier Mardkdown, correspondant à mon formulaire de contact.
Sur internet, j'ai pu trouver la ligne "{{< form-contact action="" >}}" à rentrer dans ce fichier .md, mais je ne comprends pas comment l'utiliser.

J'aimerais que, lorsqu'une personne rempli et envoie un formulaire, recevoir un mail dans ma boîte mail.

Est-ce possible ?

Merci
A voir également:

2 réponses

J'ai vu également :
<FORM METHOD=POST ENCTYPE="text/plain" ACTION="mailto:***@***"> 


Cependant cela ouvre l'éditeur de messagerie par défaut, ce n'est pas ce que je veux.
0
Salut,
en effet l'attribut de balise HTML Action indique uniquement où doivent être envoyées les données du formulaire. Et la fonctionnalité mailto ouvre la messagerie définie par défaut si il y en a une sure l'ordinateur de l'utilisateur.
Je ne connait pas Hugo mais quand je lis la définition et que vous parlez de site statique on est à la limite d'un site statique.
Statique signifie que tout se passe sur la page concernée(ou plutôt côté client = dans le navigateur de l'utilisateur) et surtout qu'il n'y a pas d'automatisation du traitement de données côté serveur.

Hors c'est précisément ce qu'il vous manque pour traiter les données et utiliser un serveur mail. Le traitement des données se fait communément avec PHP pour cela et PHP fonctionne côté serveur. En fait c'est même le but:
ce qui se passe sur l'ordinateur du client ne peut être sécurisé car c'est visible par le client(qui peut très bien changer et voir les données s'il en a envie donc) et de faire se dérouler un programme côté serveur rends opaque les traitement(le programme) comme la gestion des données.
Quant à l'envoi de mail il nécessite un serveur mail et se situe donc côté serveur.

Un peu de lecture sur l'architecture client serveur:

https://www.malekal.com/le-modele-ou-architecture-client-serveur/

Sur ce qu'est un serveur de mail
article assez ancien et si certaines affirmations sont à nuancer au regard de l'évolution des techs. le principe reste le même:

https://www.commentcamarche.net/applis-sites/mail/981-pop-imap-smtp-adresses-serveurs-mail/

J'ajouterais aussi que lorsque l'on souscrit un abonnement auprès d'un hébergeur il n''est pas rare que ceux ci proposent la création d'un compte email associé au domaine(en fait plusieurs adresses mail avec un nombre variable mais généralement suffisant), donc d'un serveur mail associé.
Ceux ci peuvent être simulés tout comme PHP par des logiciels comme WAMP/MAMP/LAMP qui fournissent des serveurs pour faire des tests et le développement.

Donc on n'est plus dans du site statique qui comme vous devez le savoir n'utilise que des langages fonctionnant sur le client(HTML, CSS, JavaScript pour la programmation...) mais dans la gestion d'un email.

Je parlais de la limite statique/dynamique et qu'on est à cette limite c'est que le même genre de technologie est utilisé pour un site dynamique(un programme serveur et un serveur qui va gérer les données) sauf que dans le cas de site dynamique c'est la partie base de données qui est en plus puisque qu'elle permet "d'automatiser" la gestion des données qui sont générés dans la page couplée avec le programme serveur.
Ce que vous indiquez n'est pas un site dynamique (car l'envoi de vos données ne se fait pas à la base mais au serveur de mail) mais fonctionne sur le même principe(voir liens architecture réseau tripartie: client, serveur de programme, serveur de base de données) mais le serveur de la base de données est remplacé par le serveur d'email.
Une bonne mise en bouche mais pas possible avec Hugo puisque que par définition:

"Hugo By Niko Hugo est un générateur de site web statique, c'est à dire qu'il génère tous les fichiers HTML du site, et qu'un site web généré avec Hugo n'a ainsi pas besoin de base de données ou de langage de script type PHP."

Pas impossible non plus donc mais ce sera à vous de mettre les mains dans le cambouis pour rajouter le(s) serveur(s)(exemple PHP et le serveur de mail) et les fonctionnalités associé: le programme(donc écrire le PHP et l'inclure/associer avec le contenu HTML).

Notez que pour cela Hugo ne sera pas une bonne approche didactique(d'apprentissage) puisque si ce n'est vous qui générez HTML/CSS il est moins évident de visualiser/comprendre son rôle et utilisation aussi bien les principes de ces langages que leur relation avec les autres parties de l'architecture matérielle(les serveurs) aussi bien que conceptuelle(les fonctionnalités apportées par les langages serveurs, exemple PHP et SQL ou PHP et la fonction mail, donc le traitement des données d'un formulaire HTML)
0
Bonjour, il faut passer par un service externe pour un formulaire Hugo. Il gère l'envoi de l'email et le message de confirmation pour l'utilisateur.
Tape HTML5 form contact sur Google et tu vois les offres gratuites (limitées).
Regarde sur mon site corse.io comme exemple.
0