# Patterns UI et Rendu Le projet utilise du JavaScript Vanilla avec des gabarits de chaînes de caractères (template strings) pour le rendu du DOM. ## Rendu de Section La fonction `createSection` est souvent utilisée pour générer le HTML d'une section de détail. ```javascript function createSection(id, icon, title, content, options = {}) { // icon est souvent un span avec data-icon pour IconManager return `

${icon}${title}

${options.actionsHtml || ''}
${content}
`; } ``` ## Gestion des Icônes Le système utilise `IconManager` pour injecter des SVG à partir d'attributs `data-icon`. Après avoir injecté du HTML contenant des `data-icon`, il faut appeler : ```javascript if (window.IconManager) { window.IconManager.inlineSvgIcons(containerElement); } ``` ## Échappement HTML Utilisez toujours `window.BenchUtils.escapeHtml()` pour les données venant de l'API afin d'éviter les failles XSS. ## Interaction et État Les pages utilisent souvent des variables d'état globales simples (ex: `isEditing`, `currentDevice`) et re-rendent la section entière lors d'un changement d'état.