Outiref
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Blancheporte — Vêtements &amp; linge de maison</title>
<meta name="description" content="Blancheporte : vente à distance de vêtements et de linge de maison, spécialisée dans le prêt-à-porter grande taille.">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=Rajdhani:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
:root{
  --bg-dark:#05070d; --bg-dark2:#0a0e18;
  --text:#aab4c8; --white:#eef3ff;
  --accent:#00e5ff; --accent2:#7c4dff; --accent3:#ff2d95;
  --gray-light:#7a8aa3;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg-dark); color:var(--text);
  font-family:'Rajdhani',sans-serif; font-size:1.05rem; line-height:1.6;
  min-height:100vh; position:relative; overflow-x:hidden;
}
.orbs{position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;}
.orb{position:absolute; border-radius:50%; filter:blur(60px); opacity:.35;}
.sparkles{position:fixed; inset:0; z-index:0; pointer-events:none;}
.sparkle{position:absolute; width:2px; height:2px; background:var(--accent); border-radius:50%; opacity:.6;}
.scanline{position:fixed; inset:0; z-index:1; pointer-events:none; background:repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0px, rgba(255,255,255,.015) 1px, transparent 1px, transparent 3px);}
.wrap{position:relative; z-index:2; max-width:1000px; margin:0 auto; padding:0 24px;}
.topbar{display:flex; align-items:center; justify-content:space-between; padding:22px 0;}
.topbar a{color:var(--accent); text-decoration:none; font-family:'Orbitron',sans-serif; font-size:.85rem; letter-spacing:1px;}
.topbar a:hover{text-shadow:0 0 12px var(--accent);}
.hero{padding:40px 0 20px; text-align:center;}
.kicker{display:inline-block; font-family:'Orbitron',sans-serif; font-size:.75rem; letter-spacing:3px; color:var(--accent2); text-transform:uppercase; margin-bottom:16px;}
.hero h1{
  font-family:'Orbitron',sans-serif; font-weight:900; font-size:2.4rem;
  background:linear-gradient(90deg, var(--accent), var(--accent2), var(--accent3));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  margin-bottom:16px; line-height:1.25;
}
.hero .lead{max-width:640px; margin:0 auto; color:var(--gray-light); font-size:1.1rem;}
main{padding:20px 0 60px;}
.card{
  background:rgba(10,14,26,.55); border:1px solid rgba(0,229,255,.15); border-radius:16px;
  padding:32px; margin:0 0 36px; backdrop-filter:blur(6px); text-align:center;
}
.card img{max-width:100%; height:auto; border-radius:10px; margin-bottom:18px; border:1px solid rgba(0,229,255,.2);}
.card a.primary{
  display:inline-block; margin-top:6px; padding:12px 28px; border-radius:30px;
  background:linear-gradient(90deg, var(--accent), var(--accent2)); color:#04060b; font-weight:700;
  text-decoration:none; font-family:'Orbitron',sans-serif; font-size:.85rem; letter-spacing:1px;
}
.card a.primary:hover{box-shadow:0 0 20px rgba(0,229,255,.5);}
article.note{
  background:rgba(10,14,26,.55); border:1px solid rgba(0,229,255,.15); border-radius:16px;
  padding:28px 30px; margin:0 0 36px; backdrop-filter:blur(6px);
}
article.note h2{
  font-family:'Orbitron','Rajdhani',sans-serif; font-size:1rem; letter-spacing:.5px; color:var(--white);
  margin:0 0 14px; padding-left:16px; position:relative;
}
article.note h2::before{
  content:""; position:absolute; left:0; top:3px; bottom:3px; width:3px;
  background:linear-gradient(var(--accent), var(--accent2)); border-radius:2px;
}
article.note p{ line-height:1.75; margin:0 0 14px; }
article.note p:last-child{ margin-bottom:0; }
.section-title{
  font-family:'Orbitron',sans-serif; font-size:.85rem; letter-spacing:2px; text-transform:uppercase;
  color:var(--accent2); margin:0 0 20px; text-align:center;
}
.tagcloud{display:flex; flex-wrap:wrap; gap:10px; justify-content:center;}
.tagcloud a{
  background:rgba(124,77,255,.08); border:1px solid rgba(124,77,255,.25); color:var(--text);
  text-decoration:none; padding:9px 16px; border-radius:20px; font-size:.92rem; transition:.2s;
}
.tagcloud a:hover{background:rgba(0,229,255,.12); border-color:var(--accent); color:var(--white);}
footer{position:relative; z-index:2; text-align:center; padding:30px 24px; color:var(--gray-light); font-size:.85rem; border-top:1px solid rgba(255,255,255,.06);}
</style>
</head>
<body>
<div class="orbs" id="orbs"></div>
<div class="sparkles" id="sparkles"></div>
<div class="scanline"></div>

