@jjlmoya/utils-science 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/package.json +64 -0
  2. package/src/category/i18n/en.ts +97 -0
  3. package/src/category/i18n/es.ts +97 -0
  4. package/src/category/i18n/fr.ts +96 -0
  5. package/src/category/index.ts +17 -0
  6. package/src/category/seo.astro +15 -0
  7. package/src/components/PreviewNavSidebar.astro +116 -0
  8. package/src/components/PreviewToolbar.astro +143 -0
  9. package/src/data.ts +11 -0
  10. package/src/env.d.ts +5 -0
  11. package/src/index.ts +24 -0
  12. package/src/layouts/PreviewLayout.astro +117 -0
  13. package/src/pages/[locale]/[slug].astro +146 -0
  14. package/src/pages/[locale].astro +251 -0
  15. package/src/pages/index.astro +4 -0
  16. package/src/tests/faq_count.test.ts +19 -0
  17. package/src/tests/locale_completeness.test.ts +42 -0
  18. package/src/tests/mocks/astro_mock.js +2 -0
  19. package/src/tests/no_h1_in_components.test.ts +48 -0
  20. package/src/tests/seo_length.test.ts +22 -0
  21. package/src/tests/tool_validation.test.ts +17 -0
  22. package/src/tool/asteroid-impact/AsteroidImpact.css +799 -0
  23. package/src/tool/asteroid-impact/bibliography.astro +14 -0
  24. package/src/tool/asteroid-impact/component.astro +436 -0
  25. package/src/tool/asteroid-impact/constants.ts +67 -0
  26. package/src/tool/asteroid-impact/helpers.ts +17 -0
  27. package/src/tool/asteroid-impact/i18n/en.ts +153 -0
  28. package/src/tool/asteroid-impact/i18n/es.ts +153 -0
  29. package/src/tool/asteroid-impact/i18n/fr.ts +153 -0
  30. package/src/tool/asteroid-impact/index.ts +24 -0
  31. package/src/tool/asteroid-impact/logic/impactPhysics.ts +86 -0
  32. package/src/tool/asteroid-impact/script.ts +256 -0
  33. package/src/tool/asteroid-impact/seo.astro +15 -0
  34. package/src/tool/asteroid-impact/ui-helpers.ts +56 -0
  35. package/src/tool/asteroid-impact/ui.ts +69 -0
  36. package/src/tool/asteroid-impact/utils.ts +17 -0
  37. package/src/tool/cellular-renewal/CellularRenewal.css +1 -0
  38. package/src/tool/cellular-renewal/bibliography.astro +14 -0
  39. package/src/tool/cellular-renewal/component.astro +387 -0
  40. package/src/tool/cellular-renewal/i18n/en.ts +170 -0
  41. package/src/tool/cellular-renewal/i18n/es.ts +170 -0
  42. package/src/tool/cellular-renewal/i18n/fr.ts +170 -0
  43. package/src/tool/cellular-renewal/index.ts +24 -0
  44. package/src/tool/cellular-renewal/logic/CellularRenewalEngine.ts +50 -0
  45. package/src/tool/cellular-renewal/seo.astro +14 -0
  46. package/src/tool/colony-counter/ColonyCounter.css +473 -0
  47. package/src/tool/colony-counter/bibliography.astro +14 -0
  48. package/src/tool/colony-counter/component.astro +358 -0
  49. package/src/tool/colony-counter/i18n/en.ts +151 -0
  50. package/src/tool/colony-counter/i18n/es.ts +151 -0
  51. package/src/tool/colony-counter/i18n/fr.ts +151 -0
  52. package/src/tool/colony-counter/index.ts +27 -0
  53. package/src/tool/colony-counter/seo.astro +15 -0
  54. package/src/tool/microwave-detector/MicrowaveDetector.css +122 -0
  55. package/src/tool/microwave-detector/bibliography.astro +14 -0
  56. package/src/tool/microwave-detector/component.astro +650 -0
  57. package/src/tool/microwave-detector/i18n/en.ts +155 -0
  58. package/src/tool/microwave-detector/i18n/es.ts +155 -0
  59. package/src/tool/microwave-detector/i18n/fr.ts +155 -0
  60. package/src/tool/microwave-detector/index.ts +24 -0
  61. package/src/tool/microwave-detector/logic/MicrowaveEngine.ts +89 -0
  62. package/src/tool/microwave-detector/seo.astro +14 -0
  63. package/src/tool/simulation-probability/SimulationProbability.css +1 -0
  64. package/src/tool/simulation-probability/bibliography.astro +14 -0
  65. package/src/tool/simulation-probability/component.astro +348 -0
  66. package/src/tool/simulation-probability/i18n/en.ts +184 -0
  67. package/src/tool/simulation-probability/i18n/es.ts +184 -0
  68. package/src/tool/simulation-probability/i18n/fr.ts +184 -0
  69. package/src/tool/simulation-probability/index.ts +24 -0
  70. package/src/tool/simulation-probability/logic/SimulationEngine.ts +42 -0
  71. package/src/tool/simulation-probability/seo.astro +14 -0
  72. package/src/tools.ts +15 -0
  73. package/src/types.ts +72 -0
