@jjlmoya/utils-hardware 1.25.0 → 1.26.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 (31) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +2 -1
  3. package/src/entries.ts +4 -1
  4. package/src/index.ts +1 -0
  5. package/src/tests/locale_completeness.test.ts +1 -1
  6. package/src/tests/tool_validation.test.ts +1 -1
  7. package/src/tool/webUsbSerialMonitor/bibliography.astro +15 -0
  8. package/src/tool/webUsbSerialMonitor/bibliography.ts +18 -0
  9. package/src/tool/webUsbSerialMonitor/component.astro +356 -0
  10. package/src/tool/webUsbSerialMonitor/entry.ts +30 -0
  11. package/src/tool/webUsbSerialMonitor/i18n/de.ts +241 -0
  12. package/src/tool/webUsbSerialMonitor/i18n/en.ts +241 -0
  13. package/src/tool/webUsbSerialMonitor/i18n/es.ts +241 -0
  14. package/src/tool/webUsbSerialMonitor/i18n/fr.ts +241 -0
  15. package/src/tool/webUsbSerialMonitor/i18n/id.ts +241 -0
  16. package/src/tool/webUsbSerialMonitor/i18n/it.ts +241 -0
  17. package/src/tool/webUsbSerialMonitor/i18n/ja.ts +241 -0
  18. package/src/tool/webUsbSerialMonitor/i18n/ko.ts +241 -0
  19. package/src/tool/webUsbSerialMonitor/i18n/nl.ts +241 -0
  20. package/src/tool/webUsbSerialMonitor/i18n/pl.ts +241 -0
  21. package/src/tool/webUsbSerialMonitor/i18n/pt.ts +241 -0
  22. package/src/tool/webUsbSerialMonitor/i18n/ru.ts +241 -0
  23. package/src/tool/webUsbSerialMonitor/i18n/sv.ts +241 -0
  24. package/src/tool/webUsbSerialMonitor/i18n/tr.ts +241 -0
  25. package/src/tool/webUsbSerialMonitor/i18n/zh.ts +241 -0
  26. package/src/tool/webUsbSerialMonitor/index.ts +12 -0
  27. package/src/tool/webUsbSerialMonitor/logic.ts +44 -0
  28. package/src/tool/webUsbSerialMonitor/seo.astro +16 -0
  29. package/src/tool/webUsbSerialMonitor/ui.ts +51 -0
  30. package/src/tool/webUsbSerialMonitor/web-usb-serial-monitor.css +415 -0
  31. package/src/tools.ts +2 -1
