Ce document illustre une architecture typique de surveillance / inventaire d’un parc informatique, puis la met en contexte via un cas réel inspiré des pratiques en entreprise.
Les outils d'e
┌───────────────────────────────┐
│ Postes Windows (clients) │
│ - Script PowerShell (.ps1) │
│ - Exécution planifiée (Task) │
│ - Export JSON │
└───────────────┬───────────────┘
│ HTTPS (POST JSON)
▼
┌───────────────────────────────┐
│ API d’ingestion (REST) │
│ Node.js/Express ou PHP/Flask │
│ - Validation du payload │
│ - Auth (token/API key) │
│ - Normalisation des champs │
└───────────────┬───────────────┘
│ Write
▼
┌───────────────────────────────┐
│ Stockage (historisation) │
│ - SQL (Postgre/MySQL) │
│ ou │
│ - NoSQL (MongoDB) │
│ - Série temporelle (InfluxDB) │
└───────────────┬───────────────┘
│ Read
▼
┌───────────────────────────────┐
│ Dashboard / Supervision │
│ - Web (tableaux, filtres) │
│ - Grafana (metrics) │
│ - Alerting (seuils, notif) │
└───────────────────────────────┘
PowerShell (poste)
├─ Collecte (CIM/WMI, cmdlets réseau, fichiers)
├─ Traitements (filtrer, trier, top N)
├─ Structuration (objet -> JSON)
├─ Envoi (Invoke-RestMethod / HTTP POST)
└─ Journalisation (logs locaux + code retour)
API REST
├─ Endpoint /ingest (POST)
├─ Authentification (API key par poste / par groupe)
├─ Validation schéma (champs attendus + types)
├─ Déduplication (clé machine + timestamp)
├─ Écriture DB (inventaire + historique)
└─ Déclenchement alertes (règles)
Une école/PME possède 65 postes Windows répartis en :
Objectifs du service IT :
Contraintes réalistes :
Chaque poste exécute un script .ps1 via Task Scheduler :
Le script :
Bonnes pratiques appliquées :
timestamp) + identifiant machine (hostname)Le serveur expose un endpoint unique, par exemple :
POST /api/ingestFonctions :
Deux stratégies typiques :
SQL (PostgreSQL/MySQL)
devices, snapshots, volumes, adapters, packages, services, processes_topNoSQL (MongoDB)
Dans un premier déploiement, on choisit souvent MongoDB pour aller vite, puis on migre vers SQL si besoin de reporting strict.
Le dashboard permet :
Alertes simples (exemples réalistes) :
freeSpaceBytes < seuilNotifications :
Un utilisateur se plaint : “le PC est lent depuis une semaine”.
Le technicien consulte :
freeSpaceBytes (disque système qui se remplit rapidement)Action :