@@ -0,0 +1,155 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+
3
+ export const content: ToolLocaleContent = {
4
+ slug: 'microwave-leak-detector',
5
+ title: 'Microwave Leak Detector: WiFi Interference Visualizer',
6
+ description: 'Analyze if your microwave is leaking radiation by measuring real-time interference on your WiFi network. A scientific safety tool.',
7
+ faqTitle: 'Frequently Asked Questions',
8
+ bibliographyTitle: 'Bibliography',
9
+ ui: {
10
+ copied: 'Copied',
11
+ noHistory: 'No history',
12
+ load: 'Load',
13
+ delete: 'Delete',
14
+ microwaveDetection: 'Microwave Detection',
15
+ shieldingAnalysis: 'Shielding Analysis',
16
+ startTest: 'Start Test',
17
+ stopTest: 'Stop Test',
18
+ waitingForStart: 'Waiting for start...',
19
+ detectingInterference: 'Detecting interference...',
20
+ baseLevel: 'Base Level',
21
+ activeLevel: 'Active Level',
22
+ leakProbability: 'Leak Probability',
23
+ lowLeak: 'Low',
24
+ mediumLeak: 'Medium',
25
+ highLeak: 'High',
26
+ pingLabel: 'Latency (ms)',
27
+ packetLossLabel: 'Packet Loss (%)',
28
+ },
29
+ seo: [
30
+ {
31
+ type: 'title',
32
+ text: 'WAVE PHYSICS: Does Your Microwave Really Leak Radiation?',
33
+ level: 2,
34
+ },
35
+ {
36
+ type: 'paragraph',
37
+ html: 'The microwave is the most misunderstood appliance in the modern kitchen. Hated by purists and loved by pragmatists, it hides a constant battle between contained energy and the outside world.',
38
+ },
39
+ {
40
+ type: 'paragraph',
41
+ html: 'From a purely physical standpoint, a microwave oven is a <strong>cavity resonator</strong> designed to bombard water molecules with electromagnetic radiation at a very specific frequency: <strong>2.45 GHz</strong>. This frequency is not arbitrary; it is necessary to cause the dipole oscillation of water particles, generating heat through friction. The problem is that this is exactly the same frequency used by the 802.11b/g/n WiFi standard.',
42
+ },
43
+ {
44
+ type: 'title',
45
+ text: 'Electromagnetic Interference (EMI)',
46
+ level: 3,
47
+ },
48
+ {
49
+ type: 'paragraph',
50
+ html: 'Any WiFi device operating in the 2.4GHz band competes for the same "air" as your microwave. In a perfect oven, the <strong>Faraday Cage</strong> (the metal mesh you see on the door and inner walls) should contain 100% of the energy.',
51
+ },
52
+ {
53
+ type: 'paragraph',
54
+ html: 'However, no cage is perfect in the long run. Door seals, magnetic latches, and metal wear can allow small amounts of energy to escape. Although these levels are usually well below safety limits for humans, they are <strong>gigantic</strong> for a WiFi network card, causing latency, packet loss, and the characteristic "jitter" that our tool measures.',
55
+ },
56
+ {
57
+ type: 'title',
58
+ text: 'The Homemade Faraday Cage Test',
59
+ level: 3,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: 'There is a very simple analog way to check the basic state of your oven\'s shielding, although it is less accurate than our digital jitter measurement:',
64
+ },
65
+ {
66
+ type: 'list',
67
+ items: [
68
+ '<strong>Step 1 - The Phone:</strong> Place your mobile phone inside the microwave (<strong>UNDER NO CIRCUMSTANCES TURN THE OVEN ON!</strong> Just close the door).',
69
+ '<strong>Step 2 - The Call:</strong> Try calling that phone from another device. If the phone rings, the Faraday cage is defective or not tuned for cellular frequencies. If it gives "out of coverage," the shielding is working correctly.',
70
+ ],
71
+ },
72
+ {
73
+ type: 'title',
74
+ text: 'Myths vs Scientific Reality',
75
+ level: 3,
76
+ },
77
+ {
78
+ type: 'list',
79
+ items: [
80
+ '<strong>"Microwaves alter the molecular structure of water"</strong> - FALSE. Microwave radiation is <em>non-ionizing</em>. It does not have enough energy to break chemical bonds or alter DNA. It simply vibrates water molecules, increasing their kinetic energy (temperature).',
81
+ '<strong>"Radiation accumulates in food"</strong> - FALSE. Microwaves are like light: once you flip the switch off, they are gone. Hot food does not emit microwave radiation, only infrared radiation (heat) just like a campfire or a pan.',
82
+ '<strong>"Watching the plate spin damages your eyes"</strong> - PARTIALLY TRUE. The door glass is designed with a mesh that blocks 2.45GHz wavelengths. However, if the mesh is damaged, the glass will not stop the microwaves. The lens of the eye is very heat-sensitive and has poor blood circulation, so prolonged direct exposure (near a leak) could cause thermal cataracts.',
83
+ ],
84
+ },
85
+ {
86
+ type: 'title',
87
+ text: 'How does this digital detector work?',
88
+ level: 3,
89
+ },
90
+ {
91
+ type: 'paragraph',
92
+ html: 'Our tool does not measure radiation directly (smartphones do not have sensors for this), but it measures the <strong>main symptom</strong>. When a 2.45GHz radiation molecule escapes the oven, it "collides" with your device\'s WiFi signal. This causes:',
93
+ },
94
+ {
95
+ type: 'list',
96
+ items: [
97
+ '<strong>Packet Retransmissions:</strong> The router detects that the message arrived corrupt and has to resend it, increasing latency.',
98
+ '<strong>Jitter Variation:</strong> This is the measure of instability in response time. High jitter is an unequivocal sign of massive external interference.',
99
+ '<strong>Performance Drop:</strong> Transfer speed plummets due to radio spectrum saturation.',
100
+ '<strong>Background Noise:</strong> The microwave injects noise that raises the "noise floor," making it difficult for the device to distinguish between real data and radioactive chaos.',
101
+ ],
102
+ },
103
+ ],
104
+ faq: [
105
+ {
106
+ question: 'How can a website detect my microwave?',
107
+ answer: 'We don\'t use magic sensors, but network latency. Both 2.4GHz WiFi and microwave ovens operate at the same frequency (approx. 2450 MHz). If the microwave shielding fails, it generates "noise" that collides with the WiFi, drastically increasing latency (ping).',
108
+ },
109
+ {
110
+ question: 'Is it dangerous if my microwave leaks?',
111
+ answer: 'Small WiFi interference is normal and does not imply an immediate health risk, as power decays quickly with distance. However, a massive leak indicates poor sealing of the door or mesh, which should be checked for technical safety.',
112
+ },
113
+ {
114
+ question: 'Why doesn\'t the test work with 5GHz WiFi?',
115
+ answer: 'Because 5GHz WiFi operates on a much higher frequency band than a microwave. For the test to be effective, your device must be connected to the router\'s 2.4GHz network.',
116
+ },
117
+ {
118
+ question: 'What do the latency spikes on the graph mean?',
119
+ answer: 'Constant spikes during microwave operation suggest that the electromagnetic signal is "escaping" and saturating the air, preventing WiFi data packets from arriving on time.',
120
+ },
121
+ ],
122
+ bibliography: [
123
+ {
124
+ name: 'Microwave Oven Leakage: Standards and Safety - Food and Drug Administration (FDA)',
125
+ url: 'https://www.fda.gov/radiation-emitting-products/resources-you-radiation-emitting-products/microwave-oven-radiation',
126
+ },
127
+ {
128
+ name: 'Electromagnetic Compatibility of Microwave Ovens and WLAN - IEEE Xplore',
129
+ url: 'https://ieeexplore.ieee.org/document/8444555',
130
+ },
131
+ {
132
+ name: 'Faraday Cages and RF Shielding Effectiveness - NIST (National Institute of Standards and Technology)',
133
+ url: 'https://www.nist.gov/topics/electromagnetic-fields',
134
+ },
135
+ ],
136
+ howTo: [
137
+ {
138
+ name: 'Connect to 2.4GHz WiFi network',
139
+ text: 'Ensure your mobile or laptop is NOT connected to the 5GHz band so that interference is measurable.',
140
+ },
141
+ {
142
+ name: 'Start base latency test',
143
+ text: 'Press the start button with the microwave off to establish a stable connection baseline.',
144
+ },
145
+ {
146
+ name: 'Turn on the microwave',
147
+ text: 'Heat a glass of water for 30-60 seconds and stand near the appliance with your device.',
148
+ },
149
+ {
150
+ name: 'Analyze real-time graph',
151
+ text: 'Observe if latency rises above 100-200ms or if packet loss occurs while the device is running.',
152
+ },
153
+ ],
154
+ schemas: [],
155
+ };
@@ -0,0 +1,155 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+
3
+ export const content: ToolLocaleContent = {
4
+ slug: 'detector-microondas',
5
+ title: 'Detector de Fugas de Microondas: Visualizador de Interferencias WiFi',
6
+ description: 'Analiza si tu microondas pierde radiación midiendo la interferencia en tiempo real sobre tu red WiFi. Herramienta científica de seguridad.',
7
+ faqTitle: 'Preguntas Frecuentes',
8
+ bibliographyTitle: 'Bibliografía',
9
+ ui: {
10
+ copied: 'Copiado',
11
+ noHistory: 'No historial',
12
+ load: 'Cargar',
13
+ delete: 'Eliminar',
14
+ microwaveDetection: 'Detección de Microondas',
15
+ shieldingAnalysis: 'Análisis de Blindaje',
16
+ startTest: 'Iniciar Prueba',
17
+ stopTest: 'Detener Prueba',
18
+ waitingForStart: 'Esperando inicio...',
19
+ detectingInterference: 'Detectando interferencias...',
20
+ baseLevel: 'Nivel Base',
21
+ activeLevel: 'Nivel Activo',
22
+ leakProbability: 'Probabilidad de Fuga',
23
+ lowLeak: 'Baja',
24
+ mediumLeak: 'Media',
25
+ highLeak: 'Alta',
26
+ pingLabel: 'Latencia (ms)',
27
+ packetLossLabel: 'Pérdida de Paquetes (%)',
28
+ },
29
+ seo: [
30
+ {
31
+ type: 'title',
32
+ text: 'FÍSICA DE LAS ONDAS: ¿Realmente Pierde Radiación tu Microondas?',
33
+ level: 2,
34
+ },
35
+ {
36
+ type: 'paragraph',
37
+ html: 'El microondas es el electrodoméstico más incomprendido de la cocina moderna. Odiado por los puristas y amado por los pragmáticos, oculta una batalla constante entre la energía contenida y el mundo exterior.',
38
+ },
39
+ {
40
+ type: 'paragraph',
41
+ html: 'Desde un punto de vista puramente físico, un horno de microondas es un <strong>resonador de cavidad</strong> diseñado para bombardear moléculas de agua con radiación electromagnética a una frecuencia muy específica: <strong>2.45 GHz</strong>. Esta frecuencia no es arbitraria; es la necesaria para provocar la oscilación dipolo de las partículas de agua, generando calor por fricción. El problema es que esta es exactamente la misma frecuencia que utiliza el estándar WiFi 802.11b/g/n.',
42
+ },
43
+ {
44
+ type: 'title',
45
+ text: 'Interferencia Electromagnética (EMI)',
46
+ level: 3,
47
+ },
48
+ {
49
+ type: 'paragraph',
50
+ html: 'Cualquier dispositivo WiFi operando en la banda de 2.4GHz compite por el mismo "aire" que tu microondas. En un horno perfecto, la <strong>Jaula de Faraday</strong> (la malla metálica que ves en la puerta y las paredes internas) debería contener el 100% de la energía.',
51
+ },
52
+ {
53
+ type: 'paragraph',
54
+ html: 'Sin embargo, ninguna jaula es perfecta a largo plazo. Las juntas de la puerta, los cierres magnéticos y el desgaste del metal pueden permitir que pequeñas cantidades de energía escapen. Aunque estos niveles suelen estar muy por debajo de los límites de seguridad para humanos, son <strong>gigantescos</strong> para una tarjeta de red WiFi, provocando latencia, pérdida de paquetes y el característico "jitter" que mide nuestra herramienta.',
55
+ },
56
+ {
57
+ type: 'title',
58
+ text: 'El Test de la Jaula de Faraday Casero',
59
+ level: 3,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: 'Existe una forma analógica muy sencilla de comprobar el estado básico del apantallado de tu horno, aunque es menos precisa que nuestra medición de jitter digital:',
64
+ },
65
+ {
66
+ type: 'list',
67
+ items: [
68
+ '<strong>Paso 1 - El Teléfono:</strong> Introduce tu teléfono móvil dentro del microondas (<strong>¡BAJO NINGÚN CONCEPTO ENCIENDAS EL HORNO!</strong> Solo cierra la puerta).',
69
+ '<strong>Paso 2 - La Llamada:</strong> Intenta llamar a ese teléfono desde otro dispositivo. Si el teléfono suena, la jaula de Faraday es defectuosa o no está sintonizada para las frecuencias celulares. Si da "fuera de cobertura", el apantallado funciona correctamente.',
70
+ ],
71
+ },
72
+ {
73
+ type: 'title',
74
+ text: 'Mitos vs Realidad Científica',
75
+ level: 3,
76
+ },
77
+ {
78
+ type: 'list',
79
+ items: [
80
+ '<strong>"El microondas altera la estructura molecular del agua"</strong> - FALSO. La radiación de microondas es <em>no ionizante</em>. No tiene energía suficiente para romper enlaces químicos o alterar el ADN. Simplemente hace vibrar las moléculas de agua, aumentando su energía cinética (temperatura).',
81
+ '<strong>"La radiación se acumula en la comida"</strong> - FALSO. Las microondas son como la luz: una vez que apagas el interruptor, desaparecen. La comida caliente no emite radiación microondas, solo radiación infrarroja (calor) igual que una hoguera o una sartén.',
82
+ '<strong>"Mirar el plato girar daña los ojos"</strong> - PARCIALMENTE VERDADERO. El cristal de la puerta está diseñado con una malla que bloquea las longitudes de onda de 2.45GHz. Sin embargo, si la malla está dañada, el cristal no detendrá las microondas. El cristalino del ojo es muy sensible al calor y tiene mala circulación sanguínea, por lo que una exposición directa prolongada (cerca de una fuga) podría causar cataratas térmicas.',
83
+ ],
84
+ },
85
+ {
86
+ type: 'title',
87
+ text: '¿Cómo funciona este detector digital?',
88
+ level: 3,
89
+ },
90
+ {
91
+ type: 'paragraph',
92
+ html: 'Nuestra herramienta no mide la radiación directamente (los smartphones no tienen sensores para ello), pero mide el <strong>síntoma principal</strong>. Cuando una molécula de radiación de 2.45GHz escapa del horno, "colisiona" con la señal WiFi de tu dispositivo. Esto provoca:',
93
+ },
94
+ {
95
+ type: 'list',
96
+ items: [
97
+ '<strong>Retransmisiones de Paquetes:</strong> El router detecta que el mensaje llegó corrupto y tiene que volver a enviarlo, aumentando la latencia.',
98
+ '<strong>Variación del Jitter:</strong> Es la medida de la inestabilidad en el tiempo de respuesta. Un jitter alto es señal inequívoca de interferencia externa masiva.',
99
+ '<strong>Pérdida de Rendimiento:</strong> La velocidad de transferencia cae en picado debido a la saturación del espectro radioeléctrico.',
100
+ '<strong>Ruido de Fondo:</strong> El microondas inyecta ruido que eleva el "noise floor", dificultando al dispositivo distinguir entre los datos reales y el caos radiactivo.',
101
+ ],
102
+ },
103
+ ],
104
+ faq: [
105
+ {
106
+ question: '¿Cómo puede una web detectar mi microondas?',
107
+ answer: 'No usamos sensores mágicos, sino la latencia de red. Tanto el WiFi de 2.4GHz como los hornos microondas operan en la misma frecuencia (aprox. 2450 MHz). Si el blindaje del microondas falla, genera "ruido" que colisiona con el WiFi, aumentando drásticamente la latencia (ping).',
108
+ },
109
+ {
110
+ question: '¿Es peligroso que mi microondas sufra fugas?',
111
+ answer: 'Una pequeña interferencia en el WiFi es normal y no implica un riesgo inmediato para la salud, ya que la potencia decae rápido con la distancia. Sin embargo, una fuga masiva indica un mal sellado de la puerta o de la rejilla, lo cual debería revisarse por seguridad técnica.',
112
+ },
113
+ {
114
+ question: '¿Por qué el test no funciona con WiFi de 5GHz?',
115
+ answer: 'Porque el WiFi de 5GHz opera en una banda de frecuencia mucho más alta que un microondas. Para que el test sea efectivo, tu dispositivo debe estar conectado a la red de 2.4GHz del router.',
116
+ },
117
+ {
118
+ question: '¿Qué significan los picos de latencia en el gráfico?',
119
+ answer: 'Los picos constantes durante el funcionamiento del microondas sugieren que la señal electromagnética está "escapando" y saturando el aire, impidiendo que los paquetes de datos WiFi lleguen a tiempo.',
120
+ },
121
+ ],
122
+ bibliography: [
123
+ {
124
+ name: 'Microwave Oven Leakage: Standards and Safety - Food and Drug Administration (FDA)',
125
+ url: 'https://www.fda.gov/radiation-emitting-products/resources-you-radiation-emitting-products/microwave-oven-radiation',
126
+ },
127
+ {
128
+ name: 'Electromagnetic Compatibility of Microwave Ovens and WLAN - IEEE Xplore',
129
+ url: 'https://ieeexplore.ieee.org/document/8444555',
130
+ },
131
+ {
132
+ name: 'Faraday Cages and RF Shielding Effectiveness - NIST (National Institute of Standards and Technology)',
133
+ url: 'https://www.nist.gov/topics/electromagnetic-fields',
134
+ },
135
+ ],
136
+ howTo: [
137
+ {
138
+ name: 'Conectar a red WiFi de 2.4GHz',
139
+ text: 'Asegúrate de que tu móvil o portátil NO esté conectado a la banda de 5GHz para que la interferencia sea medible.',
140
+ },
141
+ {
142
+ name: 'Iniciar el test de latencia base',
143
+ text: 'Pulsa el botón de inicio con el microondas apagado para establecer una línea base de conexión estable.',
144
+ },
145
+ {
146
+ name: 'Encender el microondas',
147
+ text: 'Pon a calentar un vaso de agua durante 30-60 segundos y sitúate cerca del electrodoméstico con tu dispositivo.',
148
+ },
149
+ {
150
+ name: 'Analizar el gráfico en tiempo real',
151
+ text: 'Observa si la latencia sube por encima de los 100-200ms o si se producen pérdidas de paquetes mientras el aparato está en funcionamiento.',
152
+ },
153
+ ],
154
+ schemas: [],
155
+ };
@@ -0,0 +1,155 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+
3
+ export const content: ToolLocaleContent = {
4
+ slug: 'detecteur-fuites-micro-ondes',
5
+ title: 'Détecteur de Fuites Micro-ondes : Visualiseur d\'Interférences WiFi',
6
+ description: 'Analysez si votre micro-ondes perd des radiations en mesurant l\'interférence en temps réel sur votre réseau WiFi. Outil de sécurité scientifique.',
7
+ faqTitle: 'Questions Fréquemment Posées',
8
+ bibliographyTitle: 'Bibliographie',
9
+ ui: {
10
+ copied: 'Copié',
11
+ noHistory: 'Pas d\'historique',
12
+ load: 'Charger',
13
+ delete: 'Supprimer',
14
+ microwaveDetection: 'Détection de micro-ondes',
15
+ shieldingAnalysis: 'Analyse du blindage',
16
+ startTest: 'Démarrer le test',
17
+ stopTest: 'Arrêter le test',
18
+ waitingForStart: 'En attente du démarrage...',
19
+ detectingInterference: 'Détection des interférences...',
20
+ baseLevel: 'Niveau de base',
21
+ activeLevel: 'Niveau actif',
22
+ leakProbability: 'Probabilité de fuite',
23
+ lowLeak: 'Basse',
24
+ mediumLeak: 'Moyenne',
25
+ highLeak: 'Haute',
26
+ pingLabel: 'Latence (ms)',
27
+ packetLossLabel: 'Perte de paquets (%)',
28
+ },
29
+ seo: [
30
+ {
31
+ type: 'title',
32
+ text: 'PHYSIQUE DES ONDES : Votre micro-ondes fuit-il réellement des radiations ?',
33
+ level: 2,
34
+ },
35
+ {
36
+ type: 'paragraph',
37
+ html: 'Le micro-ondes est l\'appareil ménager le plus incompris de la cuisine moderne. Détesté par les puristes et adoré par les pragmatiques, il cache une bataille constante entre l\'énergie contenue et le monde extérieur.',
38
+ },
39
+ {
40
+ type: 'paragraph',
41
+ html: 'D\'un point de vue purement physique, un four à micro-ondes est un <strong>résonateur à cavité</strong> conçu pour bombarder les molécules d\'eau de radiations électromagnétiques à une fréquence très spécifique : <strong>2,45 GHz</strong>. Cette fréquence n\'est pas arbitraire ; elle est nécessaire pour provoquer l\'oscillation dipolaire des particules d\'eau, générant de la chaleur par friction. Le problème est que c\'est exactement la même fréquence que celle utilisée par la norme WiFi 802.11b/g/n.',
42
+ },
43
+ {
44
+ type: 'title',
45
+ text: 'Interférence électromagnétique (EMI)',
46
+ level: 3,
47
+ },
48
+ {
49
+ type: 'paragraph',
50
+ html: 'Tout dispositif WiFi fonctionnant dans la bande des 2,4 GHz entre en compétition pour le même "air" que votre micro-ondes. Dans un four parfait, la <strong>Cage de Faraday</strong> (le grillage métallique que vous voyez sur la porte et les parois internes) devrait contenir 100 % de l\'énergie.',
51
+ },
52
+ {
53
+ type: 'paragraph',
54
+ html: 'Cependant, aucune cage n\'est parfaite à long terme. Les joints de la porte, les fermoirs magnétiques et l\'usure du métal peuvent permettre à de petites quantités d\'énergie de s\'échapper. Bien que ces niveaux soient généralement bien en dessous des limites de sécurité pour les humains, ils sont <strong>gigantesques</strong> pour une carte réseau WiFi, provoquant de la latence, des pertes de paquets et le "jitter" caractéristique que mesure notre outil.',
55
+ },
56
+ {
57
+ type: 'title',
58
+ text: 'Le test de la cage de Faraday maison',
59
+ level: 3,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: 'Il existe un moyen analogique très simple de vérifier l\'état de base du blindage de votre four, bien qu\'il soit moins précis que notre mesure numérique du jitter :',
64
+ },
65
+ {
66
+ type: 'list',
67
+ items: [
68
+ '<strong>Étape 1 - Le téléphone :</strong> Introduisez votre téléphone portable à l\'intérieur du micro-ondes (<strong>SOUS AUCUN PRÉTEXTE N\'ALLUMEZ LE FOUR !</strong> Fermez simplement la porte).',
69
+ '<strong>Étape 2 - L\'appel :</strong> Essayez d\'appeler ce téléphone depuis un autre appareil. Si le téléphone sonne, la cage de Faraday est défectueuse ou n\'est pas accordée aux fréquences cellulaires. S\'il affiche "hors zone de couverture", le blindage fonctionne correctement.',
70
+ ],
71
+ },
72
+ {
73
+ type: 'title',
74
+ text: 'Mythes vs Réalité Scientifique',
75
+ level: 3,
76
+ },
77
+ {
78
+ type: 'list',
79
+ items: [
80
+ '<strong>"Le micro-ondes altère la structure moléculaire de l\'eau"</strong> - FAUX. Le rayonnement micro-ondes est <em>non ionisant</em>. Il n\'a pas assez d\'énergie pour rompre les liaisons chimiques ou altérer l\'ADN. Il fait simplement vibrer les molécules d\'eau, augmentant leur énergie cinétique (température).',
81
+ '<strong>"Le rayonnement s\'accumule dans les aliments"</strong> - FAUX. Les micro-ondes sont comme la lumière : une fois que vous éteignez l\'interrupteur, elles disparaissent. Un aliment chaud n\'émet pas de rayonnement micro-ondes, seulement un rayonnement infrarouge (chaleur) tout comme un feu ou une poêle.',
82
+ '<strong>"Regarder le plateau tourner endommage les yeux"</strong> - PARTIELLEMENT VRAI. La vitre de la porte est conçue avec une grille qui bloque les longueurs d\'onde de 2,45 GHz. Cependant, si la grille est endommagée, la vitre n\'arrêtera pas les micro-ondes. Le cristallin de l\'œil est très sensible à la chaleur et a une mauvaise circulation sanguine, donc une exposition directe prolongée (près d\'une fuite) pourrait causer des cataractes thermiques.',
83
+ ],
84
+ },
85
+ {
86
+ type: 'title',
87
+ text: 'Comment fonctionne ce détecteur numérique ?',
88
+ level: 3,
89
+ },
90
+ {
91
+ type: 'paragraph',
92
+ html: 'Notre outil ne mesure pas les radiations directement (les smartphones n\'ont pas de capteurs pour cela), mais il mesure le <strong>symptôme principal</strong>. Lorsqu\'une molécule de rayonnement de 2,45 GHz s\'échappe du four, elle "entre en collision" avec le signal WiFi de votre appareil. Cela provoque :',
93
+ },
94
+ {
95
+ type: 'list',
96
+ items: [
97
+ '<strong>Retransmissions de paquets :</strong> Le routeur détecte que le message est arrivé corrompu et doit le renvoyer, ce qui augmente la latence.',
98
+ '<strong>Variation du Jitter :</strong> C\'est la mesure de l\'instabilité du temps de réponse. Un jitter élevé est un signe sans équivoque d\'interférence externe massive.',
99
+ '<strong>Perte de performance :</strong> La vitesse de transfert chute brutalement en raison de la saturation du spectre radioélectrique.',
100
+ '<strong>Bruit de fond :</strong> Le micro-ondes injecte du bruit qui élève le "noise floor", rendant difficile pour l\'appareil de distinguer entre les données réelles et le chaos radioactif.',
101
+ ],
102
+ },
103
+ ],
104
+ faq: [
105
+ {
106
+ question: 'Comment un site web peut-il détecter mon micro-ondes ?',
107
+ answer: 'Nous n\'utilisons pas de capteurs magiques, mais la latence du réseau. Le WiFi 2,4 GHz et les fours à micro-ondes fonctionnent sur la même fréquence (env. 2450 MHz). Si le blindage du micro-ondes échoue, il génère du "bruit" qui entre en collision avec le WiFi, augmentant considérablement la latence (ping).',
108
+ },
109
+ {
110
+ question: 'Est-il dangereux que mon micro-ondes ait des fuites ?',
111
+ answer: 'Une petite interférence sur le WiFi est normale et n\'implique pas de risque immédiat pour la santé, car la puissance décroît rapidement avec la distance. Cependant, une fuite massive indique une mauvaise étanchéité de la porte ou de la grille, ce qui devrait être vérifié pour des raisons de sécurité technique.',
112
+ },
113
+ {
114
+ question: 'Pourquoi le test ne fonctionne-t-il pas avec le WiFi 5 GHz ?',
115
+ answer: 'Parce que le WiFi 5 GHz fonctionne sur une bande de fréquence beaucoup plus élevée qu\'un micro-ondes. Pour que le test soit efficace, votre appareil doit être connecté au réseau 2,4 GHz du routeur.',
116
+ },
117
+ {
118
+ question: 'Que signifient les pics de latence sur le graphique ?',
119
+ answer: 'Des pics constants pendant le fonctionnement du micro-ondes suggèrent que le signal électromagnétique "s\'échappe" et sature l\'air, empêchant les paquets de données WiFi d\'arriver à temps.',
120
+ },
121
+ ],
122
+ bibliography: [
123
+ {
124
+ name: 'Microwave Oven Leakage: Standards and Safety - Food and Drug Administration (FDA)',
125
+ url: 'https://www.fda.gov/radiation-emitting-products/resources-you-radiation-emitting-products/microwave-oven-radiation',
126
+ },
127
+ {
128
+ name: 'Electromagnetic Compatibility of Microwave Ovens and WLAN - IEEE Xplore',
129
+ url: 'https://ieeexplore.ieee.org/document/8444555',
130
+ },
131
+ {
132
+ name: 'Faraday Cages and RF Shielding Effectiveness - NIST (National Institute of Standards and Technology)',
133
+ url: 'https://www.nist.gov/topics/electromagnetic-fields',
134
+ },
135
+ ],
136
+ howTo: [
137
+ {
138
+ name: 'Se connecter au réseau WiFi 2,4 GHz',
139
+ text: 'Assurez-vous que votre mobile ou portable n\'est PAS connecté à la bande 5 GHz pour que l\'interférence soit mesurable.',
140
+ },
141
+ {
142
+ name: 'Lancer le test de latence de base',
143
+ text: 'Appuyez sur le bouton de démarrage avec le micro-ondes éteint pour établir une ligne de base de connexion stable.',
144
+ },
145
+ {
146
+ name: 'Allumer le micro-ondes',
147
+ text: 'Faites chauffer un verre d\'eau pendant 30 à 60 secondes et placez-vous près de l\'appareil avec votre smartphone.',
148
+ },
149
+ {
150
+ name: 'Analyser le graphique en temps réel',
151
+ text: 'Observez si la latence monte au-dessus de 100-200 ms ou si des pertes de paquets se produisent pendant que l\'appareil fonctionne.',
152
+ },
153
+ ],
154
+ schemas: [],
155
+ };
@@ -0,0 +1,24 @@
1
+ import type { ScienceToolEntry, ToolDefinition } from '../../types';
2
+ import MicrowaveDetectorComponent from './component.astro';
3
+ import MicrowaveDetectorSEO from './seo.astro';
4
+ import MicrowaveDetectorBibliography from './bibliography.astro';
5
+
6
+ export const microwaveDetector: ScienceToolEntry = {
7
+ slug: 'detector-microondas',
8
+ icons: {
9
+ bg: 'mdi:microwave',
10
+ fg: 'mdi:wifi-strength-alert-outline',
11
+ },
12
+ i18n: {
13
+ es: () => import('./i18n/es').then((m) => m.content),
14
+ en: () => import('./i18n/en').then((m) => m.content),
15
+ fr: () => import('./i18n/fr').then((m) => m.content),
16
+ },
17
+ };
18
+
19
+ export const MICROWAVE_DETECTOR_TOOL: ToolDefinition = {
20
+ entry: microwaveDetector,
21
+ Component: MicrowaveDetectorComponent,
22
+ SEOComponent: MicrowaveDetectorSEO,
23
+ BibliographyComponent: MicrowaveDetectorBibliography,
24
+ };
@@ -0,0 +1,89 @@
1
+ export interface PingResult {
2
+ latency: number;
3
+ jitter: number;
4
+ timestamp: number;
5
+ }
6
+
7
+ interface InterferenceLevel {
8
+ threshold: number;
9
+ label: string;
10
+ color: string;
11
+ description: string;
12
+ }
13
+
14
+ export class MicrowaveEngine {
15
+ private lastPings: number[] = [];
16
+ private maxHistory = 100;
17
+
18
+ private static readonly INTERFERENCE_LEVELS: InterferenceLevel[] = [
19
+ {
20
+ threshold: 2,
21
+ label: "Señal Limpia",
22
+ color: "emerald",
23
+ description: "Tu conexión es estable. No hay interferencias electromagnéticas significativas detectadas.",
24
+ },
25
+ {
26
+ threshold: 10,
27
+ label: "Interferencia Leve",
28
+ color: "yellow",
29
+ description: "Se detecta algo de ruido en la señal. Podría ser actividad normal o dispositivos Bluetooth cercanos.",
30
+ },
31
+ {
32
+ threshold: 30,
33
+ label: "Interferencia Alta",
34
+ color: "orange",
35
+ description: "Ruido electromagnético considerable detectado. Si el microondas está encendido, es posible que tenga fugas leves.",
36
+ },
37
+ ];
38
+
39
+ async measurePing(): Promise<PingResult> {
40
+ const start = performance.now();
41
+ try {
42
+ await fetch(`/?nocache=${Math.random()}`, {
43
+ method: "GET",
44
+ cache: "no-store",
45
+ });
46
+ const end = performance.now();
47
+ const latency = end - start;
48
+
49
+ this.lastPings.push(latency);
50
+ if (this.lastPings.length > this.maxHistory) this.lastPings.shift();
51
+
52
+ const jitter = this.calculateJitter();
53
+
54
+ return {
55
+ latency,
56
+ jitter,
57
+ timestamp: Date.now(),
58
+ };
59
+ } catch (e) {
60
+ console.error("Ping failed", e);
61
+ return { latency: 0, jitter: 0, timestamp: Date.now() };
62
+ }
63
+ }
64
+
65
+ private calculateJitter(): number {
66
+ if (this.lastPings.length < 2) return 0;
67
+ let diffSum = 0;
68
+ for (let i = 1; i < this.lastPings.length; i++) {
69
+ diffSum += Math.abs(this.lastPings[i] - this.lastPings[i - 1]);
70
+ }
71
+ return diffSum / (this.lastPings.length - 1);
72
+ }
73
+
74
+ static getInterferenceLevel(jitter: number): {
75
+ label: string;
76
+ color: string;
77
+ description: string;
78
+ } {
79
+ const level = this.INTERFERENCE_LEVELS.find((l) => jitter < l.threshold);
80
+ if (level) {
81
+ return { label: level.label, color: level.color, description: level.description };
82
+ }
83
+ return {
84
+ label: "FUGA CRÍTICA / RUIDO EXTREMO",
85
+ color: "red",
86
+ description: "Inestabilidad masiva en la señal. Si estás junto al microondas, apágalo: la protección RF podría estar degradada.",
87
+ };
88
+ }
89
+ }
@@ -0,0 +1,14 @@
1
+ ---
2
+ import { SEORenderer } from '@jjlmoya/utils-shared';
3
+ import { microwaveDetector } from './index';
4
+ import type { KnownLocale } from '../../types';
5
+
6
+ interface Props {
7
+ locale?: KnownLocale;
8
+ }
9
+
10
+ const { locale = 'es' } = Astro.props;
11
+ const content = await microwaveDetector.i18n[locale]?.();
12
+ ---
13
+
14
+ {content && <SEORenderer content={{ sections: content.seo, locale }} />}
@@ -0,0 +1 @@
1
+ /* Simulation Probability Styles */
@@ -0,0 +1,14 @@
1
+ ---
2
+ import { Bibliography } from '@jjlmoya/utils-shared';
3
+ import { simulationProbability } from './index';
4
+ import type { KnownLocale } from '../../types';
5
+
6
+ interface Props {
7
+ locale?: KnownLocale;
8
+ }
9
+
10
+ const { locale = 'es' } = Astro.props;
11
+ const content = await simulationProbability.i18n[locale]?.();
12
+ ---
13
+
14
+ {content && <Bibliography links={content.bibliography} />}