Welcome to Alva atelier
INSCRIPTION ANTICIPÉE
<!--
Modèle de page Shopify : accès anticipé.liquid
Placez ce fichier comme nouveau modèle de page (ou utilisez-le dans une page avec du code HTML personnalisé via l'éditeur de thème).
Étapes importantes pour l'administration (vous devez les effectuer vous-même dans l'interface d'administration Shopify) :
1) Dans Admin > Remises, créez une remise automatique ou par code de 10 % avec le code : EA10 (ou choisissez votre propre code).
2) Dans Admin > Clients, créez un segment avec le filtre : l’étiquette Client contient « early_access_2025 » (ou ajustez l’année).
3) (Facultatif, pour une liste publique en temps réel) Configurez un point de terminaison webhook/Zapier/Make/Serverless simple qui ajoute les nouvelles inscriptions à un fichier JSON dans les ressources de votre thème ou dans Google Sheets. L'interface utilisateur ci-dessous peut récupérer ce fichier JSON pour afficher une liste/un nombre de visiteurs publics.
REMARQUE : Shopify permet la création de clients via le formulaire de la boutique. Pour créer automatiquement des clients avec des étiquettes, nous utilisons un champ caché : customer[tags] = early_access_2025
Ce champ d'étiquette vous permet de créer facilement un segment dans l'interface d'administration.
-->
{% comment %} --- PAGE D'ACCÈS ANTICIPÉ --- {% endcomment %}
<section class="early-access-wrap">
<div class="ea-card">
<header class="ea-header">
Accès anticipé — Inscrivez-vous
Inscrivez-vous avant le 10 octobre 2025 et bénéficiez d'un accès exclusif à 12 h (au lieu de 17 h) et d'une réduction de 10 %.
</header>
<div class="ea-body">
<div class="ea-left">
Nous lançons notre nouvelle collection plus tôt aujourd'hui, en exclusivité pour nos abonnés. Indiquez vos coordonnées ci-dessous : nous vous enverrons le code de réduction et les informations d'accès immédiatement après votre inscription.
<!-- Formulaire d'inscription : crée un client Shopify et ajoute une étiquette -->
<form id="ea-signup-form" method="post" action="/account">
<input type="hidden" name="form_type" value="create_customer">
<input type="hidden" name="utf8" value="✓">
<input type="hidden" name="customer[tags]" value="early_access_2025">
<input type="hidden" name="customer[note]" id="ea-customer-note" value="">
<label for="ea-email">Adresse e-mail</label>
<input id="ea-email" name="customer[email]" type="email" placeholder="name@example.com" required>
<label for="ea-first">Prénom (facultatif)</label>
<input id="ea-first" name="customer[first_name]" type="text" placeholder="Prénom">
<div class="ea-actions">
<button id="ea-submit" type="submit">Inscrivez-vous et recevez une réduction</button>
</div>
En vous abonnant, vous acceptez notre politique de confidentialité. Vous bénéficierez d'un accès illimité et d'un code de réduction de 10 %.
</form>
<div id="ea-message" class="ea-message" aria-live="polite"></div>
</div>
<aside class="ea-right">
<div class="ea-stats-card">
Qui s'est inscrit ?
<div id="ea-signup-count" class="ea-count">—</div>
<ul id="ea-signup-list" class="ea-list">
<li>Chargement…</li>
</ul>
<p class="ea-note">Vous ne verrez que les noms ou adresses électroniques que vous êtes autorisé(e) à partager publiquement — la confidentialité avant tout.</p>
</div>
<div class="ea-info">
<h4>Qu'est-ce que vous obtenez ?</h4>
<ul>
<li>Accès à la collection à <strong>12h00</strong> le jour du lancement.</li>
<li>10 % de réduction avec le code <strong>EA10</strong>.</li>
<li>Courriel direct contenant les instructions après l'inscription.</li>
</ul>
</div>
</aside>
</div>
</div>
</section>
<style>
.early-access-wrap{font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; padding:40px; display:flex; justify-content:center}
.ea-card{max-width:1100px; width:100%; background:#fff; border-radius:12px; box-shadow:0 8px 30px rgba(10,10,10,0.06); overflow:hidden; display:block}
.ea-header{padding:36px 40px; border-bottom:1px solid #f0f0f0}
.ea header h1{margin:0; font-size:28px}
.ea-header .sub{margin:8px 0 0; color:#666}
.ea-body{display:flex; gap:24px; padding:32px 40px}
.ea-left{flex:1}
.ea-right{largeur:320px}
label{display:block; font-size:13px; margin-top:12px}
input[type=email], input[type=text]{width:100%; padding:12px; margin-top:6px; border-radius:8px; border:1px solid #e6e6e6}
.ea-actions{margin-top:18px}
bouton#ea-submit{background:#111; color:#fff; padding:12px 18px; border-radius:10px; border:0; cursor:pointer}
.ea-count{font-size:32px; font-weight:700; margin:8px 0}
.ea-list{list-style:none; padding:0; margin:0; max-height:180px; overflow:auto}
.ea-list li{padding:6px 0; border-bottom:1px dashed #f2f2f2; font-size:14px}
.ea-message{margin-top:12px; color:green}
.terms{font-size:12px; color:#888; margin-top:10px}
@media(max-width:880px){.ea-body{flex-direction:column}.ea-right{width:100%} }
</style>
<script>
(fonction(){
var signupDeadline = new Date('2025-10-10T23:59:59');
var publicListJsonUrl = '/apps/early-access-signups.json';
var thankYouPage = '/pages/early-access-thank-you';
var publicizeVisible = true;
var formulaire = document.getElementById('ea-signup-form');
var email = document.getElementById('ea-email');
var premier = document.getElementById('ea-premier');
var message = document.getElementById('ea-message');
var noteInput = document.getElementById('ea-customer-note');
if(noteInput) noteInput.value = 'early_access_signup at ' + new Date().toISOString();
form.addEventListener('submit', function(ev){
var maintenant = nouvelle Date();
si (maintenant > date limite d'inscription){
ev.prévenirDefault();
message.innerText = 'La période d'inscription est fermée (date limite : 10 octobre 2025).';
renvoyer faux ;
}
document.getElementById('ea-submit').disabled = true;
ev.prévenirDefault();
var payload = new FormData(form);
récupérer(form.action, {
méthode : 'POST',
corps : charge utile,
identifiants : « même origine »
}).then(function(resp){
window.location.href = thankYouPage + '?email=' + encodeURIComponent(email.value);
}).catch(function(err){
console.error(err);
message.innerText = 'Une erreur s'est produite lors de l'inscription. Veuillez réessayer plus tard.';
document.getElementById('ea-submit').disabled = false;
});
});
fonction chargerPublicList(){
if(!publicizeVisible) retourner;
récupérer(publicListJsonUrl, {cache:'no-store'})
.then(function(r){ if(!r.ok) throw new Error('no list'); return r.json(); })
.then(function(json){
var listEl = document.getElementById('ea-signup-list');
var countEl = document.getElementById('ea-signup-count');
listEl.innerHTML = '';
var publicEntries = json.filter(function(i){ return i.public === true; });
countEl.innerText = json.length + 'enregistrements';
if(publicEntries.length === 0){ listEl.innerHTML = '<li>Aucun nom public pour le moment.</li>'; return; }
publicEntries.slice().reverse().forEach(function(p){
var li = document.createElement('li');
li.textContent = p.name || p.e-mail ;
listEl.appendChild(li);
});
}).catch(function(){
document.getElementById('ea-signup-count').innerText = '—';
document.getElementById('ea-signup-list').innerHTML = '<li>Liste publique non disponible.</li>';
});
}
document.addEventListener('DOMContentLoaded', loadPublicList);
})();
</script>
<!-- Page de remerciements -->
<!--
<div class="ea-thank">
Merci de vous être abonné !
Vous avez bien reçu votre inscription à l'accès anticipé. Nous avons reçu votre courriel : {{ request.params.email | default: 'jouw e-mail' }}
Utilisez le code promo EA10 pour bénéficier de 10 % de réduction sur le lancement. Remarque : Créez d’abord ce code promo dans l’interface d’administration Shopify (rubrique « Réductions ») et définissez la date d’expiration.
<p>Vous aurez accès à la collection à <strong>12h00</strong> le jour du lancement (au lieu de 17h00).</p>
<a href="/fr/collections/all" class="btn">Jetez un œil à notre boutique</a>
</div>
<style>
.ea-thank{max-width:820px;margin:40px auto;padding:32px;background:#fff;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,0.04)}
.ea-thank h1{margin-top:0}
.btn{display:inline-block;padding:10px 14px;border-radius:8px;background:#111;color:#fff;text-decoration:none}
</style>
-->