Naviguer dans le dilemme numérique: Comprendre l'erreur "429 Trop de requêtes"</title><script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"La patience paie","acceptedAnswer":{"@type":"Answer","text":": Souvent, la solution la plus simple est d'attendre et de réessayer la requête après un certain temps."}},{"@type":"Question","name":"Vérifiez votre réseau","acceptedAnswer":{"@type":"Answer","text":": Assurez-vous que des scripts automatisés ou des logiciels défaillants ne bombardent pas le serveur de requêtes non désirées."}},{"@type":"Question","name":"Limitez vos requêtes","acceptedAnswer":{"@type":"Answer","text":": Si vous effectuez délibérément plusieurs requêtes (par ex., appels API), essayez de les espacer ou de réduire leur fréquence."}},{"@type":"Question","name":"Communication transparente","acceptedAnswer":{"@type":"Answer","text":": Informez les utilisateurs des limites de taux à travers des messages clairs et une documentation, surtout si vous gérez une API."}},{"@type":"Question","name":"Limites dynamiques","acceptedAnswer":{"@type":"Answer","text":": Envisagez d'implémenter des limites de taux dynamiques qui s'ajustent en fonction de la charge du serveur, du comportement passé de l'utilisateur, ou de l'heure de la journée."}},{"@type":"Question","name":"Fournir des retours","acceptedAnswer":{"@type":"Answer","text":": Lors du rejet d'une requête avec une erreur 429, incluez des informations sur la durée pendant laquelle l'utilisateur devrait attendre avant de refaire une autre requête."}}]}</script><h2>Table des matières</h2><ol><li><a href="#section1">Introduction</a></li><li><a href="#section2">Décryptage de l'erreur: Une exploration approfondie</a></li><li><a href="#section3">Réponses stratégiques: Atténuer l'erreur</a></li><li><a href="#section4">Naviguer à travers les défis</a></li><li><a href="#section5">Conclusion</a></li><li><a href="#section6">Section FAQ</a></li></ol><a id="section1"></a><h2>Introduction</h2><p>Imaginez, si vous le voulez bien, vous lancer dans une croisade numérique passionnante, vos doigts prêts à l'action, pour être brusquement arrêté par un écran proclamant, "429 Trop de requêtes." Initialement déroutante, cet arrêt numérique n'est pas simplement une barricade aléatoire mais une mesure réfléchie dans la danse complexe du protocole internet. Aussi surprenant que cela puisse paraître, rencontrer cette erreur peut être un moment d'apprentissage crucial sur l'équilibre délicat entre le trafic web et la gestion des ressources.</p><p>Cet article de blog vise à démêler le mystère derrière l'erreur "429 Trop de requêtes", un message commun mais souvent mal compris rencontré dans l'immense domaine d'internet. En explorant ses causes, implications, et, plus important encore, solutions, nous avons l'intention d'armer les lecteurs de connaissances et de stratégies pour naviguer ce défi. Que vous soyez propriétaire de site web, développeur, ou simplement un passionné d'internet, comprendre cette erreur peut améliorer votre expérience web, garantissant des interactions digitales plus fluides.</p><a id="section2"></a><h2>Décryptage de l'erreur: Une exploration approfondie</h2><h3>Les bases: Que signifie "429 Trop de requêtes" ?</h3><p>Fondamentalement, l'erreur "429 Trop de requêtes" est un code d'état HTTP indiquant qu'un utilisateur a envoyé trop de requêtes à un serveur dans un laps de temps donné. Contrairement à d'autres erreurs qui pourraient être le résultat d'une mauvaise configuration du serveur ou de pages non disponibles, celui-ci aborde directement la question du contrôle du taux.</p><h3>Contrôle du taux: Un outil de gestion web nécessaire</h3><p>Le contrôle du taux est une mesure critique employée par les administrateurs web pour assurer une allocation équitable des ressources du serveur parmi les utilisateurs. En fixant une limite sur le nombre de requêtes qu'un utilisateur peut effectuer, il empêche qu'un seul utilisateur monopolise les ressources, maintenant ainsi la qualité du service pour tous. Ce mécanisme renforce non seulement la sécurité en contrecarrant les attaques par déni de service (DoS) mais optimise également les performances du serveur.</p><h3>Les implications: Pourquoi cela importe</h3><p>L'impact immédiat de rencontrer une erreur 429 est, tout simplement, un refus temporaire d'accès aux ressources d'un site web. Pour l'utilisateur lambda, cela peut aller d'un léger inconvénient à un obstacle majeur, selon l'urgence de son besoin. Pour les développeurs et les propriétaires de sites web, comprendre et gérer cette erreur est crucial pour l'expérience utilisateur et la réputation du site.</p><a id="section3"></a><h2>Réponses stratégiques: Atténuer l'erreur</h2><h3>Pour les Utilisateurs: Conseils de résolution efficaces</h3><ol><li><p><strong>La patience paie</strong> : Souvent, la solution la plus simple est d'attendre et de réessayer la requête après un certain temps.</p></li><li><p><strong>Vérifiez votre réseau</strong> : Assurez-vous que des scripts automatisés ou des logiciels défaillants ne bombardent pas le serveur de requêtes non désirées.</p></li><li><p><strong>Limitez vos requêtes</strong> : Si vous effectuez délibérément plusieurs requêtes (par ex., appels API), essayez de les espacer ou de réduire leur fréquence.</p></li></ol><h3>Pour les Propriétaires de Sites Web et Développeurs: Bonnes pratiques dans la configuration du contrôle de taux</h3><ol><li><p><strong>Communication transparente</strong> : Informez les utilisateurs des limites de taux à travers des messages clairs et une documentation, surtout si vous gérez une API.</p></li><li><p><strong>Limites dynamiques</strong> : Envisagez d'implémenter des limites de taux dynamiques qui s'ajustent en fonction de la charge du serveur, du comportement passé de l'utilisateur, ou de l'heure de la journée.</p></li><li><p><strong>Fournir des retours</strong> : Lors du rejet d'une requête avec une erreur 429, incluez des informations sur la durée pendant laquelle l'utilisateur devrait attendre avant de refaire une autre requête.</p></li></ol><a id="section4"></a><h2>Naviguer à travers les défis</h2><p>Gérer l'équilibre entre la demande des utilisateurs et la capacité du serveur est un défi continu. Implémenter des stratégies adaptatives de contrôle de taux qui considèrent le comportement des utilisateurs et les performances du serveur peut créer une expérience web plus fluide. De plus, les propriétaires de sites web devraient surveiller les modèles de trafic pour ajuster proactivement les seuils et éviter les erreurs 429 inutiles.</p><a id="section5"></a><h2>Conclusion</h2><p>L'erreur "429 Trop de requêtes" sert de rappel de l'interaction complexe entre les utilisateurs web et l'infrastructure qui les soutient. En comprenant les principes derrière cette erreur et en appliquant des solutions réfléchies, nous pouvons favoriser un internet plus sain et accessible. Pour les utilisateurs, un peu de patience et des habitudes de navigation conscientes vont loin. Pour les développeurs web et les propriétaires, un contrôle de taux efficace et une communication claire peuvent atténuer la frustration et maintenir le bon fonctionnement du monde digital.</p><p>Alors que nous continuons à naviguer dans le monde numérique, voyons ces erreurs non pas comme des obstacles mais comme des panneaux indicatifs nous guidant vers une interaction web plus responsable et efficace.</p><a id="section6"></a><h2>Section FAQ</h2><p><strong>Q: Actualiser la page peut-il aider à résoudre l'erreur "429 Trop de requêtes"?</strong></p><p>R: Bien que l'instinct puisse vous pousser à actualiser la page, cela peut parfois aggraver le problème en envoyant des requêtes supplémentaires. Il est généralement préférable d'attendre quelques minutes avant d'essayer à nouveau.</p><p><strong>Q: Comment les développeurs décident-ils du seuil de la limite de taux?</strong></p><p>R: Les seuils sont souvent déterminés en analysant des cas d'utilisation moyens, la capacité des serveurs, et l'objectif de fournir un accès équitable tout en prévenant les abus. Ces métriques peuvent varier considérablement en fonction du service fourni.</p><p><strong>Q: Est-il possible d'être banni définitivement pour avoir fait trop de requêtes?</strong></p><p>R: Un non-respect continu des limites de taux peut conduire à des restrictions plus strictes ou des interdictions temporaires de certains services, surtout s'il est perçu comme un comportement abusif. Respecter les directives et limites fournies est crucial.</p><p><strong>Q: Le contrôle de taux peut-il affecter le référencement SEO de mon site web?</strong></p><p>R: Un contrôle de taux correctement mis en place ne devrait pas affecter le référencement SEO de votre site web. Il est conçu pour assurer la stabilité et la disponibilité de votre site, des facteurs positifs pour le classement dans les moteurs de recherche. Toutefois, un contrôle de taux excessivement restrictif pourrait potentiellement entraver les crawlers des moteurs de recherche. Une communication ouverte avec les moteurs de recherche et la configuration de taux de crawl appropriée peuvent atténuer ce risque.</p> </p> </div> </div> </div> <div class="row social__sharing--icons border-bottom py-4 mb-4 mb-lg-0"> <div class="col-12"> <h3>Share this article on socials</h3><ul class="list-inline mb-0 py-2 social-sharing"> <li class="list-inline-item "> <a class="text-white bg-gray-medium" href="//www.facebook.com/sharer.php?u=https://www.hulkapps.com/fr/blogs/ecommerce-hub/naviguer-dans-le-dilemme-numerique-comprendre-l-erreur-429-too-many-requests-1" target="_blank" rel="noopener noreferrer nofollow" title="Share on Facebook"> <i class="ion ion-logo-facebook"></i> </a> </li> <li class="list-inline-item "> <a class="text-white bg-gray-medium" href="//twitter.com/share?text=Naviguer%20dans%20le%20dilemme%20num%C3%A9rique%20:%20Comprendre%20l'erreur%20%22429%20Too%20Many%20Requests%22&url=https://www.hulkapps.com/fr/blogs/ecommerce-hub/naviguer-dans-le-dilemme-numerique-comprendre-l-erreur-429-too-many-requests-1" target="_blank" rel="noopener noreferrer nofollow" title="Share on Twitter"> <i class="ion ion-logo-twitter"></i> </a> </li> <li class="list-inline-item"> <a class="text-white bg-gray-medium" href="//pinterest.com/pin/create/button/?url=https://www.hulkapps.com/fr/blogs/ecommerce-hub/naviguer-dans-le-dilemme-numerique-comprendre-l-erreur-429-too-many-requests-1&media=//www.hulkapps.com/cdn/shop/articles/scaled_IMAGE-FILE-UPLOADS-navigating-the-digital-dilemma-understanding-the-429-too-many-requests-error-858408_1024x1024.jpg?v=1722281245&description=Naviguer%20dans%20le%20dilemme%20num%C3%A9rique%20:%20Comprendre%20l'erreur%20%22429%20Too%20Many%20Requests%22" target="_blank" rel="noopener noreferrer nofollow" title="Share on Pinterest"> <i class="ion ion-logo-pinterest"></i> </a> </li> </ul></div> </div></div> <div class="col-12 col-lg-3 blog_details_2 sticky-top align-self-start sticky-blog-sidebar" style="display: none; !important"> <div class="sidebar-blog categories-section"> <div id="accordion" class="d-none"> <div class="card border-0 mt-4 categories-articles shadow"> <div class="card-header p-0 font-weight-bold" id="headingOne__categories"> <h5 class="mb-0"> <button class="btn px-3 d-flex align-items-center justify-content-between w-100 collapsed" data-toggle="collapse" data-target="#collapseOne_categories" aria-expanded="false" aria-controls="collapseOne_categories"> Categories <i class="ion ion-ios-arrow-up text-18"></i> </button> </h5> </div> <div id="collapseOne_categories" class="collapse" aria-labelledby="headingOne__categories" data-parent="#accordion"> <div class="card-body p-0"> <ul class="list-group list-group-flush mb-0"> </ul> </div> </div> </div> </div> <div id="accordion" class=""> <div class="card border-0 mt-4 categories-articles shadow"> <div class="card-header p-0 font-weight-bold" id="headingOne"> <h5 class="mb-0"> <button class="btn px-3 d-flex align-items-center justify-content-between w-100 collapsed" data-toggle="collapse" data-target="#collapseOne" aria-expanded="false" aria-controls="collapseOne"> Browse by apps <i class="ion ion-ios-arrow-up text-18"></i> </button> </h5> </div> <div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-parent="#accordion"> <div class="card-body p-0"> <ul class="list-group list-group-flush mb-0"> <li class="list-group-item py-2 px-3"> <a href="javascript:void(0)" class="blog-apps text-secondary font-weight-normal" data-url="/blogs/ecommerce-hub/tagged/product-options" data-tag="product-options">Options de produit</a> </li> <li class="list-group-item py-2 px-3"> <a href="javascript:void(0)" class="blog-apps text-secondary font-weight-normal" data-url="/blogs/ecommerce-hub/tagged/form-builder" data-tag="form-builder">Créateur de formulaires</a> </li> </ul> </div> </div> </div> </div> <div class="card card-recent-articles mt-4 shadow"> <div class="card-header border-bottom py-3"> <h4 class="mb-0">Recent Articles</h4> </div> <ul class="list-group list-group-flush mb-0"> <li class="list-group-item"> <div class="media"> <a href="/fr/blogs/ecommerce-hub/should-web-browsers-be-regulated-2" name="Should Web Browsers Be Regulated?" title="Should Web Browsers Be Regulated?" aria-label="Should Web Browsers Be Regulated?"> <img class="d-flex mr-3" src="//www.hulkapps.com/cdn/shop/articles/scaled_IMAGE-FILE-UPLOADS-should-web-browsers-be-regulated--566353_40x40_crop_center.jpg?v=1722238126" class="img-fluid" alt="Should Web Browsers Be Regulated?"> </a> <div class="media-body"> <h6 class="mb-0"> <a href="/fr/blogs/ecommerce-hub/should-web-browsers-be-regulated-2" class="text-secondary">Should Web Browsers Be Regulated?</a> </h6> </div> </div> </li> <li class="list-group-item"> <div class="media"> <a href="/fr/blogs/ecommerce-hub/what-the-nba-rights-deal-spells-out-about-the-future-of-streamers-and-platforms-in-live-sports" name="What the NBA Rights Deal Spells Out About the Future of Streamers and Platforms in Live Sports" title="What the NBA Rights Deal Spells Out About the Future of Streamers and Platforms in Live Sports" aria-label="What the NBA Rights Deal Spells Out About the Future of Streamers and Platforms in Live Sports"> <img class="d-flex mr-3" src="//www.hulkapps.com/cdn/shop/articles/scaled_IMAGE-FILE-UPLOADS-what-the-nba-rights-deal-spells-out-about-the-future-of-streamers-and-platforms-in-live-sports-213957_40x40_crop_center.jpg?v=1722238126" class="img-fluid" alt="What the NBA Rights Deal Spells Out About the Future of Streamers and Platforms in Live Sports"> </a> <div class="media-body"> <h6 class="mb-0"> <a href="/fr/blogs/ecommerce-hub/what-the-nba-rights-deal-spells-out-about-the-future-of-streamers-and-platforms-in-live-sports" class="text-secondary">What the NBA Rights Deal Spells Out About the Future of Streamers and Platforms in Live Sports</a> </h6> </div> </div> </li> </ul> </div> </div><div class="mt-5 text-center pt-12 pb-3 bg-img-article" style="background-image: url(//www.hulkapps.com/cdn/shop/files/Custom_Size_1_1024x1024.jpg?v=1647842730);background-repeat: no-repeat; background-size: cover; background-position: center center;padding: 0 12px;"><h4 class="heading mb-2 text-white">Enjoyed This Article?</h4><p class="text-white">Get our news and insights delivered directly to your inbox.</p><form method="post" action="/fr/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /> <div class="form-inline d-block pb-3"> <div class="text-center d-block mb-3 mb-lg-0"> <label class="mb-2 text-white text-16">NEWSLETTER</label> </div> <div class="d-block mb-3"> <input type="hidden" name="customer[accepts_marketing]" value="true"> <input type="email" name="contact[email]" placeholder="Email Address" class="form-control-sm form-control h-auto flex-grow-1 rounded-0 py-2 w-100" id="email"> </div> <div class="text-center"> <input type="submit" class="btn btn-accent text-uppercase btn-sm px-4" value="Subscribe"> </div> </div> </form> </div></div> </div> </div> </section> <script> document.addEventListener('DOMContentLoaded', function() { setTimeout(function() { let bannerImages = document.querySelectorAll('.app_banner_image'); bannerImages.forEach(function(bannerImage) { if (bannerImage.classList.contains('image-zoom')) { bannerImage.classList.remove('image-zoom'); } }); }, 1500); }); </script> <script> document.addEventListener('DOMContentLoaded', function() { let articleContentElements = document.querySelectorAll('.article_content'); articleContentElements.forEach(function(articleContent) { let olElement = articleContent.querySelector('ol'); if (olElement) { let newDivElement = document.createElement('div'); newDivElement.className = 'col-8 mx-auto px-0 mb-3 d-lg-none'; let anchorElement = document.createElement('a'); anchorElement.href = '#'; anchorElement.target = '_blank'; let imgElement = document.createElement('img'); imgElement.src = " https://cdn.shopify.com/s/files/1/1564/7647/files/hulk_age_verification.png?v=1702545133"; imgElement.alt = 'App image'; imgElement.className = 'app_banner_image my-3'; anchorElement.appendChild(imgElement); newDivElement.appendChild(anchorElement); olElement.parentNode.insertBefore(newDivElement, olElement.nextSibling); } }); }); </script> <style> .rounded-full { border-radius: 50%; height: 150px; width: 150px; } .banner { padding-top: 90px; } #modalBtn:hover { box-shadow: none !important; } a:hover { text-decoration: none; color: #444; } </style> </div> <div id="shopify-section-footer" class="shopify-section position-relative shadow"><footer class="site-footer" data-block-type="footers" data-id="1" > <section id="prefooter-section" class="section-content brand-logos-section pre-footer fdb-block"> <div class="container d-flex flex-column flex-lg-row justify-content-center align-items-center margin-auto"> <h2 class="text-center col-12 col-lg-4 mb-6 mb-lg-0 text-lg-left" style="color: #444444;"> Explore Our<br> Brands </h2> <div class="col-12 col-lg-8 text-white"> <div class="row"> <div class="col-6 col-md-4 col-lg-2 d-flex justify-content-center align-items-center my-3 logo-item offset-lg-2 "> <a class="prefooter_logo-img d-flex align-items-center" href="https://wholesalehelper.io" target="_blank"> <img src="//www.hulkapps.com/cdn/shop/files/Wholesale_logo.svg?v=1740494897&width=150" alt="" srcset="//www.hulkapps.com/cdn/shop/files/Wholesale_logo.svg?v=1740494897&width=150 150w" width="150" height="50" class="prefooter_logo-img"> </a> </div> <div class="col-6 col-md-4 col-lg-2 d-flex justify-content-center align-items-center my-3 logo-item "> <a class="prefooter_logo-img d-flex align-items-center" href="https://www.aiden.cx/en" target="_blank"> <img src="//www.hulkapps.com/cdn/shop/files/Clip_path_group_2.svg?v=1740494896&width=150" alt="" srcset="//www.hulkapps.com/cdn/shop/files/Clip_path_group_2.svg?v=1740494896&width=150 150w" width="150" height="55" class="prefooter_logo-img small_size_logo_image"> </a> </div> <div class="col-6 col-md-4 col-lg-2 d-flex justify-content-center align-items-center my-3 logo-item "> <a class="prefooter_logo-img d-flex align-items-center" href="https://506.io/" target="_blank"> <img src="//www.hulkapps.com/cdn/shop/files/Brand_Logo_5.svg?v=1740494896&width=150" alt="" srcset="//www.hulkapps.com/cdn/shop/files/Brand_Logo_5.svg?v=1740494896&width=150 150w" width="150" height="68" class="prefooter_logo-img small_size_logo_image"> </a> </div> <div class="col-6 col-md-4 col-lg-2 d-flex justify-content-center align-items-center my-3 logo-item "> <a class="prefooter_logo-img d-flex align-items-center" href="https://www.codeblackbelt.com/" target="_blank"> <img src="//www.hulkapps.com/cdn/shop/files/Brand_Logo_4.svg?v=1740494896&width=150" alt="" srcset="//www.hulkapps.com/cdn/shop/files/Brand_Logo_4.svg?v=1740494896&width=150 150w" width="150" height="99" class="prefooter_logo-img"> </a> </div> <div class="col-6 col-md-4 col-lg-2 d-flex justify-content-center align-items-center my-3 logo-item "> <a class="prefooter_logo-img d-flex align-items-center" href="https://releas.it" target="_blank"> <img src="//www.hulkapps.com/cdn/shop/files/Group_4.svg?v=1740494896&width=150" alt="" srcset="//www.hulkapps.com/cdn/shop/files/Group_4.svg?v=1740494896&width=150 150w" width="150" height="32" class="prefooter_logo-img"> </a> </div><div class="col-12 d-none d-lg-block white-divider"></div> <div class="col-6 col-md-4 col-lg-2 d-flex justify-content-center align-items-center my-3 logo-item "> <a class="prefooter_logo-img d-flex align-items-center" href="https://www.opinew.com/" target="_blank"> <img src="//www.hulkapps.com/cdn/shop/files/Brand_Logo_3.svg?v=1740494896&width=150" alt="" srcset="//www.hulkapps.com/cdn/shop/files/Brand_Logo_3.svg?v=1740494896&width=150 150w" width="150" height="40" class="prefooter_logo-img"> </a> </div> <div class="col-6 col-md-4 col-lg-2 d-flex justify-content-center align-items-center my-3 logo-item "> <a class="prefooter_logo-img d-flex align-items-center" href="https://shopcircle.co" target="_blank"> <img src="//www.hulkapps.com/cdn/shop/files/Brand_Logo_2.svg?v=1740494896&width=150" alt="" srcset="//www.hulkapps.com/cdn/shop/files/Brand_Logo_2.svg?v=1740494896&width=150 150w" width="150" height="34" class="prefooter_logo-img"> </a> </div> <div class="col-6 col-md-4 col-lg-2 d-flex justify-content-center align-items-center my-3 logo-item "> <a class="prefooter_logo-img d-flex align-items-center" href="https://www.accentuate.io/" target="_blank"> <img src="//www.hulkapps.com/cdn/shop/files/Clip_path_group_3.svg?v=1740495413&width=150" alt="" srcset="//www.hulkapps.com/cdn/shop/files/Clip_path_group_3.svg?v=1740495413&width=150 150w" width="150" height="28" class="prefooter_logo-img"> </a> </div> <div class="col-6 col-md-4 col-lg-2 d-flex justify-content-center align-items-center my-3 logo-item "> <a class="prefooter_logo-img d-flex align-items-center" href="https://www.carthook.com/" target="_blank"> <img src="//www.hulkapps.com/cdn/shop/files/Brand_Icon_beb68710-fb24-44b3-badb-0bc70b6f53ee.svg?v=1740494896&width=150" alt="" srcset="//www.hulkapps.com/cdn/shop/files/Brand_Icon_beb68710-fb24-44b3-badb-0bc70b6f53ee.svg?v=1740494896&width=150 150w" width="150" height="20" class="prefooter_logo-img"> </a> </div> <div class="col-6 col-md-4 col-lg-2 d-flex justify-content-center align-items-center my-3 logo-item "> <a class="prefooter_logo-img d-flex align-items-center" href="https://get.orderprinterpro.com/" target="_blank"> <img src="//www.hulkapps.com/cdn/shop/files/Forsberg.svg?v=1740564464&width=150" alt="" srcset="//www.hulkapps.com/cdn/shop/files/Forsberg.svg?v=1740564464&width=150 150w" width="150" height="33" class="prefooter_logo-img"> </a> </div> <div class="col-6 col-md-4 col-lg-2 d-flex justify-content-center align-items-center my-3 logo-item "> <a class="prefooter_logo-img d-flex align-items-center" href="https://www.skypilotapp.com/" target="_blank"> <img src="//www.hulkapps.com/cdn/shop/files/Brand_Logo.svg?v=1740494399&width=150" alt="" srcset="//www.hulkapps.com/cdn/shop/files/Brand_Logo.svg?v=1740494399&width=150 150w" width="150" height="42" class="prefooter_logo-img"> </a> </div> </div> </div> </div> </section> <div class="footer-top" style="background-color: #ffffff; color: #444444;" > <div class="container"> <div class="pt-8 pb-5"> <div class="justify-content-center row"> <div class="col-12 col-xl-3 text-center text-xl-left mb-6 mb-xl-0"> <a href="/"><img src="//www.hulkapps.com/cdn/shop/files/Hulk_Logo_New_200x.svg?v=1740386263" alt="HulkApps" class="mb-3" style="max-width: 200px" ></a> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/shopify-experts.svg?v=1617091328" alt="Footer Logo" class="img-fuild d-block mx-auto mx-xl-0" > </div> <div class="col-12 col-sm-4 col-lg-3 col-xl-2 sec-col text-center text-lg-left mb-3 mb-lg-0"><h4 style="color: #444444;" class="text-16 text-uppercase mb-3 font-weight-bold" > Company </h4><ul class="list-unstyled"><li class="mb-2 mainLi"><a href="/fr/pages/propos-de-hulkapps" target="" title=" Shopify À propos de nous " style="color: #444444;" >À propos de nous</a> </li><li class="mb-2 mainLi"><a href="/fr/pages/carrires-et-opportunits-demploi-chez-hulkapps" target="" title=" Shopify Carrières " style="color: #444444;" >Carrières</a> </li><li class="mb-2 mainLi"><a href="/fr/pages/contactez-nous-hulkapps" target="" title=" Shopify Contact " style="color: #444444;" >Contact</a> </li><li class="mb-2 mainLi"><a href="https://support.hulkthemes.com/support/tickets/new" target="_blank" title=" Shopify Submit a Ticket " style="color: #444444;" >Submit a Ticket</a> </li></ul></div> <div class="col-12 col-sm-4 col-lg-3 col-xl-2 third-col text-center text-lg-left mb-3 mb-lg-0"><h4 style="color: #444444;" class="text-16 text-uppercase mb-3 font-weight-bold" > Apps </h4><ul class="list-unstyled "><li class="mb-2 mainLi"> <a href="/fr/collections/sales-aov" target="" title=" Shopify Sales & AOV " style="color: #444444;" rel="" >Sales & AOV</a> </li><li class="mb-2 mainLi"> <a href="/fr/collections/customer-experience" target="" title=" Shopify Customer Experience " style="color: #444444;" rel="" >Customer Experience</a> </li><li class="mb-2 mainLi"> <a href="/fr/collections/loyalty-retention" target="" title=" Shopify Loyalty & Retention " style="color: #444444;" rel="" >Loyalty & Retention</a> </li><li class="mb-2 mainLi"> <a href="/fr/collections/store-management" target="" title=" Shopify Store Management " style="color: #444444;" rel="" >Store Management</a> </li></ul> </div> <div class="col-12 col-sm-4 col-lg-3 col-xl-2 text-center text-lg-left mb-3 mb-lg-0"><h4 style="color: #444444;" class="text-16 text-uppercase mb-3 font-weight-bold" > Solutions </h4><ul class="list-unstyled"><li class="mb-2 mainLi"><!-- <a href="https://shopcircle.co/pages/solutions?page=capital" style="color: #444444;" target="">Shop Circle Capital</a> --> <a href="https://shopcircle.co/pages/solutions?page=capital" title=" Shopify Shop Circle Capital " style="color: #444444;" target="" >Shop Circle Capital</a> </li><li class="mb-2 mainLi"><!-- <a href="https://shopcircle.co/pages/affiliate-program" style="color: #444444;" target="">Partners</a> --> <a href="https://shopcircle.co/pages/affiliate-program" title=" HulkApps Partners " style="color: #444444;" target="" >Partners</a> </li><li class="mb-2 mainLi"><!-- <a href="https://shopcircle.co/pages/shopify-apps-tech-stack" style="color: #444444;" target="">App Stacks</a> --> <a href="https://shopcircle.co/pages/shopify-apps-tech-stack" title=" Shopify App Stacks " style="color: #444444;" target="" >App Stacks</a> </li><li class="mb-2 mainLi"><!-- <a href="/fr/pages/forfait-d-applications-shopify" style="color: #444444;" target="">Bundles</a> --> <a href="/fr/pages/forfait-d-applications-shopify" title=" Shopify Bundles " style="color: #444444;" target="" >Bundles</a> </li></ul> </div> <div class="col-12 col-sm-4 col-md-6 col-lg-3 text-center text-lg-left"><h4 style="color: #444444;" class="text-16 text-uppercase mb-3 font-weight-bold" > Resources </h4><ul class="list-unstyled"><li class="mb-2 mainLi"> <a href="/fr/blogs/topics" title=" Shopify Sujets " style="color: #444444;" >Sujets</a> </li><li class="mb-2 mainLi"> <a href="/fr/blogs/shopify-news" title=" Actualités Shopify " style="color: #444444;" >Actualités Shopify</a> </li><li class="mb-2 mainLi"> <a href="/fr/blogs/compare" title=" Shopify Comparer " style="color: #444444;" >Comparer</a> </li><li class="mb-2 mainLi"> <a href="/fr/blogs/ecommerce-hub" title=" Shopify Ecommerce Hub " style="color: #444444;" >Ecommerce Hub</a> </li><li class="mb-2 mainLi"> <a href="/fr/blogs/shopify-hub" title=" Centre Shopify " style="color: #444444;" >Centre Shopify</a> </li></ul> </div> </div> </div> <div class="border-top border-bottom py-4"> <div class="row align-items-center"> <div class="col-xl-7 order-2 order-xl-1"> <ul class="list-unstyled d-flex mb-md-0 mb-2 justify-content-md-start justify-content-center flex-wrap text-center"> <li class="mr-xl-4 mr-0 order-3 order-xl-1 ml-auto ml-xl-0 mt-md-0 mt-4 col-12 col-md-auto px-0"><p class="mb-0 text-14"> December 16, 2025 © HulkApps.com. All Rights Reserved. </p></li> <li class="mr-2 order-xl-2 order-1"><a href="/pages/locations" class="world-wide align-items-center d-flex justify-content-center justify-content-md-start"> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/globe_new_logo.svg?v=1632984800" alt="Location"> <p class="text-primary font-size-sm mx-3 mb-0">We're Worldwide</p> </a> </li> <li class="order-2 order-xl-3"><a href="/pages/careers" class="align-items-center d-flex justify-content-center justify-content-md-start"><img src="https://cdn.shopify.com/s/files/1/1564/7647/files/hiring.svg?v=1623406181" alt="Career"> <p class="font-size-sm text-primary mx-3 mb-0">We're Hiring</p></a> </li> </ul> </div> <div class="col-xl-5 order-1 order-xl-2 mb-6 mb-xl-0"> <form method="post" action="/fr/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /> <div class="form-inline justify-content-end d-block d-lg-flex"> <div class="form-group text-center d-lg-flex d-block mb-3 mb-lg-0"> <label class="font-weight-bold mr-3">NEWSLETTER</label> </div> <div class="form-group align-items-stretch d-flex flex-grow-1"> <input type="hidden" name="customer[accepts_marketing]" value="true" > <input type="email" name="contact[email]" placeholder="Email Address" class="form-control flex-grow-1" id="email" > <input type="submit" class="btn btn-primary" value="Submit" > </div> </div> </form> </div> </div> </div> </div> </div> <div data-footer-bottom class="footer-bottom py-3" style="background-color: #ffffff; color: #444444;" > <div class="container"> <div class="row text-14 text-center text-md-left align-items-center justify-content-between"> <div class="col-12 col-md-6 mb-3 mb-md-0"> <ul class="social-links mb-0 list-unstyled"><li class="d-inline-block mr-3"> <a href="https://www.facebook.com/hulkapps1" rel="nofollow noopener" class="d-flex align-items-center justify-content-center text-gray-medium" target="_blank" aria-label="Facebook" > <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/fb.svg?v=1646374043" alt="Facebook" style="max-width: 30px;" > </a> </li><li class="d-inline-block mr-3"> <a href="https://www.instagram.com/hulkapps/" rel="nofollow noopener" class="d-flex align-items-center justify-content-center text-gray-medium" target="_blank" aria-label="Instagram" > <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/new_insta.svg?v=1646375603" alt="Instagram" style="max-width: 30px;" > </a> </li><li class="d-inline-block mr-3"> <a href="https://twitter.com/hulkapps" rel="nofollow noopener" class="d-flex align-items-center justify-content-center text-gray-medium" target="_blank" aria-label="Twitter" > <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/twitter.svg?v=1646375603" alt="Twitter" style="max-width: 30px;" > </a> </li><li class="d-inline-block mr-3"> <a href="https://www.linkedin.com/company/hulkapps/" rel="nofollow noopener" class="d-flex align-items-center justify-content-center text-gray-medium" target="_blank" aria-label="Linkedin" > <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/linkd.svg?v=1646375603" alt="Linkedin" style="max-width: 30px;" > </a> </li><li class="d-inline-block mr-3"> <a href="https://www.youtube.com/@hulkapps_official" rel="nofollow noopener" class="d-flex align-items-center justify-content-center text-gray-medium" target="_blank" > <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/youtube_1.svg?v=1646375603" alt="YouTube" style="max-width: 30px;" > </a> </li><li class="d-inline-block"> <a href="https://github.com/HulkApps-Apps" rel="nofollow noopener" class="d-flex align-items-center justify-content-center text-gray-medium" target="_blank" aria-label="Github" > <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/git.svg?v=1646418470" alt="Github" style="max-width: 30px;" > </a> </li></ul></div> <div class="col-12 col-md-6 text-center text-md-right"> <a href="/pages/data-processing" class="">Data Processing Addendum</a> <span class="mx-ex-lg-3 mx-2 separator">|</span> <a href="/pages/privacy-policy" class="">Privacy Policy</a> <span class="mx-ex-lg-3 mx-2 separator">|</span> <a href="/pages/terms-condition">Terms & Conditions</a> <span class="mx-ex-lg-3 mx-2 separator">|</span> <a href="/pages/sitemap">Sitemap</a> </div> </div> </div> </div> </footer> <style> .pre-footer { background-color: #D9F5F4; overflow: hidden; /* Hide anything that goes beyond the bounds of the container */ } .prefooter-slider, .prefooter-slider_wrapper, .prefooter-slider > .inner { gap: 2rem; } .prefooter_logo-img { object-fit: contain; max-width: 100px; max-height: 50px; } .prefooter_logo-img:hover { opacity: 0.7; scale: 1.02; color: #00a9a2 } .small_size_logo_image { max-height: 35px !important; } .prefooter-slider_wrapper:hover > .prefooter-slider > .inner { animation-play-state: paused; } /* Animation applied universally */ .prefooter-slider > .inner { animation: prefooterScroll 16s linear infinite; } @keyframes prefooterScroll { from { transform: translateX(0%); } to { transform: translateX(-100%); /* Adjust based on content duplication */ } } @media (min-width: 992px) { .text-lg-left { text-align: left !important; } } .white-divider { border-bottom: 1px solid #444444; opacity: 0.2; } </style> </div> <div id="shopify-section-app-optimization" class="shopify-section"></div> <div data-mobile_navbar><div id="shopify-section-new-mobile-navigation" class="shopify-section"><div data-section-id="new-mobile-navigation" class="mobile-nav-drawer d-flex flex-column new-mobile" :class="{'opened shadow-lg': isMobileNavDrawerOpen}" v-touch:swipe.left="_toggleMobileNavDrawer" :open="isMobileNavDrawerOpen"> <div class="drawer-header d-flex justify-content-between align-items-center p-3"> <a href="#" class="btn-close ml-auto float-right" @click.prevent="_toggleMobileNavDrawer" name="close" title="close" aria-label="Close"> <i class="ion ion-md-close"></i> </a> </div> <div class="drawer-body py-1" data-touch-movable> <nav class="navbar-mobile"> <ul class="navbar-nav padding-class"> <!-- Ako link ima child linkove, prikaži ga kao expandable --> <li class="nav-item first-level no-underline"> <a class="nav-link pl-0 submenu-toggle d-flex align-items-center justify-content-between shopify-apps" href="#" role="button" data-toggle="collapse" data-target="#submenu-shopify-apps-shopify-apps" aria-expanded="false" name="Shopify Apps" title="Shopify Apps" aria-label="Shopify Apps"> <span>Shopify Apps</span> <i class="icon-toggle"></i> </a> <div class="submenu collapse two-level" id="submenu-shopify-apps-shopify-apps"> <ul class="list-unstyled"><!-- STANDARDNI DROPDOWN MENI ZA SVE OSTALE LINKOVE --> <ul class="dropdown-menu second-level-menu tab-pane new-header-menu mobile-adjustment"> <div class="container container-new p-2 align-items-start d-flex flex-column"><div class="wrapper w-100"> <div class="items-info"> <!-- Ako childlink sadrži proizvode, dodaj collapse funkcionalnost --> <a class="header-collection-links submenu-toggle d-flex align-items-center justify-content-between" href="#" role="button" data-toggle="collapse" data-target="#submenu-sales-aov" aria-expanded="false"> <span>Sales & AOV</span> <i class="icon-toggle"></i> </a> <!-- Submenu collapse za prikaz proizvoda --> <div class="submenu collapse no-padding-class" id="submenu-sales-aov"> <ul class="list-unstyled"> <div class="d-flex align-items-center mb-3 "> <img src="https://cdn.shopify.com/app-store/listing_images/59ff1b17b1415cf11af2ee0a00c68334/icon/CKKYs5695_ICEAE=.png" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/releasit-cod-form-upsells">Releasit COD Form & Upsells</a> </div> <div class="d-flex align-items-center mb-3 "> <img src="https://cdn.shopify.com/app-store/listing_images/2652696f8cd7357ce591f2b6217cd918/icon/CIS2jICqov8CEAE=.png" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/opinew-product-reviews-app-ugc">Opinew Product Reviews App UGC</a> </div> <div class="d-flex align-items-center mb-3 "> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/ProductOptions_1200x1200_362cbd21-0cd2-4523-b23f-43477bb6e93c.png?v=1680607971" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/application-shopify-options-de-produit">Options de produit Hulk</a> </div> <div class="d-flex align-items-center "> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/VolumeBoost_1200x1200_9c15a6ff-b05e-496d-b5b1-dd382cafcdd8.png?v=1680607971" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/remises-par-paliers-dachat-shopify">Version traduite de Hulk VolumeBoost</a> </div> </ul> </div> </div> </div><div class="wrapper w-100"> <div class="items-info"> <!-- Ako childlink sadrži proizvode, dodaj collapse funkcionalnost --> <a class="header-collection-links submenu-toggle d-flex align-items-center justify-content-between" href="#" role="button" data-toggle="collapse" data-target="#submenu-customer-experience" aria-expanded="false"> <span>Customer Experience</span> <i class="icon-toggle"></i> </a> <!-- Submenu collapse za prikaz proizvoda --> <div class="submenu collapse no-padding-class" id="submenu-customer-experience"> <ul class="list-unstyled"> <div class="d-flex align-items-center mb-3 "> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/FormBuilder_1200x1200_1faa9059-2771-4d5a-aa89-429401c15463.png?v=1680607971" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/application-de-creation-de-formulaires-shopify">Générateur de formulaires Hulk</a> </div> <div class="d-flex align-items-center mb-3 "> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/pricingdiscount.webp?v=1720703553" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/wholesale-pricing-discount-b2b">Wholesale Pricing Discount B2B</a> </div> <div class="d-flex align-items-center mb-3 "> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/OrderStatusTracker_1200x1200_02440172-a4c6-4e11-9748-95c759de44ce.png?v=1680607971" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/suivi-des-commandes-shopify">Hulk Suivi de l'état de la commande</a> </div> <div class="d-flex align-items-center "> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/MobileAppBuilder_1200x1200_b1084e88-f940-4e58-8700-4641b3d5b025.png?v=1680607971" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/constructeur-dapplications-mobiles-shopify">Hulk Générateur d'application mobile</a> </div> </ul> </div> </div> </div><div class="wrapper w-100"> <div class="items-info"> <!-- Ako childlink sadrži proizvode, dodaj collapse funkcionalnost --> <a class="header-collection-links submenu-toggle d-flex align-items-center justify-content-between" href="#" role="button" data-toggle="collapse" data-target="#submenu-loyalty-retention" aria-expanded="false"> <span>Loyalty & Retention</span> <i class="icon-toggle"></i> </a> <!-- Submenu collapse za prikaz proizvoda --> <div class="submenu collapse no-padding-class" id="submenu-loyalty-retention"> <ul class="list-unstyled"> <div class="d-flex align-items-center mb-3 "> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/AdvancedWishlist_1200x1200_ebfdd0c2-00dc-4724-8a99-553c5f7f9872.png?v=1680781686" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/hulk-liste-de-souhaits-avance">Liste de souhaits avancée Hulk</a> </div> <div class="d-flex align-items-center mb-3 "> <img src="https://cdn.shopify.com/app-store/listing_images/8b74d91953ae6d5dbe5e63c3f50ca810/icon/CN6h5bXI8_ECEAE=.png" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/releasit-cash-on-delivery">Releasit COD Fee & OTP Verify</a> </div> <div class="d-flex align-items-center mb-3 "> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/EasyGift.png?v=1745238353" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/easygift">EasyGift</a> </div> <div class="d-flex align-items-center "> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/PostPurchase_1200x1200_150a4205-be6a-4f84-995a-37362cdf2325.png?v=1680607970" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/enquete-post-achat-de-shopify">Enquête de satisfaction Hulk après achat</a> </div> </ul> </div> </div> </div><div class="wrapper w-100"> <div class="items-info"> <!-- Ako childlink sadrži proizvode, dodaj collapse funkcionalnost --> <a class="header-collection-links submenu-toggle d-flex align-items-center justify-content-between" href="#" role="button" data-toggle="collapse" data-target="#submenu-store-management" aria-expanded="false"> <span>Store Management</span> <i class="icon-toggle"></i> </a> <!-- Submenu collapse za prikaz proizvoda --> <div class="submenu collapse no-padding-class" id="submenu-store-management"> <ul class="list-unstyled"> <div class="d-flex align-items-center mb-3 "> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/ESCEasyRedirects.png?v=1692017641" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/redirections-faciles">Redirections Faciles</a> </div> <div class="d-flex align-items-center mb-3 "> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/lock_manager_app_icon_634440dd-1afd-4f4a-b985-44ef7417e6a0.png?v=1720788009" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/wholesale-lock-manager-b2b">Wholesale Lock Manager: B2B</a> </div> <div class="d-flex align-items-center mb-3 "> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/Age_Verification_1200x1200_dfc180ba-c7c2-445d-b761-bb97adc6759f.png?v=1683730861" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/application-shopify-de-verification-dage">Vérification de l'âge Hulk</a> </div> <div class="d-flex align-items-center "> <img src="https://cdn.shopify.com/app-store/listing_images/fa9557f87f6b23c6878ab205891bb8d9/icon/CM-Vwsn0lu8CEAE=.png" width="50" class="logo mr-3" alt="Install Icon"> <a class="d-block product-title-links" href="/fr/products/accentuate-custom-fields">Accentuate Custom Fields</a> </div> </ul> </div> </div> </div></div> </ul></ul> </div> </li> <!-- Ako link ima child linkove, prikaži ga kao expandable --> <li class="nav-item first-level no-underline"> <a class="nav-link pl-0 submenu-toggle d-flex align-items-center justify-content-between app-bundles" href="#" role="button" data-toggle="collapse" data-target="#submenu-app-bundles-app-bundles" aria-expanded="false" name="App Bundles" title="App Bundles" aria-label="App Bundles"> <span>App Bundles</span> <i class="icon-toggle"></i> </a> <div class="submenu collapse two-level" id="submenu-app-bundles-app-bundles"> <ul class="list-unstyled"><!-- POSEBAN MENI ZA DRUGI LINK - PRIKAZAN U KOLONI --> <div class="custom-dropdown d-flex flex-column w-100 mb-4"> <div class="wrapper py-3 col border-class"> <p class="header-pages">Shopify Essentials</p> <p class="page-description">Build a strong online presence and streamline operations.</p> <div class="d-flex flex-column bundle-info"> <p class="bundle-price">$49/mo</p> <span>6 Apps</span> </div> <a href="/fr/pages/shopify-essentials" class="bundle-link">Explore</a> </div> <div class="wrapper py-3 col border-class"> <p class="header-pages">Growth Entrepreneur</p> <p class="page-description">Increasing website traffic, retention and conversion rates.</p> <div class="d-flex flex-column bundle-info"> <p class="bundle-price">$199/mo</p> <span>7 Apps</span> </div> <a href="/fr/pages/growth-entrepreneur" class="bundle-link">Explore</a> </div> <div class="wrapper py-3 col border-class"> <p class="header-pages">Mobile Commerce</p> <p class="page-description">Develop a strong mobile presence to expand reach.</p> <div class="d-flex flex-column bundle-info"> <p class="bundle-price">$215/mo</p> <span>7 Apps</span> </div> <a href="/fr/pages/mobile-commerce" class="bundle-link">Explore</a> </div> <div class="wrapper py-3 col border-class"> <p class="header-pages">Dropshipping Essentials</p> <p class="page-description">Scale your dropshipping business while saving money.</p> <div class="d-flex flex-column bundle-info"> <p class="bundle-price">$70/mo</p> <span>16 Apps</span> </div> <a href="/fr/pages/hulkapps-outils-essentiels-pour-le-dropshipping" class="bundle-link">Explore</a> </div> <div class="wrapper py-3 col border-class"> <p class="header-pages">All-in-One</p> <p class="page-description">Enjoy our full suite to grow your store and increase profits.</p> <div class="d-flex flex-column bundle-info"> <p class="bundle-price">$199/mo</p> <span>18 Apps</span> </div> <a href="/fr/pages/forfait-d-applications-shopify" class="bundle-link">Explore</a> </div> </div></ul> </div> </li> <!-- Ako link NEMA child linkove, prikaži ga kao običan link --> <li class="nav-item no-underline"> <a class="nav-link pl-0 capital" href="https://shopcircle.us.liberis.com/" name="Capital" title="Capital" aria-label="Capital"> Capital </a> </li> <!-- Ako link NEMA child linkove, prikaži ga kao običan link --> <li class="nav-item no-underline"> <a class="nav-link pl-0 partners" href="/fr/pages/programme-de-partenariat-hulkapps-accueil-shopify" name="Partners" title="Partners" aria-label="Partners"> Partners </a> </li> <!-- Ako link ima child linkove, prikaži ga kao expandable --> <li class="nav-item first-level no-underline"> <a class="nav-link pl-0 submenu-toggle d-flex align-items-center justify-content-between company" href="#" role="button" data-toggle="collapse" data-target="#submenu-company-company" aria-expanded="false" name="Company" title="Company" aria-label="Company"> <span>Company</span> <i class="icon-toggle"></i> </a> <div class="submenu collapse two-level" id="submenu-company-company"> <ul class="list-unstyled"><!-- POSEBAN MENI ZA POSLEDNJI LINK - VERTIKALNI PRIKAZ --> <div class="container py-2 d-flex flex-column"><div class="wrapper mb-2"> <div class="items-info"> <a class="header-collection-links" href="/fr/pages/contactez-nous-hulkapps">Contact</a> </div> </div><div class="wrapper mb-2"> <div class="items-info"> <a class="header-collection-links" href="/fr/pages/propos-de-hulkapps">About</a> </div> </div><div class="wrapper mb-2"> <div class="items-info"> <a class="header-collection-links" href="https://www.hulkapps.com/pages/careers">Careers</a> </div> </div></div></ul> </div> </li> </ul> </nav> </div> </div> <style> .no-underline .nav-link, .no-uderline .nav-item { border-bottom: none; } .padding-class { padding: 0 50px; } @media (max-width: 1023px) { .navbar-nav .nav-item { margin-bottom: 12px; } } .navbar-nav .nav-item { margin-bottom: 0; } .border-class { border-bottom: 1px solid #D9D9D9; padding-inline: 0 !important; } .mobile-adjustment { border: none !important; box-shadow: none !important; } .w-100 { margin-bottom: 10px; } .no-padding-class { padding-left: 0 !important; margin-top: 10px; } .new-mobile { top: 112px; } @media (max-width: 767px) { .new-mobile { top: 138px; } } </style></div></div><div id="shopify-section-search-layer" class="shopify-section"><div v-cloak data-search-layer data-search-type="reveal" data-section-id="search-layer"><div class="search-reveal" :class="{'opened border-top': isSearchLayerOpen}"> <div class="container"> <div class="row justify-content-center"><div class="col-lg-11 d-flex align-items-center justify-content-between"> <div class="search-support position-relative w-100 bread-search" data-autocomplete-true> <form id="searchForm" action="/search" method="get" role="search" class="search_form_services d-flex align-items-center justify-content-between position-relative"> <input type="hidden" name="type" value="" class="type_url" /> <input id="searchtext1" type="hidden" value=" -tag:search-hide-product"> <input type="search" name="q" id="searchInput" value="" placeholder="Search by task name, tool name or the site page that needs fixing" class="form-control" aria-label="Search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"> <button type="submit" class="btn btn-link btn-close p-0"> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/ic_search_light.svg?v=1618483802" alt="Search"> </button> <input type="hidden" name="type" value="product" /> </form> </div> </div> </div> </div> </div></div> </div><div class="cart-drawer d-flex flex-column" :class="{'opened shadow-lg': isCartDrawerOpen}" v-touch:swipe.right="_toggleCartDrawer"> <form class="h-100 d-flex flex-column" method="post" id="checkout-form-button"> <div class="drawer-header d-flex justify-content-between align-items-center p-4 border-bottom"> <div class="d-flex"> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/ic_cart_header.svg?v=1646374043" alt="Cart"> <h3 class="mb-0 ml-3 text-success text-gray-medium">Your cart</h3> </div> <a href="#" class="btn-close float-right" @click.prevent="_toggleCartDrawer" aria-label="Close" title="Close"><img src="https://cdn.shopify.com/s/files/1/1564/7647/files/close_header.svg?v=1646374043" alt="Close" width="20" height="20"></a> </div> <div class="drawer-body" :class="{'border-bottom': cart.item_count > 0}" data-touch-moveable> <template v-if="cart.item_count > 0"> <div v-for="(item, index, key) in cart.items" v-if="!item.properties['promo_product']" data-cart-item :key="item.id" class="row cart-item border-bottom mx-0" :class="{'border-bottom-0': index === (cart.item_count - 1)}" :data-variant-id="item.variant_id" :data-cart-limit="item.properties['cart_limit']"> <div class="col-12 p-4"> <div class="d-flex justify-content-between align-items-center"> <template v-if="item.product_type.toLowerCase().indexOf('pricing') > -1"> <a :title="item.product_title" class="item-title pr-3"> <p class="font-weight-bold text-gray-medium mb-0 text-capitalize" v-text="item.product_title"></p> </a> </template> <template v-else> <a :href="item.url" :title="item.product_title" class="item-title pr-3"> <p class="font-weight-bold text-gray-medium mb-0 text-capitalize" v-text="item.product_title"></p> </a> </template> </div> <ul v-if="item.product_options" class="list-unstyled mb-2"> <li v-for="option in item.product_options" v-if="option.value !== 'Default Title'"> <span class="text-gray text-capitalize font-weight-light text-16">${ option.name }:</span> <span class="text-gray text-capitalize font-weight-light text-16">${ option.value }</span> </li> </ul> <div class="d-flex justify-content-between align-items-center"> <div v-if="item.properties['show_per_month']"> <h4 class="mb-0 text-gray-medium">${item.properties['show_per_month']} x 12</h4> </div> <div v-else> <h4 class="mb-0 text-gray-medium" v-html="_formatMoney(item.line_price)"></h4> </div> <a href="#" class="text-danger lead d-none d-sm-block remove" title="Remove" name="Remove" aria-label="Remove" data-toggle="tooltip" data-trigger="hover" data-placement="top" @click.prevent="_removeFromCart(index+1, $event)" :data-product-id="item.product_id" :data-product-title="item.product_title" :data-product-price="item.final_line_price" :data-product-variant="item.variant_title" :data-product-qty="item.quantity" :data-product-sku="item.sku" :data-uid="item.properties['uid']" :data-is-addon="item.properties['_addon_product']" :data-is-subscription="item.properties['subscription_id']" :data-is-package-product="item.properties['is_package_product']"> <img src="https://cdn.shopify.com/s/files/1/1564/7647/files/delete_0b131f7d-85bd-4704-8aef-564f3d417f95.svg?v=1618486641" width="20px" height="20px" alt="Delete" class=""> </a> </div> </div> </div> </template> <div v-else class="text-center mt-5"> <div class="icon"><i class="icon ion-md-cart"></i></div> <p class="mb-3 text-muted">Your cart is currently empty.</p> <button class="btn btn-primary btn-sm" @click.prevent="_toggleCartDrawer">Continue Browsing</button> </div> </div> <div class="d-flex justify-content-between align-items-center px-4 py-4 border-bottom"> <h3 class="mb-0 text-primary">Total</h3> <h3 v-html="_formatMoney(cart.total_price)" class="mb-0 text-primary"></h3> </div> <div v-if="cart.item_count > 0" class="drawer-footer bg-white"> <div class="test btn-group btn-group-sm btn-group-justified px-4 py-4" role="group"> <h4 class="mb-0"> <template v-if="cart_item_type_count.item_theme_count > 0 && cart_item_type_count.item_other_count <= 0"> <a href="/checkout" class="btn btn-primary font-weight-bold"> Checkout </a> </template> <template v-else> <!-- <a href="javascript:void(0)" class="btn btn-primary font-weight-bold cart-open-popup" @click.prevent="__modalPopup($event)"> Checkout </a> --> <a href="/checkout" class="btn btn-primary font-weight-bold"> Checkout </a> </template> </h4> </div> </div> </form> </div> <div class="cart-popup mt-4"> <div class="modal-dialog modal-lg m-0" style="max-width: 900px;" role="document"> <div class="modal-content shadow rounded-0 border-0 px-6 py-4"> <div class="modal-header border-0 p-0"> <div class="mr-1"> <h3 class="mb-1 text-uppercase text-gray-medium">Before you continue</h3> <p class="mb-4">Please share a few essential pieces of information that'll help our support members work quickly on your project</p> </div> <button type="button" class="close cart-close-popup shadow-none" data-dismiss="modal" aria-label="Close" style="opacity: 1;" @click.prevent="__modalPopup($event)"> <i class="ion ion-ios-close h1 mb-0"></i> </button> </div> <div class="modal-body p-0"> <form data-cart-form action="/cart" method="post" id="checkout-form" class="row"> <div class="col-6 mb-4"> <label class="mb-2">Store url<span class="text-danger">*</span>:</label> <div class="input-group"> <input type="text" class="form-control py-2 h-auto" id="store-url" aria-label="Store URL" placeholder="" /> <div class="input-group-append"> <span class="input-group-text bg-gray-200 py-2" id="post-url-text">.myshopify.com</span> </div> </div> </div> <div class="col-6 mb-4"> <label class="mb-2">Page url:</label> <input type="url" class="form-control py-2 h-auto" id="page-url" aria-label="Page URL" placeholder="" /> </div> <div class="col-6 mb-4"> <label class="mb-2">Storefront password:</label> <input type="text" class="form-control py-2 h-auto" id="store-pwd" aria-label="Storefront Password" placeholder="" /> </div> <div class="col-6 mb-4"> <label class="mb-2">Theme name<span class="text-danger">*</span>:</label> <input type="text" class="form-control py-2 h-auto" id="theme-name" aria-label="Theme Name" placeholder="" /> </div> <template v-if="cart.item_count > 0" v-for="(item, index, key) in cart.items"> <template v-if="item.tags.indexOf('pixel-doc-link') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Doc links:</label> <div class="input-group"> <textarea class="form-control py-2 h-auto" id="doc-link" aria-label="Doc Link" placeholder="Add urls seperated by comma"></textarea> <small class="w-100 pt-2">Help us implement Pixel tracking with Shopify. Share the documentation link here if you have any!</small> </div> </div> </template> <template v-if="item.tags.indexOf('pixel-ref-links') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Reference links:</label> <textarea class="form-control py-2 h-auto" id="ref-links" aria-label="Reference Links" placeholder="Add urls seperated by comma"></textarea> </div> </template> <template v-if="item.tags.indexOf('pixel-desc') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Description:</label> <textarea class="form-control py-2 h-auto" id="description" aria-label="Description" placeholder=""></textarea> </div> </template> <template v-else-if="item.tags.indexOf('cj-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Container tag ID:</label> <input class="form-control py-2 h-auto" type="text" id="tag-id" aria-label="Container Tag ID" placeholder="" /> </div> <div class="col-6 mb-4"> <label class="mb-2">TypeID:</label> <input class="form-control py-2 h-auto" type="text" id="type-id" aria-label="TypeID" placeholder="" /> </div> <div class="col-6 mb-4"> <label class="mb-2">CID:</label> <input class="form-control py-2 h-auto" type="text" id="c-id" aria-label="CID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('taboola-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Taboola pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="taboola-id" aria-label="Taboola Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('share-a-sale-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">ShareASale merchant ID:</label> <input class="form-control py-2 h-auto" type="text" id="shareasale-merchant-id" aria-label="ShareASale Merchant ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('criteo-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Criteo pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="criteo-id" aria-label="Criteo Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('outbrain-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">OutBrain pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="outbrain-id" aria-label="OutBrain Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('yahoo-gemini-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Yahoo/gemini pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="yahoo-gemini-id" aria-label="Yahoo/gemini Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('gtm-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Google tag manager ID:</label> <input class="form-control py-2 h-auto" type="text" id="gtm-id" aria-label="Google Tag Manager ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('tiktok-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">TikTok pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="tiktok-id" aria-label="TikTok Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('pandora-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Pandora pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="pandora-id" aria-label="Pandora Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('amazon-attribution-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Amazon attribution pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="amazon-attribution-id" aria-label="Amazon Attribution Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('amazon-product-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Amazon product targeting pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="amazon-product-id" aria-label="Amazon Product Targeting Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('adbeat-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Adbeat pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="adbeat-id" aria-label="Adbeat Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('redirect-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Redirect pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="redirect-id" aria-label="Redirect Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('blackfire-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">BlackFire pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="blackFire-id" aria-label="BlackFire Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('comscore-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">ComScore pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="comscore-id" aria-label="ComScore Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('rakuten-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Rakuten pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="rakuten-id" aria-label="Rakuten Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('retention-science-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Retention science:</label> <input class="form-control py-2 h-auto" type="text" id="retention-science-id" aria-label="Retention Science" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('upsellit-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">UpSellit:</label> <input class="form-control py-2 h-auto" type="text" id="upsellit-id" aria-label="UpSellit" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('gift-wizard-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Gift wizard pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="gift-wizard-id" aria-label="Gift Wizard Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('olapic-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Olapic pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="olapic-id" aria-label="Olapic Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('yotpo-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Yotpo pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="yotpo-id" aria-label="Yotpo Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('amazon-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Amazon pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="amazon-id" aria-label="Amazon Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('crazy-egg-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Crazy egg pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="crazy-egg-id" aria-label="Crazy Egg Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('source-knowledge-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Source knowledge pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="source-knowledge-id" aria-label="Source Knowledge Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('juntuno-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">JuntUNO pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="juntuno-id" aria-label="JuntUNO Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('visual-iq-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Visual IQ pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="visual-iq-id" aria-label="Visual IQ Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('double-click-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Double click ID:</label> <input class="form-control py-2 h-auto" type="text" id="double-click-id" aria-label="Double Click ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('google-ads-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Google ads conversion ID:</label> <input class="form-control py-2 h-auto" type="text" id="google-ads-id" aria-label="Google Ads Conversion ID" placeholder="" /> </div> <div class="col-6 mb-4"> <label class="mb-2">Google ads conversion Lable:</label> <input class="form-control py-2 h-auto" type="text" id="google-ads-label" aria-label="Google Ads Conversion Lable" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('google-analytics-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">GA ID:</label> <input class="form-control py-2 h-auto" type="text" id="google-analytics-id" aria-label="Google Analytics ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('keynes-digital-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Keynes digital pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="keynes-digital-id" aria-label="Keynes Digital Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('talkable-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Talkable pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="talkable-id" aria-label="Talkable Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('jumbleberry-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Jumbleberry merchant ID:</label> <input class="form-control py-2 h-auto" type="text" id="jumbleberry-merchant-id" aria-label="Jumbleberry Merchant ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('google-optimize-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Google optimize ID:</label> <input class="form-control py-2 h-auto" type="text" id="google-optimize-id" aria-label="Google Optimize ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('reddit-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Reddit pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="reddit-id" aria-label="Reddit Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('quora-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Quora pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="quora-id" aria-label="Quora Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('linkedin-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Linkedin pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="linkedin-id" aria-label="Linkedin Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('twitter-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Twitter pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="twitter-id" aria-label="Twitter Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('pinterest-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Pinterest pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="pinterest-id" aria-label="Pinterest Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('hotjar-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Hotjar pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="hotjar-id" aria-label="Hotjar Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('facebook-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Facebook pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="facebook-id" aria-label="Facebook Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('bing-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Bing pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="bing-id" aria-label="Bing Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('adroll-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Adroll pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="adroll-pixel-id" aria-label="Adroll Pixel ID" placeholder="" /> </div> <div class="col-6 mb-4"> <label class="mb-2">Adroll adv ID:</label> <input class="form-control py-2 h-auto" type="text" id="adroll-adv-id" aria-label="Adroll Adv ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('inuvo-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Inuvo pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="inuvo-id" aria-label="Inuvo Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('avantlink-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Avantlink pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="avantlink-id" aria-label="Avantlink Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('audiencex-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">AudienceX pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="audiencex-id" aria-label="AudienceX Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('hivewyre-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Hivewyre pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="hivewyre-id" aria-label="Hivewyre Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('power-inbox-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Power inbox pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="power-inbox-id" aria-label="Power Inbox Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('trust-pilot-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Trust pilot pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="trust-pilot-id" aria-label="Trust Pilot Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('retargeter-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Retargeter pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="retargeter-id" aria-label="Retargeter Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('bouncex-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">BounceX pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="bouncex-id" aria-label="BounceX Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('snapchat-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">Snapchat pixel ID:</label> <input class="form-control py-2 h-auto" type="text" id="snapchat-id" aria-label="Snapchat Pixel ID" placeholder="" /> </div> </template> <template v-else-if="item.tags.indexOf('awin-pixel') > -1"> <div class="col-6 mb-4"> <label class="mb-2">AWIN merchant ID:</label> <input class="form-control py-2 h-auto" type="text" id="awin-merchant-id" aria-label="AWIN Merchant ID" placeholder="" /> </div> </template> </template> <div class="col-12"> <div class="custom-control custom-checkbox mb-3"> <input type="checkbox" class="custom-control-input" id="terms-agree"> <label class="custom-control-label" for="terms-agree">By checking this box, you agree to our <a href="/pages/services-packages-terms-of-service" class="" target="_blank" rel="noopener">Terms of Service</a>.</label> </div> <h4 class="text-gray-600">Thank you for your patience:</h4> <p class="text-gray-600 text-16">As soon as we review your idea, we'll give you an update. Please notice that any access to the product(s) or service offered by HulkApps does not count for a refund. However, should you experience problems with your order, we urge you to reach out to our <a href="https://hulk.freshdesk.com/support/tickets/new" target="_blank" rel="noopener" class="" aria-label="Dedicated support team"> dedicated support team </a>. </p> <button class="btn btn-secondary mr-3" type="submit" name="checkout" disabled onclick="event.preventDefault(); app.onCheckout(event);" >Proceed to Checkout</button> <a href="/pages/how-it-works" class="mt-2" target="_blank" rel="noopener"><span class="text-underline">Unsure how it works</span><i class="ion ion-md-arrow-round-forward ml-2"></i></a> </div> </form> </div> </div> </div> </div><div class="pricing-popup mt-4 "> <div class="modal-dialog modal-lg m-0" style="max-width: 800px;" role="document"> <div class="modal-content shadow rounded-0 border-0 px-6 py-4"> <div class="modal-header border-0 p-0"> <button type="button" class="btn close pricing-close-popup shadow-none" data-dismiss="modal" aria-label="Close" style="opacity: 1;" @click.prevent="__modalPopup($event)"> <i class="ion ion-ios-close h1 mb-0"></i> </button> </div> <div class="modal-body p-0"> <!--<div style="margin:0 auto;" class="pxFormGenerator" id=""></div>--><div style="margin:0 auto;" class="pxFormGenerator" id=""></div></div> </div> </div> </div></div> <div id="hulkapps-popup" class="modal fade" tabindex="-1" role="dialog"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <button aria-label="close" class="btn btn-link btn-close text-right shadow-none"> <i class="icon ion-md-close"></i> </button> <div class="modal-body pt-0"> <p class="text-justify mb-0 p-3">Rising to serve you better, we are delighted to announce that PlanetX has been acquired by HulkApps, a Chicago-based leading Shopify agency. The combination of HulkApps Shopify services and PlanetX's strong capabilities in the eCommerce industry will lead to continued growth for both companies.</p> </div> </div> </div> </div> <div class="modal fade" id="indexing_popup" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered m-3"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> </div> <div class="modal-body px-4"> <div class="modal-art-content"></div> <div class="modal-art-helpful"></div> </div> <div class="modal-footer"> <button type="button" class="btn btn-danger text-white" data-dismiss="modal">Close</button> </div> </div> </div> </div> <!-- <div class="modal fade image-modal" id="imagemodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered modal-lg" style="max-height: 100px;"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"> <i class="ion ion-md-close"></i> <span class="d-none">Close</span> </button> </div> <div class="modal-body text-center"><img src="https://cdn.shopify.com/s/files/1/1564/7647/files/HA_Logo.svg?v=1646376061" class="img-fluid imagepreview" alt="Image Preview"></div> </div> </div> </div> --> <div class="modal fade cart-message-modal" id="cart-message" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered modal-lg"> <div class="modal-content"> <div class="modal-header"> <h3 class="" id="myModalLabel">Oops! Please check your cart.</h3> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body px-3"> <h4>Looks like your cart already has a lateral package! Please remove it to proceed.</h4> </div> </div> </div> </div> <div data-app-scripts></div> <script> // IE11 => recognize the remove() method Element.prototype.remove = function() { this.parentElement.removeChild(this); } NodeList.prototype.remove = HTMLCollection.prototype.remove = function() { for(var i = this.length - 1; i >= 0; i--) { if(this[i] && this[i].parentElement) { this[i].parentElement.removeChild(this[i]); } } } // IE11 => responsive images function loadJS(u){var r = document.getElementsByTagName("script")[0], s = document.createElement("script");s.src = u;r.parentNode.insertBefore(s, r);} if(!window.HTMLPictureElement){ document.createElement('picture'); loadJS("//cdn.jsdelivr.net/g/respimage(respimage.min.js+plugins/mutation/ri.mutation.min.js+plugins/intrinsic-dimension/ri.intrinsic.min.js+plugins/typesupport/ri.type.min.js)"); } </script> <script type="text/javascript" src="//www.hulkapps.com/cdn/shop/t/331/assets/vendors@layout.theme.js?v=130180452928213393621752561832" defer="defer"></script><script type="text/javascript" src="//www.hulkapps.com/cdn/shop/t/331/assets/layout.theme.js?v=32044456156512041311752561810" defer="defer"></script><script> window.theme = { moneyFormat: "${{amount}}", productExcludeTag: "", sizeSwatchesEnabled: false, productReviewsEnabled: true, utilitiesAppEnabled: true }; </script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Organization", "url": "https://www.hulkapps.com", "name": "HulkApps", "logo": { "@type": "ImageObject", "url": "https://www.hulkapps.com/cdn/shop/files/Hulk_Logo_New_200x.svg?v=1740386263" }, "sameAs": [ "https://www.facebook.com/hulkapps1", "https://twitter.com/hulkapps", "https://www.instagram.com/hulkapps/" ] } </script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "url": "https://www.hulkapps.com", "potentialAction": { "@type": "SearchAction", "target": "https://www.hulkapps.com/search?q={search_term_string}", "query-input": "required name=search_term_string" } } </script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "item": { "@id": "https://www.hulkapps.com", "name": "Home" } } ,{ "@type": "ListItem", "position": 2, "item": { "@id": "https://www.hulkapps.com/blogs/ecommerce-hub", "name": "Ecommerce Hub" } } ,{ "@type": "ListItem", "position": 3, "item": { "@id": "https://www.hulkapps.com/blogs/ecommerce-hub/ecommerce-hub/naviguer-dans-le-dilemme-numerique-comprendre-l-erreur-429-too-many-requests-1", "name": "Naviguer dans le dilemme numérique : Comprendre l'erreur "429 Too Many Requests"" } } ] } </script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "articleBody": "Naviguer dans le dilemme numérique: Comprendre l'erreur 429 Trop de requêtes Table des matièresIntroductionDécryptage de l'erreur: Une exploration approfondieRéponses stratégiques: Atténuer l'erreurNaviguer à travers les défisConclusionSection FAQIntroductionImaginez, si vous le voulez bien, vous lancer dans une croisade numérique passionnante, vos doigts prêts à l'action, pour être brusquement arrêté par un écran proclamant, 429 Trop de requêtes. Initialement déroutante, cet arrêt numérique n'est pas simplement une barricade aléatoire mais une mesure réfléchie dans la danse complexe du protocole internet. Aussi surprenant que cela puisse paraître, rencontrer cette erreur peut être un moment d'apprentissage crucial sur l'équilibre délicat entre le trafic web et la gestion des ressources.Cet article de blog vise à démêler le mystère derrière l'erreur 429 Trop de requêtes , un message commun mais souvent mal compris rencontré dans l'immense domaine d'internet. En explorant ses causes, implications, et, plus important encore, solutions, nous avons l'intention d'armer les lecteurs de connaissances et de stratégies pour naviguer ce défi. Que vous soyez propriétaire de site web, développeur, ou simplement un passionné d'internet, comprendre cette erreur peut améliorer votre expérience web, garantissant des interactions digitales plus fluides.Décryptage de l'erreur: Une exploration approfondieLes bases: Que signifie 429 Trop de requêtes ?Fondamentalement, l'erreur 429 Trop de requêtes est un code d'état HTTP indiquant qu'un utilisateur a envoyé trop de requêtes à un serveur dans un laps de temps donné. Contrairement à d'autres erreurs qui pourraient être le résultat d'une mauvaise configuration du serveur ou de pages non disponibles, celui-ci aborde directement la question du contrôle du taux.Contrôle du taux: Un outil de gestion web nécessaireLe contrôle du taux est une mesure critique employée par les administrateurs web pour assurer une allocation équitable des ressources du serveur parmi les utilisateurs. En fixant une limite sur le nombre de requêtes qu'un utilisateur peut effectuer, il empêche qu'un seul utilisateur monopolise les ressources, maintenant ainsi la qualité du service pour tous. Ce mécanisme renforce non seulement la sécurité en contrecarrant les attaques par déni de service (DoS) mais optimise également les performances du serveur.Les implications: Pourquoi cela importeL'impact immédiat de rencontrer une erreur 429 est, tout simplement, un refus temporaire d'accès aux ressources d'un site web. Pour l'utilisateur lambda, cela peut aller d'un léger inconvénient à un obstacle majeur, selon l'urgence de son besoin. Pour les développeurs et les propriétaires de sites web, comprendre et gérer cette erreur est crucial pour l'expérience utilisateur et la réputation du site.Réponses stratégiques: Atténuer l'erreurPour les Utilisateurs: Conseils de résolution efficacesLa patience paie : Souvent, la solution la plus simple est d'attendre et de réessayer la requête après un certain temps.Vérifiez votre réseau : Assurez-vous que des scripts automatisés ou des logiciels défaillants ne bombardent pas le serveur de requêtes non désirées.Limitez vos requêtes : Si vous effectuez délibérément plusieurs requêtes (par ex., appels API), essayez de les espacer ou de réduire leur fréquence.Pour les Propriétaires de Sites Web et Développeurs: Bonnes pratiques dans la configuration du contrôle de tauxCommunication transparente : Informez les utilisateurs des limites de taux à travers des messages clairs et une documentation, surtout si vous gérez une API.Limites dynamiques : Envisagez d'implémenter des limites de taux dynamiques qui s'ajustent en fonction de la charge du serveur, du comportement passé de l'utilisateur, ou de l'heure de la journée.Fournir des retours : Lors du rejet d'une requête avec une erreur 429, incluez des informations sur la durée pendant laquelle l'utilisateur devrait attendre avant de refaire une autre requête.Naviguer à travers les défisGérer l'équilibre entre la demande des utilisateurs et la capacité du serveur est un défi continu. Implémenter des stratégies adaptatives de contrôle de taux qui considèrent le comportement des utilisateurs et les performances du serveur peut créer une expérience web plus fluide. De plus, les propriétaires de sites web devraient surveiller les modèles de trafic pour ajuster proactivement les seuils et éviter les erreurs 429 inutiles.ConclusionL'erreur 429 Trop de requêtes sert de rappel de l'interaction complexe entre les utilisateurs web et l'infrastructure qui les soutient. En comprenant les principes derrière cette erreur et en appliquant des solutions réfléchies, nous pouvons favoriser un internet plus sain et accessible. Pour les utilisateurs, un peu de patience et des habitudes de navigation conscientes vont loin. Pour les développeurs web et les propriétaires, un contrôle de taux efficace et une communication claire peuvent atténuer la frustration et maintenir le bon fonctionnement du monde digital.Alors que nous continuons à naviguer dans le monde numérique, voyons ces erreurs non pas comme des obstacles mais comme des panneaux indicatifs nous guidant vers une interaction web plus responsable et efficace.Section FAQQ: Actualiser la page peut-il aider à résoudre l'erreur 429 Trop de requêtes ?R: Bien que l'instinct puisse vous pousser à actualiser la page, cela peut parfois aggraver le problème en envoyant des requêtes supplémentaires. Il est généralement préférable d'attendre quelques minutes avant d'essayer à nouveau.Q: Comment les développeurs décident-ils du seuil de la limite de taux?R: Les seuils sont souvent déterminés en analysant des cas d'utilisation moyens, la capacité des serveurs, et l'objectif de fournir un accès équitable tout en prévenant les abus. Ces métriques peuvent varier considérablement en fonction du service fourni.Q: Est-il possible d'être banni définitivement pour avoir fait trop de requêtes?R: Un non-respect continu des limites de taux peut conduire à des restrictions plus strictes ou des interdictions temporaires de certains services, surtout s'il est perçu comme un comportement abusif. Respecter les directives et limites fournies est crucial.Q: Le contrôle de taux peut-il affecter le référencement SEO de mon site web?R: Un contrôle de taux correctement mis en place ne devrait pas affecter le référencement SEO de votre site web. Il est conçu pour assurer la stabilité et la disponibilité de votre site, des facteurs positifs pour le classement dans les moteurs de recherche. Toutefois, un contrôle de taux excessivement restrictif pourrait potentiellement entraver les crawlers des moteurs de recherche. Une communication ouverte avec les moteurs de recherche et la configuration de taux de crawl appropriée peuvent atténuer ce risque.", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://www.hulkapps.com" }, "headline": "Naviguer dans le dilemme numérique : Comprendre l'erreur "429 Too Many Requests"", "image": [ "https://www.hulkapps.com/cdn/shop/articles/scaled_IMAGE-FILE-UPLOADS-navigating-the-digital-dilemma-understanding-the-429-too-many-requests-error-858408_1024x.jpg?v=1722281245" ], "datePublished": "2024-04-17T12:30:20Z", "dateCreated": "2024-04-17T12:30:21Z", "author": { "@type": "Person", "name": "Erol S." }, "publisher": { "@type": "Organization", "logo": { "@type": "ImageObject", "height": "585", "url": "https://www.hulkapps.com/cdn/shop/articles/scaled_IMAGE-FILE-UPLOADS-navigating-the-digital-dilemma-understanding-the-429-too-many-requests-error-858408_1024x.jpg?v=1722281245", "width": "1024" }, "name": "HulkApps" } } </script> <script type="text/javascript"> var wowele = document.getElementsByClassName('wow'); if (wowele.length > 0) { var wowScript = "https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js"; var s = document.createElement( 'script' ); s.setAttribute( 'src', wowScript ); document.head.appendChild( s ); } </script> <script defer async style="text/javascript"> window.addEventListener('load', function() { let urlData = '"https:\/\/d23dclunsivw3h.cloudfront.net\/redirect-app.js?shop=hulkapps.myshopify.com","https:\/\/cdn.opinew.com\/js\/opinew-active.js?shop=hulkapps.myshopify.com"'; urlData = urlData.split(','); if (urlData.length > 0) { for (i = 0; i < urlData.length; i++) { var linkUrl = urlData[i].replaceAll('"',''); if(linkUrl.indexOf('reviews.hulkapps.com') > -1|| linkUrl.indexOf('contactform.hulkapps.com') > -1){if (linkUrl.indexOf('reviews.hulkapps.com') <= -1) { var s = document.createElement( 'script' ); s.setAttribute( 'src', linkUrl ); s.defer = true; document.head.appendChild( s ); }} else if(linkUrl.indexOf('formbuilder.hulkapps.com') > -1){} else{ var s = document.createElement( 'script' ); s.setAttribute( 'src', linkUrl ); s.defer = true; document.head.appendChild( s ); } } } var calendlyele = document.getElementsByClassName('calendly-popup'); if (calendlyele.length > 0) { var calendyScript = document.createElement( 'script' ); calendyScript.setAttribute( 'src', 'https://assets.calendly.com/assets/external/widget.js' ); calendyScript.defer = true; document.head.appendChild( calendyScript ); } }); </script> <script> function copyToClipboard(inputId, currentBtn) { /* Get the text field */ var inputField = currentBtn.closest("div").querySelector(inputId); /* If it isn't "undefined" and it isn't "null", then it exists. */ if(inputField && typeof(inputField) != 'undefined' && inputField != null) { /* Copy the text inside the text field */ navigator.clipboard.writeText(inputField.value); /* Change button text and background */ currentBtn.style.background = '#008000'; currentBtn.innerHTML = 'Copied !'; setTimeout(() => { currentBtn.style.background = '#4a4a4a'; currentBtn.innerHTML = 'Copy Code'; }, 3000); } } </script> <script>!function () {var reb2b = window.reb2b = window.reb2b || [];if (reb2b.invoked) return;reb2b.invoked = true;reb2b.methods = ["identify", "collect"];reb2b.factory = function (method) {return function () {var args = Array.prototype.slice.call(arguments);args.unshift(method);reb2b.push(args);return reb2b;};};for (var i = 0; i < reb2b.methods.length; i++) {var key = reb2b.methods[i];reb2b[key] = reb2b.factory(key);}reb2b.load = function (key) {var script = document.createElement("script");script.type = "text/javascript";script.async = true;script.src = "https://s3-us-west-2.amazonaws.com/b2bjsstore/b/" + key + "/reb2b.js.gz";var first = document.getElementsByTagName("script")[0];first.parentNode.insertBefore(script, first);};reb2b.SNIPPET_VERSION = "1.0.1";reb2b.load("Y4O7Z0H2Y3NX");}();</script> <script> let faqQuestion = []; let faqAnswer = []; if (document.querySelectorAll('.article-content').length) { document.querySelectorAll('.article-content ul li.text-gray-900').forEach(function (v) { faqQuestion.push(v.innerHTML.split('<ul')[0].trim().replace(/\n/g, '').replace(/\t/g, '')) }); document.querySelectorAll('.article-content ul li.text-gray-900 ul li:first-child').forEach(function (v) { faqAnswer.push(v.innerText.trim()) }); _callSchemaMarkupacrticle(); } function _callSchemaMarkupacrticle() { let object = { "@context": "https://schema.org", "@type": "ClaimReview", "datePublished": "2024-04-17 12:30:20 +0530", "url": "/fr/blogs/ecommerce-hub/naviguer-dans-le-dilemme-numerique-comprendre-l-erreur-429-too-many-requests-1", "claimReviewed": "Ecommerce Hub", "itemReviewed": { "@type": "Claim", "author": { "@type": "Organization", "name": "Naviguer dans le dilemme numérique : Comprendre l'erreur "429 Too Many Requests"" }, }, "reviewRating": { "@type": "Rating", "ratingValue": "5", "bestRating": "5", "worstRating": "1", "alternateName": "False" }, "mainEntity": [] }; let faqs = [] for (let [i, question] of faqQuestion.entries()) { let tempObj = { "@type": "Question", "name": faqQuestion[i], "acceptedAnswer": { "@type": "Answer", "text": faqAnswer[i] } } faqs.push(tempObj); } object.mainEntity = faqs; console.log(object, 'object') const jsonldScript = document.createElement('script'); jsonldScript.id = "faqs-schema"; jsonldScript.setAttribute('type', 'application/ld+json'); jsonldScript.textContent = JSON.stringify(object); document.head.appendChild(jsonldScript); } </script> <div class="msg-tooltip wishlistError"></div> <div class="hulk__wishlist-wrap" style="display:none"> <div class="wishlist-popup" data-hulkappsMyWishlistPopup> <div class="wishlist-modal modal-medium"> <div class="wishlist-modal__content"> <div class="wishlist-modal__header" style="padding-top: 15px;"> <h2 data-sidebarWidgetwishlisttitle>Your wishlist</h2> <button class="close-popup" data-closeMyWishlistPopup2><span class="icon-wishlist-cross"></span></button> </div> <div class="wishlist-modal__body"> <select class="hulk-wishlists" data-sidebarWidgetHulkWishlists style="display: none;"></select> <div class="wishlist-empty" data-hulkemptywishlist="" style="display: none;"> <div class="empty_content"> <span>Please add product to your wishlist to see them here.</span> </div> </div> <div class="wishlist-login" data-hulkloginmsg="" style="display: none;"> <div class="empty_content"> <span>Login to see your wishlist!</span> </div> </div> <ul class="bulk_action"> <li data-selectallwishlist="" style="display: inline-block;"><input type="checkbox" id="hulk_select_all" name="select_all" value="select_all" data-com.bitwarden.browser.user-edited="yes"><span>Select All</span></li> <li data-hulkmoveallitmes="" style="display: none;"><a href="javascript:void(0)" aria-describedby="a11y-external-message">Move to cart</a></li> <li data-hulkdeleteallitmes="" style="display: none;"><a href="javascript:void(0)" aria-describedby="a11y-external-message">Delete</a></li> </ul> <div class="wishlist-grid-view" data-hulkMyWishlistItems="" style="display: flex;"> </div> </div> <div class="wishlist-modal__footer"> <a href="/account/login" class="hulkBtnStyle" data-loginBtn style="display: none;">Login</a> <a href="//" class="wishlist-btn hulkBtnStyle" data-viewMore style="display: none;">Explore more products</a> <a href="/collections" class="wishlist-btn hulkBtnStyle" data-addProductBtn style="display: none;">Add products</a> <button class="wishlist-btn hulkBtnStyle close-btn" data-closeMyWishlistPopup style="display: none; margin-left: 15px;">Close</button> </div> </div> </div> </div> <div class="wishlist-popup" data-hulkappsWishlistPopup> <div class="wishlist-modal modal-small"> <div class="wishlist-modal__content"> <div class="wishlist-modal__header"> <h2 data-hulkWishlistHeading>Add to wishlist</h2> <button class="close-popup" data-closeWishlistPopup><span class="icon-wishlist-cross"></span></button> </div> <div class="wishlist-modal__body"> <p data-chooseWishlistText>Choose your wishlist to be added</p> <form> <ul class="choose-wishlist-option" data-userWishlists> </ul> <ul class="choose-wishlist-option" > <li data-openCreateSection> <a href="#" class="creat_link"> <span class="icon-wishlist-plus hulkThemeColor"></span><span data-createWishlistText class="hulkThemeColor">Create New wishlist</span> </a> </li> <li data-addNewWishlist style="display: none"> <div class="input-group"> <button class="close-new-wishlist-input" data-closenewwishlistinput="" style="font-size: 10px;float: right;padding: 6px; color: #aaa;"> <span class="icon-wishlist-cross"></span> </button> <label for="newWishlist" class="wishlist-checkbox"><span></span><input data-newWishlist type="text" placeholder="Ex. Watch" value=""></label> <button class="wishlist-btn hulkBtnStyle" data-saveNewWishlist>Save</button> </div> </li> </ul> </form> </div> <div class="wishlist-modal__footer"> <a data-myWishlistText href="/apps/advanced-wishlist" class="modal-footer-link hulkThemeColor"> My Wishlist </a> <button class="wishlist-btn hulkBtnStyle" disabled data-AddToWishlist>Save</button> </div> </div> </div> </div> <div class="wishlist-popup wishlist-share-popup" data-HulkappsShare> <div class="wishlist-modal modal-small"> <div class="wishlist-modal__content"> <button class="close-popup" data-closewishlistpopup><span class="icon-wishlist-cross" data-closeWishlistPopup></span></button> <div class="wishlist-modal__body"> <div class="wishlist-custom-email-popup"> <h5 data-emailPopupTitle style="font-size: 20px;">Share List Via Email</h5> <form action="/share-wishlist" method="post" class="floating-form" role="share-wishlist" data-HulkEmailForm> <div class="floating-label"> <input type="text" class="floating-input" placeholder=" " name="name" value="" aria-label="Search our store"> <span class="highlight"></span> <label id="from_name_label">Sender Name*</label> </div> <div class="floating-label"> <input type="email" class="floating-input" placeholder=" " name="email" value="" aria-label="Search our store"> <span class="highlight"></span> <label id="email_label">Recipients Email*</label> </div> <div class="floating-label"> <input type="text" class="floating-input" placeholder=" " name="subject" value="" aria-label="Search our store"> <span class="highlight"></span> <label id="subject_label">Subject*</label> </div> <div class="floating-label"> <textarea id="body" class="floating-input" placeholder=" " name="body" rows="4" style="width: 100%"></textarea> <span class="highlight"></span> <label for="body" id="email_body_label">Message*</label> </div> <div class="floating-label" style="margin-bottom: 20px;"> <button type="submit" class="wishlist-btn hulkBtnStyle" data-HulkSendEmailButton>SHARE WISHLIST</button> </div> </form> </div> <hr> <div class="wishlist-modal__header" style="margin-bottom: 1rem;"> <h5 style="font-size: 18px;">Or Share Via</h5> </div> <ul class="social-list-icon"> <li><a href="#" data-shareFacebook target="_blank" rel="noopener"><img src="https://hulkapps-wishlist.nyc3.digitaloceanspaces.com/assets/images/ic_facebook_1.svg" alt="Facebook Share" /></a></li> <li><a href="#" data-sharePintrest target="_blank" rel="noopener"><img src="https://hulkapps-wishlist.nyc3.digitaloceanspaces.com/assets/images/ic_pinterest_1.svg" alt="Pinterest Share" /></a></li> <li><a href="#" data-shareTwitter target="_blank" rel="noopener"><img src="https://hulkapps-wishlist.nyc3.digitaloceanspaces.com/assets/images/ic_pinterest_1.svg" alt="Twitter Share" /></a></li> <li><a href="#" data-copyshareURLButton target="_blank" rel="noopener"><img src="https://hulkapps-wishlist.nyc3.digitaloceanspaces.com/assets/images/ic_email_1.svg" alt="Email Share" title="Copy wishlist link"/></a></li> </ul> <p style="display: none">Copy wishlist link to share</p> <form class="input-group search-bar" style="padding: 0;"> <input type="text" id="shareURL" value="" class="input-group-field" data-shareURL readonly /> <span class="input-group-btn"> <button type="button" class="wishlist-btn hulkBtnStyle" data-copyshareURLButton> <p>Copy</p> </button> </span> </form> </div> </div> </div> </div> <div class="wishlist-popup wishlist-share-popup" data-HulkappsSubscribe> <div class="wishlist-modal modal-small"> <div class="wishlist-modal__content"> <button class="close-popup" data-closewishlistpopup><span class="icon-wishlist-cross" data-closeWishlistPopup></span></button> <div class="wishlist-modal__body"> <div class="Subscribe-content"> <h5 data-popupTitle>Subscribe and get alerts about your Wishlist</h5> <p data-popupSubTitle>We will notify you on events like Low stock, Restock, Price drop or general reminders so that you don’t miss the deal</p> </div> <form action="/subscribe" method="post" class="input-group search-bar" role="subscribe" data-HulkSubscribeForm> <input type="email" name="email" value="" placeholder="user@gmail.com" class="input-group-field" aria-label="Search our store"> <span class="input-group-btn"> <button type="submit" class="wishlist-btn hulkBtnStyle" data-HulkSubscribeButton>Subscribe</button> </span> </form> </div> </div> </div> </div> <div class="wishlist-popup wishlist-card" data-hulkQuickView > <div class="wishlist-modal modal-medium"> <div class="wishlist-modal__content"> <div class="wishlist-modal__body product-view-popup"> <button class="close-popup" data-closewishlistpopup><span class="icon-wishlist-cross" data-closeWishlistPopup></span></button> <div class="wrapper_grid"> <div class="grid_5"> <div class="wishlist-carousel-main carousel" data-mainCarousal> <div class="carousel-inner"> </div> <ol class="carousel-indicators" data-navCarousel> </ol> <div class="slider-arrows"> <div class="carousel-control left"> <div class="arrow left"> <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 256 256" style="enable-background:new 0 0 256 256;" xml:space="preserve"> <g> <g> <polygon points="48.9,128 176.9,256 207.1,225.8 109.3,128 207.1,30.2 176.9,0 "/> </g> </g> </svg> </div> </div> <div class="carousel-control right"> <div class="arrow right"> <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 256 256" style="enable-background:new 0 0 256 256;" xml:space="preserve"> <g> <g> <polygon points="79.093,0 48.907,30.187 146.72,128 48.907,225.813 79.093,256 207.093,128 "/> </g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> </svg> </div> </div> </div> </div> </div> <div class="grid_7"> <div class="popup-details"> <div class="popup-product-info"> <p class="vendor" data-vendor></p> <p class="title" data-title></p> <p class="price" data-price></p> </div> <div class="popup-product-offer" data-shortDscription> <p></p> <p></p> <p></p> </div> <button class="wishlist-btn hulkBtnStyle" data-addprotocart>Move to cart</button> <p class="products-details-link hulkThemeColor"><a data-goToProduct class="hulkThemeColor">See Product Details</a></p> </div> </div> </div> </div> </div> </div> </div> <!-- Wish list delete popup design --> <div class="wishlist-popup wishlist-delete-popup" data-hulkappsDeletePrompt> <div class="wishlist-modal modal-small"> <div class="wishlist-modal__content"> <div class="wishlist-modal__body"> <button class="close-popup" data-closewishlistpopup><span class="icon-wishlist-cross"></span></button> <h4>Are you sure you want to delete this wishlist?</h4> <div class="btn-wrap"> <button class="wishlist-btn hulkBtnStyle" data-deleteHulkWishlist >Yes</button> <button class="wishlist-btn hulkBtnStyle" data-closewishlistpopup>No</button> </div> </div> </div> </div> </div> <!-- Wish list delete wishlist items popup design --> <div class="wishlist-popup wishlist-delete-popup" data-hulkappsDeleteItemsPrompt> <div class="wishlist-modal modal-small"> <div class="wishlist-modal__content"> <div class="wishlist-modal__body"> <button class="close-popup" data-closeWishlistItemsPopup2><span class="icon-wishlist-cross"></span></button> <h4 data-hulkDeleteItemsPopupTitle>Are you sure you want to delete selected wishlist products?</h4> <div class="btn-wrap"> <button class="wishlist-btn hulkBtnStyle" data-deleteHulkWishlistItems >Yes</button> <button class="wishlist-btn hulkBtnStyle" data-closeWishlistItemsPopup>No</button> </div> </div> </div> </div> </div> <!-- Wish list move wishlist items popup design --> <div class="wishlist-popup wishlist-delete-popup" data-hulkappsMoveItemsPrompt> <div class="wishlist-modal modal-small"> <div class="wishlist-modal__content"> <div class="wishlist-modal__body"> <button class="close-popup" data-hulkappsMoveItemsCancel><span class="icon-wishlist-cross"></span></button> <h4 data-hulkMoveItemsPopupTitle>Out of stock products will be not move. Are you want to move selected wishlist products?</h4> <div class="btn-wrap"> <button class="wishlist-btn hulkBtnStyle" data-hulkappsMoveItemsOk >Yes</button> <button class="wishlist-btn hulkBtnStyle" data-hulkappsMoveItemsCancel >Cancel</button> </div> </div> </div> </div> </div> <div class="wishlist-popup wishlist-help-popup" data-hulkappsHelpTextPrompt> <div class="wishlist-modal modal-small"> <div class="wishlist-modal__content"> <div class="wishlist-modal__body"> <button class="close-popup" data-closeWishlistPopup><span class="icon-wishlist-cross"></span></button> <div data-helpTextContent> <h3 style="text-align: center">Wishlist management page</h3> <ul> <li>This page allows you to manage and add wishlist items directly to the cart.</li> <li>Share your public wishlist on social media, through links, and via custom email.</li> <li>You can subscribe to get update about your wishlist items</li> </ul> </div> </div> </div> </div> </div> <div class="wishlist-popup wishlist-unsubscribe-popup" data-hulkappsUnsbuscribePrompt> <div class="wishlist-modal modal-small"> <div class="wishlist-modal__content"> <div class="wishlist-modal__body"> <button class="close-popup" data-closeWishlistPopup><span class="icon-wishlist-cross"></span></button> <div style="text-align: center"> <h3 style="text-align: center" data-unsubscribeTitle>You have been unsubscribed</h3> <h4 data-unsubscribeContent>You will no longer receive emails about wishlist activities from this store.</h4> <div class="btn-wrap"> <button class="wishlist-btn hulkBtnStyle" data-unsubscribeCloseBtn style="margin-bottom: -3rem;">Close</button> </div> </div> </div> </div> </div> </div> </div> <style> </style> <div id="shopify-block-AZkJXWnNseVpmKzdpO__18306912302550125850" class="shopify-block shopify-app-block"><script> window.onload = (event) => { var metafield = String.raw``.replace(/(\r\n|\n|\r)/gm, ""); var txt = document.createElement("textarea"); txt.innerHTML = metafield; if (metafield && !document.querySelector("script[src*='yoast-active-script.js']")){ metafield = JSON.parse(txt.value); var opinewJson = { "@context": "http://schema.org/", "@type": "Product", "name": null, "url": "https:\/\/www.hulkapps.com", "description": "", "sku": "", "brand": { "@type": "Brand", "name": null },"offers": [] } var el = document.createElement('script'); el.type = 'application/ld+json'; el.text = JSON.stringify(opinewJson); document.querySelector('body').appendChild(el); } }; </script> </div></body> </html>