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 pashub→ N'existe pasethernet→ N'existe pasharddrive→ N'existe pas (s'écrithard-drive)gpu→ N'existe pasmonitor→ N'existe pascable→ N'existe passoundcard→ N'existe paschip→ N'existe pas (s'écritmicrochip)screw→ N'existe pasnut→ N'existe passpacer→ 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
- Ouvrir
http://10.0.0.50:8087/peripherals.html - 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
- Vérifier l'existence sur https://fontawesome.com/v6/search
- Utiliser le nom exact (avec tirets si nécessaire)
- Tester l'affichage dans le navigateur
- 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