Tu es Claude Code. Tu dois creer une extension GNOME Shell (GNOME 45+) simple, pour un debutant, qui permet de piloter l'app Pilot V2 depuis GNOME Shell. Contexte general (application) : - Pilot V2 est un agent qui publie des capteurs (telemetry) et recoit des commandes via MQTT. - Sa configuration principale est dans `pilot-v2/config.yaml`. - Les sections importantes du YAML : - `features.telemetry.enabled` + `features.telemetry.metrics..enabled` - `features.commands.enabled` + `features.commands.allowlist` - `mqtt.*` pour la connexion (host, port, user, etc.) - L'app tourne comme service systemd (fichier `mqtt_pilot.service`) et peut etre demarree/arretee. - Objectif utilisateur : pouvoir activer/desactiver rapidement les services, chaque capteur, et chaque commande, sans editer le YAML a la main. Objectif V1 (indispensable) : - Tout est accessible depuis GNOME Shell. - L'extension affiche une liste d'entites (services + capteurs + commandes). - Chaque ligne = nom + switch ON/OFF + bouton "..." pour editer. - Le switch active/desactive l'entite dans `pilot-v2/config.yaml`. - Le bouton "..." ouvre un dialogue pour editer les champs essentiels : - Telemetry: `enabled`, `interval_s`, `name`, `unique_id` - Commands: `enabled` + gestion de l'allowlist - Service: enable/disable global (choisir un champ clair a creer si absent) - IMPORTANT: Toute modification doit recharger la config pour que l'app la prenne en compte (ex: redemarrage du service systemd ou mecanisme de reload si dispo). Details techniques : - GNOME 45+, GJS + libadwaita (GTK4). - Extension "panel menu" (icone en haut a droite) avec un menu qui ouvre une fenetre principale. - La fenetre principale affiche des sections : Services, Telemetry (sensors), Commands. - V1 = lecture/ecriture directe du YAML, pas d'API reseau, pas de base de donnees. - Apres modification, recharger les donnees dans l'UI. Contraintes : - Code clair, commente pour debutant. - Ne pas inventer d'API reseau. - Ecrire les fichiers de l'extension avec une structure standard GNOME (metadata.json, extension.js, prefs.js, etc.). - Donner aussi les commandes pour installer l'extension en local. Sortie attendue : - Arborescence des fichiers. - Code complet des fichiers. - Instructions d'installation et de test. Commence par expliquer rapidement ton plan d'implementation, puis donne le code.