Files
serv_benchmark/docs/FIX_FONT_AWESOME_ICONS.md
Gilles Soulier c67befc549 addon
2026-01-05 16:08:01 +01:00

7.5 KiB
Executable File

Correction : Icônes Font Awesome invalides

🎯 Problème

Le fichier config/peripheral_types.yaml et la fonction JavaScript getTypeIcon() utilisaient des icônes Font Awesome qui n'existent pas dans Font Awesome 6.4.0.

Icônes invalides détectées :

  • usb → N'existe pas
  • hub → N'existe pas
  • ethernet → N'existe pas
  • harddrive → N'existe pas (s'écrit hard-drive)
  • gpu → N'existe pas
  • monitor → N'existe pas
  • cable → N'existe pas
  • soundcard → N'existe pas
  • chip → N'existe pas (s'écrit microchip)
  • screw → N'existe pas
  • nut → N'existe pas
  • spacer → N'existe pas

Corrections apportées

1. Fichier peripheral_types.yaml

Fichier : config/peripheral_types.yaml

Ligne Type Avant Après Raison
61 Clé USB usb plug fa-usb n'existe pas
85 Disque externe hdd hard-drive Tiret manquant
158 Hub USB hub sitemap fa-hub n'existe pas
356 Ethernet ethernet network-wired fa-ethernet n'existe pas
376 SSD harddrive hard-drive Tiret manquant
405 HDD harddrive hard-drive Tiret manquant
434 GPU gpu memory fa-gpu n'existe pas
458 Écran monitor desktop fa-monitor n'existe pas
486 Câble USB cable link fa-cable n'existe pas
512 Câble HDMI cable link fa-cable n'existe pas
532 Câble DisplayPort cable link fa-cable n'existe pas
548 Câble Ethernet cable link fa-cable n'existe pas
567 Carte son soundcard volume-up fa-soundcard n'existe pas
585 Raspberry Pi chip microchip fa-chip n'existe pas
605 Arduino chip microchip fa-chip n'existe pas
621 ESP32 chip microchip fa-chip n'existe pas
695 Vis screw screwdriver fa-screw n'existe pas
720 Écrou nut cog fa-nut n'existe pas
736 Entretoise spacer ruler-vertical fa-spacer n'existe pas

2. Fonction JavaScript getTypeIcon()

Fichier : frontend/js/peripherals.js (lignes 973-1012)

Corrections :

// USB devices
if (typeUpper.includes('USB')) return 'fa-plug';  // Avant: fa-usb

// Storage devices
if (typeUpper.includes('STOCKAGE') || typeUpper.includes('DISK') ||
    typeUpper.includes('SSD') || typeUpper.includes('HDD') ||
    typeUpper.includes('FLASH')) return 'fa-hard-drive';  // Avant: fa-hdd

// Hub
if (typeUpper.includes('HUB')) return 'fa-sitemap';  // Avant: fa-project-diagram

// Câble (ajouté)
if (typeUpper.includes('CÂBLE') || typeUpper.includes('CABLE')) return 'fa-link';

📋 Mapping complet des icônes valides

Icônes Font Awesome 6.4.0 utilisées

