Aller au contenu

⏳ Comptes à reboursGratuit · 0 NahnahPar NAHNAH

Programme du jour en direct

Programme d'événement (live, atelier, salon) où chaque créneau a ses vraies heures : le créneau en cours s'affiche « En direct », le suivant « dans 12 min », les passés se grisent.

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-compte-a-rebours-programme-direct.liquid (Liquid, CSS et JS inclus).

{%- comment -%} NAHNAH AI · Programme du jour en direct {%- endcomment -%}
<section class="nn-compte-a-rebours-programme-direct" style="--nn-fond: {{ section.settings.couleur_fond }}; --nn-texte: {{ section.settings.couleur_texte }}; --nn-accent: {{ section.settings.couleur_accent }};">
  <h2 class="nn-compte-a-rebours-programme-direct__titre">{{ section.settings.titre | escape }}</h2>
  <ul class="nn-compte-a-rebours-programme-direct__liste">
    {%- for block in section.blocks -%}
      <li class="nn-compte-a-rebours-programme-direct__creneau" data-debut="{{ block.settings.debut | escape }}" data-fin="{{ block.settings.fin | escape }}" {{ block.shopify_attributes }}>
        <span class="nn-compte-a-rebours-programme-direct__heure"></span>
        <span class="nn-compte-a-rebours-programme-direct__nom">{{ block.settings.nom | escape }}</span>
        <span class="nn-compte-a-rebours-programme-direct__etat" aria-live="polite"></span>
      </li>
    {%- endfor -%}
  </ul>
</section>
{% schema %}
{"name":"Programme en direct","settings":[
{"type":"text","id":"titre","label":"Titre","default":"Le programme"},
{"type":"color","id":"couleur_fond","label":"Fond","default":"#FFFFFF"},
{"type":"color","id":"couleur_texte","label":"Texte","default":"#18181B"},
{"type":"color","id":"couleur_accent","label":"Accent","default":"#E11D48"}],
"blocks":[{"type":"creneau","name":"Créneau","settings":[
{"type":"text","id":"nom","label":"Intitulé","default":"Ouverture et présentation"},
{"type":"text","id":"debut","label":"Début réel (AAAA-MM-JJ HH:MM)"},
{"type":"text","id":"fin","label":"Fin réelle (AAAA-MM-JJ HH:MM)"}]}],
"presets":[{"name":"Programme du jour en direct","blocks":[
{"type":"creneau","settings":{"nom":"Ouverture et présentation"}},
{"type":"creneau","settings":{"nom":"Démonstration produit"}},
{"type":"creneau","settings":{"nom":"Questions / réponses"}}]}]}
{% endschema %}

{% stylesheet %}
/* Liste verticale de créneaux, créneau en direct qui clignote */
.nn-compte-a-rebours-programme-direct{margin:24px 16px;padding:24px 20px;border-radius:18px;background:var(--nn-fond);color:var(--nn-texte);max-width:680px}
.nn-compte-a-rebours-programme-direct__titre{margin:0 0 16px;font-size:clamp(20px,4.5vw,28px)}
.nn-compte-a-rebours-programme-direct__liste{list-style:none;margin:0;padding:0;border-left:2px solid color-mix(in srgb,var(--nn-texte) 15%,transparent)}
.nn-compte-a-rebours-programme-direct__creneau{position:relative;display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;padding:12px 0 12px 18px;transition:opacity .4s}
.nn-compte-a-rebours-programme-direct__creneau::before{content:"";position:absolute;left:-7px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--nn-fond);border:2px solid color-mix(in srgb,var(--nn-texte) 30%,transparent)}
.nn-compte-a-rebours-programme-direct__creneau.est-passe{opacity:.4}
.nn-compte-a-rebours-programme-direct__creneau.est-direct::before{background:var(--nn-accent);border-color:var(--nn-accent);animation:nn-compte-a-rebours-programme-direct-pulse 1.4s ease-in-out infinite}
.nn-compte-a-rebours-programme-direct__heure{font-variant-numeric:tabular-nums;font-size:14px;opacity:.7}
.nn-compte-a-rebours-programme-direct__nom{font-weight:600}
.nn-compte-a-rebours-programme-direct__etat{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;font-variant-numeric:tabular-nums}
.nn-compte-a-rebours-programme-direct__creneau.est-direct .nn-compte-a-rebours-programme-direct__etat{background:var(--nn-accent);color:#fff}
.nn-compte-a-rebours-programme-direct__creneau.est-suivant .nn-compte-a-rebours-programme-direct__etat{color:var(--nn-accent);border:1px solid var(--nn-accent)}
@keyframes nn-compte-a-rebours-programme-direct-pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--nn-accent) 25%,transparent)}}
@media (prefers-reduced-motion: reduce){.nn-compte-a-rebours-programme-direct__creneau.est-direct::before{animation:none}.nn-compte-a-rebours-programme-direct__creneau{transition:none}}
{% endstylesheet %}

