TidyWindow est un assistant de bureau Windows qui automatise la configuration, le nettoyage, les diagnostics, l'installation de packages, le réglage du registre et les mises à jour des pilotes des machines de développement, grâce à un shell WPF et une automatisation PowerShell 7 robuste en arrière-plan.
TidyWindow
Outil de maintenance Windows pour les développeurs soucieux de sécurité, de reproductibilité et de visibilité.
TidyWindow centralise l'initialisation de l'environnement, le nettoyage, l'optimisation du registre, les diagnostics et les réparations automatisées dans une seule application WPF. Chaque opération s'effectue via des services .NET managés qui coordonnent les scripts PowerShell 7, appliquent des garde-fous et génèrent des journaux d'activité structurés. Vous savez ainsi toujours ce qui a été exécuté et comment revenir en arrière.
Fonctionnalités clés
Centre de réparation Essentials (docs/essentials.md) : Créez une file d'attente d'automatisations pour les problèmes de réseau, Windows Defender, d'impression et de Windows Update. Chaque tâche prend en charge les aperçus à blanc, l'exécution séquentielle, la création de points de restauration et les journaux détaillés.
Nettoyage en plusieurs phases (docs/cleanup.md) : Identifiez les fichiers inutiles grâce à un aperçu rapide, évaluez les sélections grâce aux indicateurs de risque et à l'inspection des verrous, puis supprimez-les via des flux de travail commençant par la corbeille ou planifiez des nettoyages réguliers avec des paramètres par défaut conservateurs. Optimiseur de registre (docs/registry-optimizer.md) : Configurez des paramètres prédéfinis ou des ajustements personnalisés avec des points de restauration JSON automatiques, un compte à rebours de 30 secondes pour la restauration, un suivi de la configuration de référence et des alertes de personnalisation des paramètres prédéfinis.
Installation et maintenance de logiciels (docs/install-hub.md, docs/maintenance.md) : Gérez les flux winget, Scoop et Chocolatey à partir d’une file d’attente unique, incluant l’automatisation pour maintenir à jour les ensembles de logiciels sélectionnés.
PathPilot et intelligence des processus (docs/pathpilot.md, docs/known-processes.md) : Gérez les modifications de PATH en toute sécurité, surveillez les processus en cours d’exécution et signalez les anomalies détectées par Threat Watch avec des recommandations de correction.
Contrôleur de démarrage (docs/startup-controller.md) : Inventoriez les dossiers Run/RunOnce, les dossiers de démarrage, les tâches d’ouverture de session et les services avec des états activés/désactivés précis (comme dans le Gestionnaire des tâches), des sauvegardes réversibles, des actions différées et des garde-fous. Observabilité PulseGuard (docs/activity-log.md, docs/settings.md) : Transformez les événements importants du journal d’activité en notifications exploitables, en invites ciblées et en transcriptions consultables, tout en respectant les préférences de notification.
Systèmes de sécurité
Application des points de restauration : L’optimiseur de registre, les réparations Essentials et d’autres flux à haut risque créent des points de restauration à la demande et suppriment les anciens instantanés pour respecter les limites d’espace disque.
Protection lors du nettoyage : Les racines protégées, les filtres d’exclusion des éléments récents, la préférence de la corbeille, l’inspection des verrous et les mécanismes de secours pour la réparation des autorisations empêchent toute perte accidentelle de données.
Files d’attente d’automatisation séquentielles : Les flux Essentials et Maintenance exécutent un script à la fois avec des mécanismes d’annulation, une journalisation déterministe et des politiques de nouvelle tentative.
Gestion des notifications PulseGuard : Les notifications, les alertes d’action et les récapitulatifs de réussite respectent les préférences de l’utilisateur (CanAdjustPulseGuardNotifications), le focus de la fenêtre et les délais d’attente avant d’afficher les invites. Journal d'activité et transcriptions : Chaque automatisation génère des entrées structurées ainsi que des rapports JSON/Markdown pour les audits, avec un accès direct au journal via les notifications PulseGuard.
Protection PathPilot : Les modifications de PATH sont soumises à une validation, à des prévisualisations comparatives et à des points de contrôle de restauration avant toute modification de l'environnement.
Aperçu de l'architecture
Interface : Vues WPF (.NET 8) avec modèles de vue CommunityToolkit.Mvvm (src/TidyWindow.App).
Couche de services : Services C# pour le nettoyage, l'état du registre, la planification des automatisations, l'appel de PowerShell et l'affichage dans la barre d'état système (src/TidyWindow.Core, src/TidyWindow.App/Services).
Couche d'automatisation : Scripts PowerShell 7 dans automation/ pour les opérations essentielles, le nettoyage, le registre et les diagnostics ; les catalogues YAML/JSON décrivent les ajustements, les préréglages, les processus et les ensembles. Packaging : Programme d’installation Inno Setup (installer/TidyWindowInstaller.iss) et artefacts de distribution autonomes disponibles sur GitHub Releases.
Premiers pas
Prérequis
Windows 10 ou version ultérieure
.NET SDK 8.0 ou version ultérieure
PowerShell 7 installé et inclus dans le PATH
Cloner, compiler et exécuter
git clone
https://github.com/Cosmos-0118/TidyWindow.gitcd TidyWindow
dotnet restore src/TidyWindow.sln
dotnet build src/TidyWindow.sln -c Debug
dotnet run --project src/TidyWindow.App/TidyWindow.App.csproj
Consultez le fichier docs/getting-started.md pour connaître les dépendances optionnelles, le dépannage et l’utilisation du programme d’installation. Les programmes d’installation signés les plus récents sont publiés avec chaque nouvelle version sur GitHub (version actuelle : 3.6.2). Dans l'application, ouvrez Paramètres ▸ Mises à jour pour consulter le manifeste hébergé (data/catalog/latest-release.json) et accéder directement au programme d'installation ou aux notes de version les plus récents, sans avoir à télécharger manuellement une nouvelle version.
Tests et vérification :
dotnet test tests/TidyWindow.Core.Tests/TidyWindow.Core.Tests.csproj
dotnet test tests/TidyWindow.Automation.Tests/TidyWindow.Automation.Tests.csproj
dotnet test tests/TidyWindow.App.Tests/TidyWindow.App.Tests.csproj
Les outils du répertoire tools/ permettent de valider la cohérence du catalogue (check_duplicate_packages.py, suggest_catalog_fixes.py) et les flux PowerShell (test-process-catalog-parser.ps1).
PulseGuard et le journal d'activité confirment en temps réel la bonne exécution des automatisations de longue durée et signalent les erreurs exploitables.