❓ FAQGratuit · 0 NahnahPar NAHNAH
FAQ avec vote « utile »
Accordéon où chaque réponse se termine par un vote « Cette réponse t'a aidé ? » mémorisé dans le navigateur, avec données structurées FAQPage.
Aperçu en direct
Données de démonstration (produits, menus, textes d’exemple) : dans ta boutique, ce sont les tiennes.
Photos : Unsplash / Pexels (exemples de l’aperçu, jamais inclus dans le code).
Code à copier
Fichier complet sections/nahnah-faq-vote-utile.liquid (Liquid, CSS et JS inclus).
{%- comment -%} NAHNAH AI · FAQ avec vote « utile » {%- endcomment -%}
<section class="nn-faq-vote-utile" data-nn-section="{{ section.id }}" style="--nn-fond: {{ section.settings.couleur_fond }}; --nn-accent: {{ section.settings.couleur_accent }}; --nn-texte: {{ section.settings.couleur_texte }};">
{%- if section.settings.titre != blank -%}<h2>{{ section.settings.titre | escape }}</h2>{%- endif -%}
<div class="nn-faq-vote-utile__liste">
{%- for bloc in section.blocks -%}
<details class="nn-faq-vote-utile__item" {{ bloc.shopify_attributes }}>
<summary>{{ bloc.settings.question | escape }}<span aria-hidden="true">+</span></summary>
<div class="nn-faq-vote-utile__reponse">
{{ bloc.settings.reponse }}
<div class="nn-faq-vote-utile__vote" data-nn-cle="{{ section.id }}-{{ bloc.id }}">
<span>{{ section.settings.texte_vote | escape }}</span>
<button type="button" data-nn-vote="oui" aria-pressed="false">👍 {{ section.settings.texte_oui | escape }}</button>
<button type="button" data-nn-vote="non" aria-pressed="false">👎 {{ section.settings.texte_non | escape }}</button>
<em class="nn-faq-vote-utile__merci" aria-live="polite"></em>
</div>
</div>
</details>
{%- endfor -%}
</div>
<p class="nn-faq-vote-utile__merci-modele" hidden>{{ section.settings.texte_merci | escape }}</p>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{%- for bloc in section.blocks -%}{"@type":"Question","name":{{ bloc.settings.question | json }},"acceptedAnswer":{"@type":"Answer","text":{{ bloc.settings.reponse | strip_html | json }}}}{%- unless forloop.last -%},{%- endunless -%}{%- endfor -%}]}</script>
</section>
{% schema %}
{"name":"FAQ vote utile","settings":[
{"type":"text","id":"titre","label":"Titre","default":"Questions fréquentes"},
{"type":"text","id":"texte_vote","label":"Texte du vote","default":"Cette réponse t'a aidé ?"},
{"type":"text","id":"texte_oui","label":"Bouton oui","default":"Oui"},
{"type":"text","id":"texte_non","label":"Bouton non","default":"Non"},
{"type":"text","id":"texte_merci","label":"Message de remerciement","default":"Merci pour ton retour !"},
{"type":"color","id":"couleur_fond","label":"Fond","default":"#FFFFFF"},
{"type":"color","id":"couleur_accent","label":"Accent","default":"#16A34A"},
{"type":"color","id":"couleur_texte","label":"Texte","default":"#111827"}],
"blocks":[{"type":"question","name":"Question","settings":[{"type":"text","id":"question","label":"Question","default":"Combien de temps prend la livraison ?"},{"type":"richtext","id":"reponse","label":"Réponse","default":"<p>Indique ici tes délais réels de livraison.</p>"}]}],
"presets":[{"name":"FAQ avec vote utile","blocks":[{"type":"question"},{"type":"question"},{"type":"question"}]}]}
{% endschema %}
{% stylesheet %}
/* Accordéon sobre avec boutons de vote en bas de chaque réponse */
.nn-faq-vote-utile{background:var(--nn-fond);color:var(--nn-texte);padding:56px 16px;font-family:system-ui,sans-serif}
.nn-faq-vote-utile h2{text-align:center;margin:0 0 28px;font-size:clamp(26px,4vw,40px)}
.nn-faq-vote-utile__liste{max-width:760px;margin:0 auto;display:grid;gap:12px}
.nn-faq-vote-utile__item{border:1px solid rgba(0,0,0,.1);border-radius:14px;background:#fff;overflow:hidden}
.nn-faq-vote-utile summary{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none;font-weight:600;font-size:17px}
.nn-faq-vote-utile summary::-webkit-details-marker{display:none}
.nn-faq-vote-utile summary span{transition:transform .25s;color:var(--nn-accent);font-size:22px;line-height:1}
.nn-faq-vote-utile__item[open] summary span{transform:rotate(45deg)}
.nn-faq-vote-utile summary:focus-visible{outline:2px solid var(--nn-accent);outline-offset:-2px}
.nn-faq-vote-utile__reponse{padding:0 20px 18px;line-height:1.6}
.nn-faq-vote-utile__vote{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px dashed rgba(0,0,0,.12);font-size:14px}
.nn-faq-vote-utile__vote button{border:1px solid rgba(0,0,0,.15);background:transparent;border-radius:999px;padding:6px 12px;cursor:pointer;font:inherit;transition:background .2s,color .2s}
.nn-faq-vote-utile__vote button[aria-pressed="true"]{background:var(--nn-accent);border-color:var(--nn-accent);color:#fff}
.nn-faq-vote-utile__merci{color:var(--nn-accent);font-style:normal}
@media (prefers-reduced-motion: reduce){.nn-faq-vote-utile summary span,.nn-faq-vote-utile__vote button{transition:none}}
{% endstylesheet %}
{% javascript %}
/* Vote « utile » : mémorise le choix du visiteur dans le navigateur */
(function () {
document.querySelectorAll('.nn-faq-vote-utile').forEach(function (section) {
var merci = section.querySelector('.nn-faq-vote-utile__merci-modele');
section.querySelectorAll('.nn-faq-vote-utile__vote').forEach(function (zone) {
var cle = 'nn-faq-vote-' + zone.dataset.nnCle;
var boutons = zone.querySelectorAll('button');
// Applique visuellement un choix
function appliquer(choix) {
boutons.forEach(function (b) { b.setAttribute('aria-pressed', String(b.dataset.nnVote === choix)); });
zone.querySelector('.nn-faq-vote-utile__merci').textContent = choix ? merci.textContent : '';
}
try { appliquer(localStorage.getItem(cle)); } catch (e) {}
boutons.forEach(function (b) {
b.addEventListener('click', function () {
appliquer(b.dataset.nnVote);
try { localStorage.setItem(cle, b.dataset.nnVote); } catch (e) {}
});
});
});
});
})();
{% endjavascript %}
Licence NAHNAH AI : utilisation libre dans tes boutiques (y compris commerciales), modification permise, revente de l’élément seul interdite.
Prompt à copier
À coller dans Claude ou ChatGPT avec le fichier téléchargé (ou le code copié) : l’assistant t’aide à l’installer et à l’adapter à ta marque.
Tu es un expert des thèmes Shopify Online Store 2.0. Aide-moi à installer puis à adapter à ma marque cet élément gratuit de la bibliothèque NAHNAH AI.
Élément : « FAQ avec vote « utile » » (FAQ)
Description : Accordéon où chaque réponse se termine par un vote « Cette réponse t'a aidé ? » mémorisé dans le navigateur, avec données structurées FAQPage.
Page de l’élément (aperçu en direct) : https://ai.nahnah.shop/bibliotheque-shopify/faq-vote-utile
Fichier : nahnah-faq-vote-utile.liquid (bouton « Télécharger » de la page) ou le code copié avec le bouton « Copier » : je te le joins ou je le colle après ce message.
Emplacement dans le thème : sections/nahnah-faq-vote-utile.liquid (Liquid, puis {% stylesheet %} et {% javascript %}, dans ce seul fichier).
Étapes d’installation :
1. Dans Shopify : Boutique en ligne → Thèmes → bouton « … » du thème → Modifier le code.
2. Dossier « sections » → « Ajouter une section » (ou « Nouveau fichier ») → nomme-la « nahnah-faq-vote-utile ».
3. Efface le contenu proposé, colle le code de l’onglet Liquid (fichier complet), puis Enregistrer.
4. Ouvre Personnaliser → Ajouter une section → choisis-la, règle les textes et les couleurs, puis Enregistrer.
Ce que j’attends de toi :
- Guide-moi pas à pas dans Shopify : Boutique en ligne → Thèmes → « … » → Modifier le code → dossier sections → Ajouter une section, puis Personnaliser → Ajouter une section.
- Propose-moi d’adapter les couleurs, les textes et les liens à ma marque : demande d’abord mes couleurs (codes hexadécimaux), mon ton et mes liens.
- Garde le bloc {% schema %} et tous ses réglages (identifiants, types, presets) : je dois pouvoir tout régler ensuite dans l’éditeur de thème.
- Rends-moi le fichier complet modifié, prêt à coller, sans faux avis, fausse urgence ni chiffre inventé.
Si tu as le connecteur NAHNAH AI (MCP), récupère directement le code exact avec l’outil obtenir_code_element (id : faq-vote-utile).Installer dans ma boutique
En un clic, la section est ajoutée à un thème de ta boutique Shopify connectée (un thème non publié par défaut).
Chargement de tes boutiques…
Installer dans Shopify
- Dans Shopify : Boutique en ligne → Thèmes → bouton « … » du thème → Modifier le code.
- Dossier « sections » → « Ajouter une section » (ou « Nouveau fichier ») → nomme-la « nahnah-faq-vote-utile ».
- Efface le contenu proposé, colle le code de l’onglet Liquid (fichier complet), puis Enregistrer.
- Ouvre Personnaliser → Ajouter une section → choisis-la, règle les textes et les couleurs, puis Enregistrer.
Installer via le MCP
Depuis Claude, Claude Code ou ChatGPT connecté à NAHNAH AI, demande : « Donne-moi le code de l’élément faq-vote-utile de la bibliothèque NAHNAH AI et les étapes pour l’installer ». L’assistant récupère le code et les étapes (outil obtenir_code_element), gratuitement.
Boutique connectée à NAHNAH AI : l’assistant peut aussi l’installer directement (outil installer_element).
Connecter le MCP