# Checklist de Tests - Extension ASUS Keyboard RGB Ce document fournit une checklist complète pour tester l'extension avant publication ou après modification. ## Prérequis pour les tests - [ ] GNOME Shell 48 installé - [ ] Matériel ASUS avec clavier RGB supporté - [ ] Règles udev configurées (groupe `kbdled`) - [ ] Utilisateur membre du groupe `kbdled` (après déconnexion/reconnexion) ## 1. Installation ### 1.1 Installation initiale - [ ] Le script `./tools/install-local.sh` s'exécute sans erreur - [ ] Les fichiers sont copiés dans `~/.local/share/gnome-shell/extensions/asus-kbd-rgb@gilles/` - [ ] Le schéma GSettings est compilé (`gschemas.compiled` existe) - [ ] L'extension apparaît dans `gnome-extensions list` ### 1.2 Activation - [ ] La commande `gnome-extensions enable asus-kbd-rgb@gilles` fonctionne - [ ] Aucune erreur dans `journalctl -f -o cat /usr/bin/gnome-shell` - [ ] L'icône de clavier apparaît dans la barre supérieure (après rechargement) ## 2. Interface Utilisateur ### 2.1 Icône et menu - [ ] L'icône `keyboard-brightness-symbolic` est visible dans le panneau - [ ] Clic sur l'icône ouvre le popover - [ ] Le popover affiche le titre "Rétroéclairage Clavier ASUS" - [ ] Le menu est bien formaté et lisible ### 2.2 Section Intensité - [ ] Les 4 boutons d'intensité sont visibles (OFF, 1, 2, 3) - [ ] Clic sur "OFF" éteint le rétroéclairage - [ ] Clic sur "1" met l'intensité à faible - [ ] Clic sur "2" met l'intensité à moyenne - [ ] Clic sur "3" met l'intensité à forte (max) - [ ] Le bouton actif est surligné visuellement - [ ] Un seul bouton est actif à la fois ### 2.3 Section Sliders RGB - [ ] Le slider Rouge fonctionne et affiche la valeur (0-255) - [ ] Le slider Vert fonctionne et affiche la valeur (0-255) - [ ] Le slider Bleu fonctionne et affiche la valeur (0-255) - [ ] Le slider Master fonctionne et affiche la valeur (0-100) - [ ] Déplacer un slider met à jour la valeur numérique en temps réel - [ ] Les sliders sont fluides (pas de lag visible) ### 2.4 Ligne d'information - [ ] La ligne d'info affiche `RGB=(r,g,b)` correctement - [ ] Le code HEX `#RRGGBB` est correct - [ ] L'intensité `Intensité=n/3` est correcte - [ ] Les valeurs se mettent à jour après changement de slider - [ ] Les valeurs se mettent à jour après clic sur preset - [ ] Les valeurs se mettent à jour après changement d'intensité ### 2.5 Section Presets - [ ] 6 boutons de preset sont visibles - [ ] Les couleurs de fond correspondent aux presets : - Preset 1 : Orange (#FFA500) - Preset 2 : Rouge (#FF0000) - Preset 3 : Vert (#00FF00) - Preset 4 : Bleu (#0000FF) - Preset 5 : Blanc (#FFFFFF) - Preset 6 : Cyan (#00FFFF) - [ ] Clic sur un preset applique la couleur immédiatement - [ ] Les sliders RGB se mettent à jour après clic sur preset - [ ] La ligne d'info se met à jour après clic sur preset ## 3. Fonctionnalités Backend ### 3.1 Écriture brightness - [ ] Passage de OFF (0) à 1 allume le clavier - [ ] Passage de 1 à 2 augmente la luminosité - [ ] Passage de 2 à 3 augmente encore la luminosité - [ ] Passage de 3 à OFF éteint le clavier - [ ] Les valeurs sont écrites correctement dans `/sys/class/leds/asus::kbd_backlight/brightness` ### 3.2 Écriture RGB - [ ] Changement de Rouge modifie la couleur du clavier - [ ] Changement de Vert modifie la couleur du clavier - [ ] Changement de Bleu modifie la couleur du clavier - [ ] Les valeurs RGB sont clampées (0-255) - [ ] Format dans `kbd_rgb_mode` est correct : `1 0 R G B 0\n` ### 3.3 Master Gain - [ ] Master à 100% : couleurs normales - [ ] Master à 50% : couleurs à mi-intensité - [ ] Master à 0% : noir (aucune couleur visible) - [ ] Master à 75% : couleurs proportionnellement réduites - [ ] Le gain est appliqué à toutes les composantes RGB ### 3.4 Debouncing - [ ] Déplacer rapidement un slider ne spam pas sysfs (vérifier logs) - [ ] Il y a un délai de ~75ms entre les écritures - [ ] La dernière valeur est bien appliquée après l'arrêt du slider - [ ] Aucun message d'erreur de permission dû au spam ### 3.5 Comportement brightness=0 - [ ] Si brightness=0, changement RGB ne modifie pas le clavier (reste éteint) - [ ] Les valeurs RGB sont mémorisées dans GSettings - [ ] Passage de brightness 0→1 restaure la dernière couleur RGB - [ ] Aucun message d'erreur lors du changement RGB avec brightness=0 ## 4. Persistance (GSettings) ### 4.1 Sauvegarde - [ ] Changer Rouge, fermer le menu, rouvrir → valeur conservée - [ ] Changer Vert, fermer le menu, rouvrir → valeur conservée - [ ] Changer Bleu, fermer le menu, rouvrir → valeur conservée - [ ] Changer Master, fermer le menu, rouvrir → valeur conservée - [ ] Changer Brightness, fermer le menu, rouvrir → valeur conservée - [ ] Appliquer un preset, fermer le menu, rouvrir → preset appliqué ### 4.2 Restauration au démarrage - [ ] Configurer RGB (ex: rouge pur), brightness à 2 - [ ] Fermer la session, se reconnecter - [ ] L'extension restaure automatiquement RGB rouge et brightness 2 - [ ] Le clavier affiche la bonne couleur dès le démarrage - [ ] Les sliders affichent les bonnes valeurs ### 4.3 Commandes GSettings manuelles ```bash # Tester la lecture gsettings get org.gnome.shell.extensions.asuskbdrgb red gsettings get org.gnome.shell.extensions.asuskbdrgb green gsettings get org.gnome.shell.extensions.asuskbdrgb blue gsettings get org.gnome.shell.extensions.asuskbdrgb master-gain gsettings get org.gnome.shell.extensions.asuskbdrgb brightness-level ``` - [ ] Les commandes retournent les bonnes valeurs - [ ] Modifier via `gsettings set`, rouvrir le menu → nouvelle valeur affichée ## 5. Gestion des Erreurs ### 5.1 Matériel non supporté Tester sur une machine sans clavier ASUS : - [ ] L'extension charge sans crash - [ ] Le popover affiche "❌ Matériel non supporté" - [ ] Message clair : "Aucun clavier ASUS RGB détecté" - [ ] Pas de sliders ni boutons (seulement le message d'erreur) ### 5.2 Permissions insuffisantes Tester sans règles udev (ou retirer l'utilisateur du groupe `kbdled`) : - [ ] L'extension charge sans crash - [ ] Le popover affiche "⚠️ Permissions insuffisantes" - [ ] Message clair avec référence à `docs/INSTALL.md` - [ ] Pas de tentative d'écriture sysfs (pas d'erreur dans logs) ### 5.3 Valeurs invalides - [ ] Entrer une valeur RGB > 255 → clampée à 255 - [ ] Entrer une valeur RGB < 0 → clampée à 0 - [ ] Entrer une valeur Master > 100 → clampée à 100 - [ ] Entrer une valeur Master < 0 → clampée à 0 - [ ] Brightness > 3 → clampée à 3 ## 6. Logs et Debug ### 6.1 Logs au démarrage ```bash journalctl -f -o cat /usr/bin/gnome-shell | grep -i asus ``` - [ ] Message "Activation de l'extension ASUS Keyboard RGB" - [ ] Message "Extension ASUS Keyboard RGB activée avec succès" - [ ] Aucune erreur JavaScript ### 6.2 Logs pendant l'utilisation - [ ] Changement RGB affiche "RGB mis à (r, g, b) [master: X%]" - [ ] Changement brightness affiche "Brightness mise à N (valeur)" - [ ] Aucune erreur "Permission denied" - [ ] Aucun spam (grâce au debouncing) ### 6.3 Logs à la désactivation ```bash gnome-extensions disable asus-kbd-rgb@gilles ``` - [ ] Message "Désactivation de l'extension ASUS Keyboard RGB" - [ ] Message "Extension ASUS Keyboard RGB désactivée" - [ ] Aucune erreur de nettoyage ## 7. Robustesse ### 7.1 Rechargement GNOME Shell - [ ] Alt+F2, `r` → l'extension se recharge correctement (X11) - [ ] Logout/login → l'extension se recharge correctement (Wayland) - [ ] État restauré après rechargement ### 7.2 Désactivation/Réactivation ```bash gnome-extensions disable asus-kbd-rgb@gilles gnome-extensions enable asus-kbd-rgb@gilles ``` - [ ] Pas d'erreur lors de la désactivation - [ ] Pas d'erreur lors de la réactivation - [ ] L'icône réapparaît - [ ] Fonctionnalités intactes ### 7.3 Utilisation intensive - [ ] Déplacer rapidement tous les sliders pendant 30 secondes - [ ] Cliquer rapidement sur tous les boutons - [ ] Alterner rapidement entre presets - [ ] Aucun crash - [ ] Aucune fuite mémoire visible - [ ] Performances stables ## 8. Compatibilité ### 8.1 GNOME Shell 48 - [ ] Extension fonctionne sur GNOME 48.0 - [ ] Extension fonctionne sur GNOME 48.x (dernière version) ### 8.2 Debian 13 (Trixie) - [ ] Installation réussie - [ ] Toutes les fonctionnalités opérationnelles - [ ] Aucun conflit de packages ## 9. Documentation - [ ] README.md est à jour - [ ] INSTALL.md couvre tous les cas - [ ] TROUBLESHOOTING.md aide à résoudre les problèmes courants - [ ] CLAUDE.md guide correctement les futures instances - [ ] CHANGELOG.md est à jour - [ ] UI_SCHEMA.md correspond à l'implémentation ## 10. Code Quality ### 10.1 Linting JavaScript ```bash # Si eslint est disponible eslint extension/*.js ``` - [ ] Aucune erreur de syntaxe - [ ] Pas d'imports manquants - [ ] Variables non utilisées supprimées ### 10.2 Revue de code - [ ] Commentaires en français présents et clairs - [ ] Fonctions documentées - [ ] Code modulaire et lisible - [ ] Pas de code mort (dead code) - [ ] Gestion d'erreurs présente ## Résumé des Tests **Total des tests** : ~120 items ### Statut Critique (Bloquant si échec) - Installation et activation - Détection matériel et permissions - Fonctionnalités core (brightness, RGB, presets) - Persistance GSettings - Pas de crash ### Statut Important (À corriger rapidement) - UI correcte et responsive - Debouncing fonctionnel - Messages d'erreur clairs - Logs appropriés ### Statut Nice-to-have (Améliorations) - Performance optimale - Style CSS parfait - Documentation exhaustive --- ## Rapport de Test Compléter après les tests : **Date** : _______________ **Testeur** : _______________ **GNOME Shell version** : _______________ **Matériel** : _______________ **Tests réussis** : ______ / 120 **Tests échoués** : ______ **Bugs trouvés** : - - **Notes** :