Hugo génère un site statique, et obtenir du contenu dynamique dépend de la plateforme où est hébergé le site. Mais dans un monde hyper connecté, comment va faire le fantastique recruteur qui a repéré mon formidable cv pour me contacter et me proposer un job génial (par exemple) ? Avec un formulaire !
Et pour faire un formulaire de contact, on peut utiliser un bête script mais si on ne peut pas en exécuter justement, on peut toujours se rabattre sur un service externe. Ah oui mais c’est pas vraiment compatible avec l’auto-hébergement ça monsieur. Comment faire le jour où le service externe ferme ? Ben on change de service. Et le jour où le nuage fait faillite ? Pas grave ! On aura bientôt le THD en France. Mais ça a l’air vachement bien ça ! Oui bon, si on lit le SDTAN, la fibre pour tous dans le Gers, c’est pour 2034 ; FFTH c’est d’abord pour les “grandes” villes. Même à la campagne, la fracture numérique ne se réduit que trop lentement. Alors oui, ça coûte cher mais j’ai tendance à croire que les rares raleurs ont raison ici. Ailleurs, Gers Numérique prévoit dans un premier temps une Montée en Débit (MED), c’est à dire la mise en place de sous répartiteurs (fibrés donc) dans tous les villages pour pouvoir augmenter les débits des lignes ADSL existantes et obtenir au minimum 8Mib pour tous. Mais les usages explosent dans le même temps. Et moi j’ai prévu un routeur avec une interface gigabit mec, pour remplacer mon bon vieux soekris. Pour 2034. J’espère que mon hébergeur sera toujours là d’ici là.
Pour revenir à notre formulaire, on nous conseille formspree.io ici entre autres. Pour créer notre page, rien de plus facile :
$ hugo new contact.md
/chemin/monsite/content/contact.md created
Là, hugo nous a créé un fichier content/contact.md qui contient au départ uniquement l’en-tête front matter qui est une des fonctionnalités importantes. Il est généré soit en TOML, YAML ou JSON en fonction de la configuration du site et du thème. Il permet de personnaliser les métadonnées et les variables de thème. Il n’y a plus qu’à compléter avec le contenu pour notre formulaire :
<form action="//formspree.io/mon@adressemel.fr"
method="POST">
<input type="email" name="_replyto" placeholder="Votre adresse"><br />
<textarea name="message" placeholder="Votre message" rows="5"></textarea><br />
<button type="submit">Envoyer</button>
</form>
Mais c’est pas du markdown ça ! Ben non, mais blackfriday qui est le moteur de rendu utilisé par hugo ne va pas toucher au html puisque c’est pas du markdown ça. Il crache une page html avec notre formulaire, et ça marche !
Il faut quand même cliquer sur le bouton envoyer soi même une première fois parce que formspree.io t’envoie un message pour confirmer que c’est bien toi qui a écrit cette jolie page.
Evidemment, il ne faut compter sur aucune confidentialité et accepter les conditions d’utilisation du service.