<div class="wrap">
  <div class="topbar">
    <a href="index.html">&larr; retour à l'accueil</a>
  </div>

  <div class="hero">
    <span class="kicker">Mode &amp; vente à distance</span>
    <h1>Blancheporte — vêtements &amp; linge de maison</h1>
    <p class="lead">Blancheporte propose de la vente à distance de vêtements et de linge de maison, avec une offre particulièrement développée en grande taille et pour la clientèle senior.</p>
  </div>

  <main>
    <div class="card">
      <a href="https://www.blancheporte.fr/" target="_blank" rel="noopener">
        <img src="cla/blanche_porte_fr.jpg" alt="Blancheporte, vêtements et linge de maison">
      </a>
      <div><a class="primary" href="https://www.blancheporte.fr/" target="_blank" rel="noopener">Visiter blancheporte.fr</a></div>
    </div>

    <article class="note">
      <h2>Blancheporte, plus de deux siècles de vente à distance</h2>
      <p>L'histoire de Blancheporte remonte au début du XIXe siècle à Tourcoing, où une famille d'industriels du textile fabrique et vend ses étoffes avant de se spécialiser, au fil des décennies, dans le tissage puis dans la vente par correspondance. L'entreprise adopte son nom actuel dans les années 1920, d'après le hameau auquel elle était rattachée, et se fait connaître pour la qualité de ses draps.</p>
      <p>Dès les années 1920, elle est parmi les pionnières de la vente à distance en France, avec des délais de livraison courts pour l'époque et un fichier client qui grandit rapidement. L'entreprise abandonne progressivement la fabrication textile pour se concentrer sur la distribution, publiant ses premiers catalogues de vêtements dans les années 1930 puis développant une offre pour hommes dans les années 1970.</p>
      <p>Passée sous plusieurs actionnariats au fil du XXe et du XXIe siècle, Blancheporte a traversé des périodes de réorganisation avant de retrouver une activité rentable à la fin des années 2010, en se recentrant notamment sur une clientèle senior à travers ses catalogues généraux et spécialisés publiés chaque année.</p>
    </article>

    <div class="card">
      <div class="section-title">Achats en ligne</div>
      <div class="tagcloud">
        <a href="auchan.php" target="_blank">Auchan</a>
        <a href="les3suisses.php" target="_blank">Les 3 Suisses</a>
        <a href="www.laredoute.fr.php" target="_blank">La Redoute</a>
        <a href="kiabi.fr.php" target="_blank">Kiabi</a>
        <a href="decathlon.php" target="_blank">Décathlon</a>
      </div>
    </div>
  </main>

  <footer>
    &copy; le.188 — annuaire de liens. Les marques citées appartiennent à leurs propriétaires respectifs.
  </footer>
</div>

<script>
(function(){
  const container = document.getElementById('sparkles');
  const count = 60;
  for(let i=0;i<count;i++){
    const s = document.createElement('div');
    s.className = 'sparkle';
    s.style.left = Math.random()*100 + '%';
    s.style.top = Math.random()*100 + '%';
    s.style.animationDelay = Math.random()*5 + 's';
    s.style.opacity = (Math.random()*0.5+0.2).toFixed(2);
    container.appendChild(s);
  }
})();
</script>
<script>
(function(){
  const container = document.getElementById('orbs');
  const colors = ['#00e5ff','#7c4dff','#ff2d95'];
  for(let i=0;i<5;i++){
    const o = document.createElement('div');
    o.className = 'orb';
    const size = 150 + Math.random()*250;
    o.style.width = size+'px';
    o.style.height = size+'px';
    o.style.left = Math.random()*100 + '%';
    o.style.top = Math.random()*100 + '%';
    o.style.background = colors[i % colors.length];
    container.appendChild(o);
  }
})();
</script>
</body>
</html>