Herramientas de usuario

Herramientas del sitio


fr:others:contact

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
fr:others:contact [2026/05/06 11:05] jesusfr:others:contact [2026/05/06 17:44] (actual) jesus
Línea 2: Línea 2:
 <html> <html>
 <style> <style>
-  .pcw-page-container { background:#000b00; font-family:'Courier New', monospace; padding:20px; color:#00ff00; }+  .pcw-page-container { background:#000b00; font-family:'Courier New', monospace; padding:10px; color:#00ff00; }
      
-  /* --- MODEM MATÉRIEL PCWWIKI --- */+  /* --- MATÉRIEL MODEM PCWWIKI (RESPONSIVE) --- */
   .modem-chassis {   .modem-chassis {
-    background: #1a1a1a; width: 440px; margin: 0 auto 35px; border-radius: 6px; padding: 18px; position: relative;+    background: #1a1a1a;  
 +    width: 95%;  
 +    max-width: 440px;  
 +    margin: 0 auto 35px; border-radius: 6px; padding: 15px; position: relative;
     border: 1.5px solid #333; border-top: 2px solid #444;     border: 1.5px solid #333; border-top: 2px solid #444;
     box-shadow: 0 0 1px rgba(255,255,255,0.1), 0 15px 40px rgba(0,0,0,0.9);     box-shadow: 0 0 1px rgba(255,255,255,0.1), 0 15px 40px rgba(0,0,0,0.9);
-    display: flex; align-items: center; justify-content: space-between; gap: 15px;+    display: flex; align-items: center; justify-content: space-between; gap: 10px; 
 +    box-sizing: border-box;
   }   }
 +  
 +  .sch-brand-white { 
 +    color: #ffffff; font-family: Arial, sans-serif; font-weight: 900; 
 +    font-size: 13px; letter-spacing: 1px; white-space: nowrap;
 +  }
 +
   .led-bezel {   .led-bezel {
-    background: #0a0a0a; padding: 8px 12px; border-radius: 4px; border: 1px solid #222; +    background: #0a0a0a; padding: 6px 10px; border-radius: 4px; border: 1px solid #222; 
-    display: flex; gap: 12px; box-shadow: inset 0 2px 5px rgba(0,0,0,0.5);+    display: flex; gap: 10px; box-shadow: inset 0 2px 5px rgba(0,0,0,0.5);
   }   }
-  .sch-brand-white { color: #ffffff; font-family: Arial, sans-serif; font-weight: 900; font-size: 15px; letter-spacing: 1.5px; } + 
-  .m-led { width: 11px; height: 11px; background: #200; border-radius: 50%; position: relative; border: 1px solid rgba(255,255,255,0.05); }+  .m-led { width: 10px; height: 10px; background: #200; border-radius: 50%; position: relative; border: 1px solid rgba(255,255,255,0.05); }
   .m-led span { position: absolute; top: 14px; left: 50%; transform: translateX(-50%); font-size: 7px; color: #777; font-weight: bold; }   .m-led span { position: absolute; top: 14px; left: 50%; transform: translateX(-50%); font-size: 7px; color: #777; font-weight: bold; }
      
Línea 23: Línea 33:
   .led-yellow { background:#ff0 !important; box-shadow: 0 0 10px #ff0; }   .led-yellow { background:#ff0 !important; box-shadow: 0 0 10px #ff0; }
  
-  .pwr-btn { width: 42px; height: 22px; background: #2a2a2a; border: 2px solid #444; border-radius: 4px; cursor: pointer; animation: pwr-blink 1.2s infinite; outline: none; }+  .pwr-btn {  
 +    width: 40px; height: 22px; background: #2a2a2a; border: 2px solid #444;  
 +    border-radius: 4px; cursor: pointer; animation: pwr-blink 1.2s infinite;  
 +    outline: none; flex-shrink: 0; 
 +  }
   @keyframes pwr-blink { 50% { border-color:#0f0; box-shadow: 0 0 12px rgba(0,255,0,0.4); } }   @keyframes pwr-blink { 50% { border-color:#0f0; box-shadow: 0 0 12px rgba(0,255,0,0.4); } }
   .active-btn { animation:none !important; border-color:#0f0 !important; background:#040 !important; box-shadow: inset 0 2px 5px rgba(0,0,0,0.5) !important; }   .active-btn { animation:none !important; border-color:#0f0 !important; background:#040 !important; box-shadow: inset 0 2px 5px rgba(0,0,0,0.5) !important; }
  
-  /* --- AFFICHAGE DU TERMINAL --- */ +  /* --- TERMINAL --- */ 
-  .contact-box { border: 2px solid #004400; padding: 35px; background: rgba(0,10,0,0.9); min-height: 450px; display: none; } +  .contact-box {  
-  .line-in { opacity: 0; transform: translateX(-5px); transition: 0.2s; display: inline; line-height: 1.6; }+    border: 2px solid #004400; padding: 20px 
 +    background: rgba(0,10,0,0.9); min-height: 400px; display: none;  
 +    word-wrap: break-word; 
 +  
 +  .line-in { opacity: 0; transform: translateX(-5px); transition: 0.2s; display: inline; line-height: 1.6; font-size: 14px; }
   .block-line { display: block; margin-bottom: 12px; }   .block-line { display: block; margin-bottom: 12px; }
   .line-visible { opacity: 1 !important; transform: translateX(0) !important; }   .line-visible { opacity: 1 !important; transform: translateX(0) !important; }
-  .email-link { color: #fff !important; font-size: 1.6em; text-decoration: none; font-weight: bold; padding: 12px 25px; border: 1px solid #0f0; display: inline-block; background: rgba(0,255,0,0.1); text-shadow: 0 0 10px #0f0; margin-top: 15px; }+   
 +  .email-link {  
 +    color: #fff !important; font-size: 1.1em; text-decoration: none;  
 +    font-weight: bold; padding: 10px 15px; border: 1px solid #0f0;  
 +    display: inline-block; background: rgba(0,255,0,0.1);  
 +    text-shadow: 0 0 10px #0f0; margin-top: 15px; max-width: 100%; box-sizing: border-box; 
 +  } 
 + 
 +  @media (max-width: 400px) { 
 +    .sch-brand-white { font-size: 11px; } 
 +    .led-bezel { gap: 6px; padding: 5px 8px; } 
 +    .m-led { width: 8px; height: 8px; } 
 +    .pwr-btn { width: 35px; } 
 +  }
 </style> </style>
  
 <div class="pcw-page-container"> <div class="pcw-page-container">
   <div class="modem-chassis">   <div class="modem-chassis">
-    <div class="sch-brand-white">PCWWIKI <span style="font-weight:100; font-size:9px; color:#aaa;">TELECOMS</span></div>+    <div class="sch-brand-white">PCWWIKI <span style="font-weight:100; font-size:8px; color:#aaa;">TÉLÉCOMS</span></div>
     <div class="led-bezel">     <div class="led-bezel">
       <div id="mr" class="m-led"><span>MR</span></div>       <div id="mr" class="m-led"><span>MR</span></div>
Línea 44: Línea 75:
       <div id="sd" class="m-led"><span>SD</span></div>       <div id="sd" class="m-led"><span>SD</span></div>
     </div>     </div>
-    <button id="pwr" class="pwr-btn" onclick="handlePowerClick()" title="MARCHE / RESET"></button>+    <button id="pwr" class="pwr-btn" onclick="handlePowerClick()" title="POWER / RESET"></button>
   </div>   </div>
   <div id="terminal" class="contact-box"><div id="output"></div></div>   <div id="terminal" class="contact-box"><div id="output"></div></div>
Línea 56: Línea 87:
 let abortComm = false; let abortComm = false;
  
-// PAQUETS DE DONNÉES EN FRANÇAIS 
 const content = [ const content = [
   {t: "ATZ", s: "cmd", b: true}, {t: "OK", s: "status", b: true}, {t: "ATDT 914002800", s: "cmd", b: true},   {t: "ATZ", s: "cmd", b: true}, {t: "OK", s: "status", b: true}, {t: "ATDT 914002800", s: "cmd", b: true},
-  {t: "CONNECTÉ 2400/V.22bis", s: "status", b: true}, {t: "--- FLUX DE DONNÉES ENTRANT ---", s: "status", b: true},+  {t: "CONNECT 2400/V.22bis", s: "status", b: true}, {t: "--- FLUX DE DONNÉES ENTRANT ---", s: "status", b: true},
   {t: "CHARGEMENT DU PROTOCOLE DE PRÉSERVATION PCWWiki...", s: "text", b: true},   {t: "CHARGEMENT DU PROTOCOLE DE PRÉSERVATION PCWWiki...", s: "text", b: true},
-  {t: "ID_SYSTÈME : Z80-PCW (MADRID/STOCKPORT)", s: "text", b: true},+  {t: "ID_SYSTÈME: Z80-PCW (MADRID/STOCKPORT)", s: "text", b: true},
   {t: " ", s: "text", b: true},   {t: " ", s: "text", b: true},
   {t: "Si vous avez détecté une anomalie dans les données, ", s: "text", b: false},   {t: "Si vous avez détecté une anomalie dans les données, ", s: "text", b: false},
-  {t: "possédez un logiciel non répertorié dans nos archives ", s: "text", b: false}, +  {t: "si vous possédez un logiciel absent de nos registres ", s: "text", b: false}, 
-  {t: "ou souhaitez contribuer à la préservation de documents historiques, ", s: "text", b: false},+  {t: "ou si vous souhaitez contribuer à la documentation historique, ", s: "text", b: false},
   {t: "le système est prêt à recevoir votre transmission.", s: "text", b: false},   {t: "le système est prêt à recevoir votre transmission.", s: "text", b: false},
   {t: " ", s: "text", b: true},   {t: " ", s: "text", b: true},
Línea 77: Línea 107:
 function playDTMF(digit, start) { function playDTMF(digit, start) {
     if(abortComm) return;     if(abortComm) return;
-    const freqs = { '9': [1477, 852], '1': [1209, 697], '4': [1209, 770], '0': [1336, 941], '2': [1336, 697], '8': [1336, 852] };+    const freqs = { '9': [852, 1477], '1': [697, 1209], '4': [770, 1209], '0': [941, 1336], '2': [697, 1336], '8': [852, 1336] };
     const f = freqs[digit] || [0,0];     const f = freqs[digit] || [0,0];
     f.forEach(hz => {     f.forEach(hz => {
Línea 118: Línea 148:
  
 function startConnectionSequence() { function startConnectionSequence() {
-    initAudio(); let now = aCtx.currentTime;+    initAudio(); if(aCtx.state === 'suspended') aCtx.resume(); 
 +    let now = aCtx.currentTime;
     abortComm = false;     abortComm = false;
     document.getElementById('mr').classList.add('led-red');     document.getElementById('mr').classList.add('led-red');
 +    
     let dt1 = aCtx.createOscillator(); let dt2 = aCtx.createOscillator(); let dg = aCtx.createGain();     let dt1 = aCtx.createOscillator(); let dt2 = aCtx.createOscillator(); let dg = aCtx.createGain();
     dt1.frequency.value = 350; dt2.frequency.value = 440; dg.gain.setValueAtTime(0.015, now);     dt1.frequency.value = 350; dt2.frequency.value = 440; dg.gain.setValueAtTime(0.015, now);
Línea 126: Línea 158:
     dt1.connect(dg); dt2.connect(dg); dg.connect(aCtx.destination);     dt1.connect(dg); dt2.connect(dg); dg.connect(aCtx.destination);
     dt1.start(now); dt2.start(now); dt1.stop(now + 1); dt2.stop(now + 1);     dt1.start(now); dt2.start(now); dt1.stop(now + 1); dt2.stop(now + 1);
 +
     "914002800".split('').forEach((d, i) => playDTMF(d, now + 1.2 + (i * 0.16)));     "914002800".split('').forEach((d, i) => playDTMF(d, now + 1.2 + (i * 0.16)));
 +
     let car = aCtx.createOscillator(); let cg = aCtx.createGain();     let car = aCtx.createOscillator(); let cg = aCtx.createGain();
     car.frequency.value = 2100; cg.gain.setValueAtTime(0, now + 3);     car.frequency.value = 2100; cg.gain.setValueAtTime(0, now + 3);
     cg.gain.linearRampToValueAtTime(0.03, now + 3.1);     cg.gain.linearRampToValueAtTime(0.03, now + 3.1);
     cg.gain.exponentialRampToValueAtTime(0.001, now + 5.5);     cg.gain.exponentialRampToValueAtTime(0.001, now + 5.5);
-    car.connect(cg); cg.connect(aCtx.destination); +    car.connect(cg); car.start(now + 3); car.stop(now + 5.5); 
-    car.start(now + 3); car.stop(now + 5.5);+
     setTimeout(() => {     setTimeout(() => {
         if(abortComm) return;         if(abortComm) return;
fr/others/contact.1778065545.txt.gz · Última modificación: por jesus