HardlinkAnalyzer

Une application console .NET 10 cross-platform pour analyser et optimiser l'espace disque avec des hard links intelligents.

Commencer Documentation

Fonctionnalités principales

🔍

Analyse intelligente

Compare deux repertoires et identifie les fichiers identiques grace au calcul de checksums SHA256.

🔗

Hard Links automatiques

Cree automatiquement des hard links pour economiser l'espace disque sans duplication de donnees.

Performance optimisee

Mode rapide avec hash partiel pour les gros fichiers (>100MB) et cache persistant des hashes.

🌐

Cross-platform

Fonctionne sur Windows, Linux et macOS avec support natif des APIs systeme.

📄

Fichiers uniques Nouveau

Detecte et lie les fichiers presents uniquement dans un repertoire avec conservation de l'arborescence.

🛠

Mode simulation

Testez vos operations avec --dry-run avant de les executer reellement.

Démarrage rapide

Installation

Prerequis : .NET 10.0 ou superieur

# Cloner le repository git clone https://github.com/votre-repo/HardlinkAnalyzer.git cd HardlinkAnalyzer # Compiler dotnet build # Executer dotnet run -- analyze "/chemin/vers/A" "/chemin/vers/B"

Exemple d'utilisation

# 1. Analyser deux repertoires dotnet run -- analyze "/data/backup1" "/data/backup2" # 2. Appliquer le plan de correction dotnet run -- apply # 3. Verifier les hard links crees dotnet run -- verify "/data/backup1/fichier.txt" "/data/backup2/fichier.txt"

Avantages des Hard Links

Aspect Hard Links Copie traditionnelle
Espace disque 0 octet supplementaire Double l'espace utilise
Synchronisation Automatique et instantanee Manuelle ou par script
Performance Creation quasi-instantanee Limitee par I/O disque
Coherence Garantie (meme inode) Risque de desynchronisation
Maintenance Une seule version Multiples copies a maintenir

Architecture

L'application est organisee en modules specialises :

HardlinkAnalyzer/ +-- src/ | +-- Core/ | | +-- HardlinkAnalyzer.cs | | +-- OptimizedHardlinkAnalyzer.cs | | +-- UniqueFilesAnalyzer.cs | +-- Services/ | | +-- HardlinkCorrector.cs | | +-- FileHelper.cs | | +-- FileFilter.cs | +-- Cache/ | | +-- FileHashCache.cs | | +-- OptimizedFileHashCache.cs | +-- Config/ | | +-- PerformanceConfig.cs | +-- Program.cs +-- docs/ +-- static/