Maintenance Agent, IT Dashboard

Vue d'ensemble

Suite modulaire destinée à fournir aux utilisateurs non-experts un outil de gestion, diagnostic et maintenance de postes Windows, tout en donnant à l'administrateur un contrôle avancé, centralisé et sécurisé.

Le projet combine un coeur PowerShell, une couche d'installation automatisée, une interface graphique React et un module optionnel de centralisation des logs.

2 couches d'architecture
8 modules runtime
88 fichiers générés
7 prompts fondateurs

Architecture à deux couches

La séparation Setup_Script / Maintenance_Agent est le principe directeur : l'orchestration ne se mélange jamais avec le runtime.

Couche 1
Setup_Script
  • Génère l'arborescence complète de Maintenance_Agent
  • Vérifie le manifest des templates signés
  • Applique les ACL et signe les fichiers
  • Écrit les logs d'installation
  • Prévient les exécutions simultanées via LockFiles
Couche 2
Maintenance_Agent
  • Scripts critiques Admin (audit, restore, verify)
  • Scripts utilisateur User (Defender, disque, réseau, MAJ)
  • Shared : logging, validation, helpers, intégrité
  • Backend sécurisé, Frontend React + Vite
  • Scheduler, RemoteServer optionnel

Flux d'installation en 5 étapes : lancement de install_project.ps1, vérification du manifest, génération de l'arborescence, application des ACL, écriture du log.

Modules du runtime

Chaque module a un périmètre strict. Aucune dépendance circulaire : Admin ne dépend pas de User, User ne dépend pas d'Admin.

Admin Audit sécurité, restauration système, vérification intégrité. Rôle admin requis.
User Defender, disque, réseau, mises à jour. Accessible sans privilèges élevés.
Shared Logging, validation, helpers, intégrité. Réutilisé par tous les modules.
Backend API sécurisée (TLS, CORS strict, RBAC). Valide token et rôle avant exécution.
Frontend Vite + React + Tailwind. Actions non-critiques UI, résultats en JSON.
Scheduler Tâches planifiées Windows via compte service limité. Réexécutables sans effet de bord.
RemoteServer Module optionnel. Envoi logs chiffrés, transmission TLS, pseudonymisation.
Tests Tests unitaires légers pour backend, frontend, réseau, système.

Principes de sécurité

La sécurité est intégrée dès la conception. Chaque point a été pensé avant d'écrire la première ligne de code.

Les scripts critiques ne s'exécutent que s'ils sont signés (Authenticode) et situés sous Maintenance_Agent. Les secrets ne sont jamais lisibles en clair. Les opérations sensibles nécessitent rôle admin et confirmation explicite.

  • Signatures Authenticode vérifiées au runtime
  • Secrets via DPAPI / CredentialManager / TPM
  • ACL restrictives appliquées à la création
  • Backend TLS + CORS strict + auth forte
  • RBAC Admin / User séparé
  • RemoteServer : logs pseudonymisés, TLS
  • LockFiles contre exécutions concurrentes
  • Manifest SHA256 des templates signé

Roadmap

L'architecture est définie, la structure est générée. L'implémentation suit cet ordre pour maintenir la cohérence sécurité à chaque étape.

  1. 1Valider config.ps1 et access_keys.ps1
  2. 2Implémenter install_project.ps1 : génération + vérification manifest signé
  3. 3Écrire Shared : logging, integrity_check, validation avec conventions de logs
  4. 4Créer les templates signés et générer le manifest SHA256
  5. 5Développer le backend minimal sécurisé (routes whitelist)
  6. 6Développer le frontend skeleton React + Vite + Tailwind
  7. 7Intégrer le module optionnel RemoteServer
  8. 8Tests automatiques et revue sécurité complète