🔣 IcônesGratuit · 0 NahnahPar NAHNAH AI
Icônes livraison
10 icônes de livraison au trait (camion, colis, suivi, retour, international, point relais…) en grille animable.
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-icones-livraison.liquid (Liquid, CSS et JS inclus).
{%- comment -%} NAHNAH AI · Icônes livraison (bibliothèque Sections & effets) : 10 icônes au trait, animables {%- endcomment -%}
<div class="nn-icones-livraison nn-icones-livraison--{{ section.settings.alignement }}" data-nn-animation="{{ section.settings.animation }}" data-nn-mode="{{ section.settings.mode }}" style="--nn-mh: {{ section.settings.marge_haut }}px; --nn-mb: {{ section.settings.marge_bas }}px; --nn-fond: {{ section.settings.couleur_fond }}; --nn-texte: {{ section.settings.couleur_texte }}; --nn-accent: {{ section.settings.couleur_accent }}; --nn-icone: {{ section.settings.couleur_icone }}; --nn-taille: {{ section.settings.taille }}px; --nn-colonnes: {{ section.settings.colonnes }};">
{%- if section.settings.titre != blank or section.settings.texte != blank -%}
<div class="nn-icones-livraison__entete">
{%- if section.settings.titre != blank -%}<h2 class="nn-icones-livraison__titre">{{ section.settings.titre }}</h2>{%- endif -%}
{%- if section.settings.texte != blank -%}<p class="nn-icones-livraison__intro">{{ section.settings.texte | escape }}</p>{%- endif -%}
</div>
{%- endif -%}
<ul class="nn-icones-livraison__grille" role="list">
{%- for block in section.blocks -%}
<li class="nn-icones-livraison__carte" style="--nn-i: {{ forloop.index0 }};" {{ block.shopify_attributes }}>
<span class="nn-icones-livraison__pastille nn-icones-livraison__pastille--{{ section.settings.forme }}">
<svg class="nn-icones-livraison__svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">
{%- case block.settings.icone -%}
{%- when 'camion' -%}
<path pathLength="1" d="M2.5 6.5h11v9h-11zM13.5 9.5h4l3 3.2v2.8h-7"/><circle pathLength="1" cx="7" cy="17.5" r="1.8"/><circle pathLength="1" cx="16.5" cy="17.5" r="1.8"/>
{%- when 'colis' -%}
<path pathLength="1" d="M12 3 20 7v10l-8 4-8-4V7z"/><path pathLength="1" d="m4 7 8 4 8-4M12 11v10M8 5l8 4"/>
{%- when 'suivi' -%}
<path pathLength="1" d="M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0c0 5.4-6.5 11-6.5 11z"/><circle pathLength="1" cx="12" cy="10" r="2.4"/>
{%- when 'retour' -%}
<path pathLength="1" d="M4 9h11a5 5 0 0 1 0 10H8"/><path pathLength="1" d="M8 5 4 9l4 4"/>
{%- when 'express' -%}
<circle pathLength="1" cx="13.5" cy="12" r="7.5"/><path pathLength="1" d="M13.5 8v4l2.5 2"/><path pathLength="1" d="M2 9h3M1.5 12H4M2 15h3"/>
{%- when 'international' -%}
<circle pathLength="1" cx="12" cy="12" r="9"/><path pathLength="1" d="M3 12h18M12 3c2.5 2.6 3.8 5.6 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.6-3.8-9S9.5 5.6 12 3z"/>
{%- when 'point-relais' -%}
<path pathLength="1" d="M3 10 12 4l9 6v10H3z"/><path pathLength="1" d="M8 20v-6h8v6M8 17h8"/>
{%- when 'calendrier' -%}
<rect pathLength="1" x="3.5" y="5" width="17" height="15.5" rx="2"/><path pathLength="1" d="M3.5 10h17M8 3v4M16 3v4"/><path pathLength="1" d="m9 15 2 2 4-4"/>
{%- when 'envoi' -%}
<path pathLength="1" d="M21 3.5 3 10.5l7 3L13.5 21z"/><path pathLength="1" d="m10 13.5 4.5-4.5"/>
{%- when 'domicile' -%}
<path pathLength="1" d="M4 11 12 4l8 7"/><path pathLength="1" d="M6 9.5V20h12V9.5"/><path pathLength="1" d="M10 20v-5h4v5"/>
{%- endcase -%}
</svg>
</span>
{%- if block.settings.titre != blank -%}
<h3 class="nn-icones-livraison__nom">
{%- if block.settings.lien != blank -%}
<a class="nn-icones-livraison__lien" href="{{ block.settings.lien }}">{{ block.settings.titre | escape }}</a>
{%- else -%}
{{ block.settings.titre | escape }}
{%- endif -%}
</h3>
{%- endif -%}
{%- if block.settings.texte != blank -%}<p class="nn-icones-livraison__texte">{{ block.settings.texte | escape }}</p>{%- endif -%}
</li>
{%- endfor -%}
</ul>
</div>
{% schema %}
{
"name": "Icônes livraison",
"tag": "section",
"class": "nn-section-icones-livraison",
"max_blocks": 24,
"settings": [
{
"type": "inline_richtext",
"id": "titre",
"label": "Titre",
"default": "Livraison et retours"
},
{
"type": "textarea",
"id": "texte",
"label": "Texte d’introduction",
"default": "Les étapes de ta commande, de la préparation du colis jusqu’à ta porte."
},
{
"type": "select",
"id": "alignement",
"label": "Alignement",
"options": [
{
"value": "centre",
"label": "Centré"
},
{
"value": "gauche",
"label": "À gauche"
}
],
"default": "centre"
},
{
"type": "range",
"id": "colonnes",
"label": "Colonnes sur ordinateur",
"min": 2,
"max": 6,
"step": 1,
"default": 5
},
{
"type": "header",
"content": "Icônes"
},
{
"type": "range",
"id": "taille",
"label": "Taille des icônes",
"min": 24,
"max": 64,
"step": 4,
"default": 36,
"unit": "px"
},
{
"type": "select",
"id": "forme",
"label": "Fond de l’icône",
"options": [
{
"value": "cercle",
"label": "Cercle"
},
{
"value": "carre",
"label": "Carré arrondi"
},
{
"value": "aucune",
"label": "Aucun"
}
],
"default": "cercle"
},
{
"type": "select",
"id": "animation",
"label": "Animation",
"options": [
{
"value": "aucune",
"label": "Aucune"
},
{
"value": "rebond",
"label": "Rebond"
},
{
"value": "rotation",
"label": "Rotation"
},
{
"value": "pulsation",
"label": "Pulsation"
},
{
"value": "balancement",
"label": "Balancement"
},
{
"value": "trace",
"label": "Tracé dessiné"
}
],
"default": "trace"
},
{
"type": "select",
"id": "mode",
"label": "Déclenchement",
"options": [
{
"value": "survol",
"label": "Au survol (souris)"
},
{
"value": "continu",
"label": "En continu"
}
],
"default": "survol"
},
{
"type": "paragraph",
"content": "Les animations sont coupées automatiquement si le visiteur a demandé à réduire les animations."
},
{
"type": "header",
"content": "Couleurs"
},
{
"type": "color",
"id": "couleur_fond",
"label": "Fond",
"default": "#FFFFFF"
},
{
"type": "color",
"id": "couleur_texte",
"label": "Texte",
"default": "#0B1220"
},
{
"type": "color",
"id": "couleur_accent",
"label": "Accent",
"default": "#7AA7FF"
},
{
"type": "color",
"id": "couleur_icone",
"label": "Icône",
"default": "#0B1220"
},
{
"type": "header",
"content": "Espacement"
},
{
"type": "range",
"id": "marge_haut",
"label": "Marge haute",
"min": 0,
"max": 120,
"step": 4,
"unit": "px",
"default": 48
},
{
"type": "range",
"id": "marge_bas",
"label": "Marge basse",
"min": 0,
"max": 120,
"step": 4,
"unit": "px",
"default": 48
}
],
"blocks": [
{
"type": "icone",
"name": "Icône",
"settings": [
{
"type": "select",
"id": "icone",
"label": "Icône",
"options": [
{
"value": "camion",
"label": "Livraison"
},
{
"value": "colis",
"label": "Colis soigné"
},
{
"value": "suivi",
"label": "Suivi du colis"
},
{
"value": "retour",
"label": "Retours"
},
{
"value": "express",
"label": "Envoi rapide"
},
{
"value": "international",
"label": "International"
},
{
"value": "point-relais",
"label": "Point relais"
},
{
"value": "calendrier",
"label": "Date estimée"
},
{
"value": "envoi",
"label": "Expédié"
},
{
"value": "domicile",
"label": "À domicile"
}
],
"default": "camion"
},
{
"type": "text",
"id": "titre",
"label": "Titre",
"default": "Livraison"
},
{
"type": "textarea",
"id": "texte",
"label": "Texte",
"default": "Expédition de ta commande"
},
{
"type": "url",
"id": "lien",
"label": "Lien (facultatif)"
}
]
}
],
"presets": [
{
"name": "Icônes livraison",
"blocks": [
{
"type": "icone",
"settings": {
"icone": "camion",
"titre": "Livraison",
"texte": "Expédition de ta commande"
}
},
{
"type": "icone",
"settings": {
"icone": "colis",
"titre": "Colis soigné",
"texte": "Préparé et protégé avec attention"
}
},
{
"type": "icone",
"settings": {
"icone": "suivi",
"titre": "Suivi du colis",
"texte": "Un lien de suivi dès l’expédition"
}
},
{
"type": "icone",
"settings": {
"icone": "retour",
"titre": "Retours",
"texte": "Les conditions sont détaillées dans nos CGV"
}
},
{
"type": "icone",
"settings": {
"icone": "express",
"titre": "Envoi rapide",
"texte": "Commande préparée sans attendre"
}
},
{
"type": "icone",
"settings": {
"icone": "international",
"titre": "International",
"texte": "Livraison dans plusieurs pays"
}
},
{
"type": "icone",
"settings": {
"icone": "point-relais",
"titre": "Point relais",
"texte": "Retire ton colis près de chez toi"
}
},
{
"type": "icone",
"settings": {
"icone": "calendrier",
"titre": "Date estimée",
"texte": "Une date de livraison indicative"
}
},
{
"type": "icone",
"settings": {
"icone": "envoi",
"titre": "Expédié",
"texte": "Tu reçois un e-mail à chaque étape"
}
},
{
"type": "icone",
"settings": {
"icone": "domicile",
"titre": "À domicile",
"texte": "Livré directement chez toi"
}
}
]
}
]
}
{% endschema %}
{% stylesheet %}
.nn-icones-livraison {
padding: var(--nn-mh) 16px var(--nn-mb);
background: var(--nn-fond);
color: var(--nn-texte);
}
.nn-icones-livraison__entete { max-width: 640px; margin: 0 auto 28px; }
.nn-icones-livraison--centre .nn-icones-livraison__entete { text-align: center; }
.nn-icones-livraison__titre { margin: 0 0 8px; font-size: clamp(24px, 4vw, 34px); line-height: 1.2; }
.nn-icones-livraison__intro { margin: 0; opacity: 0.8; font-size: 16px; line-height: 1.5; }
.nn-icones-livraison__grille {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 22px 14px;
max-width: 1200px;
margin: 0 auto;
padding: 0;
list-style: none;
}
@media (min-width: 750px) { .nn-icones-livraison__grille { grid-template-columns: repeat(var(--nn-colonnes), minmax(0, 1fr)); gap: 30px 20px; } }
.nn-icones-livraison__carte { display: flex; flex-direction: column; align-items: center; min-width: 0; text-align: center; }
.nn-icones-livraison--gauche .nn-icones-livraison__carte { align-items: flex-start; text-align: start; }
.nn-icones-livraison__pastille {
display: inline-flex;
align-items: center;
justify-content: center;
width: calc(var(--nn-taille) * 1.9);
height: calc(var(--nn-taille) * 1.9);
margin-bottom: 12px;
color: var(--nn-icone);
}
.nn-icones-livraison__pastille--cercle { border-radius: 50%; background: color-mix(in srgb, var(--nn-accent) 18%, transparent); }
.nn-icones-livraison__pastille--carre { border-radius: 28%; background: color-mix(in srgb, var(--nn-accent) 18%, transparent); }
.nn-icones-livraison__pastille--aucune { width: auto; height: auto; }
.nn-icones-livraison__svg { display: block; width: var(--nn-taille); height: var(--nn-taille); transform-origin: 50% 50%; }
.nn-icones-livraison__nom { margin: 0 0 4px; font-size: 16px; line-height: 1.3; overflow-wrap: anywhere; }
.nn-icones-livraison__texte { margin: 0; font-size: 14px; line-height: 1.45; opacity: 0.75; overflow-wrap: anywhere; }
.nn-icones-livraison__lien { color: inherit; text-decoration: none; }
.nn-icones-livraison__lien::after { content: ""; position: absolute; inset: 0; }
.nn-icones-livraison__carte:has(.nn-icones-livraison__lien) { position: relative; border-radius: 12px; }
.nn-icones-livraison__lien:hover { text-decoration: underline; }
.nn-icones-livraison__lien:focus-visible { outline: none; }
.nn-icones-livraison__carte:has(.nn-icones-livraison__lien:focus-visible) { outline: 3px solid var(--nn-accent); outline-offset: 6px; }
@keyframes nn-icones-livraison-rebond { 0%, 100% { transform: translateY(0); } 35% { transform: translateY(-18%); } 55% { transform: translateY(3%); } 75% { transform: translateY(-5%); } }
@keyframes nn-icones-livraison-rotation { to { transform: rotate(1turn); } }
@keyframes nn-icones-livraison-pulsation { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.14); } }
@keyframes nn-icones-livraison-balancement { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-10deg); } 75% { transform: rotate(10deg); } }
@keyframes nn-icones-livraison-trace { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes nn-icones-livraison-trace-boucle { 0% { stroke-dashoffset: 1; } 45%, 100% { stroke-dashoffset: 0; } }
.nn-icones-livraison[data-nn-mode="continu"][data-nn-animation="rebond"] .nn-icones-livraison__svg { animation: nn-icones-livraison-rebond 1.8s ease-in-out infinite; animation-delay: calc(var(--nn-i) * 120ms); }
.nn-icones-livraison[data-nn-mode="continu"][data-nn-animation="rotation"] .nn-icones-livraison__svg { animation: nn-icones-livraison-rotation 6s linear infinite; }
.nn-icones-livraison[data-nn-mode="continu"][data-nn-animation="pulsation"] .nn-icones-livraison__svg { animation: nn-icones-livraison-pulsation 2.2s ease-in-out infinite; animation-delay: calc(var(--nn-i) * 120ms); }
.nn-icones-livraison[data-nn-mode="continu"][data-nn-animation="balancement"] .nn-icones-livraison__svg { animation: nn-icones-livraison-balancement 2.4s ease-in-out infinite; animation-delay: calc(var(--nn-i) * 120ms); }
.nn-icones-livraison[data-nn-mode="continu"][data-nn-animation="trace"] .nn-icones-livraison__svg > * { stroke-dasharray: 1; animation: nn-icones-livraison-trace-boucle 3.2s ease-in-out infinite; animation-delay: calc(var(--nn-i) * 160ms); }
@media (hover: hover) {
.nn-icones-livraison[data-nn-mode="survol"][data-nn-animation="rebond"] .nn-icones-livraison__carte:hover .nn-icones-livraison__svg { animation: nn-icones-livraison-rebond 0.8s ease-out; }
.nn-icones-livraison[data-nn-mode="survol"][data-nn-animation="rotation"] .nn-icones-livraison__carte:hover .nn-icones-livraison__svg { animation: nn-icones-livraison-rotation 0.7s ease-in-out; }
.nn-icones-livraison[data-nn-mode="survol"][data-nn-animation="pulsation"] .nn-icones-livraison__carte:hover .nn-icones-livraison__svg { animation: nn-icones-livraison-pulsation 0.9s ease-in-out infinite; }
.nn-icones-livraison[data-nn-mode="survol"][data-nn-animation="balancement"] .nn-icones-livraison__carte:hover .nn-icones-livraison__svg { animation: nn-icones-livraison-balancement 0.7s ease-in-out; }
.nn-icones-livraison[data-nn-mode="survol"][data-nn-animation="trace"] .nn-icones-livraison__carte:hover .nn-icones-livraison__svg > * { stroke-dasharray: 1; animation: nn-icones-livraison-trace 0.9s ease-out; }
}
.nn-icones-livraison[data-nn-mode="survol"][data-nn-animation="trace"] .nn-icones-livraison__carte:focus-within .nn-icones-livraison__svg > * { stroke-dasharray: 1; animation: nn-icones-livraison-trace 0.9s ease-out; }
@media (prefers-reduced-motion: reduce) {
.nn-icones-livraison *, .nn-icones-livraison *::before, .nn-icones-livraison *::after {
animation: none !important;
transition: none !important;
}
}
{% endstylesheet %}
Les 10 icônes, une par une
- Livraison
- Colis soigné
- Suivi du colis
- Retours
- Envoi rapide
- International
- Point relais
- Date estimée
- Expédié
- À domicile
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 : « Icônes livraison » (Icônes)
Description : 10 icônes de livraison au trait (camion, colis, suivi, retour, international, point relais…) en grille animable.
Page de l’élément (aperçu en direct) : https://ai.nahnah.shop/bibliotheque-shopify/icones-livraison
Fichier : nahnah-icones-livraison.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-icones-livraison.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-icones-livraison ».
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 : icones-livraison).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-icones-livraison ».
- 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 icones-livraison 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