Je poste la question en toute innocence. J'ai une vague compréhension du JavaScript et de l'outillage actuel des sites web complexes. J'ai des appétences pour le HTML/CSS minimaliste (le smolweb par exemple), qui me font regarder ces technos avec méfiance, mais je sais aussi qu'on peut faire des trucs légers et chouettes avec un site statique, un peu de JS côté client et des données stockées dans un fichier JSON. Du coup : à quoi ça sert, les "generalized hypermedia controls" dont parle le lisezmoi de fixi.js ? Est-ce que l'auteur de ce projet parle de la même chose que moi quand il parle de minimalisme ?
Quand il parle de minimalisme c'est sur l'implémentation du concept par rapport à htmx qui rajoute beaucoup d'autres choses.
Le concept étant de généraliser les possibilités des "hypermedia controls" à tous les éléments.
Par exemple qu'un bouton (ou autre) puisse faire un GET et renvoyer le résultat dans un autre élément, un div par exemple.
HTMX et Fixi (et d'autre) part de deux principes :
n'importe quel élément HTML et pas uniquement les boutons et les liens devraient pouvoir déclencher une interaction utilisateur = "faire un truc".
il doit être possible, lors d'une interaction, de remplacer une partie du document HTML (le DOM) sans recharger toute la page
C'est ce qu'implémentent les deux bibliothèques une fois chargées dans la page (script).
Il suffit d'ajouter des attributs à un élément pour le rendre interactif. Lorsque l’interaction est activée (click, over, time, etc), la bibliothèque fait une requête asynchrone (AJAX ou XHR), s'attend à recevoir du HTML et retour et le place à l'endroit indiqué.
Je voyais un intérêt à HTMX qui était qu'on puisse :
- exposer des routes qui retournent un HTML complet, pratique si le js est désactivé, ou si l'utilisateur recharge la page
- et si js est activé, HTMX peut appeler ces routes « complètes » et ne remplacer que la partie de la page qui est censée changer, sans rien changer au backend
C'était faisable grâce à hx-target (choisir quoi remplacer dans le document actuel) combiné à hx-select (choisir quoi extraire de la page requêtée), mais plus avec fixi, qui ne propose que fx-target. Il faudrait donc implémenter des routes qui ne retournent que la partie de la page qui nous intéresse en plus de la route qui retourne une page HTML complète, ce qui limite l'intérêt.
# Interview de l'auteur
Posté par wilk . Évalué à 2 (+0/-0).
Il en parle ici
https://youtu.be/VKu3Dyyzzjg
HTMX est considéré comme stable, il préfère expérimenter sur un nouveau projet.
# À quoi ça sert ?
Posté par Laurent Pointecouteau (site web personnel, Mastodon) . Évalué à 5 (+3/-0). Dernière modification le 11 mars 2025 à 10:58.
Je poste la question en toute innocence. J'ai une vague compréhension du JavaScript et de l'outillage actuel des sites web complexes. J'ai des appétences pour le HTML/CSS minimaliste (le smolweb par exemple), qui me font regarder ces technos avec méfiance, mais je sais aussi qu'on peut faire des trucs légers et chouettes avec un site statique, un peu de JS côté client et des données stockées dans un fichier JSON. Du coup : à quoi ça sert, les "generalized hypermedia controls" dont parle le lisezmoi de fixi.js ? Est-ce que l'auteur de ce projet parle de la même chose que moi quand il parle de minimalisme ?
[^] # Re: À quoi ça sert ?
Posté par wilk . Évalué à 4 (+2/-0).
Quand il parle de minimalisme c'est sur l'implémentation du concept par rapport à htmx qui rajoute beaucoup d'autres choses.
Le concept étant de généraliser les possibilités des "hypermedia controls" à tous les éléments.
Par exemple qu'un bouton (ou autre) puisse faire un GET et renvoyer le résultat dans un autre élément, un div par exemple.
<button fx-action="/autre" fx-target="ici">Clic</button>
<div id="ici">...</div>
Ce qu'on peut relativement déjà faire avec des forms et des iframe est donc généralisé aux autres éléments.
Il y a un projet pour l'inclure dans les specs html
https://github.com/alexpetros/triptych
[^] # Re: À quoi ça sert ?
Posté par steph1978 . Évalué à 4 (+2/-0).
HTMX et Fixi (et d'autre) part de deux principes :
C'est ce qu'implémentent les deux bibliothèques une fois chargées dans la page (script).
Il suffit d'ajouter des attributs à un élément pour le rendre interactif. Lorsque l’interaction est activée (click, over, time, etc), la bibliothèque fait une requête asynchrone (AJAX ou XHR), s'attend à recevoir du HTML et retour et le place à l'endroit indiqué.
# dommage
Posté par Octabrain . Évalué à 3 (+1/-0).
Je voyais un intérêt à HTMX qui était qu'on puisse :
- exposer des routes qui retournent un HTML complet, pratique si le js est désactivé, ou si l'utilisateur recharge la page
- et si js est activé, HTMX peut appeler ces routes « complètes » et ne remplacer que la partie de la page qui est censée changer, sans rien changer au backend
C'était faisable grâce à
hx-target
(choisir quoi remplacer dans le document actuel) combiné àhx-select
(choisir quoi extraire de la page requêtée), mais plus avec fixi, qui ne propose quefx-target
. Il faudrait donc implémenter des routes qui ne retournent que la partie de la page qui nous intéresse en plus de la route qui retourne une page HTML complète, ce qui limite l'intérêt.Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.