WB Polls
Créez des sondages, laissez les visiteurs ou les membres voter une fois et affichez les résultats en direct n'importe où sur votre site.
Extension
WB Polls
Créez des sondages, laissez les visiteurs ou les membres voter une fois et affichez les résultats en direct n'importe où sur votre site.
Description
WB Polls permet au propriétaire d’un site de poser une question et d’afficher les résultats en direct sur n’importe quelle page EmDash.
Ce que vous obtenez
- Créez un sondage de deux à dix réponses, avec un choix unique ou plusieurs.
- Ouvrez-le lorsque vous êtes prêt, fermez-le lorsque le vote doit s’arrêter, ou définissez une heure de clôture.
- Choisissez qui peut voter : tout le monde, ou seulement les membres connectés.
- Choisissez quand les résultats s’affichent : toujours, après un vote, ou après la clôture du sondage.
- Choisissez des totaux anonymes, ou des résultats nominatifs que le propriétaire du site peut voir.
- Associez un sondage à une page, à chaque entrée d’un type de contenu, ou à l’ensemble du site. Un développeur peut aussi placer un sondage précis par son id.
- Copiez un sondage dans un nouveau brouillon sans aucun vote.
Comment tout s’articule
Le plugin est le moteur : stockage, routes de vote et écrans d’administration. Un plugin EmDash ne peut pas ajouter de pages ; le sondage visible est donc fourni sous forme de kit de site que vous copiez une seule fois. Voir Installation.
Les invités peuvent voter lorsque vous autorisez tout le monde et que votre hébergeur donne à EmDash l’adresse du visiteur (Cloudflare, ou trustedProxyHeaders). Les membres votent avec leur compte connecté. Vous seul créez et gérez les sondages.
Installation
Avant d’installer
1. Votre site a besoin d’un exécuteur de bac à sable. Les plugins du registre s’exécutent dans un bac à sable. Tant que le site n’en a pas, Admin, Plugins affiche « No plugins configured » et il n’y a pas de Registry dans le menu.
- Node : dans votre site, exécutez
npm install @emdash-cms/sandbox-workerd workerd, puis ajoutezsandboxRunner: "@emdash-cms/sandbox-workerd/sandbox",dansemdash()au sein deastro.config.mjs. - Cloudflare : ajoutez
import from "@emdash-cms/cloudflare";etsandboxRunner: sandbox(),. Il faut l’offre Workers Paid, la liaisonworker_loadersnomméeLOADER(décommentez-la dans votre configuration Wrangler) et un bucket R2 en tant questorage: r2(...), sans quoi l’installation s’arrête avec « Storage error while installing plugin ». Exécutez ensuitenpm run deploy.
Arrêtez le serveur de développement et relancez-le. Registry apparaît désormais dans le menu d’administration.
2. Le plugin est le moteur. Les pages visiteurs viennent de son kit de site. Un plugin du registre ne peut pas ajouter de pages à votre site. Tant que vous n’avez pas copié le kit, ses adresses (par exemple /account/votes) affichent la page 404 de votre site. C’est normal. La copie du kit ci-dessous tient en une commande.
Vérifié sur EmDash 1.3.1 avec le modèle blog, sur Node et sur Cloudflare Workers (installation depuis le registre).
Installer
-
Admin, Registry, recherchez WB Polls, Install, puis acceptez les autorisations.
-
Depuis le dossier racine de votre site :
kit="$(mktemp -d)" && git clone --depth 1 \ --branch v0.5.0 \ https://github.com/wbcomdesigns/emdash-polls \ "$kit/emdash-polls" && "$kit/emdash-polls/scripts/add-to-site.sh" . -
Collez les lignes affichées. Redémarrez le serveur de développement.
-
Ajoutez le lien de menu affiché dans Admin, Menus.
-
Ouvrez Polls dans l’administration.
Après une mise à jour, exécutez l’étape 2 avec la nouvelle balise.
Guide : https://github.com/wbcomdesigns/emdash-polls/blob/v0.5.0/docs/website/getting-started/install.md
FAQ
J’ai mis à jour le plugin et le vote s’est arrêté.
Copiez à nouveau le kit de site. Une installation depuis le registre répond à un id, et non à /polls/. Le kit actuel trouve cet id.
Pourquoi n’y a-t-il pas de sondage sur la page après en avoir créé un ? Un sondage créé est un brouillon. Ouvrez le sondage depuis la liste. Associez-le ensuite à une page, à un type de contenu ou à l’ensemble du site, et placez un emplacement de sondage dans ce modèle.
Les invités peuvent-ils voter ?
Oui, lorsque vous réglez Who can vote sur Anyone et que l’hébergeur donne à EmDash l’adresse du visiteur : sur Cloudflare, ou avec trustedProxyHeaders réglé sur un en-tête que votre proxy écrit lui-même et remplace (derrière nginx, x-real-ip ; jamais un X-Forwarded-For ajouté en fin de liste). Sinon, les invités sont invités à se connecter, et l’écran Polls l’indique. Un vote par visiteur. Les membres connectés votent en leur nom.
Un 401 dans la console du navigateur est-il un problème ? Non. Un invité reçoit un 401 par sondage à cause de la vérification du bulletin de membre, et un autre sur My votes. C’est ainsi que le sondage apprend que le visiteur n’est pas connecté. Il affiche alors la vue invité.
Qui voit les noms des votants ? Vous seul, et seulement sur un sondage nominatif. Les invités restent anonymes. Les sondages anonymes ne conservent jamais de nom.
Fonctionne-t-il en mode sombre ? Oui. Le kit suit le réglage système du visiteur.
Puis-je placer un sondage au milieu d’un article ? Pas avec l’installation depuis le registre. Associez-le au-dessus ou au-dessous du contenu, ou placez “ dans un modèle. Un bloc dans le texte nécessite une installation de confiance ; cette voie est facultative et ne change pas le produit du registre.
Existe-t-il une version payante ? Non. Tout ce qui est ici est gratuit.
Pourquoi demande-t-il à lire mon contenu ? Pour qu’un sondage associé à un brouillon reste masqué tant que vous n’avez pas publié cette page. WB Polls vérifie seulement si une page est publiée et liste vos types de contenu par leur nom.
Journal des modifications
0.5.0
Chaque page de sondage, vote et écran d’administration respecte désormais la limite de Cloudflare de 10 requêtes par appel de plugin.
- Nouveau - Chaque sondage conserve un total cumulé, de sorte que les résultats s’affichent en une seule lecture, quelle que soit la taille du sondage.
- Nouveau - Results propose Recount votes, qui recompte un sondage à partir des votes stockés.
- Amélioration - La suppression d’un sondage le masque aussitôt ; ses votes, noms compris, sont supprimés à l’ouverture des écrans d’administration.
- Amélioration - Les heures d’ouverture et de fermeture sont lues à partir des dates du sondage à chaque affichage.
- Correctif - Sur Cloudflare, un vote d’invité n’affiche plus « Something went wrong » après avoir été enregistré.
- Correctif - Sur Cloudflare, l’écran Polls, Results, My votes et le panneau Poll n’échouent plus sur un site très sollicité.
Un sondage d’une version antérieure est compté la première fois qu’il est ouvert. Copiez à nouveau le kit après la mise à jour, depuis le dossier racine de votre site :
kit="$(mktemp -d)" &&
git clone --depth 1 \
--branch v0.5.0 \
https://github.com/wbcomdesigns/emdash-polls \
"$kit/emdash-polls" &&
"$kit/emdash-polls/scripts/add-to-site.sh" .
0.4.0
- Nouveau : l’autorisation Read your content, pour qu’un sondage sur une page brouillon reste masqué jusqu’à sa publication.
- Nouveau : une carte Set up visitor pages et
scripts/add-to-site.shcopient le kit en une seule commande. - Sécurité : les invités ne votent que là où l’hébergeur fournit l’adresse du visiteur. Deux votes envoyés en même temps par un même votant ne comptent qu’une fois.
0.3.0
- Nouveau : statistiques des sondages dans la liste, graphique en barres des résultats et bloc facultatif This page’s poll pour le texte d’un article.
Versions antérieures : https://github.com/wbcomdesigns/emdash-polls/blob/main/CHANGELOG.md