Comment fournir du contenu HTML
- Présentation de la manière de renvoyer du contenu HTML et de traiter des requêtes AJAX à l’aide de PostgREST et de la bibliothèque htmx.
- htmx attend des réponses HTML et les utilise pour remplacer des éléments dans le DOM.
Configuration initiale
- Création d’une application de liste de tâches (to-do) basée sur le tutoriel 0.
- Le tutoriel se déroule sans authentification, avec tous les droits accordés à l’utilisateur
web_anon sur la table todos.
- Ajout de
text/html comme gestionnaire de type média afin que PostgREST reconnaisse les requêtes du navigateur web comme des documents HTML.
Génération de réponses HTML
- Création d’une fonction qui renvoie un fichier HTML de base en utilisant Tailwind CSS.
- Le navigateur web peut ouvrir la page à l’adresse
http://localhost:3000/rpc/index.
Lister et créer des tâches
- Création d’une fonction qui affiche la liste des tâches déjà enregistrées dans la base de données.
- Elle est utilisée pour construire le modèle de la liste des tâches et n’est pas utilisée comme endpoint PostgREST.
- Ajout d’un endpoint pour enregistrer une tâche dans la base de données et modification de la page
/rpc/index.
Modifier et supprimer des tâches
- Modification de la fonction
api.html_todo pour la rendre plus fonctionnelle.
- Ajout de nouvelles fonctionnalités htmx : changement d’état d’une tâche, renvoi d’un HTML modifiable pour une tâche, suppression d’une tâche.
- Ajout d’endpoints pour modifier une tâche et pour mettre à jour et supprimer des tâches dans la base de données.
L’avis de GN⁺
- Cet article peut intéresser les développeurs web, car il explique comment fournir du contenu HTML dynamique dans des applications web à l’aide de PostgREST et de la bibliothèque htmx.
- Les mises à jour asynchrones de pages web via AJAX constituent un aspect important du développement web moderne, et cet article fournit un exemple concret pour mettre en œuvre ce type de fonctionnalité.
- C’est une bonne ressource pour apprendre à améliorer l’interface utilisateur et à optimiser la communication entre le serveur et le client.
1 commentaires
Avis Hacker News