> For the complete documentation index, see [llms.txt](https://felix-billieres.gitbook.io/auditmapperv2/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://felix-billieres.gitbook.io/auditmapperv2/documentation/readme.md).

# AuditMapper – Documentation

### Vue d'ensemble

Le **Host Manager** est le cœur d'AuditMapper V2, une interface complète pour la gestion et l'analyse des hôtes dans le cadre d'audits de sécurité. Cette page centralise toutes les fonctionnalités de découverte, d'organisation et d'exploitation des systèmes cibles.

### Fonctionnalités principales

#### 1. Gestion des Hôtes

* **Création manuelle** d'hôtes avec informations détaillées
* **Import en masse** via parseur intelligent (Nmap, NetExec, fping, etc.)
* **Organisation par catégories** personnalisables
* **Système de projets** pour séparer les audits
* **Recherche et filtrage** avancés

#### 2. Visualisation Réseau

* **Vue classique** : Organisation par zones/catégories
* **Vue Killchain** : Workflow d'attaque visuel
* **Connexions dynamiques** entre hôtes
* **Mode plein écran** pour analyse détaillée
* **Sauvegarde des positions** des nœuds

#### 3. Gestion des Credentials

* **Collecte centralisée** des identifiants
* **Types multiples** : usernames, passwords, hashes
* **Sécurité** : masquage des mots de passe
* **Export/Import** sécurisé

#### 4. Workflow d'Exploitation

* **Étapes structurées** d'exploitation
* **Niveaux de sévérité** (Low, Medium, High, Critical)
* **Statuts de progression** (pending, in\_progress, completed, failed)
* **Screenshots** et documentation

### Interface utilisateur

#### Header Principal

\[]

* **Logo et titre** de la page
* **Sélecteur de projet** avec indicateur visuel
* **Boutons d'action** : Parseur, Catégories, Import/Export
* **Migration des hosts** pour les données existantes
* **Création rapide** d'un nouvel hôte

#### Statistiques du Projet

\[]

* **6 métriques clés** : Total, Actifs, Compromis, Critiques, Credentials, Exploitation
* **Cartes interactives** cliquables pour voir les détails
* **Couleurs codées** selon le niveau de priorité
* **Mise à jour temps réel**

#### Barre de Recherche et Vues

\[]

* **Recherche textuelle** dans IP, hostname, OS
* **3 modes d'affichage** : Liste, Grille, Réseau
* **Filtres par catégorie** dans la sidebar gauche

#### Sidebar des Catégories

\[]

* **Liste des catégories** avec compteurs d'hôtes
* **Mode réduit/étendu** pour optimiser l'espace
* **Création rapide** d'hôtes par catégorie
* **Couleurs et icônes** personnalisables

### 🔧 Composants techniques

#### HostManager.tsx

**Fichier principal** (1335 lignes)

* **État centralisé** avec hooks React
* **Gestion des vues** (list/grid/network)
* **Parseur intelligent** pour multiples formats
* **Système de modales** pour les actions complexes

**Fonctionnalités clés :**

```typescript
// Parseur multi-format
const parseHostsFromText = (text: string) => {
  // Support Nmap, NetExec, fping, TSV, etc.
}

// Gestion des vues
const [viewMode, setViewMode] = useState<'list' | 'grid' | 'network'>('list');

// Statistiques calculées
const stats = useMemo(() => ({
  total: hostsArray.length,
  active: hostsArray.filter(h => h.status === 'active').length,
  // ...
}), [hostsArray]);
```

#### SidebarPanel.tsx

**Panel latéral d'édition** (1014 lignes)

* **4 onglets** : Vue d'ensemble, Credentials, Exploitation, Notes
* **Édition en temps réel** des informations d'hôte
* **Gestion des connexions réseau**
* **Modales spécialisées** pour chaque fonctionnalité

**Structure des onglets :**

```typescript
const [activeTab, setActiveTab] = useState<'overview' | 'credentials' | 'exploitation' | 'notes'>('overview');
```

#### NetworkVisualization.tsx

**Visualisation réseau** (855 lignes)

* **Moteur vis-network** pour les graphiques
* **2 styles** : Classique et Killchain
* **Gestion des positions** persistantes
* **Interactions** : drag, zoom, sélection

**Types d'appareils détectés :**

```typescript
const getDeviceType = (host: Host): DeviceType => {
  // Router, Firewall, Server, Database, Workstation, Mobile, Unknown
  // Avec emojis et couleurs spécifiques
}
```

#### ImportExportPanel.tsx

**Import/Export avancé** (1516 lignes)

* **3 formats d'export** : JSON, ZIP, Rapport Markdown
* **Rapports automatiques** : Exécutif, Technique, Credentials, Vulnérabilités, Réseau
* **Import intelligent** avec mapping des catégories
* **Prévisualisation** de la structure des données

**Génération de rapports :**

```typescript
const generateExecutiveReport = (hosts, categories) => {
  // Rapport exécutif avec métriques clés
}

const generateTechnicalReport = (hosts, categories) => {
  // Rapport technique détaillé par hôte
}
```

#### CategoryManager.tsx

**Gestion des catégories** (413 lignes)

* **CRUD complet** des catégories
* **8 icônes** prédéfinies
* **8 couleurs** personnalisables
* **Aperçu en temps réel** des hôtes par catégorie

#### StatsModal.tsx

**Modal de statistiques** (365 lignes)

* **6 vues détaillées** par type de métrique
* **Tableaux interactifs** avec filtres
* **Export des données** par catégorie

### 📊 Modèle de données

#### Structure Host

```typescript
interface Host {
  id: string;
  ip: string;
  hostname?: string;
  os?: string;
  status: 'up' | 'down' | 'unknown' | 'active' | 'inactive' | 'compromised';
  priority: 'low' | 'medium' | 'high' | 'critical';
  compromiseLevel: 'none' | 'initial' | 'partial' | 'full';
  category?: string;
  projectId?: string;
  
  // Credentials (legacy)
  usernames: string[];
  passwords: string[];
  hashes: string[];
  
  // Credentials structurés
  credentials: Credential[];
  vulnerabilities: Vulnerability[];
  exploitationSteps: ExploitationStep[];
  
  // Réseau
  outgoingConnections?: NetworkConnection[];
  incomingConnections?: NetworkConnection[];
  
  // Métadonnées
  tags: string[];
  notes?: string;
  services: Service[];
  ports: Port[];
  screenshots: Screenshot[];
}
```

#### Structure Category

```typescript
interface Category {
  id: string;
  name: string;
  description?: string;
  icon?: string;
  color?: string;
  createdAt: string;
  updatedAt: string;
}
```

### 🔄 Workflow d'utilisation

#### 1. Configuration initiale

\[]

1. **Sélectionner un projet** ou en créer un nouveau
2. **Configurer les catégories** via le gestionnaire
3. **Définir les couleurs** et icônes pour l'organisation

#### 2. Découverte des hôtes

\[]

1. **Parseur de hosts** : Coller les outputs Nmap/NetExec
2. **Import de fichiers** : JSON, XML, Nmap
3. **Création manuelle** pour les hôtes spécifiques

#### 3. Organisation et analyse

\[]

1. **Assigner des catégories** aux hôtes
2. **Définir les priorités** et niveaux de compromission
3. **Ajouter des notes** et métadonnées

#### 4. Exploitation et documentation

\[]

1. **Enregistrer les credentials** découverts
2. **Documenter les étapes** d'exploitation
3. **Créer des connexions** réseau entre hôtes

#### 5. Visualisation et rapports

\[]

1. **Vue réseau** pour comprendre la topologie
2. **Génération de rapports** automatiques
3. **Export des données** pour archivage

### 🎨 Personnalisation

#### Thème et couleurs

* **Mode sombre** par défaut
* **Couleurs codées** par priorité et statut
* **Palette cohérente** dans toute l'interface

#### Catégories personnalisables

* **8 icônes** disponibles (Server, Globe, Shield, Database, Users, Target, Zap, Folder)
* **8 couleurs** prédéfinies
* **Descriptions** personnalisées

#### Vues adaptatives

* **Responsive design** pour tous les écrans
* **Sidebar rétractable** pour optimiser l'espace
* **Mode plein écran** pour la visualisation réseau

### 🔒 Sécurité et confidentialité

#### Gestion des credentials

* **Masquage des mots de passe** par défaut
* **Option d'affichage** pour les utilisateurs autorisés
* **Chiffrement** des données sensibles (localStorage)

#### Contrôle d'accès

* **Système de projets** pour isoler les audits
* **Migration contrôlée** des données existantes
* **Export sécurisé** avec options de filtrage

### 📈 Métriques et statistiques

#### Tableau de bord principal

* **Total d'hôtes** analysés
* **Hôtes actifs** vs inactifs
* **Hôtes compromis** nécessitant une attention
* **Hôtes critiques** par priorité
* **Credentials collectés** (usernames, passwords, hashes)
* **Étapes d'exploitation** documentées

#### Rapports automatiques

* **Rapport exécutif** : Vue d'ensemble pour la direction
* **Rapport technique** : Détails par hôte et catégorie
* **Rapport credentials** : Inventaire des identifiants
* **Rapport vulnérabilités** : Analyse des failles
* **Rapport réseau** : Topologie et connexions

### 🚀 Fonctionnalités avancées

#### Parseur intelligent

\[]

* **Support multi-format** : Nmap, NetExec, fping, TSV
* **Détection automatique** des services et OS
* **Extraction des domaines** et forêts Active Directory
* **Prévisualisation** avant import

#### Visualisation réseau interactive

\[]

* **2 modes** : Classique (zones) et Killchain (workflow)
* **Nœuds colorés** selon le type et le statut
* **Connexions étiquetées** avec causes d'exploitation
* **Sauvegarde des positions** entre sessions

#### Import/Export complet

\[]

* **3 formats** : JSON (données), ZIP (structuré), Markdown (rapport)
* **Arborescence organisée** par zones et hôtes
* **Rapports intégrés** dans l'export ZIP
* **Import intelligent** avec mapping des catégories

### 🛠️ Architecture technique

#### Stack technologique

* **React 18** avec hooks et context
* **TypeScript** pour la sécurité des types
* **Zustand** pour la gestion d'état
* **Tailwind CSS** pour le styling
* **Framer Motion** pour les animations
* **vis-network** pour la visualisation

#### Structure des stores

```typescript
// Host Store
interface HostStore {
  hosts: Record<string, Host>;
  categories: Record<string, Category>;
  networkNodes: Record<string, NetworkNode>;
  // Actions CRUD
  addHost, updateHost, deleteHost;
  addCategory, updateCategory, deleteCategory;
}

// Project Store
interface ProjectStore {
  projects: Record<string, Project>;
  currentProject: Project | null;
  // Gestion des projets
  addProject, updateProject, deleteProject;
}
```

#### Persistance des données

* **localStorage** pour la persistance locale
* **Sauvegarde automatique** des modifications
* **Migration** des données entre versions
* **Export/Import** pour la portabilité

### 📝 Bonnes pratiques

#### Organisation des hôtes

1. **Utiliser des catégories** logiques (DMZ, LAN, Servers, etc.)
2. **Définir des priorités** cohérentes
3. **Documenter** les découvertes importantes
4. **Maintenir** les connexions réseau à jour

#### Gestion des credentials

1. **Masquer** les mots de passe par défaut
2. **Organiser** par type (username/password/hash)
3. **Valider** la pertinence avant conservation
4. **Exporter** régulièrement pour sauvegarde

#### Workflow d'exploitation

1. **Structurer** les étapes par ordre logique
2. **Documenter** les commandes et outputs
3. **Ajouter** des screenshots pour preuve
4. **Mettre à jour** les statuts de progression

### 🔧 Maintenance et support

#### Mise à jour des données

* **Migration automatique** des formats obsolètes
* **Validation** des données importées
* **Nettoyage** des données orphelines

#### Performance

* **Mémorisation** des calculs coûteux
* **Lazy loading** des composants lourds
* **Optimisation** des re-renders React

#### Debugging

* **Logs détaillés** pour le développement
* **Validation** des données d'entrée
* **Gestion d'erreurs** robust


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://felix-billieres.gitbook.io/auditmapperv2/documentation/readme.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
