127 lines
9.3 KiB
PHP
127 lines
9.3 KiB
PHP
<!DOCTYPE html><html lang="fr"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>WEVADS • Production Send</title>
|
|
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet">
|
|
<style>
|
|
:root{--bg:#060a14;--s:#0c1220;--s2:#111827;--b:#1e293b;--t:#e2e8f0;--d:#64748b;--cy:#22d3ee;--gn:#34d399;--am:#fbbf24;--rd:#f87171;--pu:#a78bfa;--bl:#60a5fa;--og:#fb923c}
|
|
.light{--bg:#f0f2f5;--s:#ffffff;--s2:#f8fafc;--b:#e2e8f0;--t:#e2e8f0;--d:#64748b}.light input,.light select,.light textarea{background:#f8fafc!important;border-color:#e2e8f0!important;color:#e2e8f0!important}
|
|
*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--t);font-family:'DM Sans',sans-serif;font-size:11px}
|
|
.hdr{background:var(--s);border-bottom:1px solid var(--b);padding:12px 20px;display:flex;align-items:center;justify-content:space-between}.hdr h1{font-size:16px;font-weight:700}.hdr h1 span{color:var(--rd)}
|
|
.wrap{padding:16px;max-width:1200px;margin:0 auto}
|
|
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
|
|
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
|
|
.card{background:var(--s);border:1px solid var(--b);border-radius:10px;padding:16px;margin-bottom:12px}
|
|
.form-row{margin-bottom:10px}.form-row label{display:block;font-size:9px;text-transform:uppercase;color:var(--d);margin-bottom:4px;letter-spacing:.5px}
|
|
.form-row input,.form-row select,.form-row textarea{width:100%;background:var(--s2);border:1px solid var(--b);color:var(--t);padding:8px;border-radius:6px;font-size:11px;font-family:'DM Sans',sans-serif}
|
|
.form-row select[multiple]{min-height:140px}
|
|
.btn{padding:10px 20px;border-radius:8px;border:1px solid var(--b);background:var(--s2);color:var(--t);cursor:pointer;font-size:11px;font-weight:600;width:100%;text-align:center;transition:.2s}.btn:hover{border-color:var(--cy)}
|
|
.btn-send{background:rgba(248,113,113,.15);border-color:var(--rd);color:var(--rd);padding:14px;font-size:14px;font-weight:700}
|
|
.btn-gn{background:rgba(52,211,153,.15);border-color:var(--gn);color:var(--gn)}
|
|
.badge{font-size:8px;padding:2px 6px;border-radius:3px;font-weight:600}.badge-gn{background:rgba(52,211,153,.15);color:var(--gn)}.badge-am{background:rgba(251,191,36,.15);color:var(--am)}.badge-rd{background:rgba(248,113,113,.15);color:var(--rd)}
|
|
.server-tag{display:inline-block;background:var(--s2);border:1px solid var(--b);border-radius:4px;padding:2px 6px;font-size:9px;margin:2px;font-family:'JetBrains Mono',monospace}
|
|
table{width:100%;border-collapse:collapse;font-size:10px}th{text-align:left;color:var(--d);text-transform:uppercase;font-size:9px;padding:6px 8px;border-bottom:1px solid var(--b)}td{padding:6px 8px;border-bottom:1px solid rgba(30,41,59,.3)}
|
|
.toggle-btn{position:fixed;top:10px;right:10px;z-index:9999;background:rgba(17,24,39,.9);border:1px solid #1e293b;border-radius:8px;padding:6px 12px;cursor:pointer;font-size:14px;color:#e2e8f0;backdrop-filter:blur(8px)}
|
|
@media(max-width:900px){.grid2,.grid3{grid-template-columns:1fr}}
|
|
</style>
|
|
<link rel="stylesheet" href="wevads-global.css?v1770777318">
|
|
</head><body>
|
|
<button id="theme-toggle" onclick="toggleTheme()" class="toggle-btn">🌙</button>
|
|
<div class="hdr"><div><h1>🚀 WEVADS • <span>Production Send Process</span></h1><span style="font-size:10px;color:var(--d)">Sélection serveurs PMTA → VMTAs → Lancement envoi production</span></div><div style="display:flex;gap:8px;align-items:center"><span class="badge badge-gn">● PRODUCTION</span><span style="font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--d)" id="clock"></span></div></div>
|
|
<div class="wrap">
|
|
<div class="grid2">
|
|
<div>
|
|
<div class="card">
|
|
<h3 style="font-size:12px;margin-bottom:10px;color:var(--cy)">📡 SERVERS / PMTAs</h3>
|
|
<div class="form-row"><label>Serveurs disponibles</label><select multiple id="servers">
|
|
<option value="pmta-main">pmta-main (95.216.167.89) — Queue: 15,534</option>
|
|
<option value="pmta-02">pmta-02 (85.235.100.12) — Queue: 8,240</option>
|
|
<option value="pmta-03">pmta-03 (85.235.100.13) — Queue: 4,120</option>
|
|
<option value="pmta-04">pmta-04 (185.142.80.5) — Queue: 6,800</option>
|
|
<option value="pmta-05">pmta-05 (185.142.80.6) — Queue: 2,100</option>
|
|
</select></div>
|
|
<div style="font-size:9px;color:var(--d);margin-bottom:8px">Sélectionnés: <span id="srv-count" style="color:var(--cy)">0</span></div>
|
|
</div>
|
|
<div class="card">
|
|
<h3 style="font-size:12px;margin-bottom:10px;color:var(--am)">🔀 VMTAs Disponibles</h3>
|
|
<div class="form-row"><label>Available VMTAs</label><select multiple id="vmtas-avail">
|
|
<option>vmta-gmail-01 (IP: 185.142.80.10)</option>
|
|
<option>vmta-gmail-02 (IP: 185.142.80.11)</option>
|
|
<option>vmta-outlook-01 (IP: 85.235.100.20)</option>
|
|
<option>vmta-outlook-02 (IP: 85.235.100.21)</option>
|
|
<option>vmta-tonline-01 (IP: 185.142.80.30)</option>
|
|
<option>vmta-gmx-01 (IP: 85.235.100.30)</option>
|
|
<option>vmta-yahoo-01 (IP: 185.142.80.40)</option>
|
|
<option>vmta-general-01 (IP: 95.216.167.89)</option>
|
|
</select></div>
|
|
<div style="display:flex;gap:6px;margin-bottom:8px">
|
|
<button class="btn" style="width:auto;padding:6px 12px" onclick="selectAll('vmtas-avail')">Select All</button>
|
|
<button class="btn" style="width:auto;padding:6px 12px" onclick="moveSelected()">→ Add to Selected</button>
|
|
</div>
|
|
<div class="form-row"><label>Selected VMTAs</label><select multiple id="vmtas-sel" style="min-height:100px"></select></div>
|
|
<div style="font-size:9px;color:var(--d)">VMTAs sélectionnés: <span id="vmta-count" style="color:var(--am)">0</span></div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="card">
|
|
<h3 style="font-size:12px;margin-bottom:10px;color:var(--gn)">📋 Configuration d'envoi</h3>
|
|
<div class="form-row"><label>Campagne</label><input value="PROD-2026-02-08-001"></div>
|
|
<div class="form-row"><label>Liste de contacts</label><select>
|
|
<option>Hotmail US Clean Winx (4,100,000)</option>
|
|
<option>Gmail DE DACH Premium (1,200,000)</option>
|
|
<option>T-Online Leads (340,000)</option>
|
|
<option>GMX/Web.de Mix (520,000)</option>
|
|
</select></div>
|
|
<div class="form-row"><label>Template</label><select>
|
|
<option>FOMO Urgence — Winter Sale -40%</option>
|
|
<option>B2B Outreach — Decision Maker</option>
|
|
<option>Newsletter Premium</option>
|
|
<option>Pharma Free Trial</option>
|
|
</select></div>
|
|
<div class="form-row"><label>Méthode d'envoi</label><select>
|
|
<option>PMTA Direct (VMTAs sélectionnés)</option>
|
|
<option>Brain Unified Send (auto-routing)</option>
|
|
<option>O365 Graph API</option>
|
|
<option>Mix: PMTA + O365</option>
|
|
</select></div>
|
|
<div class="form-row"><label>Volume</label><select>
|
|
<option>100 (test)</option>
|
|
<option>1,000</option>
|
|
<option>10,000</option>
|
|
<option>100,000</option>
|
|
<option selected>Full list</option>
|
|
</select></div>
|
|
<div class="form-row"><label>Throttle (emails/min)</label><input type="number" value="50"></div>
|
|
<div class="form-row"><label>Planification</label><select>
|
|
<option>Maintenant</option>
|
|
<option selected>Predictive Window (IA)</option>
|
|
<option>Programmé — choisir date/heure</option>
|
|
</select></div>
|
|
</div>
|
|
<div class="card">
|
|
<h3 style="font-size:12px;margin-bottom:8px">✅ Checklist pré-envoi</h3>
|
|
<div style="font-size:10px;line-height:2">
|
|
<div><span style="color:var(--gn)">✅</span> Serveurs PMTA actifs</div>
|
|
<div><span style="color:var(--gn)">✅</span> VMTAs configurés</div>
|
|
<div><span style="color:var(--gn)">✅</span> Liste nettoyée (Trap Detector)</div>
|
|
<div><span style="color:var(--gn)">✅</span> Template muté (Neural DOM)</div>
|
|
<div><span style="color:var(--gn)">✅</span> DNS vérifié (SPF+DKIM+DMARC)</div>
|
|
<div><span style="color:var(--gn)">✅</span> IP reputation OK</div>
|
|
<div><span style="color:var(--gn)">✅</span> Kill Switch prêt</div>
|
|
</div>
|
|
</div>
|
|
<button class="btn btn-send" onclick="launchSend()">🚀 LANCER ENVOI PRODUCTION</button>
|
|
<div id="send-status" style="margin-top:8px;text-align:center;font-size:11px"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
function toggleTheme(){var b=document.body,t=document.getElementById('theme-toggle');if(b.classList.contains('light')){b.classList.remove('light');t.textContent='🌙';localStorage.setItem('wevads-theme','dark')}else{b.classList.add('light');t.textContent='☀️';localStorage.setItem('wevads-theme','light')}}
|
|
if(localStorage.getItem('wevads-theme')==='light'){document.body.classList.add('light');document.getElementById('theme-toggle').textContent='☀️'}
|
|
document.getElementById('servers').addEventListener('change',function(){document.getElementById('srv-count').textContent=this.selectedOptions.length});
|
|
function selectAll(id){var s=document.getElementById(id);for(var i=0;i<s.options.length;i++)s.options[i].selected=true}
|
|
function moveSelected(){var a=document.getElementById('vmtas-avail'),s=document.getElementById('vmtas-sel');for(var i=a.options.length-1;i>=0;i--){if(a.options[i].selected){var o=new Option(a.options[i].text,a.options[i].value);s.add(o);a.remove(i)}}document.getElementById('vmta-count').textContent=s.options.length}
|
|
function launchSend(){var st=document.getElementById('send-status');st.innerHTML='<span style="color:var(--am)">⏳ Préparation envoi...</span>';setTimeout(function(){st.innerHTML='<span style="color:var(--gn)">✅ Envoi lancé — Monitoring en cours sur Brain Drilldown</span>'},2000)}
|
|
setInterval(function(){document.getElementById('clock').textContent=new Date().toLocaleString('fr-FR')},1000);
|
|
</script>
|
|
<script src="arsenal-common.js?v1770778169"></script>
|
|
</body></html>
|
|
|