CONDITIONS GÉNÉRALES DE VENTE
Les présentes Conditions Générales de Vente (ci-après les « CGV ») régissent les ventes effectuées sur le site internet miroirpropre.
En passant commande sur le site, le client reconnaît avoir pris connaissance des présentes CGV et les accepter sans réserve.
ARTICLE 1 — IDENTITÉ DU VENDEUR
Le site miroirpropre est exploité par :
Evann Lavrilleux
Entrepreneur individuel
SIREN : 102 961 661
SIRET : 102 961 661 00018
Adresse : 2 Allée du Clos de la Cerisaie, 45650 Saint-Jean-le-Blanc, France
Activité : vente à distance sur catalogue spécialisé.
E-mail : [TON ADRESSE E-MAIL]
Le site commercialise principalement des miroirs et accessoires de décoration.
ARTICLE 2 — OBJET
Les présentes CGV ont pour objet de définir les droits et obligations du vendeur et du client dans le cadre de la vente en ligne des produits proposés sur le site miroirpropre.
Elles s'appliquent à toutes les commandes effectuées par des consommateurs sur le site.
Les présentes CGV peuvent être consultées à tout moment sur le site et sont accessibles avant la validation de toute commande.
ARTICLE 3 — PRODUITS
Les produits proposés à la vente sont décrits et présentés avec la plus grande précision possible.
Les photographies, illustrations et visuels présentés sur le site ont pour objectif de présenter les produits. De légères différences de couleur, de finition ou de rendu peuvent notamment être constatées selon l'écran utilisé par le client ou les conditions d'éclairage.
Les dimensions, caractéristiques et informations essentielles de chaque miroir sont indiquées sur sa fiche produit lorsqu'elles sont disponibles.
Le vendeur se réserve le droit de modifier à tout moment les produits proposés à la vente, sans que ces modifications n'affectent les commandes déjà validées.
-
Vous avez dit :
modifie moi ce code met le en francais puis remplace le poduit par les miroirs que je vend de bonne qualite {% comment %} Reviews Section - Customer Reviews and Ratings Displays overall rating, rating breakdown, and individual customer reviews {% endcomment %} <div id="reviews-{{ section.id }}" class="reviews-section"> <h2 class="reviews-title">{{ section.settings.title | default: 'HEAR IT FROM OUR HAPPY CUSTOMERS' }}</h2> <div class="reviews-summary"> <div class="rating-overview"> <div class="rating-score">{{ section.settings.rating_score | default: '4,9/5' }}</div> <img src="{{ section.settings.stars_image | default: 'https://cdn.shopify.com/s/files/1/0945/7169/2379/files/stars-5.svg?v=1751375984' }}" alt="5 stars" class="stars-image" > <div class="total-reviews">{{ section.settings.total_reviews | default: '+10,500 reviews' }}</div> </div> {%- comment -%} ✅ BARRES CORRIGÉES (classes + scoping) {%- endcomment -%} <div class="reviews-rating-bars"> <div class="reviews-rating-bar"> <span class="reviews-star-count">5</span> <div class="reviews-bar-track"> <div class="reviews-bar-fill" style="width: {{ section.settings.five_star_percentage | default: 85 }}%;"></div> </div> </div> <div class="reviews-rating-bar"> <span class="reviews-star-count">4</span> <div class="reviews-bar-track"> <div class="reviews-bar-fill" style="width: {{ section.settings.four_star_percentage | default: 12 }}%;"></div> </div> </div> <div class="reviews-rating-bar"> <span class="reviews-star-count">3</span> <div class="reviews-bar-track"> <div class="reviews-bar-fill" style="width: {{ section.settings.three_star_percentage | default: 2 }}%;"></div> </div> </div> <div class="reviews-rating-bar"> <span class="reviews-star-count">2</span> <div class="reviews-bar-track"> <div class="reviews-bar-fill" style="width: {{ section.settings.two_star_percentage | default: 1 }}%;"></div> </div> </div> <div class="reviews-rating-bar"> <span class="reviews-star-count">1</span> <div class="reviews-bar-track"> <div class="reviews-bar-fill" style="width: {{ section.settings.one_star_percentage | default: 0 }}%;"></div> </div> </div> </div> <div class="write-review-section"> <h3 class="write-title">{{ section.settings.write_title | default: 'WRITE A REVIEW' }}</h3> <p class="write-subtitle">{{ section.settings.write_subtitle | default: 'Share your experience with other customers' }}</p> <button class="write-button" type="button">{{ section.settings.write_button_text | default: 'Write a review' }}</button> </div> </div> <div class="reviews-list"> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Jessica Parker</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">16 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 002 — Looks even better in person</h5> <p class="review-text">Clean design, very comfortable, and easy to style. I’m honestly obsessed with this pair.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Samantha Reed</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">15 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 001 — So comfy for everyday wear</h5> <p class="review-text">I wear them all day and my feet feel great. Really good cushioning and the fit is perfect.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Amanda Brooks</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-4.svg" alt="4 stars" class="review-stars"> <span class="review-time">14 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 002 — Great comfort and solid quality</h5> <p class="review-text">Very comfortable and lightweight. The materials feel good and they look great with anything.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Nicole Bennett</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-4.svg" alt="4 stars" class="review-stars"> <span class="review-time">13 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 001 — Comfortable and easy to match</h5> <p class="review-text">They go with everything and feel great for long walks. Really happy with the purchase.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Megan Foster</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-3.svg" alt="3 stars" class="review-stars"> <span class="review-time">12 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 002 — Love them, small delivery delay</h5> <p class="review-text">The shoes are great and super comfortable. Delivery was just a bit late, but I’m still satisfied overall.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Rachel Coleman</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-3.svg" alt="3 stars" class="review-stars"> <span class="review-time">10 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 001 — Great sneakers, shipping slightly late</h5> <p class="review-text">Really comfortable and the design is nice. Only downside was a small delay in shipping.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Daniel Moore</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">9 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 002 — Perfect everyday sneakers</h5> <p class="review-text">Super light, very comfortable and they look great with jeans or joggers. Really happy with my purchase.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Olivia Chen</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">8 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 001 — Stylish and comfy</h5> <p class="review-text">I get compliments every time I wear them. Fit is true to size and very comfortable for long walks.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Kevin Johnson</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-4.svg" alt="4 stars" class="review-stars"> <span class="review-time">7 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 002 — Great value for money</h5> <p class="review-text">Quality is better than I expected for the price. Delivery was fast too. Would buy again.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Laura Martinez</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">6 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 001 — So comfortable!</h5> <p class="review-text">I work standing all day and these are a lifesaver. Super comfy and they still look brand new.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Thomas Nguyen</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-4.svg" alt="4 stars" class="review-stars"> <span class="review-time">5 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 002 — Very good overall</h5> <p class="review-text">Comfortable, nice design and easy to match with outfits. Only wish there were more color options.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Emily Rogers</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">4 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 001 — My new favorite shoes</h5> <p class="review-text">Honestly obsessed. They are comfortable, stylish and feel premium. Already thinking about ordering another pair.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Jordan Williams</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-4.svg" alt="4 stars" class="review-stars"> <span class="review-time">3 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 002 — Solid everyday pair</h5> <p class="review-text">Very comfortable for daily use. Shipping took one extra day but product quality is top.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Sophie Dubois</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">2 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 001 — Très belles et confortables</h5> <p class="review-text">Elles sont encore plus jolies en vrai. Très confortables pour marcher toute la journée.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Alex Turner</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">1 January 2026</span> </div> </div> <h5 class="review-title">Nike Mind 002 — Amazing comfort</h5> <p class="review-text">Super comfortable from the first wear. No break-in needed and the style is clean.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Chloe Bernard</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">31 December 2025</span> </div> </div> <h5 class="review-title">Nike Mind 001 — Parfaites pour tous les jours</h5> <p class="review-text">Je les porte tous les jours, elles vont avec tout et sont super confortables.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Brian Scott</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-4.svg" alt="4 stars" class="review-stars"> <span class="review-time">30 December 2025</span> </div> </div> <h5 class="review-title">Nike Mind 002 — Really good overall</h5> <p class="review-text">Comfort and design are great. Would have given 5 stars if shipping was a bit faster.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Inès Morel</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">29 December 2025</span> </div> </div> <h5 class="review-title">Nike Mind 001 — Trop belles</h5> <p class="review-text">Très bonne qualité et hyper confort. Je recommande à 100%.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Mark Peterson</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">28 December 2025</span> </div> </div> <h5 class="review-title">Nike Mind 002 — Worth every penny</h5> <p class="review-text">They feel premium and are extremely comfortable. Definitely buying again.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Sarah Lopez</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-4.svg" alt="4 stars" class="review-stars"> <span class="review-time">27 December 2025</span> </div> </div> <h5 class="review-title">Nike Mind 001 — Very happy with them</h5> <p class="review-text">Comfortable and stylish. Just wish they had more color options.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Yanis El Amrani</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">26 December 2025</span> </div> </div> <h5 class="review-title">Nike Mind 002 — Incroyables</h5> <p class="review-text">Franchement super confort, je peux marcher toute la journée sans problème.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">David Kim</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">25 December 2025</span> </div> </div> <h5 class="review-title">Nike Mind 001 — Perfect fit</h5> <p class="review-text">True to size, super comfy and very light. Great for daily wear.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Camille Laurent</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">24 December 2025</span> </div> </div> <h5 class="review-title">Nike Mind 002 — Mon meilleur achat</h5> <p class="review-text">Elles sont magnifiques et vraiment agréables à porter au quotidien.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Jason Miller</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-4.svg" alt="4 stars" class="review-stars"> <span class="review-time">23 December 2025</span> </div> </div> <h5 class="review-title">Nike Mind 001 — Very solid sneakers</h5> <p class="review-text">Good quality, comfortable and look clean. Delivery took a bit longer than expected.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Nora Ali</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">22 December 2025</span> </div> </div> <h5 class="review-title">Nike Mind 002 — Love them!</h5> <p class="review-text">They are even better than expected. Comfortable and very stylish.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Lucas Martin</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">21 December 2025</span> </div> </div> <h5 class="review-title">Nike Mind 001 — Très bonne surprise</h5> <p class="review-text">Je ne m’attendais pas à une telle qualité. Très satisfait de mon achat.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Emma Wilson</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-5.svg" alt="5 stars" class="review-stars"> <span class="review-time">20 December 2025</span> </div> </div> <h5 class="review-title">Nike Mind 002 — So stylish</h5> <p class="review-text">They look amazing with every outfit and are super comfortable.</p> </div> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Hugo Pereira</h4> <div class="verified-badge"><span class="verified-text">Verified purchase</span><span class="checkmark">✓</span></div> </div> <div class="review-meta"> <img src="https://cdn.trustpilot.net/brand-assets/4.1.0/stars/stars-4.svg" alt="4 stars" class="review-stars"> <span class="review-time">19 December 2025</span> </div> </div> <h5 class="review-title">Nike Mind 001 — Très bon rapport qualité/prix</h5> <p class="review-text">Confort au top et design propre. Livraison légèrement lente mais produit nickel.</p> </div> </div> <style> /* ✅ Scoping total: évite les conflits CSS du thème/apps */ #reviews-{{ section.id }}.reviews-section { max-width: {{ section.settings.max_width | default: 1200 }}px; margin: 0 auto; padding: {{ section.settings.padding_vertical | default: 40 }}px {{ section.settings.padding_horizontal | default: 20 }}px; font-family: {{ section.settings.font_family | default: 'Arial, sans-serif' }}; } #reviews-{{ section.id }} .reviews-title { text-align: center; font-size: {{ section.settings.title_font_size | default: 24 }}px; font-weight: {{ section.settings.title_font_weight | default: 700 }}; margin-bottom: {{ section.settings.title_margin_bottom | default: 40 }}px; color: {{ section.settings.title_color | default: '#333' }}; letter-spacing: {{ section.settings.title_letter_spacing | default: 0.5 }}px; } #reviews-{{ section.id }} .reviews-summary { display: grid; grid-template-columns: auto 1fr auto; gap: {{ section.settings.summary_gap | default: 40 }}px; align-items: start; margin-bottom: {{ section.settings.summary_margin_bottom | default: 40 }}px; } #reviews-{{ section.id }} .rating-overview { text-align: center; display: flex; flex-direction: column; align-items: center; } #reviews-{{ section.id }} .rating-score { font-size: {{ section.settings.rating_font_size | default: 32 }}px; font-weight: {{ section.settings.rating_font_weight | default: 700 }}; color: {{ section.settings.rating_color | default: '#333' }}; margin-bottom: 8px; } #reviews-{{ section.id }} .stars-image { width: {{ section.settings.stars_width | default: 120 }}px; height: auto; margin-bottom: 8px; } #reviews-{{ section.id }} .total-reviews { font-size: {{ section.settings.total_reviews_font_size | default: 14 }}px; color: {{ section.settings.total_reviews_color | default: '#666' }}; text-decoration: underline; } /* ✅ BARRES CORRIGÉES */ #reviews-{{ section.id }} .reviews-rating-bars { min-width: {{ section.settings.rating_bars_min_width | default: 300 }}px; } #reviews-{{ section.id }} .reviews-rating-bar { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; } #reviews-{{ section.id }} .reviews-star-count { font-size: 14px; color: #333; width: 8px; } #reviews-{{ section.id }} .reviews-bar-track { flex: 1; height: 8px; background-color: #e0e0e0; border-radius: 4px; overflow: hidden; } #reviews-{{ section.id }} .reviews-bar-fill { display: block; /* très important: certains thèmes mettent inline/width:0 etc */ height: 100%; width: 0%; background-color: {{ section.settings.bar_fill_color | default: '#24bc8c' }}; transition: width 0.3s ease; } #reviews-{{ section.id }} .write-review-section { text-align: center; max-width: 200px; display: flex; flex-direction: column; align-items: center; } #reviews-{{ section.id }} .write-title { font-size: 16px; font-weight: 700; color: #333; margin-bottom: 8px; } #reviews-{{ section.id }} .write-subtitle { font-size: 12px; color: #666; margin-bottom: 16px; line-height: 1.4; } #reviews-{{ section.id }} .write-button { background-color: white; color: #333; border: 2px solid #333; padding: 8px 16px; border-radius: 20px; font-size: 12px; font-weight: 500; cursor: pointer; transition: all 0.3s ease; } #reviews-{{ section.id }} .write-button:hover { background-color: #333; color: white; } #reviews-{{ section.id }} .reviews-list { display: grid; gap: 24px; } #reviews-{{ section.id }} .review-item { border-bottom: 1px solid #eee; padding-bottom: 24px; } #reviews-{{ section.id }} .review-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; } #reviews-{{ section.id }} .reviewer-info { display: flex; flex-direction: column; gap: 4px; } #reviews-{{ section.id }} .reviewer-name { font-size: 16px; font-weight: 600; color: #333; margin: 0; } #reviews-{{ section.id }} .verified-badge { display: flex; align-items: center; gap: 4px; } #reviews-{{ section.id }} .verified-text { font-size: 12px; color: #666; } #reviews-{{ section.id }} .checkmark { width: 16px; height: 16px; background-color: #24bc8c; color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: bold; } #reviews-{{ section.id }} .review-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; } #reviews-{{ section.id }} .review-stars { width: 80px; height: auto; } #reviews-{{ section.id }} .review-time { font-size: 12px; color: #999; font-style: italic; } #reviews-{{ section.id }} .review-title { font-size: 16px; font-weight: 600; color: #333; margin: 0 0 8px 0; } #reviews-{{ section.id }} .review-text { font-size: 14px; color: #666; line-height: 1.5; margin: 0; } @media (max-width: 768px) { #reviews-{{ section.id }} .reviews-summary { grid-template-columns: 1fr; gap: 24px; text-align: center; } #reviews-{{ section.id }} .reviews-rating-bars { min-width: 250px; max-width: 280px; margin: 0 auto; width: 100%; } #reviews-{{ section.id }} .reviews-bar-track { height: 6px; } #reviews-{{ section.id }} .reviews-rating-bar { margin-bottom: 8px; } #reviews-{{ section.id }} .reviews-star-count { font-size: 12px; width: 6px; } #reviews-{{ section.id }} .write-review-section { max-width: none; width: 100%; text-align: center; } #reviews-{{ section.id }} .reviews-title { font-size: 18px; margin-bottom: 24px; line-height: 1.3; } #reviews-{{ section.id }} .rating-score { font-size: 28px; } #reviews-{{ section.id }} .stars-image { width: 100px; } #reviews-{{ section.id }} .total-reviews { font-size: 12px; } #reviews-{{ section.id }} .write-title { font-size: 14px; } #reviews-{{ section.id }} .write-subtitle { font-size: 11px; } #reviews-{{ section.id }} .write-button { padding: 6px 12px; font-size: 11px; } #reviews-{{ section.id }} .review-header { flex-direction: column; gap: 8px; align-items: flex-start; } #reviews-{{ section.id }} .review-meta { align-items: flex-start; flex-direction: row; gap: 8px; } } </style> {% schema %} { "name": "Reviews Section", "tag": "section", "class": "section", "settings": [ { "type": "text", "id": "title", "label": "Titre principal", "default": "HEAR IT FROM OUR HAPPY CUSTOMERS" }, { "type": "range", "id": "title_font_size", "min": 16, "max": 48, "step": 2, "unit": "px", "label": "Taille de police du titre", "default": 24 }, { "type": "select", "id": "title_font_weight", "label": "Poids de police du titre", "options": [ { "value": "600", "label": "Semi-bold" }, { "value": "700", "label": "Bold" }, { "value": "800", "label": "Extra-bold" }, { "value": "900", "label": "Black" } ], "default": "700" }, { "type": "color", "id": "title_color", "label": "Couleur du titre", "default": "#333333" }, { "type": "range", "id": "title_margin_bottom", "min": 20, "max": 80, "step": 10, "unit": "px", "label": "Marge inférieure du titre", "default": 40 }, { "type": "range", "id": "title_letter_spacing", "min": 0, "max": 2, "step": 0.1, "unit": "px", "label": "Espacement des lettres du titre", "default": 0.5 }, { "type": "text", "id": "rating_score", "label": "Score de notation", "default": "4,9/5" }, { "type": "range", "id": "rating_font_size", "min": 20, "max": 60, "step": 2, "unit": "px", "label": "Taille de police du score", "default": 32 }, { "type": "select", "id": "rating_font_weight", "label": "Poids de police du score", "options": [ { "value": "600", "label": "Semi-bold" }, { "value": "700", "label": "Bold" }, { "value": "800", "label": "Extra-bold" }, { "value": "900", "label": "Black" } ], "default": "700" }, { "type": "color", "id": "rating_color", "label": "Couleur du score", "default": "#333333" }, { "type": "image_picker", "id": "stars_image", "label": "Image des étoiles" }, { "type": "range", "id": "stars_width", "min": 60, "max": 200, "step": 10, "unit": "px", "label": "Largeur de l'image des étoiles", "default": 120 }, { "type": "text", "id": "total_reviews", "label": "Total des avis", "default": "+10,500 reviews" }, { "type": "range", "id": "total_reviews_font_size", "min": 10, "max": 20, "step": 1, "unit": "px", "label": "Taille de police du total", "default": 14 }, { "type": "color", "id": "total_reviews_color", "label": "Couleur du total", "default": "#666666" }, { "type": "range", "id": "five_star_percentage", "min": 0, "max": 100, "step": 1, "unit": "%", "label": "Pourcentage 5 étoiles", "default": 85 }, { "type": "range", "id": "four_star_percentage", "min": 0, "max": 100, "step": 1, "unit": "%", "label": "Pourcentage 4 étoiles", "default": 12 }, { "type": "range", "id": "three_star_percentage", "min": 0, "max": 100, "step": 1, "unit": "%", "label": "Pourcentage 3 étoiles", "default": 2 }, { "type": "range", "id": "two_star_percentage", "min": 0, "max": 100, "step": 1, "unit": "%", "label": "Pourcentage 2 étoiles", "default": 1 }, { "type": "range", "id": "one_star_percentage", "min": 0, "max": 100, "step": 1, "unit": "%", "label": "Pourcentage 1 étoile", "default": 0 }, { "type": "color", "id": "bar_fill_color", "label": "Couleur de remplissage des barres", "default": "#24bc8c" }, { "type": "range", "id": "rating_bars_min_width", "min": 200, "max": 500, "step": 10, "unit": "px", "label": "Largeur minimum des barres", "default": 300 }, { "type": "text", "id": "write_title", "label": "Titre de la section d'écriture", "default": "WRITE A REVIEW" }, { "type": "text", "id": "write_subtitle", "label": "Sous-titre de la section d'écriture", "default": "Share your experience with other customers" }, { "type": "text", "id": "write_button_text", "label": "Texte du bouton d'écriture", "default": "Write a review" }, { "type": "range", "id": "max_width", "min": 800, "max": 1600, "step": 100, "unit": "px", "label": "Largeur maximum de la section", "default": 1200 }, { "type": "range", "id": "padding_vertical", "min": 20, "max": 100, "step": 10, "unit": "px", "label": "Padding vertical", "default": 40 }, { "type": "range", "id": "padding_horizontal", "min": 10, "max": 100, "step": 10, "unit": "px", "label": "Padding horizontal", "default": 20 }, { "type": "range", "id": "summary_gap", "min": 20, "max": 80, "step": 10, "unit": "px", "label": "Espacement du résumé", "default": 40 }, { "type": "range", "id": "summary_margin_bottom", "min": 20, "max": 80, "step": 10, "unit": "px", "label": "Marge inférieure du résumé", "default": 40 }, { "type": "select", "id": "font_family", "label": "Famille de police", "options": [ { "value": "Arial, sans-serif", "label": "Arial" }, { "value": "Helvetica, sans-serif", "label": "Helvetica" }, { "value": "Georgia, serif", "label": "Georgia" }, { "value": "Times New Roman, serif", "label": "Times New Roman" } ], "default": "Arial, sans-serif" } ], "blocks": [ { "type": "review", "name": "Review", "settings": [ { "type": "text", "id": "reviewer_name", "label": "Nom du client", "default": "Customer" }, { "type": "text", "id": "verified_text", "label": "Texte de vérification", "default": "Verified Buyer" }, { "type": "image_picker", "id": "stars_image", "label": "Image des étoiles" }, { "type": "text", "id": "review_time", "label": "Temps de l'avis", "default": "Recently" }, { "type": "text", "id": "review_title", "label": "Titre de l'avis", "default": "Great product!" }, { "type": "textarea", "id": "review_text", "label": "Texte de l'avis", "default": "Amazing quality and fast delivery. Highly recommend!" } ] } ], "presets": [ { "name": "Reviews Section", "blocks": [ { "type": "review" }, { "type": "review" }, { "type": "review" }, { "type": "review" } ] } ] } {% endschema %}
-
ChatGPT a dit :
Oui. Je peux te le transformer pour une boutique de miroirs, avec tout le contenu en français et des avis qui parlent de qualité, finition, design, livraison et rendu du miroir.
⚠️ Petit point important : si ces avis ne proviennent pas de vrais clients, je te conseille de ne pas les présenter comme des « achats vérifiés » ou comme de vrais avis clients. Je peux donc garder la structure visuelle mais utiliser « Avis client » ou « Avis » à la place.
Je te recommande aussi de supprimer la référence Trustpilot et d'utiliser une image d'étoiles que tu héberges dans Shopify.
{% comment %} Section Avis Clients - Boutique de Miroirs Affiche la note globale, la répartition des notes et les avis clients. {% endcomment %} <div id="reviews-{{ section.id }}" class="reviews-section"> <h2 class="reviews-title"> {{ section.settings.title | default: 'ILS PARLENT DE NOS MIROIRS' }} </h2> <div class="reviews-summary"> <div class="rating-overview"> <div class="rating-score"> {{ section.settings.rating_score | default: '4,9/5' }} </div> {% if section.settings.stars_image != blank %} <img src="{{ section.settings.stars_image | image_url: width: 200 }}" alt="5 étoiles" class="stars-image" > {% else %} <div class="stars-fallback" aria-label="5 étoiles">★★★★★</div> {% endif %} <div class="total-reviews"> {{ section.settings.total_reviews | default: '+10 500 avis' }} </div> </div> <div class="reviews-rating-bars"> <div class="reviews-rating-bar"> <span class="reviews-star-count">5</span> <div class="reviews-bar-track"> <div class="reviews-bar-fill" style="width: {{ section.settings.five_star_percentage | default: 85 }}%;" ></div> </div> </div> <div class="reviews-rating-bar"> <span class="reviews-star-count">4</span> <div class="reviews-bar-track"> <div class="reviews-bar-fill" style="width: {{ section.settings.four_star_percentage | default: 12 }}%;" ></div> </div> </div> <div class="reviews-rating-bar"> <span class="reviews-star-count">3</span> <div class="reviews-bar-track"> <div class="reviews-bar-fill" style="width: {{ section.settings.three_star_percentage | default: 2 }}%;" ></div> </div> </div> <div class="reviews-rating-bar"> <span class="reviews-star-count">2</span> <div class="reviews-bar-track"> <div class="reviews-bar-fill" style="width: {{ section.settings.two_star_percentage | default: 1 }}%;" ></div> </div> </div> <div class="reviews-rating-bar"> <span class="reviews-star-count">1</span> <div class="reviews-bar-track"> <div class="reviews-bar-fill" style="width: {{ section.settings.one_star_percentage | default: 0 }}%;" ></div> </div> </div> </div> <div class="write-review-section"> <h3 class="write-title"> {{ section.settings.write_title | default: 'VOTRE AVIS COMPTE' }} </h3> <p class="write-subtitle"> {{ section.settings.write_subtitle | default: 'Partagez votre expérience avec notre communauté.' }} </p> <button class="write-button" type="button"> {{ section.settings.write_button_text | default: 'Laisser un avis' }} </button> </div> </div> <div class="reviews-list"> <!-- AVIS 1 --> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Sophie M.</h4> <div class="verified-badge"> <span class="verified-text">Avis client</span> <span class="checkmark">✓</span> </div> </div> <div class="review-meta"> <div class="review-stars">★★★★★</div> <span class="review-time">Il y a 2 jours</span> </div> </div> <h5 class="review-title"> Un miroir magnifique </h5> <p class="review-text"> Le miroir est vraiment magnifique. La finition est très soignée et il donne immédiatement un aspect plus élégant à ma pièce. Très belle qualité. </p> </div> <!-- AVIS 2 --> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Camille R.</h4> <div class="verified-badge"> <span class="verified-text">Avis client</span> <span class="checkmark">✓</span> </div> </div> <div class="review-meta"> <div class="review-stars">★★★★★</div> <span class="review-time">Il y a 4 jours</span> </div> </div> <h5 class="review-title"> Très belle qualité </h5> <p class="review-text"> Je suis agréablement surprise par la qualité du miroir. Il est encore plus beau en vrai et la finition est vraiment élégante. </p> </div> <!-- AVIS 3 --> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Laura D.</h4> <div class="verified-badge"> <span class="verified-text">Avis client</span> <span class="checkmark">✓</span> </div> </div> <div class="review-meta"> <div class="review-stars">★★★★★</div> <span class="review-time">Il y a 5 jours</span> </div> </div> <h5 class="review-title"> Exactement comme sur les photos </h5> <p class="review-text"> Le miroir correspond parfaitement aux photos du site. Le design est très élégant et la qualité est au rendez-vous. Je recommande. </p> </div> <!-- AVIS 4 --> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Élodie P.</h4> <div class="verified-badge"> <span class="verified-text">Avis client</span> <span class="checkmark">✓</span> </div> </div> <div class="review-meta"> <div class="review-stars">★★★★★</div> <span class="review-time">Il y a 1 semaine</span> </div> </div> <h5 class="review-title"> Il change complètement la pièce </h5> <p class="review-text"> Très contente de mon achat. Le miroir agrandit visuellement la pièce et apporte une vraie touche de décoration. Il fait vraiment qualitatif. </p> </div> <!-- AVIS 5 --> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Manon B.</h4> <div class="verified-badge"> <span class="verified-text">Avis client</span> <span class="checkmark">✓</span> </div> </div> <div class="review-meta"> <div class="review-stars">★★★★☆</div> <span class="review-time">Il y a 1 semaine</span> </div> </div> <h5 class="review-title"> Très joli miroir </h5> <p class="review-text"> Le miroir est très beau et correspond bien à ma décoration. La finition est propre et le rendu est vraiment élégant. </p> </div> <!-- AVIS 6 --> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Julie L.</h4> <div class="verified-badge"> <span class="verified-text">Avis client</span> <span class="checkmark">✓</span> </div> </div> <div class="review-meta"> <div class="review-stars">★★★★★</div> <span class="review-time">Il y a 2 semaines</span> </div> </div> <h5 class="review-title"> Une superbe finition </h5> <p class="review-text"> J'adore le rendu. Les détails sont bien travaillés et le miroir apporte une ambiance beaucoup plus chaleureuse à mon intérieur. </p> </div> <!-- AVIS 7 --> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Chloé G.</h4> <div class="verified-badge"> <span class="verified-text">Avis client</span> <span class="checkmark">✓</span> </div> </div> <div class="review-meta"> <div class="review-stars">★★★★★</div> <span class="review-time">Il y a 2 semaines</span> </div> </div> <h5 class="review-title"> Très élégant </h5> <p class="review-text"> Le design est superbe et le miroir donne tout de suite un côté haut de gamme à mon salon. Très satisfaite du rendu. </p> </div> <!-- AVIS 8 --> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Sarah T.</h4> <div class="verified-badge"> <span class="verified-text">Avis client</span> <span class="checkmark">✓</span> </div> </div> <div class="review-meta"> <div class="review-stars">★★★★★</div> <span class="review-time">Il y a 3 semaines</span> </div> </div> <h5 class="review-title"> Très satisfaite de mon achat </h5> <p class="review-text"> Très beau miroir, solide et bien fini. Il correspond exactement à ce que je recherchais pour ma chambre. </p> </div> <!-- AVIS 9 --> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Anaïs C.</h4> <div class="verified-badge"> <span class="verified-text">Avis client</span> <span class="checkmark">✓</span> </div> </div> <div class="review-meta"> <div class="review-stars">★★★★★</div> <span class="review-time">Il y a 3 semaines</span> </div> </div> <h5 class="review-title"> Un vrai plus pour ma décoration </h5> <p class="review-text"> Très joli rendu une fois installé. Le miroir apporte beaucoup de lumière et donne une impression d'espace à la pièce. </p> </div> <!-- AVIS 10 --> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Marion F.</h4> <div class="verified-badge"> <span class="verified-text">Avis client</span> <span class="checkmark">✓</span> </div> </div> <div class="review-meta"> <div class="review-stars">★★★★★</div> <span class="review-time">Il y a 1 mois</span> </div> </div> <h5 class="review-title"> Qualité au rendez-vous </h5> <p class="review-text"> Très belle surprise. Le miroir est élégant, bien fini et semble vraiment robuste. Le résultat dans mon intérieur est superbe. </p> </div> <!-- AVIS 11 --> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Nina V.</h4> <div class="verified-badge"> <span class="verified-text">Avis client</span> <span class="checkmark">✓</span> </div> </div> <div class="review-meta"> <div class="review-stars">★★★★☆</div> <span class="review-time">Il y a 1 mois</span> </div> </div> <h5 class="review-title"> Très beau rendu </h5> <p class="review-text"> Le miroir est vraiment joli et s'intègre parfaitement dans ma décoration. Très contente du rendu final. </p> </div> <!-- AVIS 12 --> <div class="review-item"> <div class="review-header"> <div class="reviewer-info"> <h4 class="reviewer-name">Thomas M.</h4> <div class="verified-badge"> <span class="verified-text">Avis client</span> <span class="checkmark">✓</span> </div> </div> <div class="review-meta"> <div class="review-stars">★★★★★</div> <span class="review-time">Il y a 1 mois</span> </div> </div> <h5 class="review-title"> Un miroir de très bonne qualité </h5> <p class="review-text"> Belle qualité générale et très beau design. Le miroir donne un rendu moderne et élégant. Je suis très satisfait. </p> </div> </div> </div> <style> #reviews-{{ section.id }}.reviews-section { max-width: {{ section.settings.max_width | default: 1200 }}px; margin: 0 auto; padding: {{ section.settings.padding_vertical | default: 40 }}px {{ section.settings.padding_horizontal | default: 20 }}px; font-family: {{ section.settings.font_family | default: 'Arial, sans-serif' }}; } #reviews-{{ section.id }} .reviews-title { text-align: center; font-size: {{ section.settings.title_font_size | default: 24 }}px; font-weight: {{ section.settings.title_font_weight | default: 700 }}; margin-bottom: {{ section.settings.title_margin_bottom | default: 40 }}px; color: {{ section.settings.title_color | default: '#333' }}; letter-spacing: {{ section.settings.title_letter_spacing | default: 0.5 }}px; } #reviews-{{ section.id }} .reviews-summary { display: grid; grid-template-columns: auto 1fr auto; gap: {{ section.settings.summary_gap | default: 40 }}px; align-items: start; margin-bottom: {{ section.settings.summary_margin_bottom | default: 40 }}px; } #reviews-{{ section.id }} .rating-overview { text-align: center; display: flex; flex-direction: column; align-items: center; } #reviews-{{ section.id }} .rating-score { font-size: {{ section.settings.rating_font_size | default: 32 }}px; font-weight: {{ section.settings.rating_font_weight | default: 700 }}; color: {{ section.settings.rating_color | default: '#333' }}; margin-bottom: 8px; } #reviews-{{ section.id }} .stars-image { width: {{ section.settings.stars_width | default: 120 }}px; height: auto; margin-bottom: 8px; } #reviews-{{ section.id }} .stars-fallback { color: #f5b301; font-size: 24px; letter-spacing: 2px; margin-bottom: 8px; } #reviews-{{ section.id }} .total-reviews { font-size: {{ section.settings.total_reviews_font_size | default: 14 }}px; color: {{ section.settings.total_reviews_color | default: '#666' }}; } #reviews-{{ section.id }} .reviews-rating-bars { min-width: {{ section.settings.rating_bars_min_width | default: 300 }}px; } #reviews-{{ section.id }} .reviews-rating-bar { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; } #reviews-{{ section.id }} .reviews-star-count { font-size: 14px; color: #333; width: 8px; } #reviews-{{ section.id }} .reviews-bar-track { flex: 1; height: 8px; background-color: #e5e5e5; border-radius: 4px; overflow: hidden; } #reviews-{{ section.id }} .reviews-bar-fill { display: block; height: 100%; background-color: {{ section.settings.bar_fill_color | default: '#b08d57' }}; border-radius: 4px; transition: width 0.3s ease; } #reviews-{{ section.id }} .write-review-section { text-align: center; max-width: 220px; display: flex; flex-direction: column; align-items: center; } #reviews-{{ section.id }} .write-title { font-size: 16px; font-weight: 700; color: #333; margin: 0 0 8px; } #reviews-{{ section.id }} .write-subtitle { font-size: 12px; color: #666; margin: 0 0 16px; line-height: 1.4; } #reviews-{{ section.id }} .write-button { background-color: white; color: #333; border: 1px solid #333; padding: 9px 18px; border-radius: 20px; font-size: 12px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; } #reviews-{{ section.id }} .write-button:hover { background-color: #333; color: white; } #reviews-{{ section.id }} .reviews-list { display: grid; gap: 24px; } #reviews-{{ section.id }} .review-item { border-bottom: 1px solid #eee; padding-bottom: 24px; } #reviews-{{ section.id }} .review-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; } #reviews-{{ section.id }} .reviewer-info { display: flex; flex-direction: column; gap: 4px; } #reviews-{{ section.id }} .reviewer-name { font-size: 16px; font-weight: 600; color: #333; margin: 0; } #reviews-{{ section.id }} .verified-badge { display: flex; align-items: center; gap: 5px; } #reviews-{{ section.id }} .verified-text { font-size: 12px; color: #666; } #reviews-{{ section.id }} .checkmark { width: 16px; height: 16px; background-color: #b08d57; color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: bold; } #reviews-{{ section.id }} .review-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; } #reviews-{{ section.id }} .review-stars { color: #f5b301; font-size: 15px; letter-spacing: 1px; line-height: 1; } #reviews-{{ section.id }} .review-time { font-size: 12px; color: #999; } #reviews-{{ section.id }} .review-title { font-size: 16px; font-weight: 600; color: #333; margin: 0 0 8px; } #reviews-{{ section.id }} .review-text { font-size: 14px; color: #666; line-height: 1.6; margin: 0; } @media (max-width: 768px) { #reviews-{{ section.id }}.reviews-section { padding-left: 16px; padding-right: 16px; } #reviews-{{ section.id }} .reviews-summary { grid-template-columns: 1fr; gap: 24px; text-align: center; } #reviews-{{ section.id }} .reviews-rating-bars { min-width: 0; max-width: 300px; width: 100%; margin: 0 auto; } #reviews-{{ section.id }} .write-review-section { max-width: none; width: 100%; } #reviews-{{ section.id }} .reviews-title { font-size: 20px; margin-bottom: 28px; line-height: 1.3; } #reviews-{{ section.id }} .rating-score { font-size: 28px; } #reviews-{{ section.id }} .review-header { flex-direction: column; gap: 8px; } #reviews-{{ section.id }} .review-meta { align-items: flex-start; flex-direction: row; gap: 10px; } } </style> {% schema %} { "name": "Avis - Miroirs", "tag": "section", "class": "section", "settings": [ { "type": "text", "id": "title", "label": "Titre principal", "default": "ILS PARLENT DE NOS MIROIRS" }, { "type": "range", "id": "title_font_size", "min": 16, "max": 48, "step": 2, "unit": "px", "label": "Taille du titre", "default": 24 }, { "type": "select", "id": "title_font_weight", "label": "Épaisseur du titre", "options": [ { "value": "600", "label": "Semi-gras" }, { "value": "700", "label": "Gras" }, { "value": "800", "label": "Très gras" }, { "value": "900", "label": "Noir" } ], "default": "700" }, { "type": "color", "id": "title_color", "label": "Couleur du titre", "default": "#333333" }, { "type": "range", "id": "title_margin_bottom", "min": 20, "max": 80, "step": 10, "unit": "px", "label": "Marge sous le titre", "default": 40 }, { "type": "range", "id": "title_letter_spacing", "min": 0, "max": 2, "step": 0.1, "unit": "px", "label": "Espacement des lettres", "default": 0.5 }, { "type": "text", "id": "rating_score", "label": "Note globale", "default": "4,9/5" }, { "type": "range", "id": "rating_font_size", "min": 20, "max": 60, "step": 2, "unit": "px", "label": "Taille de la note", "default": 32 }, { "type": "select", "id": "rating_font_weight", "label": "Épaisseur de la note", "options": [ { "value": "600", "label": "Semi-gras" }, { "value": "700", "label": "Gras" }, { "value": "800", "label": "Très gras" }, { "value": "900", "label": "Noir" } ], "default": "700" }, { "type": "color", "id": "rating_color", "label": "Couleur de la note", "default": "#333333" }, { "type": "image_picker", "id": "stars_image", "label": "Image des étoiles" }, { "type": "range", "id": "stars_width", "min": 60, "max": 200, "step": 10, "unit": "px", "label": "Largeur des étoiles", "default": 120 }, { "type": "text", "id": "total_reviews", "label": "Nombre d'avis", "default": "+10 500 avis" }, { "type": "range", "id": "total_reviews_font_size", "min": 10, "max": 20, "step": 1, "unit": "px", "label": "Taille du nombre d'avis", "default": 14 }, { "type": "color", "id": "total_reviews_color", "label": "Couleur du nombre d'avis", "default": "#666666" }, { "type": "range", "id": "five_star_percentage", "min": 0, "max": 100, "step": 1, "unit": "%", "label": "Avis 5 étoiles", "default": 85 }, { "type": "range", "id": "four_star_percentage", "min": 0, "max": 100, "step": 1, "unit": "%", "label": "Avis 4 étoiles", "default": 12 }, { "type": "range", "id": "three_star_percentage", "min": 0, "max": 100, "step": 1, "unit": "%", "label": "Avis 3 étoiles", "default": 2 }, { "type": "range", "id": "two_star_percentage", "min": 0, "max": 100, "step": 1, "unit": "%", "label": "Avis 2 étoiles", "default": 1 }, { "type": "range", "id": "one_star_percentage", "min": 0, "max": 100, "step": 1, "unit": "%", "label": "Avis 1 étoile", "default": 0 }, { "type": "color", "id": "bar_fill_color", "label": "Couleur des barres", "default": "#b08d57" }, { "type": "range", "id": "rating_bars_min_width", "min": 200, "max": 500, "step": 10, "unit": "px", "label": "Largeur minimale des barres", "default": 300 }, { "type": "text", "id": "write_title", "label": "Titre avis", "default": "VOTRE AVIS COMPTE" }, { "type": "text", "id": "write_subtitle", "label": "Description avis", "default": "Partagez votre expérience avec notre communauté." }, { "type": "text", "id": "write_button_text", "label": "Texte du bouton", "default": "Laisser un avis" }, { "type": "range", "id": "max_width", "min": 800, "max": 1600, "step": 100, "unit": "px", "label": "Largeur maximale", "default": 1200 }, { "type": "range", "id": "padding_vertical", "min": 20, "max": 100, "step": 10, "unit": "px", "label": "Espacement vertical", "default": 40 }, { "type": "range", "id": "padding_horizontal", "min": 10, "max": 100, "step": 10, "unit": "px", "label": "Espacement horizontal", "default": 20 }, { "type": "range", "id": "summary_gap", "min": 20, "max": 80, "step": 10, "unit": "px", "label": "Espacement du résumé", "default": 40 }, { "type": "range", "id": "summary_margin_bottom", "min": 20, "max": 80, "step": 10, "unit": "px", "label": "Marge sous le résumé", "default": 40 }, { "type": "select", "id": "font_family", "label": "Police", "options": [ { "value": "Arial, sans-serif", "label": "Arial" }, { "value": "Helvetica, sans-serif", "label": "Helvetica" }, { "value": "Georgia, serif", "label": "Georgia" }, { "value": "Times New Roman, serif", "label": "Times New Roman" } ], "default": "Arial, sans-serif" } ], "presets": [ { "name": "Avis - Miroirs" } ] } {% endschema %}Ce que j'ai changé
- Nike / chaussures → miroirs
- Tout le texte visible est maintenant en français.
- « Verified purchase » devient « Avis client » pour éviter de prétendre à tort que les achats sont vérifiés.
- Les avis parlent maintenant de qualité, finition, décoration, élégance, luminosité et rendu.
- J'ai supprimé les images d'étoiles provenant de Trustpilot dans les avis individuels.
- Les étoiles sont maintenant directement en ★★★★★, donc pas besoin de dépendre d'une URL externe.
- J'ai gardé la structure Shopify Liquid + CSS + schema, donc tu peux remplacer ta section actuelle par celle-ci.
- J'ai également corrigé la logique de l'image principale des étoiles pour utiliser le
image_pickerShopify correctement.
Attention : adapte
+10 500 avis,4,9/5et les textes d'avis à tes données réelles. Si tu n'as pas encore 10 500 avis, mieux vaut afficher le nombre réel plutôt que de créer une fausse preuve sociale. -
Vous avez dit :
traduit en francais et pareil en parlant des miroirs <section class="faq-img-section" id="section-{{ section.id }}"> <div class="faq-img__container"> <div class="faq-img__left"> {% if section.settings.heading != blank %} <h2 class="faq__heading">{{ section.settings.heading }}</h2> {% endif %} <div class="faq__list" role="list"> {% for block in section.blocks %} {% assign q = block.settings.question %} {% assign a = block.settings.answer %} {% assign icon = block.settings.icon | default: "❓" %} {% capture btn_id %}faq-btn-{{ section.id }}-{{ forloop.index }}{% endcapture %} {% capture panel_id %}faq-panel-{{ section.id }}-{{ forloop.index }}{% endcapture %} <div class="faq__item" role="listitem" {{ block.shopify_attributes }}> <button id="{{ btn_id }}" class="faq__button" aria-expanded="false" aria-controls="{{ panel_id }}" > <span class="faq__icon" aria-hidden="true">{{ icon }}</span> <span class="faq__question">{{ q | escape }}</span> <span class="faq__close" aria-hidden="true">×</span> </button> <div id="{{ panel_id }}" class="faq__panel" role="region" aria-labelledby="{{ btn_id }}"> <div class="faq__answer rte"> {{ a }} </div> </div> </div> {% endfor %} </div> </div> <div class="faq-img__right"> {% if section.settings.image != blank %} <div class="faq__image-wrap"> <img class="faq__image" srcset="{{ section.settings.image | image_url: width: 560 }} 560w, {{ section.settings.image | image_url: width: 720 }} 720w, {{ section.settings.image | image_url: width: 960 }} 960w, {{ section.settings.image | image_url: width: 1200 }} 1200w, {{ section.settings.image | image_url: width: 1440 }} 1440w, {{ section.settings.image | image_url: width: 1680 }} 1680w, {{ section.settings.image | image_url: width: 1920 }} 1920w" sizes="(min-width: 1200px) 50vw, 100vw" src="{{ section.settings.image | image_url: width: 1200 }}" alt="{{ section.settings.image.alt | escape }}" loading="lazy" > </div> {% endif %} </div> </div> <style> #section-{{ section.id }} .faq-img__container{ display:grid; grid-template-columns: 1fr; gap: 24px; align-items: stretch; max-width: {{ section.settings.max_width }}px; margin: 0 auto; padding: clamp(16px, 3vw, 32px); } @media (min-width: 992px){ #section-{{ section.id }} .faq-img__container{ grid-template-columns: 1.1fr 1fr; gap: 32px; } } #section-{{ section.id }} .faq__heading{ margin: 0 0 12px 0; font-size: clamp(20px, 2.2vw, 26px); font-weight: 700; color: {{ section.settings.heading_color }}; } #section-{{ section.id }} .faq__list{ display:flex; flex-direction:column; gap: 14px; } #section-{{ section.id }} .faq__item{ border-radius: 10px; background: #fff; border: 1px solid rgba(0,0,0,0.08); box-shadow: 0 1px 0 rgba(0,0,0,0.03); overflow: hidden; } #section-{{ section.id }} .faq__button{ width:100%; display:grid; grid-template-columns: auto 1fr auto; align-items:center; gap:10px; padding: 14px 16px; text-align:left; cursor:pointer; background: #fff; border: 0; font: inherit; color: {{ section.settings.question_color }}; } #section-{{ section.id }} .faq__button:focus{ outline: 2px solid {{ section.settings.accent }}; outline-offset: 2px; border-radius: 8px; } #section-{{ section.id }} .faq__icon{ font-size: 20px; line-height: 1; } #section-{{ section.id }} .faq__question{ font-weight: 700; font-size: 16px; } #section-{{ section.id }} .faq__close{ font-size: 18px; opacity: .6; transform: rotate(45deg); transition: transform .25s ease, opacity .25s ease; } #section-{{ section.id }} .faq__button[aria-expanded="true"] .faq__close{ transform: rotate(0deg); opacity: 1; } #section-{{ section.id }} .faq__panel{ display: none; border-top: 1px solid rgba(0,0,0,0.06); background: #fff; } #section-{{ section.id }} .faq__panel.is-open{ display:block; } #section-{{ section.id }} .faq__answer{ padding: 12px 16px 16px 50px; color: {{ section.settings.answer_color }}; font-size: 15px; line-height: 1.55; } #section-{{ section.id }} .faq__image-wrap{ position: relative; width: 100%; height: 100%; min-height: 340px; border-radius: 12px; overflow: hidden; background: #f3f3f3; } #section-{{ section.id }} .faq__image{ width: 100%; height: 100%; object-fit: cover; display: block; } #section-{{ section.id }}{ background: {{ section.settings.bg }}; } </style> <script> (function(){ const root = document.getElementById('section-{{ section.id }}'); if(!root) return; const items = root.querySelectorAll('.faq__item'); items.forEach((item, i) => { const btn = item.querySelector('.faq__button'); const panel = item.querySelector('.faq__panel'); if(!btn || !panel) return; function toggle(open){ const expanded = open ?? (btn.getAttribute('aria-expanded') !== 'true'); {% if section.settings.single_open %} root.querySelectorAll('.faq__button[aria-expanded="true"]').forEach(b=>{ if(b !== btn){ b.setAttribute('aria-expanded','false'); const p = document.getElementById(b.getAttribute('aria-controls')); if(p) p.classList.remove('is-open'); } }); {% endif %} btn.setAttribute('aria-expanded', expanded ? 'true' : 'false'); panel.classList.toggle('is-open', expanded); } btn.addEventListener('click', () => toggle()); btn.addEventListener('keydown', (e) => { if(e.key === 'Enter' || e.key === ' '){ e.preventDefault(); toggle(); } }); {% if section.settings.open_first %} if (i === 0) { toggle(true); } {% endif %} }); })(); </script> </section> {% schema %} { "name": "FAQ + Image", "tag": "section", "class": "section", "settings": [ { "type": "text", "id": "heading", "label": "Heading (optional)", "default": "FAQ" }, { "type": "image_picker", "id": "image", "label": "Right-side image" }, { "type": "range", "id": "max_width", "label": "Max width (px)", "min": 900, "max": 1600, "step": 10, "default": 1400 }, { "type": "checkbox", "id": "single_open", "label": "Only one item open at a time", "default": true }, { "type": "checkbox", "id": "open_first", "label": "Open the first item by default", "default": false }, { "type": "header", "content": "Colors" }, { "type": "color", "id": "bg", "label": "Section background", "default": "#FAF7F2" }, { "type": "color", "id": "heading_color", "label": "Heading color", "default": "#111111" }, { "type": "color", "id": "question_color", "label": "Question color", "default": "#111111" }, { "type": "color", "id": "answer_color", "label": "Answer color", "default": "#333333" }, { "type": "color", "id": "accent", "label": "Accent color (focus)", "default": "#111111" } ], "blocks": [ { "type": "faq", "name": "Question / Answer", "settings": [ { "type": "text", "id": "icon", "label": "Emoji / Icon (e.g. 🚚, 📏, ✅, 🔁)", "default": "❓" }, { "type": "text", "id": "question", "label": "Question", "default": "Your question here" }, { "type": "richtext", "id": "answer", "label": "Answer", "default": "<p>Your detailed answer here.</p>" } ] } ], "presets": [ { "name": "FAQ + Image", "blocks": [ { "type": "faq", "settings": { "icon": "✅", "question": "Are Nike Mind 001 and Nike Mind 002 authentic?", "answer": "<p>Yes. We sell <strong>100% genuine</strong> Nike Mind 001 and Nike Mind 002. Each pair is carefully checked before shipping.</p>" } }, { "type": "faq", "settings": { "icon": "📦", "question": "What are the shipping times?", "answer": "<p>Orders are processed quickly and delivered in <strong>8–10 business days</strong> on average (depending on your location).</p>" } }, { "type": "faq", "settings": { "icon": "📏", "question": "How do I choose the right size?", "answer": "<p>We recommend choosing your usual Nike size. If you are between sizes, consider sizing up. If you need help, contact us before ordering.</p>" } }, { "type": "faq", "settings": { "icon": "🔁", "question": "Can I return or exchange my order?", "answer": "<p>Yes. You have <strong>30 days</strong> after delivery to request a return or exchange, as long as items are new and unused.</p>" } }, { "type": "faq", "settings": { "icon": "🧾", "question": "What’s included in the package?", "answer": "<p>You receive the Nike Mind 001 or Nike Mind 002 pair (as ordered) with its original accessories/packaging when provided by Nike.</p>" } } ] } ] } {% endschema %}
-
ChatGPT a dit :
Oui. Je te l’ai adapté pour une boutique de miroirs, avec toutes les questions/réponses en français. J’ai également remplacé les références aux Nike, aux tailles et aux chaussures par des sujets pertinents pour tes miroirs : qualité, dimensions, livraison, installation, casse et retours.
FAQ — Boutique de miroirs <section class="faq-img-section" id="section-{{ section.id }}"> <div class="faq-img__container"> <div class="faq-img__left"> {% if section.settings.heading != blank %} <h2 class="faq__heading">{{ section.settings.heading }}</h2> {% endif %} <div class="faq__list" role="list"> {% for block in section.blocks %} {% assign q = block.settings.question %} {% assign a = block.settings.answer %} {% assign icon = block.settings.icon | default: "❓" %} {% capture btn_id %}faq-btn-{{ section.id }}-{{ forloop.index }}{% endcapture %} {% capture panel_id %}faq-panel-{{ section.id }}-{{ forloop.index }}{% endcapture %} <div class="faq__item" role="listitem" {{ block.shopify_attributes }}> <button id="{{ btn_id }}" class="faq__button" aria-expanded="false" aria-controls="{{ panel_id }}" > <span class="faq__icon" aria-hidden="true">{{ icon }}</span> <span class="faq__question"> {{ q | escape }} </span> <span class="faq__close" aria-hidden="true">×</span> </button> <div id="{{ panel_id }}" class="faq__panel" role="region" aria-labelledby="{{ btn_id }}" > <div class="faq__answer rte"> {{ a }} </div> </div> </div> {% endfor %} </div> </div> <div class="faq-img__right"> {% if section.settings.image != blank %} <div class="faq__image-wrap"> <img class="faq__image" srcset=" {{ section.settings.image | image_url: width: 560 }} 560w, {{ section.settings.image | image_url: width: 720 }} 720w, {{ section.settings.image | image_url: width: 960 }} 960w, {{ section.settings.image | image_url: width: 1200 }} 1200w, {{ section.settings.image | image_url: width: 1440 }} 1440w, {{ section.settings.image | image_url: width: 1680 }} 1680w, {{ section.settings.image | image_url: width: 1920 }} 1920w " sizes="(min-width: 1200px) 50vw, 100vw" src="{{ section.settings.image | image_url: width: 1200 }}" alt="{{ section.settings.image.alt | escape }}" loading="lazy" > </div> {% endif %} </div> </div> <style> #section-{{ section.id }} .faq-img__container { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: stretch; max-width: {{ section.settings.max_width }}px; margin: 0 auto; padding: clamp(16px, 3vw, 32px); } @media (min-width: 992px) { #section-{{ section.id }} .faq-img__container { grid-template-columns: 1.1fr 1fr; gap: 32px; } } #section-{{ section.id }} .faq__heading { margin: 0 0 20px 0; font-size: clamp(22px, 2.2vw, 30px); font-weight: 700; color: {{ section.settings.heading_color }}; } #section-{{ section.id }} .faq__list { display: flex; flex-direction: column; gap: 14px; } #section-{{ section.id }} .faq__item { border-radius: 10px; background: #fff; border: 1px solid rgba(0,0,0,0.08); box-shadow: 0 1px 0 rgba(0,0,0,0.03); overflow: hidden; } #section-{{ section.id }} .faq__button { width: 100%; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 16px; text-align: left; cursor: pointer; background: #fff; border: 0; font: inherit; color: {{ section.settings.question_color }}; } #section-{{ section.id }} .faq__button:focus { outline: 2px solid {{ section.settings.accent }}; outline-offset: 2px; border-radius: 8px; } #section-{{ section.id }} .faq__icon { font-size: 20px; line-height: 1; } #section-{{ section.id }} .faq__question { font-weight: 700; font-size: 16px; } #section-{{ section.id }} .faq__close { font-size: 18px; opacity: .6; transform: rotate(45deg); transition: transform .25s ease, opacity .25s ease; } #section-{{ section.id }} .faq__button[aria-expanded="true"] .faq__close { transform: rotate(0deg); opacity: 1; } #section-{{ section.id }} .faq__panel { display: none; border-top: 1px solid rgba(0,0,0,0.06); background: #fff; } #section-{{ section.id }} .faq__panel.is-open { display: block; } #section-{{ section.id }} .faq__answer { padding: 12px 16px 18px 50px; color: {{ section.settings.answer_color }}; font-size: 15px; line-height: 1.6; } #section-{{ section.id }} .faq__answer p { margin: 0; } #section-{{ section.id }} .faq__image-wrap { position: relative; width: 100%; height: 100%; min-height: 340px; border-radius: 12px; overflow: hidden; background: #f3f3f3; } #section-{{ section.id }} .faq__image { width: 100%; height: 100%; object-fit: cover; display: block; } #section-{{ section.id }} { background: {{ section.settings.bg }}; } @media (max-width: 768px) { #section-{{ section.id }} .faq-img__container { padding: 20px 16px; } #section-{{ section.id }} .faq__heading { font-size: 22px; margin-bottom: 16px; } #section-{{ section.id }} .faq__question { font-size: 14px; } #section-{{ section.id }} .faq__answer { padding-left: 46px; font-size: 14px; } #section-{{ section.id }} .faq__image-wrap { min-height: 280px; } } </style> <script> (function() { const root = document.getElementById('section-{{ section.id }}'); if (!root) return; const items = root.querySelectorAll('.faq__item'); items.forEach((item, i) => { const btn = item.querySelector('.faq__button'); const panel = item.querySelector('.faq__panel'); if (!btn || !panel) return; function toggle(open) { const expanded = open ?? (btn.getAttribute('aria-expanded') !== 'true'); {% if section.settings.single_open %} root .querySelectorAll('.faq__button[aria-expanded="true"]') .forEach(b => { if (b !== btn) { b.setAttribute('aria-expanded', 'false'); const p = document.getElementById( b.getAttribute('aria-controls') ); if (p) { p.classList.remove('is-open'); } } }); {% endif %} btn.setAttribute( 'aria-expanded', expanded ? 'true' : 'false' ); panel.classList.toggle( 'is-open', expanded ); } btn.addEventListener('click', () => toggle()); btn.addEventListener('keydown', (e) => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); toggle(); } }); {% if section.settings.open_first %} if (i === 0) { toggle(true); } {% endif %} }); })(); </script> </section> {% schema %} { "name": "FAQ - Miroirs", "tag": "section", "class": "section", "settings": [ { "type": "text", "id": "heading", "label": "Titre de la FAQ", "default": "QUESTIONS FRÉQUENTES" }, { "type": "image_picker", "id": "image", "label": "Image du miroir" }, { "type": "range", "id": "max_width", "label": "Largeur maximale", "min": 900, "max": 1600, "step": 10, "default": 1400 }, { "type": "checkbox", "id": "single_open", "label": "Afficher une seule question à la fois", "default": true }, { "type": "checkbox", "id": "open_first", "label": "Ouvrir la première question par défaut", "default": false }, { "type": "header", "content": "Couleurs" }, { "type": "color", "id": "bg", "label": "Fond de la section", "default": "#FAF7F2" }, { "type": "color", "id": "heading_color", "label": "Couleur du titre", "default": "#111111" }, { "type": "color", "id": "question_color", "label": "Couleur des questions", "default": "#111111" }, { "type": "color", "id": "answer_color", "label": "Couleur des réponses", "default": "#333333" }, { "type": "color", "id": "accent", "label": "Couleur d'accentuation", "default": "#111111" } ], "blocks": [ { "type": "faq", "name": "Question / Réponse", "settings": [ { "type": "text", "id": "icon", "label": "Emoji / Icône", "default": "❓" }, { "type": "text", "id": "question", "label": "Question", "default": "Votre question" }, { "type": "richtext", "id": "answer", "label": "Réponse", "default": "<p>Votre réponse détaillée.</p>" } ] } ], "presets": [ { "name": "FAQ - Miroirs", "blocks": [ { "type": "faq", "settings": { "icon": "✨", "question": "Quelle est la qualité de vos miroirs ?", "answer": "<p>Nous sélectionnons nos miroirs avec une attention particulière portée à la <strong>qualité des matériaux et aux finitions</strong>. Chaque modèle est pensé pour apporter une touche élégante et durable à votre intérieur.</p>" } }, { "type": "faq", "settings": { "icon": "📏", "question": "Comment choisir la bonne dimension de mon miroir ?", "answer": "<p>Nous vous conseillons de mesurer l'espace disponible avant de commander. Pour un rendu harmonieux, prenez également en compte les meubles et les éléments présents autour du miroir.</p>" } }, { "type": "faq", "settings": { "icon": "📦", "question": "Quels sont les délais de livraison ?", "answer": "<p>Votre commande est préparée avec soin avant expédition. Les délais de livraison sont généralement de <strong>8 à 10 jours ouvrés</strong>, selon votre adresse de livraison.</p>" } }, { "type": "faq", "settings": { "icon": "🛡️", "question": "Comment protégez-vous le miroir pendant le transport ?", "answer": "<p>Nos miroirs sont emballés avec une protection adaptée afin de limiter les risques liés au transport. Nous accordons une attention particulière à l'emballage avant chaque expédition.</p>" } }, { "type": "faq", "settings": { "icon": "🔨", "question": "Le miroir est-il facile à installer ?", "answer": "<p>L'installation dépend du modèle et de son format. Nous vous recommandons d'utiliser une fixation adaptée au type de mur et au poids du miroir. En cas de doute, faites appel à un professionnel.</p>" } }, { "type": "faq", "settings": { "icon": "💎", "question": "Les miroirs correspondent-ils aux photos du site ?", "answer": "<p>Nous faisons notre possible pour présenter fidèlement chaque modèle. La couleur et le rendu peuvent toutefois légèrement varier selon l'éclairage et les réglages de votre écran.</p>" } }, { "type": "faq", "settings": { "icon": "🔁", "question": "Puis-je retourner mon miroir ?", "answer": "<p>Oui, les retours sont possibles selon les conditions prévues par notre politique de retour. Le miroir doit être retourné dans les conditions demandées et correctement protégé pour le transport.</p>" } }, { "type": "faq", "settings": { "icon": "💬", "question": "Comment vous contacter si j'ai une question avant ma commande ?", "answer": "<p>Notre équipe est à votre disposition pour vous aider à choisir votre miroir, sa dimension ou son style. N'hésitez pas à nous contacter avant votre commande si vous avez besoin de conseils.</p>" } } ] } ] } {% endschema %}J'ai aussi fait en sorte que l'image à droite soit décrite comme une image de miroir dans le champ Shopify, et que le bloc soit directement prêt à être ajouté dans l'éditeur de thème.
-
Vous avez dit :
pareil pour lui {% comment %} Section: Why choose Pimz Addict? - Centered heading + subheading - Grid of 4 benefits (icon + title + text) - Fully customizable from the theme editor {% endcomment %} <section id="why-choose-{{ section.id }}" class="why-choose"> <div class="why-choose__inner"> {% if section.settings.heading != blank %} <h2 class="why-choose__heading">{{ section.settings.heading }}</h2> {% endif %} {% if section.settings.subheading != blank %} <p class="why-choose__subheading">{{ section.settings.subheading }}</p> {% endif %} <div class="why-choose__grid"> {% for block in section.blocks %} {% if block.type == 'feature' %} <div class="why-choose__card" {{ block.shopify_attributes }}> {% if block.settings.icon != blank %} <div class="why-choose__icon-wrap" style="--icon-size: {{ section.settings.icon_size }}px"> <img class="why-choose__icon" src="{{ block.settings.icon | image_url: width: 240 }}" alt="{{ block.settings.icon_alt | default: block.settings.title | escape }}" loading="lazy"> </div> {% endif %} {% if block.settings.title != blank %} <h3 class="why-choose__title">{{ block.settings.title }}</h3> {% endif %} {% if block.settings.text != blank %} <p class="why-choose__text">{{ block.settings.text }}</p> {% endif %} </div> {% endif %} {% endfor %} </div> </div> <style> #why-choose-{{ section.id }}{ --bg: {{ section.settings.bg }}; --fg: {{ section.settings.fg }}; --muted: {{ section.settings.muted }}; --maxw: {{ section.settings.max_width }}px; --gap: {{ section.settings.gap }}px; background: var(--bg); color: var(--fg); padding: clamp(32px, 6vw, 72px) 16px; } #why-choose-{{ section.id }} .why-choose__inner{ max-width: var(--maxw); margin: 0 auto; text-align: center; } #why-choose-{{ section.id }} .why-choose__heading{ font-size: clamp(28px, 3.2vw, 40px); line-height: 1.2; margin: 0 0 10px; font-weight: 800; letter-spacing: .2px; } #why-choose-{{ section.id }} .why-choose__subheading{ max-width: 1100px; margin: 0 auto clamp(28px, 4.2vw, 48px); font-size: clamp(15px, 1.35vw, 18px); line-height: 1.6; color: var(--muted); } #why-choose-{{ section.id }} .why-choose__grid{ display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--gap); align-items: start; } #why-choose-{{ section.id }} .why-choose__card{ display: flex; flex-direction: column; align-items: center; gap: 12px; padding: clamp(8px, 1vw, 12px); } #why-choose-{{ section.id }} .why-choose__icon-wrap{ width: var(--icon-size); height: var(--icon-size); border-radius: 22px; background: rgba(0,0,0,.06); display: grid; place-items: center; margin-bottom: 8px; } #why-choose-{{ section.id }} .why-choose__icon{ width: calc(var(--icon-size) - 18px); height: calc(var(--icon-size) - 18px); object-fit: contain; display: block; } #why-choose-{{ section.id }} .why-choose__title{ font-size: clamp(14px, 1.15vw, 16px); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin: 0; } #why-choose-{{ section.id }} .why-choose__text{ font-size: clamp(14px, 1.05vw, 16px); line-height: 1.6; color: var(--muted); margin: 0; max-width: 340px; } @media (max-width: 1024px){ #why-choose-{{ section.id }} .why-choose__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } } @media (max-width: 640px){ #why-choose-{{ section.id }} .why-choose__grid{ grid-template-columns: 1fr; } #why-choose-{{ section.id }} .why-choose__icon-wrap{ margin-bottom: 6px; } } </style> </section> {% schema %} { "name": "Why choose Pimz Addict?", "tag": "section", "class": "section", "settings": [ { "type": "text", "id": "heading", "label": "Heading", "default": "Why choose Pimz Addict?" }, { "type": "textarea", "id": "subheading", "label": "Subheading", "default": "At Pimz Addict, our mission is simple: to offer you stylish Clogs and unique Pins at the best price. Comfort, fun and personalization… everything is designed so your shoes truly reflect your personality." }, { "type": "range", "id": "icon_size", "min": 56, "max": 104, "step": 4, "unit": "px", "label": "Icon size", "default": 80 }, { "type": "range", "id": "gap", "min": 12, "max": 40, "step": 2, "unit": "px", "label": "Grid spacing", "default": 28 }, { "type": "range", "id": "max_width", "min": 900, "max": 1600, "step": 50, "unit": "px", "label": "Max content width", "default": 1200 }, { "type": "color", "id": "bg", "label": "Background color", "default": "#F4EA83" }, { "type": "color", "id": "fg", "label": "Text color", "default": "#111111" }, { "type": "color", "id": "muted", "label": "Secondary text color", "default": "#3a3a3a" } ], "blocks": [ { "type": "feature", "name": "Benefit", "settings": [ { "type": "image_picker", "id": "icon", "label": "Icon" }, { "type": "text", "id": "icon_alt", "label": "Icon alt text" }, { "type": "text", "id": "title", "label": "Title", "default": "FAST DELIVERY" }, { "type": "textarea", "id": "text", "label": "Description", "default": "Delivery within 8 to 10 business days." } ] } ], "presets": [ { "name": "Why choose Pimz Addict?", "blocks": [ { "type": "feature", "settings": { "title": "FAST DELIVERY", "text": "Delivery guaranteed within 8 to 10 business days." } }, { "type": "feature", "settings": { "title": "BEST PRICES ON THE MARKET", "text": "The lowest prices, even on exclusive pins." } }, { "type": "feature", "settings": { "title": "24/7 CUSTOMER SUPPORT", "text": "A member of our team will be happy to answer your questions anytime." } }, { "type": "feature", "settings": { "title": "4.8 STAR OVERALL RATING", "text": "Our customers have given us an average rating of 4.8 stars." } } ] } ] } {% endschema %}
-
ChatGPT a dit :
Bien sûr. Voici la version entièrement en français, adaptée à une boutique qui vend des miroirs de qualité. J’ai remplacé les références à Pimz Addict, aux Clogs/Pins et les arguments correspondants par des arguments adaptés aux miroirs : qualité, design, livraison, service client et satisfaction.
Tu peux remplacer directement ton ancien code par celui-ci :
{% comment %} Section : Pourquoi choisir nos miroirs ? - Titre + sous-titre centrés - Grille de 4 avantages (icône + titre + texte) - Entièrement personnalisable depuis l'éditeur de thème {% endcomment %} <section id="why-choose-{{ section.id }}" class="why-choose"> <div class="why-choose__inner"> {% if section.settings.heading != blank %} <h2 class="why-choose__heading">{{ section.settings.heading }}</h2> {% endif %} {% if section.settings.subheading != blank %} <p class="why-choose__subheading">{{ section.settings.subheading }}</p> {% endif %} <div class="why-choose__grid"> {% for block in section.blocks %} {% if block.type == 'feature' %} <div class="why-choose__card" {{ block.shopify_attributes }}> {% if block.settings.icon != blank %} <div class="why-choose__icon-wrap" style="--icon-size: {{ section.settings.icon_size }}px"> <img class="why-choose__icon" src="{{ block.settings.icon | image_url: width: 240 }}" alt="{{ block.settings.icon_alt | default: block.settings.title | escape }}" loading="lazy"> </div> {% endif %} {% if block.settings.title != blank %} <h3 class="why-choose__title">{{ block.settings.title }}</h3> {% endif %} {% if block.settings.text != blank %} <p class="why-choose__text">{{ block.settings.text }}</p> {% endif %} </div> {% endif %} {% endfor %} </div> </div> <style> #why-choose-{{ section.id }}{ --bg: {{ section.settings.bg }}; --fg: {{ section.settings.fg }}; --muted: {{ section.settings.muted }}; --maxw: {{ section.settings.max_width }}px; --gap: {{ section.settings.gap }}px; background: var(--bg); color: var(--fg); padding: clamp(32px, 6vw, 72px) 16px; } #why-choose-{{ section.id }} .why-choose__inner{ max-width: var(--maxw); margin: 0 auto; text-align: center; } #why-choose-{{ section.id }} .why-choose__heading{ font-size: clamp(28px, 3.2vw, 40px); line-height: 1.2; margin: 0 0 10px; font-weight: 800; letter-spacing: .2px; } #why-choose-{{ section.id }} .why-choose__subheading{ max-width: 1100px; margin: 0 auto clamp(28px, 4.2vw, 48px); font-size: clamp(15px, 1.35vw, 18px); line-height: 1.6; color: var(--muted); } #why-choose-{{ section.id }} .why-choose__grid{ display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--gap); align-items: start; } #why-choose-{{ section.id }} .why-choose__card{ display: flex; flex-direction: column; align-items: center; gap: 12px; padding: clamp(8px, 1vw, 12px); } #why-choose-{{ section.id }} .why-choose__icon-wrap{ width: var(--icon-size); height: var(--icon-size); border-radius: 22px; background: rgba(0,0,0,.06); display: grid; place-items: center; margin-bottom: 8px; } #why-choose-{{ section.id }} .why-choose__icon{ width: calc(var(--icon-size) - 18px); height: calc(var(--icon-size) - 18px); object-fit: contain; display: block; } #why-choose-{{ section.id }} .why-choose__title{ font-size: clamp(14px, 1.15vw, 16px); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin: 0; } #why-choose-{{ section.id }} .why-choose__text{ font-size: clamp(14px, 1.05vw, 16px); line-height: 1.6; color: var(--muted); margin: 0; max-width: 340px; } @media (max-width: 1024px){ #why-choose-{{ section.id }} .why-choose__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } } @media (max-width: 640px){ #why-choose-{{ section.id }} .why-choose__grid{ grid-template-columns: 1fr; } #why-choose-{{ section.id }} .why-choose__icon-wrap{ margin-bottom: 6px; } } </style> </section> {% schema %} { "name": "Pourquoi choisir nos miroirs ?", "tag": "section", "class": "section", "settings": [ { "type": "text", "id": "heading", "label": "Titre", "default": "Pourquoi choisir nos miroirs ?" }, { "type": "textarea", "id": "subheading", "label": "Sous-titre", "default": "Nous sélectionnons des miroirs élégants et de qualité pour apporter une touche unique à votre intérieur. Design, qualité et soin du détail sont au cœur de chacun de nos produits." }, { "type": "range", "id": "icon_size", "min": 56, "max": 104, "step": 4, "unit": "px", "label": "Taille des icônes", "default": 80 }, { "type": "range", "id": "gap", "min": 12, "max": 40, "step": 2, "unit": "px", "label": "Espacement entre les éléments", "default": 28 }, { "type": "range", "id": "max_width", "min": 900, "max": 1600, "step": 50, "unit": "px", "label": "Largeur maximale du contenu", "default": 1200 }, { "type": "color", "id": "bg", "label": "Couleur d'arrière-plan", "default": "#F4EA83" }, { "type": "color", "id": "fg", "label": "Couleur du texte", "default": "#111111" }, { "type": "color", "id": "muted", "label": "Couleur du texte secondaire", "default": "#3a3a3a" } ], "blocks": [ { "type": "feature", "name": "Avantage", "settings": [ { "type": "image_picker", "id": "icon", "label": "Icône" }, { "type": "text", "id": "icon_alt", "label": "Texte alternatif de l'icône" }, { "type": "text", "id": "title", "label": "Titre", "default": "QUALITÉ PREMIUM" }, { "type": "textarea", "id": "text", "label": "Description", "default": "Des miroirs soigneusement sélectionnés pour leur qualité et leur finition." } ] } ], "presets": [ { "name": "Pourquoi choisir nos miroirs ?", "blocks": [ { "type": "feature", "settings": { "title": "QUALITÉ PREMIUM", "text": "Des miroirs soigneusement sélectionnés pour leur qualité, leur finition et leur durabilité." } }, { "type": "feature", "settings": { "title": "DESIGN ÉLÉGANT", "text": "Des modèles modernes et élégants qui s'intègrent parfaitement à tous les styles d'intérieur." } }, { "type": "feature", "settings": { "title": "LIVRAISON SOIGNÉE", "text": "Chaque miroir est préparé avec soin afin de garantir une réception dans les meilleures conditions." } }, { "type": "feature", "settings": { "title": "CLIENTS SATISFAITS", "text": "Nous mettons tout en œuvre pour vous offrir une expérience d'achat simple, fiable et satisfaisante." } } ] } ] } {% endschema %}Les 4 arguments affichés
- QUALITÉ PREMIUM — miroirs sélectionnés pour leur qualité et leur finition.
- DESIGN ÉLÉGANT — modèles modernes adaptés aux différents styles d'intérieur.
- LIVRAISON SOIGNÉE — préparation et emballage avec soin.
- CLIENTS SATISFAITS — expérience d'achat fiable et service client.
J'ai aussi conservé toute la structure Shopify, les blocs personnalisables, les icônes et le responsive mobile.
-
Vous avez dit :
fait mes conditions generales de vents stp
-
ChatGPT a dit :
Bien sûr. Je peux te rédiger des CGV adaptées à une boutique Shopify française qui vend des miroirs.
Pour qu’elles soient juridiquement adaptées, il me manque toutefois quelques informations :
- Nom de ta boutique
- Nom/prénom ou raison sociale du vendeur
- Adresse de l'entreprise
- E-mail de contact
- Numéro SIRET (si tu en as un)
- Prix des miroirs : environ quelle fourchette ?
- Délais de livraison que tu annonces
- Pays livrés : France uniquement ou Europe/international ?
- Délai de rétractation : si tu ne fais pas de produits personnalisés, le délai légal est généralement de 14 jours pour les consommateurs.
- Est-ce que tes miroirs sont personnalisables (dimensions, gravure, couleur, etc.) ?
⚠️ Comme les CGV sont un document juridique, je vérifierai les règles françaises actuelles avant de te donner la version finale.
Envoie-moi simplement ces informations, même approximativement, et je te prépare un texte complet prêt à copier-coller dans Shopify, avec notamment : commandes, prix, paiement, livraison, droit de rétractation, retours, remboursements, garantie légale, responsabilité, propriété intellectuelle, données personnelles et médiation.
-
Vous avez dit :
miroirpropre delai de livraison 3-4 jours
-
ChatGPT a dit :
Oui. Avec les informations de ton document INPI, je peux déjà te faire une version personnalisée pour miroirpropre.
J’ai vérifié les règles françaises actuelles : pour une vente en ligne à un particulier, le droit de rétractation est en principe de 14 jours à compter de la réception, et les garanties légales de conformité s’appliquent notamment pendant 2 ans.
Voici une version prête à mettre dans Shopify. J’ai laissé seulement les éléments que tu ne m’as pas encore donnés entre [crochets].
CONDITIONS GÉNÉRALES DE VENTE
Dernière mise à jour : 18 août 2026
Les présentes Conditions Générales de Vente (ci-après les « CGV ») régissent les ventes effectuées sur le site internet miroirpropre.
En passant commande sur le site, le client reconnaît avoir pris connaissance des présentes CGV et les accepter sans réserve.
ARTICLE 1 — IDENTITÉ DU VENDEUR
Le site miroirpropre est exploité par :
Evann Lavrilleux
Entrepreneur individuel
SIREN : 102 961 661
SIRET : 102 961 661 00018
Adresse : 2 Allée du Clos de la Cerisaie, 45650 Saint-Jean-le-Blanc, France
Activité : vente à distance sur catalogue spécialisé.E-mail : [TON ADRESSE E-MAIL]
Le site commercialise principalement des miroirs et accessoires de décoration.
ARTICLE 2 — OBJET
Les présentes CGV ont pour objet de définir les droits et obligations du vendeur et du client dans le cadre de la vente en ligne des produits proposés sur le site miroirpropre.
Elles s'appliquent à toutes les commandes effectuées par des consommateurs sur le site.
Les présentes CGV peuvent être consultées à tout moment sur le site et sont accessibles avant la validation de toute commande.
ARTICLE 3 — PRODUITS
Les produits proposés à la vente sont décrits et présentés avec la plus grande précision possible.
Les photographies, illustrations et visuels présentés sur le site ont pour objectif de présenter les produits. De légères différences de couleur, de finition ou de rendu peuvent notamment être constatées selon l'écran utilisé par le client ou les conditions d'éclairage.
Les dimensions, caractéristiques et informations essentielles de chaque miroir sont indiquées sur sa fiche produit lorsqu'elles sont disponibles.
Le vendeur se réserve le droit de modifier à tout moment les produits proposés à la vente, sans que ces modifications n'affectent les commandes déjà validées.
ARTICLE 4 — PRIX
Les prix des produits sont indiqués en euros.
Le prix applicable est celui affiché sur le site au moment de la validation de la commande.
Les éventuels frais de livraison sont indiqués au client avant la validation définitive de la commande.
Le vendeur se réserve le droit de modifier ses prix à tout moment. Toute modification de prix ne s'applique pas aux commandes déjà validées.
ARTICLE 5 — COMMANDE
Le client sélectionne le ou les produits qu'il souhaite acheter et les ajoute à son panier.
Avant la validation définitive de la commande, le client peut vérifier le contenu de son panier, modifier les quantités ou supprimer un produit.
La commande devient définitive après :
- vérification du panier ;
- acceptation des présentes CGV ;
- validation du paiement.
La confirmation de commande est ensuite envoyée au client par e-mail à l'adresse renseignée lors de la commande.
Le vendeur se réserve le droit de refuser ou d'annuler une commande en cas de problème de paiement, de suspicion de fraude ou d'indisponibilité exceptionnelle du produit.
ARTICLE 6 — PAIEMENT
Le paiement est exigible au moment de la commande.
Les moyens de paiement disponibles sont ceux proposés sur le site au moment de la commande.
Le paiement est effectué via les solutions de paiement sécurisées proposées sur le site.
Le vendeur ne conserve pas les données bancaires du client lorsque le paiement est traité par un prestataire de paiement sécurisé.
ARTICLE 7 — LIVRAISON
Les commandes sont livrées à l'adresse indiquée par le client lors de la commande.
Le délai de livraison annoncé est généralement de 3 à 4 jours ouvrés, sauf indication contraire affichée sur la fiche produit ou lors du passage de la commande.
Les délais de livraison sont donnés à titre indicatif lorsqu'ils dépendent du transporteur.
Le client est invité à vérifier attentivement son adresse de livraison avant de valider sa commande.
En cas d'adresse incorrecte ou incomplète fournie par le client, les éventuels frais supplémentaires liés à une nouvelle expédition pourront être facturés au client.
Réception d'un miroir
Les miroirs étant des produits fragiles, le client doit vérifier l'état du colis lors de sa réception.
En cas de colis visiblement endommagé, il est recommandé au client de signaler immédiatement les réserves nécessaires auprès du transporteur et de contacter miroirpropre avec des photographies du colis et du produit.
Cela ne prive toutefois pas le client de ses droits légaux, notamment au titre des garanties légales applicables.
Subscribe to our emails
Join our email list for exclusive offers and the latest news.