Type Icône Font Awesome Code HTML Rendu visuel
Clavier keyboard <i class="fas fa-keyboard"></i> ⌨️
Souris mouse <i class="fas fa-mouse"></i> 🖱️
Clé USB / USB plug <i class="fas fa-plug"></i> 🔌
Disque dur / SSD hard-drive <i class="fas fa-hard-drive"></i> 💾
Lecteur carte SD sd-card <i class="fas fa-sd-card"></i> 💳
Webcam camera <i class="fas fa-camera"></i> 📷
Hub USB sitemap <i class="fas fa-sitemap"></i> 🗺️
Wi-Fi wifi <i class="fas fa-wifi"></i> 📶
ZigBee / Réseau network-wired <i class="fas fa-network-wired"></i> 🌐
Ethernet network-wired <i class="fas fa-network-wired"></i> 🌐
Lecteur empreintes fingerprint <i class="fas fa-fingerprint"></i> 👆
Audio Bluetooth headphones <i class="fas fa-headphones"></i> 🎧
GPU / Carte graphique memory <i class="fas fa-memory"></i> 🧠
Écran / Moniteur desktop <i class="fas fa-desktop"></i> 🖥️
Câbles link <i class="fas fa-link"></i> 🔗
Carte son volume-up <i class="fas fa-volume-up"></i> 🔊
Microcontrôleur microchip <i class="fas fa-microchip"></i> 💻
Console jeu gamepad <i class="fas fa-gamepad"></i> 🎮
Vis screwdriver <i class="fas fa-screwdriver"></i> 🔧
Écrou cog <i class="fas fa-cog"></i> ⚙️
Entretoise ruler-vertical <i class="fas fa-ruler-vertical"></i> 📏
Défaut microchip <i class="fas fa-microchip"></i> 💻

🔍 Vérification Font Awesome

Version utilisée : Font Awesome 6.4.0

Référence officielle : https://fontawesome.com/v6/search

Icônes valides confirmées

Toutes les icônes utilisées ont été vérifiées dans la documentation Font Awesome :

plug - https://fontawesome.com/icons/plug hard-drive - https://fontawesome.com/icons/hard-drive sitemap - https://fontawesome.com/icons/sitemap network-wired - https://fontawesome.com/icons/network-wired memory - https://fontawesome.com/icons/memory desktop - https://fontawesome.com/icons/desktop link - https://fontawesome.com/icons/link volume-up - https://fontawesome.com/icons/volume-up microchip - https://fontawesome.com/icons/microchip screwdriver - https://fontawesome.com/icons/screwdriver cog - https://fontawesome.com/icons/cog ruler-vertical - https://fontawesome.com/icons/ruler-vertical


🧪 Tests

Test 1 : Vérification YAML

# Vérifier qu'il n'y a plus d'icônes invalides
grep -E "icone: (usb|hub|ethernet|harddrive|gpu|monitor|cable|soundcard|chip|screw|nut|spacer)$" config/peripheral_types.yaml

Résultat attendu : Aucun match (toutes les icônes invalides corrigées)

Test 2 : Affichage dans la liste

  1. Ouvrir http://10.0.0.50:8087/peripherals.html
  2. Vérifier que les icônes s'affichent correctement :
    • Périphériques USB → Icône plug (🔌)
    • Stockage → Icône hard-drive (💾)
    • Réseau → Icône network-wired (🌐)
    • Clavier → Icône keyboard (⌨️)
    • Souris → Icône mouse (🖱️)

Test 3 : Console navigateur

Ouvrir la console du navigateur (F12) et vérifier qu'il n'y a pas d'erreurs du type :

Failed to decode downloaded font: fa-usb

📝 Fichiers modifiés

Fichier Modifications
config/peripheral_types.yaml 19 icônes corrigées
frontend/js/peripherals.js 4 icônes corrigées dans getTypeIcon()

💡 Bonnes pratiques

Pour ajouter de nouvelles icônes

  1. Vérifier l'existence sur https://fontawesome.com/v6/search
  2. Utiliser le nom exact (avec tirets si nécessaire)
  3. Tester l'affichage dans le navigateur
  4. Vérifier la console pour détecter les erreurs

Format correct

icone: keyboard           # ✅ Correct (sans préfixe fa-)
icone: hard-drive         # ✅ Correct (avec tiret)
return 'fa-keyboard';     // ✅ Correct (avec préfixe fa-)
return 'fa-hard-drive';   // ✅ Correct (avec tiret)

Format incorrect

icone: usb               # ❌ Icône n'existe pas
icone: harddrive         # ❌ Manque le tiret
return 'fa-usb';         // ❌ Icône n'existe pas
return 'fa-hdd';         // ❌ Format incorrect (devrait être hard-drive)

Date : 31 décembre 2025 Statut : Toutes les icônes corrigées et validées Impact : Les icônes s'affichent correctement sans erreur dans la console