feat(i18n): French and German localization (phase 5)
CI / Lint e auditorias (push) Successful in 49s
CI / Trivy (dependências e segredos) (push) Successful in 11s
CI / Imagem Docker (linux/arm64) (push) Successful in 3m14s

- Add full message catalogs and content for French (fr) and German (de)
- Implement ASCII canonical slugs for French and German routes
- Add language-specific search endpoints (/api/busca/fr, /api/busca/de)
- Configure strict 404 responses for /fr/livro and /de/livro
- Localize SEO, OpenGraph (fr_FR, de_DE), Twitter and JSON-LD schemas
- Add localized code example comments across 14 examples for fr and de
- Enable 'fr' and 'de' in ENABLED_LOCALES with root negotiation and redirect
- Extend test suite in check-i18n, smoke-imagem and verifica-vazamentos

Co-Authored-By: Antigravity <noreply@google.com>
This commit is contained in:
Lucas RayanandAntigravity committed 2026-11-01 22:06:36 -03:00
1 parent 7b673aeb4b
commit 7fce46b9e1
104 files changed
+33369 -686

No files matched your search

+408
View File
@@ -0,0 +1,408 @@
/**
* Base de données structurée et complète des termes techniques du Glossaire ESP32 en français.
* Couvre toutes les séries de puces Espressif (ESP32, S2, S3, S31, C2, C3, C5, C6, C61, H2, H4, P4)
* et leurs fonctions matérielles, périphériques, radio, sécurité et logicielles.
*/
export const categoriasGlossario = [
{
"id": "processamento",
"nome": "Traitement, CPU & Silicium",
"icone": "Cpu",
"emoji": "🧠",
"cor": "blue",
"descricao": "Architectures Xtensa et RISC-V, cœurs, coprocesseurs ULP, accélérateurs vectoriels d'IA et unités à virgule flottante.",
"termos": [
{
"termo": "Architecture Xtensa vs RISC-V",
"definicao": "Jeu d'instructions de base du processeur. L'ESP32 classique, le S2 et le S3 utilisent des cœurs propriétaires Tensilica Xtensa (LX6/LX7). Les séries modernes C (C2, C3, C5, C6, C61), H (H2, H4) et P (P4) adoptent l'architecture ouverte, modulaire et efficace RISC-V (32 bits).",
"exemplo": "L'ESP32-S3 utilise Xtensa LX7 dual-core, tandis que l'ESP32-C6 utilise RISC-V single-core et l'ESP32-P4 utilise RISC-V dual-core à 400 MHz."
},
{
"termo": "Cœurs de processeur (Dual-Core vs Single-Core)",
"definicao": "Unités centrales de traitement indépendantes. Les puces double cœur permettent de dédier un cœur (Core 0) exclusivement à la radio Wi-Fi/Bluetooth et à l'ordonnancement de FreeRTOS, laissant le second cœur (Core 1) 100% disponible pour l'application et les calculs de l'utilisateur.",
"exemplo": "ESP32, ESP32-S3 et ESP32-P4 sont dual-core ; ESP32-S2, C2, C3, C6 et H2 sont single-core."
},
{
"termo": "Fréquence d'horloge (MHz)",
"definicao": "Vitesse de traitement mesurée en mégahertz (MHz). L'ESP-IDF ajuste dynamiquement la fréquence (Dynamic Frequency Scaling - DFS) pour économiser l'énergie lors des périodes d'inactivité.",
"exemplo": "L'ESP32-C2 fonctionne jusqu'à 120 MHz ; ESP32, S2, S3 et C6 atteignent 160/240 MHz ; et l'ESP32-P4 atteint 400 MHz."
},
{
"termo": "ULP (Coprocesseur à ultra basse consommation)",
"definicao": "Processeur secondaire indépendant à ultra basse consommation capable de continuer à exécuter des instructions, lire des capteurs analogiques (ADC), I2C et broches GPIO pendant que les cœurs principaux restent éteints en Deep Sleep.",
"exemplo": "L'ESP32 classique intègre un ULP FSM ; ESP32-S2, S3 et C6 disposent d'un ULP RISC-V programmable en C ; l'ESP32-P4 dispose d'un ULP basse consommation dédié."
},
{
"termo": "Extensions vectorielles d'IA (Vector Extension / ESP-NN)",
"definicao": "Instructions matérielles spécialisées exécutant des opérations mathématiques vectorielles et matricielles sur des entiers (int8/int16) en parallèle, accélérant les réseaux neuronaux convolutifs (CNN) et le traitement du signal.",
"exemplo": "ESP32-S3 et ESP32-P4 accélèrent les inférences de reconnaissance faciale, la détection vocale et les modèles TensorFlow Lite for Microcontrollers."
},
{
"termo": "FPU (Unité à virgule flottante)",
"definicao": "Unité de traitement à virgule flottante matérielle effectuant des additions, multiplications et divisions sur nombres décimaux (float) en un cycle d'horloge unique, sans pénalité d'émulation logicielle.",
"exemplo": "Présente sur les cœurs Xtensa des ESP32 et ESP32-S3, ainsi que sur les cœurs RISC-V haute performance de l'ESP32-P4."
},
{
"termo": "PPA (Pixel Processing Accelerator)",
"definicao": "Accélérateur graphique 2D matériel exclusif à l'ESP32-P4 pour la manipulation accélérée d'images : rotation de trames, mise à l'échelle (scaling), fusion alpha (alpha blending) et conversion d'espaces colorimétriques (RGB565, ARGB8888, YUV420).",
"exemplo": "Rendu d'interfaces graphiques complexes (LVGL) à 60 FPS sans surcharger les cœurs de processeur principaux."
}
]
},
{
"id": "seguranca",
"nome": "Sécurité, Cryptographie & eFuses",
"icone": "ShieldCheck",
"emoji": "🔒",
"cor": "red",
"descricao": "Secure Boot v2, chiffrement Flash sur silicium, eFuses irréversibles, signature numérique matérielle et isolation TEE.",
"termos": [
{
"termo": "eFuse (Fusibles électroniques)",
"definicao": "Fusibles microscopiques programmables une seule fois (One-Time Programmable - OTP) gravés dans le silicium. Utilisés pour stocker de façon irréversible les clés de chiffrement matérielles, adresses MAC d'usine et réglages de sécurité.",
"exemplo": "Le verrouillage des eFuses désactive définitivement le téléchargement ROM non sécurisé et protège la clé de chiffrement Flash."
},
{
"termo": "Secure Boot (V1 et V2)",
"definicao": "Mécanisme matériel garantissant que seul un micrologiciel signé avec une clé cryptographique privée approuvée (RSA-3072 ou ECDSA-V2) peut démarrer sur le SoC. Empêche l'exécution de code malveillant ou non autorisé.",
"exemplo": "ESP32 prend en charge Secure Boot v1/v2 ; ESP32-S2, S3, C3, C6, H2 et P4 utilisent exclusivement Secure Boot v2 basé sur RSA-3072 / ECDSA."
},
{
"termo": "Chiffrement Flash (Flash Encryption)",
"definicao": "Chiffrement transparent au vol (on-the-fly) du contenu de la mémoire Flash externe utilisant l'algorithme AES-XTS (128 ou 256 bits). La clé de chiffrement est stockée dans les eFuses et protégée contre toute lecture logicielle.",
"exemplo": "La lecture physique de la puce Flash avec un programmateur externe ne révèle que des données chiffrées indéchiffrables."
},
{
"termo": "Key Manager",
"definicao": "Périphérique matériel de gestion de clés sur les SoCs ESP32 récents (ESP32-C6, C61, P4) permettant de stocker, dériver et contrôler l'accès aux clés cryptographiques de manière sécurisée sans exposition dans la mémoire vive accessible au CPU.",
"exemplo": "Dérivation de clés de session pour TLS et chiffrement de données avec protection matérielle contre l'extraction en mémoire."
},
{
"termo": "ECC et ECDSA matériels",
"definicao": "Accélérateur matériel pour la cryptographie sur courbes elliptiques (ECC) et les signatures numériques (ECDSA) sur les courbes P-192 et P-256. Accélère drastiquement les poignées de main sécurisées (TLS / DTLS) et le protocole Matter.",
"exemplo": "Authentification des nœuds Matter et génération de signatures cryptographiques sans ralentir le CPU principal."
},
{
"termo": "HMAC et Signature Numérique (DS)",
"definicao": "Blocs matériels permettant d'effectuer des calculs HMAC et des signatures numériques RSA sans que la clé secrète ne soit jamais chargée dans la RAM du processeur.",
"exemplo": "Authentification sécurisée avec les plateformes cloud via mTLS sans risque de fuite de clé privée."
},
{
"termo": "TRNG (Générateur de nombres aléatoires véritables)",
"definicao": "Générateur matériel de nombres aléatoires basé sur le bruit thermique et les signaux radio du récepteur Wi-Fi/Bluetooth. Fournit une entropie physique indispensable pour les protocoles cryptographiques sécurisés.",
"exemplo": "Génération de clés de session, vecteurs d'initialisation (IV) et nonces pour TLS et WPA3."
},
{
"termo": "Protection contre le DPA (Differential Power Analysis)",
"definicao": "Contre-mesures matérielles intégrées dans les moteurs cryptographiques (AES/RSA) pour masquer les variations de consommation électrique et éviter les attaques par canaux auxiliaires lors des calculs.",
"exemplo": "Présente sur les SoCs ESP32-S3, C3, C6, H2 et P4 pour résister aux attaques matérielles en laboratoire."
}
]
},
{
"id": "memoria",
"nome": "Mémoire, Bus & Stockage",
"icone": "Database",
"emoji": "💾",
"cor": "purple",
"descricao": "SRAM interne, bus SPI et octal pour Flash externe, PSRAM haute vitesse, mémoire cache et mappage MMU.",
"termos": [
{
"termo": "SRAM interne (Static RAM)",
"definicao": "Mémoire vive statique ultra-rapide intégrée directement au silicium de la puce, accessible en un cycle de processeur pour l'exécution des instructions (IRAM) et le stockage des données dynamiques (DRAM).",
"exemplo": "ESP32 dispose de 520 Ko de SRAM ; ESP32-S3 de 512 Ko ; ESP32-C3 de 400 Ko ; ESP32-C6 de 512 Ko ; et ESP32-P4 de 768 Ko."
},
{
"termo": "ROM de démarrage (Boot ROM)",
"definicao": "Mémoire morte gravée d'usine dans le silicium contenant le code initial de premier niveau (First-Stage Bootloader). Elle initialise les horloges minimales, lit les eFuses et charge le bootloader secondaire depuis la mémoire Flash.",
"exemplo": "Prend en charge le mode téléchargement (Download Mode) via UART ou USB pour la programmation initiale du firmware."
},
{
"termo": "Flash SPI (Quad-SPI vs Octal-SPI)",
"definicao": "Mémoire de stockage non volatile externe ou intégrée dans le boîtier où résident le micrologiciel, les tables de partitions et les données de l'application. Quad-SPI utilise 4 lignes de données, tandis qu'Octal-SPI en utilise 8, doublant le débit.",
"exemplo": "L'ESP32-S3 et l'ESP32-P4 prennent en charge la Flash Octal-SPI à 120 MHz en mode OPI DDR."
},
{
"termo": "PSRAM (Pseudo-Static RAM externe)",
"definicao": "Mémoire RAM dynamique externe interfacée via bus SPI/QPI/OPI qui se comporte logiquement comme de la SRAM statique grâce à des contrôleurs de rafraîchissement internes. Indispensable pour le streaming audio, le traitement d'images et les interfaces graphiques.",
"exemplo": "Modules ESP32-WROVER (4/8 Mo de PSRAM Quad) et ESP32-S3-WROOM-1 (jusqu'à 16 Mo de PSRAM Octal)."
},
{
"termo": "SRAM RTC Fast et Slow",
"definicao": "Zones de mémoire SRAM situées dans le domaine d'alimentation RTC (Real-Time Clock) qui restent sous tension et conservent leurs données pendant les modes de veille profonde (Deep Sleep).",
"exemplo": "RTC Fast (8 Ko) permet l'exécution rapide de code par le coprocesseur ULP ; RTC Slow (8 Ko) conserve des variables d'état et des compteurs."
},
{
"termo": "Allocation DMA (MALLOC_CAP_DMA)",
"definicao": "Capacité d'allocation de mémoire dans une région SRAM physique compatible avec l'accès direct en mémoire (DMA) des périphériques (SPI, I2S, LCD, ADC) sans faire transiter les octets par le processeur.",
"exemplo": "Utilisation de heap_caps_malloc(taille, MALLOC_CAP_DMA) pour transférer des tampons graphiques vers un écran SPI à haute vitesse."
},
{
"termo": "Fragmentation du tas (Heap Fragmentation)",
"definicao": "Phénomène où la mémoire vive libre disponible est divisée en de multiples petits blocs discontinus, rendant impossible l'allocation d'un bloc contigu de taille moyenne malgré une mémoire totale apparemment suffisante.",
"exemplo": "Évitez les allocations/désallocations répétées de chaînes en boucle ; privilégiez des tampons pré-alloués de taille fixe."
}
]
},
{
"id": "conectividade",
"nome": "Connectivité Sans Fil & Protocoles",
"icone": "Wifi",
"emoji": "📡",
"cor": "emerald",
"descricao": "Wi-Fi 4/6, Bluetooth 5.x BLE, radio IEEE 802.15.4 (Zigbee / Thread), standard Matter et ESP-NOW sans routeur.",
"termos": [
{
"termo": "Wi-Fi 6 (802.11ax)",
"definicao": "Norme Wi-Fi moderne apportant des améliorations majeures en efficacité spectrale, latence et autonomie énergétique dans les environnements à forte densité d'objets connectés grâce aux technologies OFDMA et Target Wake Time (TWT).",
"exemplo": "Pris en charge nativement sur les SoCs ESP32-C6 et ESP32-C5 (2.4 GHz et 5 GHz)."
},
{
"termo": "Wi-Fi Dual-Band (2.4 GHz et 5 GHz)",
"definicao": "Capacité radio à fonctionner à la fois sur la bande classique de 2.4 GHz (plus longue portée) et sur la bande de 5 GHz (débit supérieur et moins encombrée par les interférences).",
"exemplo": "L'ESP32-C5 est le premier SoC d'Espressif à intégrer une radio Wi-Fi 6 Dual-Band complète."
},
{
"termo": "OFDMA (Accès multiple par répartition en fréquences orthogonales)",
"definicao": "Technologie clé du Wi-Fi 6 qui divise un canal radio en sous-canaux appelés Resource Units (RU), permettant à un point d'accès de communiquer simultanément avec plusieurs dispositifs IoT sans collision de trames.",
"exemplo": "Réduit considérablement la latence réseau sur les réseaux domotiques comptant des dizaines de capteurs ESP32-C6."
},
{
"termo": "TWT (Target Wake Time)",
"definicao": "Fonctionnalité d'économie d'énergie de la norme Wi-Fi 6 permettant au dispositif IoT et au routeur de convenir d'heures précises de réveil pour échanger des données, permettant à la radio de rester éteinte pendant de longues périodes.",
"exemplo": "Permet à des capteurs ESP32-C6 alimentés par pile de fonctionner pendant plusieurs années sur une seule charge."
},
{
"termo": "Bluetooth Classic (BR/EDR)",
"definicao": "Standard Bluetooth d'origine optimisé pour les transmissions continues de données à débit moyen et le streaming audio sans fil via le profil A2DP.",
"exemplo": "Présent sur l'ESP32 d'origine pour les enceintes audio Bluetooth et les communications série SPP."
},
{
"termo": "Bluetooth Low Energy (BLE 5.0 à 5.4)",
"definicao": "Protocole sans fil ultra basse consommation conçu pour les objets connectés autonomes. Les révisions 5.0+ introduisent le débit 2 Mbps, la longue portée (Coded PHY) et les annonces étendues.",
"exemplo": "Pris en charge sur toutes les séries modernes ESP32-S3, C3, C6, H2 et C5."
},
{
"termo": "Bluetooth LE Audio et Auracast",
"definicao": "Nouvelle génération audio Bluetooth basée sur le codec LC3 et le transport BLE, apportant une qualité audio supérieure, une consommation réduite et la diffusion broadcast Auracast.",
"exemplo": "Pris en charge sur l'ESP32-H4 pour les récepteurs audio et dispositifs d'assistance d'écoute."
},
{
"termo": "IEEE 802.15.4 (Zigbee 3.0 et Thread)",
"definicao": "Standard radio basse consommation pour réseaux maillés (Mesh). Sert de couche physique aux protocoles Zigbee 3.0 et Thread, assurant l'interopérabilité domotique sans dépendance au Wi-Fi.",
"exemplo": "Pris en charge nativement sur les SoCs ESP32-H2 et ESP32-C6."
},
{
"termo": "Matter (Standard unifié pour maison connectée)",
"definicao": "Protocole d'application domotique ouvert soutenu par la Connectivity Standards Alliance (CSA), permettant l'interopérabilité directe entre Apple Home, Google Home, Alexa et SmartThings.",
"exemplo": "Fonctionne sur Matter over Wi-Fi (ESP32, S3, C3, C6) et Matter over Thread (ESP32-H2, C6)."
}
]
},
{
"id": "perifericos",
"nome": "Entrées, Sorties & Périphériques",
"icone": "Sliders",
"emoji": "🔌",
"cor": "amber",
"descricao": "Broches GPIO, matrice GPIO Matrix, convertisseurs ADC et DAC, capteurs tactiles capacitifs, UART, SPI, I2C, I2S et PWM.",
"termos": [
{
"termo": "GPIO (Entrées et sorties à usage général)",
"definicao": "Broches physiques du microcontrôleur configurables individuellement comme entrées ou sorties numériques, avec résistances de pull-up/pull-down internes et interruptions matérielles.",
"exemplo": "Lecture de boutons-poussoirs, commande de relais et signalisation d'état par LED."
},
{
"termo": "Broches de strapping (Strapping Pins)",
"definicao": "Broches spéciales échantillonnées par la ROM matérielle lors du reset pour déterminer le mode de démarrage : boot Flash SPI normal, téléchargement UART/USB ou réglage de la tension VDD_SDIO.",
"exemplo": "GPIO0 doit être tiré à la masse (0) pour entrer en mode programmation, ou maintenu au niveau haut (1) pour un démarrage normal."
},
{
"termo": "ADC (Convertisseur analogique-numérique)",
"definicao": "Périphérique matériel convertissant une tension analogique continue en valeur numérique discrète sur 12 bits (0 à 4095). Dispose de canaux répartis sur deux blocs : ADC1 et ADC2.",
"exemplo": "Mesure de tensions de batteries, capteurs de lumière (LDR) et potentiomètres."
},
{
"termo": "DAC (Convertisseur numérique-analogique)",
"definicao": "Convertisseur matériel transformant une valeur numérique de 8 bits en une tension analogique correspondante sur une broche de sortie dédiée.",
"exemplo": "Disponible sur les broches GPIO25 et GPIO26 de l'ESP32 d'origine pour générer des signaux sonores simples et des formes d'onde."
},
{
"termo": "LEDC (Contrôleur LED PWM)",
"definicao": "Générateur PWM matériel à haute résolution (jusqu'à 16 bits) doté de canaux indépendants et d'un contrôle automatique de fondu progressif de luminosité (fade hardware).",
"exemplo": "Variateurs d'intensité lumineuse pour rubans LED RGB/RGBW et servomoteurs standards."
},
{
"termo": "MCPWM (PWM pour contrôle moteur)",
"definicao": "Périphérique PWM spécialisé pour le contrôle de moteurs électriques, d'onduleurs de puissance et de ponts en H avec insertion automatique de temps mort (dead-time) et entrées de capture de fautes.",
"exemplo": "Pilotage précis de moteurs brushless (BLDC) et servomoteurs industriels sur ESP32 et ESP32-S3."
},
{
"termo": "RMT (Périphérique de télécommande)",
"definicao": "Transmetteur et récepteur de signaux d'impulsions infrarouges ou numériques de précision nanoseconde sans solliciter le processeur.",
"exemplo": "Idéal pour contrôler des rubans LED adressables WS2812B/NeoPixel et décoder les télécommandes infrarouges NEC/RC-5."
},
{
"termo": "PCNT (Compteur d'impulsions)",
"definicao": "Compteur matériel indépendant surveillant les fronts montants et descendants de signaux externes, avec filtrage des rebonds et décodage en quadrature.",
"exemplo": "Lecture d'encodeurs rotatifs optiques et capteurs de débit d'eau sans générer d'interruptions CPU récurrentes."
},
{
"termo": "TWAI® (Two-Wire Automotive Interface / Bus CAN)",
"definicao": "Contrôleur matériel conforme au standard CAN 2.0B (Controller Area Network) pour les communications différentielles robustes en milieu automobile et industriel.",
"exemplo": "Lecture de la prise de diagnostic OBD-II de véhicules et communication avec automates industriels."
},
{
"termo": "Broches tactiles capacitives (Touch)",
"definicao": "Broches physiques intégrant des circuits de mesure capacitive pour détecter le contact ou l'approche du doigt humain sans composants externes.",
"exemplo": "Touches sensitives étanches et curseurs tactiles intégrés dans des boîtiers plastiques."
},
{
"termo": "PARLIO (Contrôleur d'E/S parallèles)",
"definicao": "Périphérique d'E/S parallèle à haute vitesse présent sur les séries récentes (ESP32-C6, P4) permettant l'émission et la réception cadencées de données numériques sur plusieurs bits avec horloge dédiée.",
"exemplo": "Interfaçage de capteurs rapides, écrans spécifiques et modems propriétaires."
}
]
},
{
"id": "multimidia",
"nome": "Multimédia, USB & Interfaces Avancées",
"icone": "Sparkles",
"emoji": "✨",
"cor": "pink",
"descricao": "USB OTG natif, USB Serial/JTAG, interfaces MIPI DSI et CSI pour écrans et caméras, accélérateur graphique PPA et Ethernet MAC.",
"termos": [
{
"termo": "USB OTG (On-The-Go) natif",
"definicao": "Contrôleur USB matériel intégré permettant au SoC de fonctionner aussi bien en tant que périphérique (Device : clavier, souris, stockage) qu'en tant qu'hôte (Host : lecture de clés USB ou manettes).",
"exemplo": "Présent sur ESP32-S2 et ESP32-S3 (Full-Speed 12 Mbps) et ESP32-P4 (High-Speed 480 Mbps)."
},
{
"termo": "USB Série/JTAG natif",
"definicao": "Périphérique matériel dédié intégré au silicium fournissant un port série virtuel (CDC) et une interface de débogage JTAG complète directement sur les broches D+/D- sans convertisseur externe (type CP2102 ou CH340).",
"exemplo": "Téléversement de firmware et débogage pas à pas dans VS Code sur ESP32-C3, S3, C6, H2 et P4."
},
{
"termo": "USB 2.0 High-Speed (480 Mbps)",
"definicao": "Interface USB haute vitesse offrant un débit de transfert de données jusqu'à 480 Mbit/s, indispensable pour la capture vidéo, les caméras UVC et les transferts massifs de données.",
"exemplo": "Présente nativement avec couche physique intégrée (PHY) sur le SoC ESP32-P4."
},
{
"termo": "MIPI CSI et MIPI DSI",
"definicao": "Interfaces de bus différentiels série haute vitesse normalisées par la Mobile Industry Processor Interface pour relier des capteurs de caméra (CSI) et des écrans graphiques haute résolution (DSI).",
"exemplo": "ESP32-P4 intègre MIPI CSI 2 lignes (caméras haute définition) et MIPI DSI 2 lignes (écrans tactiles 1080p)."
},
{
"termo": "Encodeur vidéo matériel H.264",
"definicao": "Moteur matériel dédié capable de compresser des flux vidéo bruts au format standard H.264 (AVC) en temps réel avec un minimum de charge processeur.",
"exemplo": "Encodage vidéo jusqu'à 1080p à 30 FPS sur le processeur multimédia ESP32-P4."
},
{
"termo": "Ethernet MAC 10/100 Mbps",
"definicao": "Contrôleur de couche d'accès réseau (MAC) intégré conforme IEEE 802.3, nécessitant seulement un émetteur-récepteur physique externe (PHY RMII comme LAN8720 ou IP101) pour une connexion réseau filaire.",
"exemplo": "Présent sur l'ESP32 d'origine et l'ESP32-P4 pour des passerelles réseau professionnelles et installations industrielles."
},
{
"termo": "Interface caméra DVP (8 bits / 16 bits)",
"definicao": "Interface parallèle de vision numérique (Digital Video Port) utilisant un bus de données 8 ou 16 bits cadencé par une horloge pixel (PCLK) pour capturer des images depuis des capteurs optiques standard.",
"exemplo": "Connexion des capteurs OV2640 et OV5640 sur cartes ESP32-CAM et ESP32-S3."
}
]
},
{
"id": "energia",
"nome": "Gestion de l'Énergie & Modes de Veille",
"icone": "BatteryCharging",
"emoji": "🔋",
"cor": "teal",
"descricao": "Modes Deep Sleep, Light Sleep, domaine RTC basse consommation, DFS (Dynamic Frequency Scaling) et circuit Brownout.",
"termos": [
{
"termo": "Mode actif (Active Mode)",
"definicao": "État de fonctionnement nominal où tous les cœurs de processeur, périphériques et radios sont allumés. La consommation varie généralement entre 40 mA et 240 mA selon les émetteurs radio activés.",
"exemplo": "Transmission active de données via Wi-Fi ou traitement d'images haute performance."
},
{
"termo": "Modem Sleep",
"definicao": "Mode où le processeur reste actif et exécute le programme utilisateur, mais où la radio Wi-Fi ou Bluetooth est coupée entre les intervalles de communication DTIM.",
"exemplo": "La consommation baisse à environ 15 à 30 mA tout en maintenant la connexion au routeur Wi-Fi."
},
{
"termo": "Light Sleep",
"definicao": "Mode de veille intermédiaire où la plupart des horloges numériques et le CPU sont suspendus, mais où la mémoire SRAM reste alimentée. Le réveil est quasi instantané (moins d'une milliseconde).",
"exemplo": "Consommation réduite à moins de 1 à 2 mA avec réveil sur minuteur, broche GPIO ou activité UART."
},
{
"termo": "Deep Sleep",
"definicao": "Mode de veille profonde où la CPU, la radio et la majeure partie de la SRAM sont éteintes. Seul le domaine RTC reste alimenté pour surveiller les sources de réveil.",
"exemplo": "Consommation ultra faible de 5 à 150 µA, idéale pour les stations météo et capteurs IoT sur pile."
},
{
"termo": "Hibernation (Hibernation Mode)",
"definicao": "Mode de consommation minimale absolue où même le quartz et la SRAM RTC Fast sont coupés. Seul le minuteur RTC Slow ou une broche d'activation externe peut réveiller le microcontrôleur.",
"exemplo": "Consommation descendant jusqu'à moins de 5 µA sur l'ESP32 d'origine et l'ESP32-C3."
},
{
"termo": "Sources de réveil (Wakeup Sources)",
"definicao": "Événements matériels configurés pour réveiller le SoC d'un mode de veille (Light Sleep ou Deep Sleep) : minuteur RTC, changement de niveau sur broche GPIO (ext0/ext1), capteur tactile capacitif ou coprocesseur ULP.",
"exemplo": "Réveil automatique toutes les 15 minutes pour transmettre un relevé de température, puis retour immédiat en veille."
},
{
"termo": "Détecteur de sous-tension (Brownout Detector)",
"definicao": "Circuit matériel de surveillance de la tension d'alimentation interne qui déclenche une réinitialisation propre si la tension chute sous un seuil critique, protégeant la Flash contre la corruption de données.",
"exemplo": "Déclenche le message d'erreur 'Brownout detector was triggered' lors d'un appel de courant trop important sur une alimentation insuffisante."
}
]
},
{
"id": "desenvolvimento",
"nome": "Firmware, Démarrage & Système d'Exploitation",
"icone": "Code2",
"emoji": "🚀",
"cor": "rose",
"descricao": "Séquence de boot, broches de strapping, système de partitionnement, mises à jour OTA avec rollback, FreeRTOS SMP et ESP Component Registry.",
"termos": [
{
"termo": "Bootloader (Premier et second niveau)",
"definicao": "Chaîne logicielle de démarrage : la ROM interne (1er niveau) initialise le matériel de base puis charge le bootloader secondaire depuis la Flash, qui analyse la table de partitions et lance l'application sélectionnée.",
"exemplo": "Prend en charge la vérification cryptographique des images lors de l'activation du Secure Boot."
},
{
"termo": "FreeRTOS (Système d'exploitation temps réel)",
"definicao": "Noyau temps réel préemptif adapté par Espressif pour la gestion multi-cœur symétrique (SMP), ordonnançant les tâches, files d'attente (queues), sémaphores et minuteurs logiciels.",
"exemplo": "Permet d'exécuter simultanément une tâche de lecture de capteurs sur le Core 1 et la pile réseau Wi-Fi sur le Core 0."
},
{
"termo": "Attributs IRAM_ATTR et DRAM_ATTR",
"definicao": "Directives de compilation forçant le placement d'une fonction dans la mémoire d'instructions rapide (IRAM) ou d'une constante dans la mémoire de données (DRAM) plutôt que dans la Flash externe.",
"exemplo": "Obligatoire pour les routines de service d'interruption (ISR) exécutées pendant les opérations d'écriture en Flash SPI."
},
{
"termo": "Table de partitions (partitions.csv)",
"definicao": "Fichier de configuration décrivant la disposition de la mémoire Flash externe : partitions pour le bootloader, les données NVS, les images d'application (ota_0, ota_1) et les systèmes de fichiers (LittleFS).",
"exemplo": "Permet de configurer deux banques d'application pour des mises à jour OTA sécurisées avec possibilité de retour arrière."
},
{
"termo": "Mises à jour OTA avec retour arrière (Rollback)",
"definicao": "Mise à niveau du firmware à distance par Wi-Fi ou Ethernet. Si la nouvelle version plante ou échoue à valider son état fonctionnel (esp_ota_mark_app_valid_cancel_rollback), le système bascule automatiquement sur la version précédente saine.",
"exemplo": "Évite de rendre un dispositif inaccessible sur le terrain lors d'une mise à jour logicielle défectueuse."
},
{
"termo": "NVS (Non-Volatile Storage) et chiffrement NVS",
"definicao": "Bibliothèque intégrée de stockage clé-valeur dans une partition Flash dédiée pour conserver les identifiants Wi-Fi, calibrages et réglages utilisateur, avec prise en charge du chiffrement par clé matérielle.",
"exemplo": "Stockage sécurisé des identifiants réseau et certificats de connexion cloud d'un objet connecté."
},
{
"termo": "Systèmes de fichiers (LittleFS et SPIFFS)",
"definicao": "Systèmes de fichiers embarqués optimisés pour mémoires Flash NOR avec mécanismes d'égalisation d'usure (wear leveling). LittleFS est plus moderne, plus résilient aux coupures de courant et nettement plus rapide que SPIFFS.",
"exemplo": "Stockage de fichiers HTML, CSS et JavaScript pour servir une interface web locale depuis l'ESP32."
},
{
"termo": "JTAG et OpenOCD",
"definicao": "Protocole matériel et logiciel de débogage sur puce permettant d'insérer des points d'arrêt matériels (breakpoints), d'inspecter les variables en temps réel et de tracer l'exécution du code dans VS Code.",
"exemplo": "Débogage matériel direct via le port USB Série/JTAG interne sur les SoCs récents (ESP32-S3, C3, C6, P4)."
}
]
}
];