Watchman Agent Client
Agent d'inventaire système moderne et multi-plateforme pour collecter automatiquement les informations matérielles et logicielles de vos machines.
🎯 Fonctionnalités
- 📊 Collecte complète : Matériel, logiciels, réseau, processus système
- 🔄 Planification automatique : Quotidien, hebdomadaire, mensuel
- 🌐 Interface web intégrée : Dashboard local sur
http://localhost:8080 - ⚡ API REST : Envoi automatique des données vers votre serveur
- 🛠️ Multi-plateforme : Windows, Linux, macOS
- 🔧 Service système : Fonctionne en arrière-plan
🚀 Installation
Installation simple
pip install watchman-agent-client
Installation avec dépendances de développement
pip install watchman-agent-client[dev]
📖 Démarrage Rapide
1. Configuration
Créez un fichier de configuration config.ini :
[server]
url = https://votre-serveur.com/api/v1/inventory
auth_token = votre-token-ici
timeout = 30
verify_ssl = true
[agent]
reporting_frequency = daily
log_level = INFO
collect_software = true
collect_hardware = true
collect_network = true
2. Lancement de l'agent
Mode service (recommandé)
# L'agent démarre automatiquement après installation
# Interface web disponible sur http://localhost:8080
Mode ligne de commande
# Collecte et envoi immédiat
watchman-agent-client --mode collect-send --config-file config.ini
# Collecte uniquement
watchman-agent-client --mode collect --output-file inventaire.json
# Test de connectivité
watchman-agent-client --mode test --config-file config.ini
# Interface web uniquement
watchman-agent-client --mode web
3. Interface Web
Accédez au dashboard : http://localhost:8080
Fonctionnalités :
- 📊 Vue d'ensemble du système
- 🔄 Déclenchement manuel de collecte
- 📤 Envoi forcé vers le serveur
- ⚙️ Configuration en temps réel
- 📝 Consultation des logs
📋 Données Collectées
Informations Système
- Nom d'hôte, domaine, utilisateur
- OS, version, architecture
- CPU, mémoire, charge système
- Disques et partitions
Matériel
- Processeur (modèle, cœurs, fréquence)
- Mémoire RAM (total, modules)
- Stockage (disques, SSD)
- Cartes réseau et interfaces
Logiciels
- Applications installées
- Services système
- Pilotes et versions
- Mises à jour système
Réseau
- Interfaces (Ethernet, WiFi)
- Adressage IP, passerelles, DNS
- Ports ouverts
- Configuration DHCP/statique
🔧 Utilisation Avancée
Collecte programmatique
from agent.core.collector import InventoryCollector
from agent.core.config import AgentConfig
# Charger la configuration
config = AgentConfig('config.ini')
# Créer le collecteur
collector = InventoryCollector(config)
# Collecter les données
inventory = collector.collect_all()
print(inventory)
Envoi vers API
from agent.core.sender import InventorySender
from agent.core.config import AgentConfig
config = AgentConfig('config.ini')
sender = InventorySender(config)
# Envoyer l'inventaire
success = sender.send_inventory(inventory)
📁 Emplacements des Fichiers
Linux/macOS
/etc/watchman-agent-client/config.ini
/var/log/watchman-agent-client/agent.log
Windows
C:\Program Files\WatchmanAgentClient\config\config.ini
C:\Program Files\WatchmanAgentClient\logs\agent.log
🔒 Sécurité
- Interface web accessible uniquement en local (127.0.0.1)
- Authentification token pour les communications serveur
- Chiffrement SSL/TLS obligatoire
- Aucun token dans les logs
- Privilèges minimaux pour le service
📊 Format des Données
Les données sont envoyées au format JSON :
{
"assets": [{
"collection_timestamp": "2024-01-15T14:30:00Z",
"agent_version": "1.0.0",
"hostname": "PC-BUREAU-01",
"architecture": "x86_64",
"os": "Windows 11 Pro 22H2",
"ip": "192.168.1.100",
"mac": "aa:bb:cc:dd:ee:ff",
"cpu": {
"model": "Intel Core i7-12700K",
"cores": 12,
"frequency": "3600 MHz"
},
"memory": {
"total": "32 GB",
"available": "18 GB"
},
"applications": [...],
"network_interfaces": [...]
}]
}
🆘 Support & Documentation
- Documentation complète : docs.watchman.bj
- Signaler un bug : GitHub Issues
- Code source : GitHub Repository
📝 Changelog
Voir le fichier CHANGELOG.md pour l'historique des versions.
🤝 Contribution
Les contributions sont les bienvenues ! Consultez notre documentation sur docs.watchman.bj.
📄 Licence
MIT License - voir LICENSE pour plus de détails.
⭐ Support
Si vous trouvez ce projet utile, n'hésitez pas à lui donner une étoile sur GitHub !
Développé avec ❤️ par l'équipe Watchman
Metadata
Release files for watchman-agent-client 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| watchman_agent_client-1.0.1.tar.gz | 85.1 kB | Without provenance | Details for watchman_agent_client-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| watchman_agent_client-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for watchman_agent_client-1.0.1-py3-none-any.whl |
Total release size: 180.9 kB
Release files / watchman_agent_client-1.0.1.tar.gz
| Download URL | watchman_agent_client-1.0.1.tar.gz |
|---|---|
| Size | 85.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
746efcacfe9f34516a37994aded62fd536664f0c453a44b2bd0e115dc43be9fa
|
|
BLAKE2b-256 checksum How to use checksums |
3b58279c478730ded1da436aa89dfb057dac8c21ea4defe9ee4aaa38dd7649c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / watchman_agent_client-1.0.1-py3-none-any.whl
| Download URL | watchman_agent_client-1.0.1-py3-none-any.whl |
|---|---|
| Size | 95.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a4003dcdc284c7679819f1bf2602504223a3faad2a1fe5205ce1ebb954ebfc6b
|
|
BLAKE2b-256 checksum How to use checksums |
abacf9b0d07128fe5d51a9e5331346e167e93286deeb25f583411049ed7ab157
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for watchman-agent-client 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.