{% javascript %}
// Met à jour l'état de chaque créneau selon l'heure réelle
(function () {
  function lire(t) { return new Date((t || '').replace(' ', 'T')).getTime(); }
  function duree(ms) { var m = Math.ceil(ms / 60000); if (m >= 1440) { return Math.floor(m / 1440) + ' j'; } var h = Math.floor(m / 60); return (h ? h + ' h ' : '') + (m % 60) + ' min'; }
  document.querySelectorAll('.nn-compte-a-rebours-programme-direct').forEach(function (bloc) {
    var creneaux = Array.prototype.slice.call(bloc.querySelectorAll('.nn-compte-a-rebours-programme-direct__creneau'));
    // Heure de début affichée au format local
    creneaux.forEach(function (c) {
      var d = lire(c.getAttribute('data-debut'));
      c.querySelector('.nn-compte-a-rebours-programme-direct__heure').textContent = isNaN(d) ? '--:--' : new Date(d).toLocaleTimeString('fr-FR', { hour: '2-digit', minute: '2-digit' });
    });
    function maj() {
      var n = Date.now(), suivantTrouve = false;
      creneaux.forEach(function (c) {
        var d = lire(c.getAttribute('data-debut')), f = lire(c.getAttribute('data-fin'));
        var etat = c.querySelector('.nn-compte-a-rebours-programme-direct__etat');
        c.classList.remove('est-passe', 'est-direct', 'est-suivant'); etat.textContent = '';
        if (isNaN(d)) { return; }
        if (!isNaN(f) && f <= n) { c.classList.add('est-passe'); etat.textContent = 'Terminé'; }
        else if (d <= n) { c.classList.add('est-direct'); etat.textContent = 'En direct'; }
        else if (!suivantTrouve) { suivantTrouve = true; c.classList.add('est-suivant'); etat.textContent = 'dans ' + duree(d - n); }
      });
    }
    maj();
    setInterval(maj, 20000);
  });
})();
{% endjavascript %}
Télécharger le fichier .liquid

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 : « Programme du jour en direct » (Comptes à rebours)
Description : Programme d'événement (live, atelier, salon) où chaque créneau a ses vraies heures : le créneau en cours s'affiche « En direct », le suivant « dans 12 min », les passés se grisent.
Page de l’élément (aperçu en direct) : https://ai.nahnah.shop/bibliotheque-shopify/compte-a-rebours-programme-direct
Fichier : nahnah-compte-a-rebours-programme-direct.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-compte-a-rebours-programme-direct.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-compte-a-rebours-programme-direct ».
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 : compte-a-rebours-programme-direct).

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

  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-compte-a-rebours-programme-direct ».
  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.

Installer via le MCP

Depuis Claude, Claude Code ou ChatGPT connecté à NAHNAH AI, demande : « Donne-moi le code de l’élément compte-a-rebours-programme-direct 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

Dans la même catégorie