@@ -0,0 +1,241 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { WebUsbSerialMonitorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'monitor-serie-webusb';
7
+ const title = 'Monitor Serie WebUSB';
8
+ const description = 'Conéctate a hardware serie USB desde el navegador, lee la salida del terminal en vivo, envía comandos y depura placas Arduino, ESP32, RP2040 y maker sin instalar un terminal de escritorio.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: '¿Funciona este monitor serie con placas Arduino, ESP32 y Raspberry Pi Pico?',
13
+ answer: 'Sí, cuando la placa expone una interfaz serie USB compatible con Web Serial y el navegador está basado en Chromium. Los adaptadores comunes Arduino, ESP32, RP2040, CH340, CP210x y FTDI suelen funcionar después de que el usuario concede permiso.',
14
+ },
15
+ {
16
+ question: '¿Por qué se llama WebUSB si utiliza Web Serial?',
17
+ answer: 'La mayoría de las placas maker se conectan por USB, pero el acceso al terminal del navegador lo proporciona la API Web Serial. WebUSB es de más bajo nivel y no es la abstracción adecuada para un terminal simple estilo UART.',
18
+ },
19
+ {
20
+ question: '¿Puede un sitio web acceder a mis dispositivos serie sin permiso?',
21
+ answer: 'No. El navegador requiere un clic del usuario y un selector nativo de dispositivos antes de que un sitio pueda abrir un puerto serie. Esta herramienta no almacena registros del terminal ni identificadores de dispositivos.',
22
+ },
23
+ {
24
+ question: '¿Qué navegador debo usar para un terminal serie web?',
25
+ answer: 'Usa Chrome, Edge u otro navegador basado en Chromium mediante HTTPS o localhost. Firefox, Safari y muchos navegadores iOS no exponen la API Web Serial.',
26
+ },
27
+ {
28
+ question: '¿Qué velocidad de baudios debo elegir?',
29
+ answer: 'Elige la velocidad de baudios configurada en tu firmware. Los ejemplos de Arduino suelen usar 9600 o 115200, mientras que registros más rápidos, bootloaders y flujos de sensores de alta velocidad pueden usar 230400, 460800 o 921600.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Conecta el dispositivo serie USB',
36
+ text: 'Enchufa la placa o adaptador y cierra cualquier otro terminal serie que pueda tener el puerto abierto.',
37
+ },
38
+ {
39
+ name: 'Selecciona la velocidad de baudios',
40
+ text: 'Elige la misma velocidad de baudios que usa el firmware, como 115200 para muchos sketches de Arduino, ESP32 y RP2040.',
41
+ },
42
+ {
43
+ name: 'Concede permiso al navegador',
44
+ text: 'Pulsa Conectar, elige el dispositivo serie en el selector del navegador y permite que la página abra el puerto.',
45
+ },
46
+ {
47
+ name: 'Lee y envía datos del terminal',
48
+ text: 'Observa los registros entrantes en el terminal, envía comandos con terminaciones de línea CRLF opcionales y limpia o pausa la salida en vivo cuando sea necesario.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowTo> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'DeveloperApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
83
+ inLanguage: 'es',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<WebUsbSerialMonitorUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faq: faqData,
91
+ bibliography,
92
+ howTo: howToData,
93
+ schemas: [faqSchema, howToSchema, appSchema],
94
+ seo: [
95
+ {
96
+ type: 'title',
97
+ text: 'Monitor Serie Online para Hardware USB Maker',
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'paragraph',
102
+ html: 'Este monitor serie de navegador abre un puerto serie USB directamente desde Chrome o Edge, luego transmite texto desde microcontroladores, puentes USB UART, placas de desarrollo, bootloaders, dispositivos de prueba, sensores y hardware de laboratorio. Está diseñado para diagnósticos rápidos cuando necesitas una consola serie pero no quieres instalar un IDE de escritorio o una aplicación de terminal.',
103
+ },
104
+ {
105
+ type: 'message',
106
+ title: 'Límite de permiso del navegador',
107
+ html: 'La página no puede enumerar ni abrir silenciosamente tus dispositivos serie. El acceso comienza solo después de que pulses Conectar y elijas un puerto en el selector del navegador. Los datos del terminal permanecen en la pestaña actual a menos que los copies tú mismo.',
108
+ },
109
+ {
110
+ type: 'stats',
111
+ items: [
112
+ { value: '9600-921600', label: 'preajustes de baudios comunes' },
113
+ { value: 'CRLF', label: 'terminación de comando opcional' },
114
+ { value: 'local', label: 'sesión de terminal' },
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Cuándo es Útil un Terminal Serie Web',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'list',
124
+ items: [
125
+ 'Verificar mensajes de arranque de Arduino, ESP32, ESP8266, RP2040, STM32 o firmware personalizado.',
126
+ 'Enviar comandos AT a módems, GPS, LoRa, Wi-Fi, Bluetooth o módulos celulares a través de un adaptador USB UART.',
127
+ 'Leer la salida de sensores de un banco de pruebas de fábrica, laboratorio escolar, controlador robótico o prototipo de banco.',
128
+ 'Verificar que un controlador de puente serie USB, cable, alimentación de la placa y velocidad de baudios del firmware funcionen juntos.',
129
+ 'Recopilar un registro de errores rápido antes de presentar un bug o solicitar soporte de hardware.',
130
+ ],
131
+ },
132
+ {
133
+ type: 'comparative',
134
+ items: [
135
+ {
136
+ title: 'Monitor serie web',
137
+ description: 'Ideal para soporte rápido, instrucciones en clase, diagnósticos de campo y flujos de trabajo maker donde abrir una URL es más rápido que instalar un IDE.',
138
+ },
139
+ {
140
+ title: 'Terminal de escritorio',
141
+ description: 'Mejor para protocolos binarios, sesiones largas de captura, scripting, control de flujo por hardware, macros y entornos donde las APIs del navegador están bloqueadas.',
142
+ },
143
+ ],
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'Lista de Verificación de Baudios y Fin de Línea',
148
+ level: 3,
149
+ },
150
+ {
151
+ type: 'table',
152
+ headers: ['Configuración', 'Elección típica', 'Qué falla cuando es incorrecto'],
153
+ rows: [
154
+ ['Velocidad de baudios', '115200 para muchas placas modernas, 9600 para ejemplos antiguos.', 'El texto legible se convierte en símbolos aleatorios o no aparece ningún registro útil.'],
155
+ ['Fin de línea', 'CRLF para muchos analizadores de comandos, sin terminación para protocolos de caracteres sin procesar.', 'Los comandos se ignoran porque el firmware espera un terminador.'],
156
+ ['Acceso exclusivo al puerto', 'Cierra Arduino Serial Monitor, PuTTY, screen, minicom o herramientas del fabricante.', 'El selector del navegador abre el puerto pero la lectura o escritura falla.'],
157
+ ['Contexto seguro', 'HTTPS o localhost.', 'La API Serial falta incluso en un navegador compatible.'],
158
+ ],
159
+ },
160
+ {
161
+ type: 'diagnostic',
162
+ variant: 'warning',
163
+ title: '¿Sin salida serie?',
164
+ html: 'Confirma que la placa está alimentada y que el cable USB admite datos, no solo carga. Prueba 9600, 57600 y 115200 si no conoces la velocidad de baudios del firmware. Pulsa reset después de conectar porque muchas placas imprimen registros de arranque solo durante el inicio. Cierra otro software que pueda tener el puerto serie abierto e instala el controlador del sistema operativo para CH340, CP210x, FTDI o el fabricante de la placa si el dispositivo nunca aparece.',
165
+ },
166
+ {
167
+ type: 'title',
168
+ text: 'Privacidad, Seguridad y Límites',
169
+ level: 3,
170
+ },
171
+ {
172
+ type: 'proscons',
173
+ title: 'Fortalezas y límites de Web Serial',
174
+ items: [
175
+ {
176
+ pro: 'Sin instalación de escritorio para diagnósticos básicos de texto serie.',
177
+ con: 'Requiere un navegador basado en Chromium y un contexto seguro.',
178
+ },
179
+ {
180
+ pro: 'El selector del navegador limita el acceso al puerto específico que elijas.',
181
+ con: 'No está destinado a analizadores de protocolos binarios o capturas largas sin supervisión.',
182
+ },
183
+ {
184
+ pro: 'Funciona bien para registros de texto, líneas de comandos y verificaciones rápidas de hardware.',
185
+ con: 'Algunas políticas corporativas, navegadores móviles y sistemas operativos bloquean Web Serial.',
186
+ },
187
+ ],
188
+ },
189
+ ],
190
+ ui: {
191
+ unsupportedTitle: 'Web Serial no está disponible',
192
+ unsupportedBody: 'Usa Chrome o Edge mediante HTTPS o localhost y asegúrate de que tu dispositivo exponga una interfaz serie USB.',
193
+ secureContext: 'Web Serial requiere HTTPS o localhost. Recarga esta página desde un origen seguro e inténtalo de nuevo.',
194
+ statusIdle: 'Elige una velocidad de baudios y conecta un dispositivo serie USB',
195
+ statusPermission: 'Esperando el selector de puerto serie del navegador',
196
+ statusOpening: 'Abriendo puerto serie',
197
+ statusConnected: 'Puerto serie conectado',
198
+ statusDisconnected: 'Puerto serie desconectado',
199
+ statusError: 'Conexión serie fallida',
200
+ connect: 'Conectar Serie',
201
+ disconnect: 'Desconectar',
202
+ send: 'Enviar',
203
+ clear: 'Limpiar',
204
+ pause: 'Pausa',
205
+ resume: 'Reanudar',
206
+ baudRate: 'Baudios',
207
+ newline: 'Añadir CRLF',
208
+ inputPlaceholder: 'Escribe un comando y pulsa Enter',
209
+ portFallback: 'Sin puerto seleccionado',
210
+ portLabel: 'Identidad del puerto',
211
+ connectedDeviceLabel: 'Dispositivo conectado',
212
+ deviceNameFallback: 'Dispositivo serie USB',
213
+ transportLabel: 'Enlace Web Serial',
214
+ bytesLabel: 'Bytes',
215
+ linesLabel: 'Líneas',
216
+ privacyTitle: 'Acceso controlado',
217
+ privacyBody: 'El navegador solo expone el dispositivo serie que seleccionas. Los registros permanecen en esta pestaña a menos que los copies.',
218
+ emptyLog: 'La salida del terminal aparecerá aquí después de conectar un dispositivo serie.',
219
+ copied: 'Copiado',
220
+ copyLog: 'Copiar',
221
+ presetSlow: '9600',
222
+ presetArduino: '115200',
223
+ presetFast: '921600',
224
+ terminalLabel: 'Terminal en vivo',
225
+ unknownUsbId: 'N/A',
226
+ logDirectionRx: 'rx',
227
+ logDirectionTx: 'tx',
228
+ logDirectionSys: 'sys',
229
+ vidPrefix: 'VID ',
230
+ pidSeparator: ' / PID ',
231
+ baudUnit: ' baudios',
232
+ vendorFtdi: 'FTDI USB Serial',
233
+ vendorSilabs: 'Silicon Labs CP210x',
234
+ vendorCh340: 'CH340 USB Serial',
235
+ vendorArduinoUsb: 'Arduino USB Serial',
236
+ vendorAdafruit: 'Adafruit USB Serial',
237
+ vendorRp2040: 'Raspberry Pi RP2040',
238
+ vendorEspressif: 'Espressif USB Serial',
239
+ vendorOpenSource: 'Open Source USB Serial',
240
+ },
241
+ };
@@ -0,0 +1,241 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { WebUsbSerialMonitorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'moniteur-serie-webusb';
7
+ const title = 'Moniteur Série WebUSB';
8
+ const description = 'Connectez-vous au matériel série USB depuis le navigateur, lisez la sortie du terminal en direct, envoyez des commandes et déboguez les cartes Arduino, ESP32, RP2040 et maker sans installer de terminal de bureau.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Ce moniteur série fonctionne-t-il avec les cartes Arduino, ESP32 et Raspberry Pi Pico ?',
13
+ answer: 'Oui, lorsque la carte expose une interface série USB prise en charge par Web Serial et que le navigateur est basé sur Chromium. Les adaptateurs courants Arduino, ESP32, RP2040, CH340, CP210x et FTDI fonctionnent généralement après que l\'utilisateur a accordé l\'autorisation.',
14
+ },
15
+ {
16
+ question: 'Pourquoi cela s\'appelle WebUSB si cela utilise Web Serial ?',
17
+ answer: 'La plupart des cartes maker se connectent via USB, mais l\'accès au terminal du navigateur est fourni par l\'API Web Serial. WebUSB est de plus bas niveau et n\'est pas la bonne abstraction pour un simple terminal de style UART.',
18
+ },
19
+ {
20
+ question: 'Un site web peut-il accéder à mes périphériques série sans permission ?',
21
+ answer: 'Non. Le navigateur exige un clic utilisateur et un sélecteur de périphérique natif avant qu\'un site puisse ouvrir un port série. Cet outil ne stocke pas les journaux du terminal ni les identifiants de périphériques.',
22
+ },
23
+ {
24
+ question: 'Quel navigateur dois-je utiliser pour un terminal série web ?',
25
+ answer: 'Utilisez Chrome, Edge ou un autre navigateur basé sur Chromium via HTTPS ou localhost. Firefox, Safari et de nombreux navigateurs iOS n\'exposent pas l\'API Web Serial.',
26
+ },
27
+ {
28
+ question: 'Quel débit en bauds dois-je choisir ?',
29
+ answer: 'Choisissez le débit en bauds configuré dans votre micrologiciel. Les exemples Arduino utilisent souvent 9600 ou 115200, tandis que les journaux plus rapides, les bootloaders et les flux de capteurs à haut débit peuvent utiliser 230400, 460800 ou 921600.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Connectez le périphérique série USB',
36
+ text: 'Branchez la carte ou l\'adaptateur et fermez tout autre terminal série qui pourrait avoir le port déjà ouvert.',
37
+ },
38
+ {
39
+ name: 'Sélectionnez le débit en bauds',
40
+ text: 'Choisissez le même débit en bauds utilisé par le micrologiciel, comme 115200 pour de nombreux sketches Arduino, ESP32 et RP2040.',
41
+ },
42
+ {
43
+ name: 'Accordez l\'autorisation du navigateur',
44
+ text: 'Appuyez sur Connecter, choisissez le périphérique série dans le sélecteur du navigateur et autorisez la page à ouvrir le port.',
45
+ },
46
+ {
47
+ name: 'Lisez et envoyez des données du terminal',
48
+ text: 'Observez les journaux entrants dans le terminal, envoyez des commandes avec des fins de ligne CRLF optionnelles, et effacez ou mettez en pause la sortie en direct si nécessaire.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowTo> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'DeveloperApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
83
+ inLanguage: 'fr',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<WebUsbSerialMonitorUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faq: faqData,
91
+ bibliography,
92
+ howTo: howToData,
93
+ schemas: [faqSchema, howToSchema, appSchema],
94
+ seo: [
95
+ {
96
+ type: 'title',
97
+ text: 'Moniteur Série en Ligne pour Matériel USB Maker',
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'paragraph',
102
+ html: 'Ce moniteur série de navigateur ouvre un port série USB directement depuis Chrome ou Edge, puis diffuse du texte depuis des microcontrôleurs, des ponts USB UART, des cartes de développement, des bootloaders, des dispositifs de test, des capteurs et du matériel de laboratoire. Il est conçu pour des diagnostics rapides lorsque vous avez besoin d\'une console série mais ne voulez pas installer un IDE de bureau ou une application de terminal.',
103
+ },
104
+ {
105
+ type: 'message',
106
+ title: 'Limite de permission du navigateur',
107
+ html: 'La page ne peut pas énumérer ni ouvrir silencieusement vos périphériques série. L\'accès ne commence qu\'après avoir appuyé sur Connecter et choisi un port dans le sélecteur du navigateur. Les données du terminal restent dans l\'onglet actuel, sauf si vous les copiez vous-même.',
108
+ },
109
+ {
110
+ type: 'stats',
111
+ items: [
112
+ { value: '9600-921600', label: 'présélections de bauds courantes' },
113
+ { value: 'CRLF', label: 'fin de commande optionnelle' },
114
+ { value: 'local', label: 'session de terminal' },
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Quand un Terminal Série Web Est Utile',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'list',
124
+ items: [
125
+ 'Vérifier les messages de démarrage d\'Arduino, ESP32, ESP8266, RP2040, STM32 ou de micrologiciels personnalisés.',
126
+ 'Envoyer des commandes AT aux modems, GPS, LoRa, Wi-Fi, Bluetooth ou modules cellulaires via un adaptateur USB UART.',
127
+ 'Lire la sortie des capteurs d\'un banc d\'essai, d\'un laboratoire scolaire, d\'un contrôleur robotique ou d\'un prototype de banc.',
128
+ 'Vérifier qu\'un pilote de pont série USB, un câble, l\'alimentation de la carte et le débit en bauds du micrologiciel fonctionnent tous ensemble.',
129
+ 'Collecter un journal d\'erreurs rapide avant de soumettre un bug ou de demander une assistance matérielle.',
130
+ ],
131
+ },
132
+ {
133
+ type: 'comparative',
134
+ items: [
135
+ {
136
+ title: 'Moniteur série web',
137
+ description: 'Idéal pour une assistance rapide, des instructions en classe, des diagnostics de terrain et des flux de travail maker où ouvrir une URL est plus rapide que d\'installer un IDE.',
138
+ },
139
+ {
140
+ title: 'Terminal de bureau',
141
+ description: 'Mieux adapté aux protocoles binaires, aux longues sessions de capture, au scripting, au contrôle de flux matériel, aux macros et aux environnements où les API du navigateur sont bloquées.',
142
+ },
143
+ ],
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'Liste de Vérification du Débit en Bauds et de Fin de Ligne',
148
+ level: 3,
149
+ },
150
+ {
151
+ type: 'table',
152
+ headers: ['Paramètre', 'Choix typique', 'Ce qui échoue quand c\'est incorrect'],
153
+ rows: [
154
+ ['Débit en bauds', '115200 pour de nombreuses cartes modernes, 9600 pour les anciens exemples.', 'Le texte lisible se transforme en symboles aléatoires ou aucun journal utile n\'apparaît.'],
155
+ ['Fin de ligne', 'CRLF pour de nombreux analyseurs de commandes, pas de fin pour les protocoles de caractères bruts.', 'Les commandes sont ignorées car le micrologiciel attend un terminateur.'],
156
+ ['Accès exclusif au port', 'Fermez Arduino Serial Monitor, PuTTY, screen, minicom ou les outils du fabricant.', 'Le sélecteur du navigateur ouvre le port mais la lecture ou l\'écriture échoue.'],
157
+ ['Contexte sécurisé', 'HTTPS ou localhost.', 'L\'API Serial est manquante même dans un navigateur compatible.'],
158
+ ],
159
+ },
160
+ {
161
+ type: 'diagnostic',
162
+ variant: 'warning',
163
+ title: 'Pas de sortie série ?',
164
+ html: 'Confirmez que la carte est alimentée et que le câble USB prend en charge les données, pas seulement la charge. Essayez 9600, 57600 et 115200 si vous ne connaissez pas le débit en bauds du micrologiciel. Appuyez sur reset après la connexion car de nombreuses cartes n\'impriment les journaux de démarrage qu\'au lancement. Fermez les autres logiciels qui pourraient encore posséder le port série et installez le pilote du système d\'exploitation pour CH340, CP210x, FTDI ou le fabricant de la carte si le périphérique n\'apparaît jamais.',
165
+ },
166
+ {
167
+ type: 'title',
168
+ text: 'Confidentialité, Sécurité et Limites',
169
+ level: 3,
170
+ },
171
+ {
172
+ type: 'proscons',
173
+ title: 'Forces et limites de Web Serial',
174
+ items: [
175
+ {
176
+ pro: 'Aucune installation de bureau pour les diagnostics de texte série de base.',
177
+ con: 'Nécessite un navigateur basé sur Chromium et un contexte sécurisé.',
178
+ },
179
+ {
180
+ pro: 'Le sélecteur du navigateur limite l\'accès au port spécifique que vous choisissez.',
181
+ con: 'Non destiné aux analyseurs de protocoles binaires ou aux longues captures sans surveillance.',
182
+ },
183
+ {
184
+ pro: 'Fonctionne bien pour les journaux de texte, les invites de commande et les vérifications rapides du matériel.',
185
+ con: 'Certaines politiques d\'entreprise, navigateurs mobiles et systèmes d\'exploitation bloquent Web Serial.',
186
+ },
187
+ ],
188
+ },
189
+ ],
190
+ ui: {
191
+ unsupportedTitle: 'Web Serial n\'est pas disponible',
192
+ unsupportedBody: 'Utilisez Chrome ou Edge via HTTPS ou localhost et assurez-vous que votre périphérique expose une interface série USB.',
193
+ secureContext: 'Web Serial nécessite HTTPS ou localhost. Rechargez cette page depuis une origine sécurisée et réessayez.',
194
+ statusIdle: 'Choisissez un débit en bauds, puis connectez un périphérique série USB',
195
+ statusPermission: 'En attente du sélecteur de port série du navigateur',
196
+ statusOpening: 'Ouverture du port série',
197
+ statusConnected: 'Port série connecté',
198
+ statusDisconnected: 'Port série déconnecté',
199
+ statusError: 'Échec de la connexion série',
200
+ connect: 'Connecter Série',
201
+ disconnect: 'Déconnecter',
202
+ send: 'Envoyer',
203
+ clear: 'Effacer',
204
+ pause: 'Pause',
205
+ resume: 'Reprendre',
206
+ baudRate: 'Débit en bauds',
207
+ newline: 'Ajouter CRLF',
208
+ inputPlaceholder: 'Tapez une commande, puis appuyez sur Entrée',
209
+ portFallback: 'Aucun port sélectionné',
210
+ portLabel: 'Identité du port',
211
+ connectedDeviceLabel: 'Périphérique connecté',
212
+ deviceNameFallback: 'Périphérique série USB',
213
+ transportLabel: 'Liaison Web Serial',
214
+ bytesLabel: 'Octets',
215
+ linesLabel: 'Lignes',
216
+ privacyTitle: 'Accès contrôlé',
217
+ privacyBody: 'Le navigateur n\'expose que le périphérique série que vous sélectionnez. Les journaux restent dans cet onglet sauf si vous les copiez.',
218
+ emptyLog: 'La sortie du terminal apparaîtra ici après avoir connecté un périphérique série.',
219
+ copied: 'Copié',
220
+ copyLog: 'Copier',
221
+ presetSlow: '9600',
222
+ presetArduino: '115200',
223
+ presetFast: '921600',
224
+ terminalLabel: 'Terminal en direct',
225
+ unknownUsbId: 'N/A',
226
+ logDirectionRx: 'rx',
227
+ logDirectionTx: 'tx',
228
+ logDirectionSys: 'sys',
229
+ vidPrefix: 'VID ',
230
+ pidSeparator: ' / PID ',
231
+ baudUnit: ' bauds',
232
+ vendorFtdi: 'FTDI USB Serial',
233
+ vendorSilabs: 'Silicon Labs CP210x',
234
+ vendorCh340: 'CH340 USB Serial',
235
+ vendorArduinoUsb: 'Arduino USB Serial',
236
+ vendorAdafruit: 'Adafruit USB Serial',
237
+ vendorRp2040: 'Raspberry Pi RP2040',
238
+ vendorEspressif: 'Espressif USB Serial',
239
+ vendorOpenSource: 'Open Source USB Serial',
240
+ },
241
+ };