Crée un site e-commerce moderne pour une boutique de vêtements du nom de la marque LA BANANE PARIS . Design PRO STYLE LACOSTE avec palette de couleurs (NOIR, JAUNE, blanc). Inclus : header avec navigation sticky, hero section avec image de fond et CTA PERSONNALISABLE grille de produits avec photos PERSONNALISABLE, prix et boutons d'ajout au panier, système de personnalisation (taille, niveau de sucre, toppings), panier latéral qui s'ouvre en slide, formulaire de commande, et footer avec horaires et réseaux sociaux. - Initial Deployment
d723c4a verified | <html lang="fr"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>LA BANANE PARIS - Vêtements Premium</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
| <style> | |
| @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap'); | |
| body { | |
| font-family: 'Montserrat', sans-serif; | |
| scroll-behavior: smooth; | |
| } | |
| .hero-section { | |
| background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.5)), url('https://images.unsplash.com/photo-1489987707025-afc232f7ea0f?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80'); | |
| background-size: cover; | |
| background-position: center; | |
| height: 80vh; | |
| } | |
| .cart-sidebar { | |
| transform: translateX(100%); | |
| transition: transform 0.3s ease-in-out; | |
| } | |
| .cart-sidebar.open { | |
| transform: translateX(0); | |
| } | |
| .product-card:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); | |
| } | |
| .product-card { | |
| transition: all 0.3s ease; | |
| } | |
| .nav-link::after { | |
| content: ''; | |
| display: block; | |
| width: 0; | |
| height: 2px; | |
| background: #FDE047; | |
| transition: width .3s; | |
| } | |
| .nav-link:hover::after { | |
| width: 100%; | |
| } | |
| input[type="radio"]:checked + label { | |
| background-color: #FDE047; | |
| color: black; | |
| } | |
| </style> | |
| </head> | |
| <body class="bg-white"> | |
| <!-- Header/Navigation --> | |
| <header class="sticky top-0 z-50 bg-black text-white shadow-lg"> | |
| <div class="container mx-auto px-4 py-3 flex justify-between items-center"> | |
| <div class="flex items-center space-x-2"> | |
| <div class="w-10 h-10 bg-yellow-300 rounded-full flex items-center justify-center"> | |
| <span class="text-black font-bold text-xl">BP</span> | |
| </div> | |
| <h1 class="text-2xl font-bold">LA BANANE <span class="text-yellow-300">PARIS</span></h1> | |
| </div> | |
| <nav class="hidden md:flex space-x-8"> | |
| <a href="#nouveautes" class="nav-link font-medium hover:text-yellow-300">NOUVEAUTÉS</a> | |
| <a href="#hommes" class="nav-link font-medium hover:text-yellow-300">HOMME</a> | |
| <a href="#femmes" class="nav-link font-medium hover:text-yellow-300">FEMME</a> | |
| <a href="#accessoires" class="nav-link font-medium hover:text-yellow-300">ACCESSOIRES</a> | |
| <a href="#apropos" class="nav-link font-medium hover:text-yellow-300">À PROPOS</a> | |
| </nav> | |
| <div class="flex items-center space-x-4"> | |
| <button class="p-2 hover:text-yellow-300"> | |
| <i class="fas fa-search"></i> | |
| </button> | |
| <button class="p-2 hover:text-yellow-300"> | |
| <i class="fas fa-user"></i> | |
| </button> | |
| <button id="cart-btn" class="p-2 hover:text-yellow-300 relative"> | |
| <i class="fas fa-shopping-bag"></i> | |
| <span id="cart-count" class="absolute -top-1 -right-1 bg-yellow-300 text-black rounded-full w-5 h-5 flex items-center justify-center text-xs">0</span> | |
| </button> | |
| <button class="md:hidden p-2" id="mobile-menu-btn"> | |
| <i class="fas fa-bars"></i> | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Mobile menu --> | |
| <div id="mobile-menu" class="hidden md:hidden bg-black py-4 px-4"> | |
| <div class="flex flex-col space-y-4"> | |
| <a href="#nouveautes" class="font-medium hover:text-yellow-300">NOUVEAUTÉS</a> | |
| <a href="#hommes" class="font-medium hover:text-yellow-300">HOMME</a> | |
| <a href="#femmes" class="font-medium hover:text-yellow-300">FEMME</a> | |
| <a href="#accessoires" class="font-medium hover:text-yellow-300">ACCESSOIRES</a> | |
| <a href="#apropos" class="font-medium hover:text-yellow-300">À PROPOS</a> | |
| </div> | |
| </div> | |
| </header> | |
| <!-- Hero Section --> | |
| <section class="hero-section flex items-center justify-center text-white"> | |
| <div class="text-center px-4"> | |
| <h2 class="text-4xl md:text-6xl font-bold mb-6">COLLECTION <span class="text-yellow-300">ÉTÉ 2023</span></h2> | |
| <p class="text-xl md:text-2xl mb-8 max-w-2xl mx-auto">Découvrez notre nouvelle collection inspirée des tropiques avec des matières premium et un style unique.</p> | |
| <button class="bg-yellow-300 hover:bg-yellow-400 text-black font-bold py-3 px-8 rounded-full text-lg transition duration-300 transform hover:scale-105"> | |
| DÉCOUVRIR | |
| </button> | |
| </div> | |
| </section> | |
| <!-- Featured Products --> | |
| <section id="nouveautes" class="py-16 px-4 bg-white"> | |
| <div class="container mx-auto"> | |
| <h2 class="text-3xl font-bold text-center mb-12">NOUVEAUTÉS</h2> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-8"> | |
| <!-- Product 1 --> | |
| <div class="product-card bg-white rounded-lg overflow-hidden shadow-md border border-gray-100"> | |
| <div class="relative"> | |
| <img src="https://images.unsplash.com/photo-1591047139829-d91aecb6caea?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=736&q=80" alt="T-shirt LA BANANE" class="w-full h-64 object-cover"> | |
| <div class="absolute top-2 right-2 bg-yellow-300 text-black px-2 py-1 rounded-full text-xs font-bold"> | |
| NOUVEAU | |
| </div> | |
| </div> | |
| <div class="p-4"> | |
| <h3 class="font-bold text-lg mb-1">T-shirt Signature</h3> | |
| <p class="text-gray-600 text-sm mb-3">Collection Limitée</p> | |
| <div class="flex justify-between items-center"> | |
| <span class="font-bold text-lg">79€</span> | |
| <button class="add-to-cart bg-black text-white px-4 py-2 rounded-full text-sm hover:bg-yellow-300 hover:text-black transition" data-id="1" data-name="T-shirt Signature" data-price="79" data-image="https://images.unsplash.com/photo-1591047139829-d91aecb6caea?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=736&q=80"> | |
| AJOUTER | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Product 2 --> | |
| <div class="product-card bg-white rounded-lg overflow-hidden shadow-md border border-gray-100"> | |
| <div class="relative"> | |
| <img src="https://images.unsplash.com/photo-1529374255404-311a2a4f1fd9?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit-crop&w=736&q=80" alt="Polo LA BANANE" class="w-full h-64 object-cover"> | |
| </div> | |
| <div class="p-4"> | |
| <h3 class="font-bold text-lg mb-1">Polo Classique</h3> | |
| <p class="text-gray-600 text-sm mb-3">Best-seller</p> | |
| <div class="flex justify-between items-center"> | |
| <span class="font-bold text-lg">99€</span> | |
| <button class="add-to-cart bg-black text-white px-4 py-2 rounded-full text-sm hover:bg-yellow-300 hover:text-black transition" data-id="2" data-name="Polo Classique" data-price="99" data-image="https://images.unsplash.com/photo-1529374255404-311a2a4f1fd9?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit-crop&w=736&q=80"> | |
| AJOUTER | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Product 3 --> | |
| <div class="product-card bg-white rounded-lg overflow-hidden shadow-md border border-gray-100"> | |
| <div class="relative"> | |
| <img src="https://images.unsplash.com/photo-1551232864-3f0890e580d9?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=687&q=80" alt="Veste LA BANANE" class="w-full h-64 object-cover"> | |
| <div class="absolute top-2 right-2 bg-yellow-300 text-black px-2 py-1 rounded-full text-xs font-bold"> | |
| EXCLUSIF | |
| </div> | |
| </div> | |
| <div class="p-4"> | |
| <h3 class="font-bold text-lg mb-1">Veste Légère</h3> | |
| <p class="text-gray-600 text-sm mb-3">Édition Spéciale</p> | |
| <div class="flex justify-between items-center"> | |
| <span class="font-bold text-lg">149€</span> | |
| <button class="add-to-cart bg-black text-white px-4 py-2 rounded-full text-sm hover:bg-yellow-300 hover:text-black transition" data-id="3" data-name="Veste Légère" data-price="149" data-image="https://images.unsplash.com/photo-1551232864-3f0890e580d9?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=687&q=80"> | |
| AJOUTER | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Product 4 --> | |
| <div class="product-card bg-white rounded-lg overflow-hidden shadow-md border border-gray-100"> | |
| <div class="relative"> | |
| <img src="https://images.unsplash.com/photo-1594633312681-425c7b97ccd1?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=687&q=80" alt="Short LA BANANE" class="w-full h-64 object-cover"> | |
| </div> | |
| <div class="p-4"> | |
| <h3 class="font-bold text-lg mb-1">Short de Bain</h3> | |
| <p class="text-gray-600 text-sm mb-3">Collection Été</p> | |
| <div class="flex justify-between items-center"> | |
| <span class="font-bold text-lg">59€</span> | |
| <button class="add-to-cart bg-black text-white px-4 py-2 rounded-full text-sm hover:bg-yellow-300 hover:text-black transition" data-id="4" data-name="Short de Bain" data-price="59" data-image="https://images.unsplash.com/photo-1594633312681-425c7b97ccd1?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=687&q=80"> | |
| AJOUTER | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Customization Section --> | |
| <section class="py-16 px-4 bg-gray-50"> | |
| <div class="container mx-auto max-w-4xl"> | |
| <h2 class="text-3xl font-bold text-center mb-12">PERSONNALISEZ VOTRE ARTICLE</h2> | |
| <div class="bg-white rounded-xl shadow-lg overflow-hidden"> | |
| <div class="md:flex"> | |
| <div class="md:w-1/2"> | |
| <img src="https://images.unsplash.com/photo-1527719327859-c6ce80353573?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=764&q=80" alt="Custom Polo" class="w-full h-full object-cover"> | |
| </div> | |
| <div class="md:w-1/2 p-6"> | |
| <h3 class="text-2xl font-bold mb-4">Polo Personnalisé</h3> | |
| <p class="text-gray-600 mb-6">Créez votre polo unique avec nos options de personnalisation.</p> | |
| <div class="mb-6"> | |
| <h4 class="font-bold mb-3">TAILLE</h4> | |
| <div class="flex flex-wrap gap-2"> | |
| <input type="radio" name="size" id="size-s" class="hidden" checked> | |
| <label for="size-s" class="cursor-pointer border border-gray-300 px-4 py-2 rounded-full">S</label> | |
| <input type="radio" name="size" id="size-m" class="hidden"> | |
| <label for="size-m" class="cursor-pointer border border-gray-300 px-4 py-2 rounded-full">M</label> | |
| <input type="radio" name="size" id="size-l" class="hidden"> | |
| <label for="size-l" class="cursor-pointer border border-gray-300 px-4 py-2 rounded-full">L</label> | |
| <input type="radio" name="size" id="size-xl" class="hidden"> | |
| <label for="size-xl" class="cursor-pointer border border-gray-300 px-4 py-2 rounded-full">XL</label> | |
| </div> | |
| </div> | |
| <div class="mb-6"> | |
| <h4 class="font-bold mb-3">COULEUR</h4> | |
| <div class="flex gap-3"> | |
| <div class="w-8 h-8 rounded-full bg-black border-2 border-gray-300 cursor-pointer"></div> | |
| <div class="w-8 h-8 rounded-full bg-yellow-300 border-2 border-gray-300 cursor-pointer"></div> | |
| <div class="w-8 h-8 rounded-full bg-white border-2 border-gray-300 cursor-pointer"></div> | |
| <div class="w-8 h-8 rounded-full bg-blue-600 border-2 border-gray-300 cursor-pointer"></div> | |
| </div> | |
| </div> | |
| <div class="mb-6"> | |
| <h4 class="font-bold mb-3">BRODERIE</h4> | |
| <input type="text" placeholder="Vos initiales (max 3 lettres)" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-yellow-300"> | |
| </div> | |
| <button class="w-full bg-black text-white py-3 rounded-full font-bold hover:bg-yellow-300 hover:text-black transition"> | |
| AJOUTER AU PANIER - 129€ | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Cart Sidebar --> | |
| <div id="cart-sidebar" class="cart-sidebar fixed top-0 right-0 w-full md:w-96 h-full bg-white shadow-xl z-50 overflow-y-auto"> | |
| <div class="p-6"> | |
| <div class="flex justify-between items-center mb-6"> | |
| <h3 class="text-xl font-bold">VOTRE PANIER</h3> | |
| <button id="close-cart" class="text-gray-500 hover:text-black"> | |
| <i class="fas fa-times"></i> | |
| </button> | |
| </div> | |
| <div id="cart-items" class="mb-6"> | |
| <!-- Cart items will be added here dynamically --> | |
| <p class="text-gray-500 text-center py-10">Votre panier est vide</p> | |
| </div> | |
| <div class="border-t border-gray-200 pt-4"> | |
| <div class="flex justify-between mb-2"> | |
| <span>Sous-total</span> | |
| <span id="cart-subtotal">0€</span> | |
| </div> | |
| <div class="flex justify-between mb-4"> | |
| <span>Livraison</span> | |
| <span>Calculé à l'étape suivante</span> | |
| </div> | |
| <div class="flex justify-between font-bold text-lg"> | |
| <span>Total</span> | |
| <span id="cart-total">0€</span> | |
| </div> | |
| </div> | |
| <button id="checkout-btn" class="w-full bg-yellow-300 text-black py-3 rounded-full font-bold mt-6 hover:bg-yellow-400 transition disabled:opacity-50" disabled> | |
| PASSER LA COMMANDE | |
| </button> | |
| </div> | |
| </div> | |
| <div id="cart-overlay" class="hidden fixed inset-0 bg-black bg-opacity-50 z-40"></div> | |
| <!-- Checkout Form (hidden by default) --> | |
| <div id="checkout-form" class="hidden fixed inset-0 bg-gray-100 bg-opacity-90 z-50 overflow-y-auto p-4"> | |
| <div class="container mx-auto max-w-2xl bg-white rounded-xl shadow-lg p-6 my-10"> | |
| <div class="flex justify-between items-center mb-6"> | |
| <h2 class="text-2xl font-bold">FINALISER VOTRE COMMANDE</h2> | |
| <button id="close-checkout" class="text-gray-500 hover:text-black"> | |
| <i class="fas fa-times"></i> | |
| </button> | |
| </div> | |
| <form id="order-form" class="space-y-6"> | |
| <div> | |
| <h3 class="font-bold text-lg mb-4">INFORMATIONS PERSONNELLES</h3> | |
| <div class="grid grid-cols-1 md:grid-cols-2 gap-4"> | |
| <div> | |
| <label for="first-name" class="block mb-1">Prénom</label> | |
| <input type="text" id="first-name" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-yellow-300" required> | |
| </div> | |
| <div> | |
| <label for="last-name" class="block mb-1">Nom</label> | |
| <input type="text" id="last-name" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-yellow-300" required> | |
| </div> | |
| </div> | |
| <div class="mt-4"> | |
| <label for="email" class="block mb-1">Email</label> | |
| <input type="email" id="email" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-yellow-300" required> | |
| </div> | |
| <div class="mt-4"> | |
| <label for="phone" class="block mb-1">Téléphone</label> | |
| <input type="tel" id="phone" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-yellow-300" required> | |
| </div> | |
| </div> | |
| <div> | |
| <h3 class="font-bold text-lg mb-4">ADRESSE DE LIVRAISON</h3> | |
| <div class="mb-4"> | |
| <label for="address" class="block mb-1">Adresse</label> | |
| <input type="text" id="address" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-yellow-300" required> | |
| </div> | |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-4"> | |
| <div> | |
| <label for="zip" class="block mb-1">Code postal</label> | |
| <input type="text" id="zip" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-yellow-300" required> | |
| </div> | |
| <div> | |
| <label for="city" class="block mb-1">Ville</label> | |
| <input type="text" id="city" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-yellow-300" required> | |
| </div> | |
| <div> | |
| <label for="country" class="block mb-1">Pays</label> | |
| <select id="country" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-yellow-300" required> | |
| <option value="FR">France</option> | |
| <option value="BE">Belgique</option> | |
| <option value="CH">Suisse</option> | |
| <option value="LU">Luxembourg</option> | |
| </select> | |
| </div> | |
| </div> | |
| </div> | |
| <div> | |
| <h3 class="font-bold text-lg mb-4">MÉTHODE DE PAIEMENT</h3> | |
| <div class="space-y-3"> | |
| <div class="flex items-center"> | |
| <input type="radio" id="credit-card" name="payment" value="credit-card" class="mr-2" checked> | |
| <label for="credit-card">Carte de crédit</label> | |
| </div> | |
| <div class="flex items-center"> | |
| <input type="radio" id="paypal" name="payment" value="paypal" class="mr-2"> | |
| <label for="paypal">PayPal</label> | |
| </div> | |
| <div class="flex items-center"> | |
| <input type="radio" id="bank-transfer" name="payment" value="bank-transfer" class="mr-2"> | |
| <label for="bank-transfer">Virement bancaire</label> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="pt-4 border-t border-gray-200"> | |
| <button type="submit" class="w-full bg-yellow-300 text-black py-3 rounded-full font-bold hover:bg-yellow-400 transition"> | |
| CONFIRMER LA COMMANDE | |
| </button> | |
| </div> | |
| </form> | |
| </div> | |
| </div> | |
| <!-- About Section --> | |
| <section id="apropos" class="py-16 px-4 bg-black text-white"> | |
| <div class="container mx-auto max-w-4xl"> | |
| <h2 class="text-3xl font-bold text-center mb-12">À PROPOS DE <span class="text-yellow-300">LA BANANE PARIS</span></h2> | |
| <div class="grid md:grid-cols-2 gap-8 items-center"> | |
| <div> | |
| <p class="mb-4">Fondée en 2015, LA BANANE PARIS est une marque de vêtements premium qui allie élégance française et audace tropicale.</p> | |
| <p class="mb-4">Nos collections sont conçues avec des matériaux de haute qualité et une attention particulière aux détails, pour un style à la fois sophistiqué et décontracté.</p> | |
| <p>Inspirés par l'art de vivre parisien et les couleurs vibrantes des tropiques, nous créons des pièces uniques qui vous accompagnent dans toutes vos aventures.</p> | |
| </div> | |
| <div class="relative"> | |
| <img src="https://images.unsplash.com/photo-1523381210434-271e8be1f52b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Boutique LA BANANE PARIS" class="rounded-lg shadow-xl"> | |
| <div class="absolute -bottom-4 -right-4 bg-yellow-300 text-black px-6 py-3 rounded-lg font-bold"> | |
| DEPUIS 2015 | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Footer --> | |
| <footer class="bg-gray-900 text-white py-12 px-4"> | |
| <div class="container mx-auto"> | |
| <div class="grid grid-cols-1 md:grid-cols-4 gap-8"> | |
| <div> | |
| <h3 class="text-xl font-bold mb-4">LA BANANE PARIS</h3> | |
| <p class="text-gray-400">Vêtements premium inspirés par Paris et les tropiques.</p> | |
| <div class="flex space-x-4 mt-4"> | |
| <a href="#" class="text-gray-400 hover:text-yellow-300"><i class="fab fa-facebook-f"></i></a> | |
| <a href="#" class="text-gray-400 hover:text-yellow-300"><i class="fab fa-instagram"></i></a> | |
| <a href="#" class="text-gray-400 hover:text-yellow-300"><i class="fab fa-twitter"></i></a> | |
| <a href="#" class="text-gray-400 hover:text-yellow-300"><i class="fab fa-pinterest"></i></a> | |
| </div> | |
| </div> | |
| <div> | |
| <h4 class="font-bold mb-4">BOUTIQUE</h4> | |
| <ul class="space-y-2"> | |
| <li><a href="#" class="text-gray-400 hover:text-yellow-300">Nouveautés</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-yellow-300">Homme</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-yellow-300">Femme</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-yellow-300">Accessoires</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-yellow-300">Promotions</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h4 class="font-bold mb-4">INFORMATIONS</h4> | |
| <ul class="space-y-2"> | |
| <li><a href="#" class="text-gray-400 hover:text-yellow-300">À propos</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-yellow-300">Contact</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-yellow-300">Livraison</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-yellow-300">Retours</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-yellow-300">FAQ</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h4 class="font-bold mb-4">CONTACT</h4> | |
| <address class="not-italic text-gray-400 space-y-2"> | |
| <p>12 Rue de la Banane<br>75001 Paris, France</p> | |
| <p>Email: <a href="mailto:contact@labananeparis.com" class="hover:text-yellow-300">contact@labananeparis.com</a></p> | |
| <p>Tél: <a href="tel:+33123456789" class="hover:text-yellow-300">+33 1 23 45 67 89</a></p> | |
| </address> | |
| <h4 class="font-bold mt-6 mb-2">HORAIRES</h4> | |
| <p class="text-gray-400">Lundi - Vendredi: 10h - 19h<br>Samedi: 11h - 18h</p> | |
| </div> | |
| </div> | |
| <div class="border-t border-gray-800 mt-12 pt-8 text-center text-gray-400"> | |
| <p>© 2023 LA BANANE PARIS. Tous droits réservés.</p> | |
| </div> | |
| </div> | |
| </footer> | |
| <script> | |
| // Mobile menu toggle | |
| const mobileMenuBtn = document.getElementById('mobile-menu-btn'); | |
| const mobileMenu = document.getElementById('mobile-menu'); | |
| mobileMenuBtn.addEventListener('click', () => { | |
| mobileMenu.classList.toggle('hidden'); | |
| }); | |
| // Cart functionality | |
| const cartBtn = document.getElementById('cart-btn'); | |
| const cartSidebar = document.getElementById('cart-sidebar'); | |
| const cartOverlay = document.getElementById('cart-overlay'); | |
| const closeCart = document.getElementById('close-cart'); | |
| const cartCount = document.getElementById('cart-count'); | |
| const cartItems = document.getElementById('cart-items'); | |
| const cartSubtotal = document.getElementById('cart-subtotal'); | |
| const cartTotal = document.getElementById('cart-total'); | |
| const checkoutBtn = document.getElementById('checkout-btn'); | |
| const checkoutForm = document.getElementById('checkout-form'); | |
| const closeCheckout = document.getElementById('close-checkout'); | |
| const orderForm = document.getElementById('order-form'); | |
| let cart = []; | |
| // Toggle cart sidebar | |
| cartBtn.addEventListener('click', () => { | |
| cartSidebar.classList.add('open'); | |
| cartOverlay.classList.remove('hidden'); | |
| document.body.style.overflow = 'hidden'; | |
| }); | |
| closeCart.addEventListener('click', () => { | |
| cartSidebar.classList.remove('open'); | |
| cartOverlay.classList.add('hidden'); | |
| document.body.style.overflow = 'auto'; | |
| }); | |
| cartOverlay.addEventListener('click', () => { | |
| cartSidebar.classList.remove('open'); | |
| cartOverlay.classList.add('hidden'); | |
| document.body.style.overflow = 'auto'; | |
| }); | |
| // Add to cart functionality | |
| document.querySelectorAll('.add-to-cart').forEach(button => { | |
| button.addEventListener('click', () => { | |
| const productId = button.getAttribute('data-id'); | |
| const productName = button.getAttribute('data-name'); | |
| const productPrice = parseFloat(button.getAttribute('data-price')); | |
| const productImage = button.getAttribute('data-image'); | |
| // Check if product already in cart | |
| const existingItem = cart.find(item => item.id === productId); | |
| if (existingItem) { | |
| existingItem.quantity += 1; | |
| } else { | |
| cart.push({ | |
| id: productId, | |
| name: productName, | |
| price: productPrice, | |
| image: productImage, | |
| quantity: 1 | |
| }); | |
| } | |
| updateCart(); | |
| // Show cart sidebar | |
| cartSidebar.classList.add('open'); | |
| cartOverlay.classList.remove('hidden'); | |
| document.body.style.overflow = 'hidden'; | |
| }); | |
| }); | |
| // Update cart display | |
| function updateCart() { | |
| // Update cart count | |
| const totalItems = cart.reduce((sum, item) => sum + item.quantity, 0); | |
| cartCount.textContent = totalItems; | |
| // Update cart items list | |
| if (cart.length === 0) { | |
| cartItems.innerHTML = '<p class="text-gray-500 text-center py-10">Votre panier est vide</p>'; | |
| checkoutBtn.disabled = true; | |
| } else { | |
| cartItems.innerHTML = cart.map(item => ` | |
| <div class="flex items-center py-4 border-b border-gray-200"> | |
| <div class="w-16 h-16 bg-gray-100 rounded-lg overflow-hidden"> | |
| <img src="${item.image}" alt="${item.name}" class="w-full h-full object-cover"> | |
| </div> | |
| <div class="ml-4 flex-1"> | |
| <h4 class="font-medium">${item.name}</h4> | |
| <p class="text-gray-600 text-sm">${item.price}€ x ${item.quantity}</p> | |
| </div> | |
| <div class="ml-4"> | |
| <span class="font-bold">${(item.price * item.quantity).toFixed(2)}€</span> | |
| </div> | |
| <button class="ml-4 text-gray-500 hover:text-black remove-item" data-id="${item.id}"> | |
| <i class="fas fa-times"></i> | |
| </button> | |
| </div> | |
| `).join(''); | |
| checkoutBtn.disabled = false; | |
| } | |
| // Update totals | |
| const subtotal = cart.reduce((sum, item) => sum + (item.price * item.quantity), 0); | |
| cartSubtotal.textContent = subtotal.toFixed(2) + '€'; | |
| cartTotal.textContent = subtotal.toFixed(2) + '€'; | |
| // Add event listeners to remove buttons | |
| document.querySelectorAll('.remove-item').forEach(button => { | |
| button.addEventListener('click', () => { | |
| const productId = button.getAttribute('data-id'); | |
| cart = cart.filter(item => item.id !== productId); | |
| updateCart(); | |
| }); | |
| }); | |
| } | |
| // Checkout functionality | |
| checkoutBtn.addEventListener('click', () => { | |
| cartSidebar.classList.remove('open'); | |
| cartOverlay.classList.add('hidden'); | |
| checkoutForm.classList.remove('hidden'); | |
| document.body.style.overflow = 'hidden'; | |
| }); | |
| closeCheckout.addEventListener('click', () => { | |
| checkoutForm.classList.add('hidden'); | |
| document.body.style.overflow = 'auto'; | |
| }); | |
| // Form submission | |
| orderForm.addEventListener('submit', (e) => { | |
| e.preventDefault(); | |
| // Here you would typically send the order to your backend | |
| alert('Merci pour votre commande ! Un email de confirmation vous a été envoyé.'); | |
| // Reset cart | |
| cart = []; | |
| updateCart(); | |
| // Close all modals | |
| checkoutForm.classList.add('hidden'); | |
| document.body.style.overflow = 'auto'; | |
| }); | |
| // Size selection | |
| document.querySelectorAll('input[type="radio"][name="size"]').forEach(radio => { | |
| radio.addEventListener('change', () => { | |
| document.querySelectorAll('input[type="radio"][name="size"] + label').forEach(label => { | |
| label.classList.remove('bg-yellow-300', 'text-black'); | |
| }); | |
| if (radio.checked) { | |
| const label = document.querySelector(`label[for="${radio.id}"]`); | |
| label.classList.add('bg-yellow-300', 'text-black'); | |
| } | |
| }); | |
| }); | |
| </script> | |
| <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Hamidoudp/test3" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
| </html> |