How I use HTMX with Go
L'article décrit une méthode pour intégrer HTMX avec Go en embarquant les assets, en structurant les templates en base, pages et partials, et en utilisant un htmlRenderer qui parse des templates partagées et rend soit des pages complètes soit des fragments. Il illustre cette méthode par une application exemple servant HTMX et fichiers statiques, avec des handlers comme /gopher et une page /users qui utilise un input configuré hx-get/hx-trigger pour filtrer les lignes via un template users:rows. Il explique comment détecter les requêtes HTMX via l'en-tête HX-Request pour renvoyer des partials versus des pages complètes, et recommande d'ajouter Vary: HX-Request dans les réponses. Concernant les redirections et erreurs, l'article recommande d'utiliser HX-Redirect (ou HX-Location avec prudence) via un helper qui bascule entre header HTMX et redirection 3xx, et de configurer responseHandling pour afficher les 4xx/5xx en tant que page complète tout en laissant les 422 être swapés dans la cible. Enfin, il propose des réglages HTMX par défaut (désactiver historyRestoreAsHxRequest, historyCacheSize à 0, disableInheritance, includeIndicatorStyles à false, timeout) et rappelle qu'HX-Current-URL permet d'obtenir l'URL affichée par le navigateur pour un traitement côté serveur.