📦 Guide de Démarrage

Installation et configuration de CopyToNas

📋 Prérequis

Avant d'installer CopyToNas, assurez-vous d'avoir:

ℹ️ Note: Pour vérifier si .NET 9.0 est installé, exécutez dotnet --version

⚙️ Installation

1Cloner le Dépôt

git clone https://github.com/votre-repo/CopyToNas.git
cd CopyToNas

2Restaurer les Dépendances

dotnet restore

Cette commande télécharge toutes les bibliothèques nécessaires:

  • Tmds.Ssh (client SFTP)
  • Serilog (journalisation)
  • System.CommandLine (CLI)

3Compiler le Projet

Pour l'outil CLI:

cd src
dotnet build
dotnet publish -c Release -o ../publish

Pour l'interface Web:

cd web
dotnet build
dotnet publish -c Release -o ../publish-web

🚀 Premier Lancement

Mode CLI (Ligne de Commande)

1Transfert Simple d'un Fichier

dotnet run --project src -- \
  --host sftp.example.com \
  --username votre-utilisateur \
  --password votre-mot-de-passe \
  --remote-path /chemin/distant/fichier.txt \
  --local-path /chemin/local/destination/

2Copie Récursive d'un Répertoire

dotnet run --project src -- \
  --host sftp.example.com \
  --username votre-utilisateur \
  --password votre-mot-de-passe \
  --remote-path /chemin/distant/dossier \
  --local-path /chemin/local/destination/ \
  --recursive
⚠️ Attention: Le flag --recursive est requis pour copier des répertoires. Sans ce flag, l'outil retournera une erreur si le chemin distant est un dossier.

Mode Web (Interface Graphique)

1Lancer l'Application Web

cd web
dotnet run

Par défaut, l'application démarre sur http://localhost:5000

2Configurer la Connexion SFTP

Dans l'interface web:

  1. Entrez l'hôte du serveur SFTP (ex: sftp.example.com)
  2. Spécifiez le port (par défaut: 22)
  3. Saisissez votre nom d'utilisateur
  4. Entrez votre mot de passe
  5. Cliquez sur "Test Connection" pour vérifier
💾 Sauvegarde Automatique: L'application enregistre automatiquement l'hôte, le port et le nom d'utilisateur dans le localStorage de votre navigateur. Le mot de passe n'est jamais stocké pour des raisons de sécurité.

3Naviguer et Transférer

  1. Utilisez l'explorateur de fichiers distant pour naviguer dans le serveur SFTP
  2. Sélectionnez le chemin distant (fichier ou dossier)
  3. Définissez le chemin local de destination
  4. Cochez "Récursif" si vous copiez un dossier
  5. Cliquez sur "Start Copy"

4Surveiller la Progression

L'interface affiche en temps réel:

  • 📊 Pourcentage de progression (0-100%)
  • Vitesse de transfert (B/s, KB/s, MB/s, GB/s)
  • ⏱️ Temps restant estimé
  • 📝 Logs en direct (50 dernières entrées)
  • 📁 Fichier en cours de transfert

✅ Vérification de l'Installation

Test CLI

# Afficher l'aide
dotnet run --project src -- --help

# Vérifier la version
dotnet --version
✓ Succès: Si vous voyez l'aide avec la liste des options disponibles, l'installation CLI est réussie.

Test Interface Web

  1. Lancez dotnet run dans le dossier web/
  2. Ouvrez un navigateur et accédez à http://localhost:5000
  3. Vous devriez voir l'interface CopyToNas avec les champs de connexion
✓ Succès: Si l'interface web se charge correctement, l'installation est réussie.

🔧 Configuration Optionnelle

Journalisation (Logs)

Par défaut, les logs sont affichés dans la console. Pour activer la journalisation dans des fichiers:

# Avec niveau de log personnalisé
dotnet run --project src -- \
  --log-level Debug \
  --host ... \
  # autres paramètres

Niveaux de log disponibles:

Niveau Description Usage
Verbose Tous les détails Débogage approfondi
Debug Informations de débogage Développement
Information Informations générales Par défaut
Warning Avertissements Production
Error Erreurs uniquement Production minimale

Port Personnalisé (Interface Web)

cd web
dotnet run --urls "http://localhost:8080"

🎯 Prochaines Étapes

❓ Dépannage

Erreur: "Connection refused"

Solutions:
  • Vérifiez que le serveur SFTP est accessible (ping, firewall)
  • Confirmez que le port est correct (généralement 22)
  • Testez la connexion avec un autre client SFTP (FileZilla, WinSCP)

Erreur: "Authentication failed"

Solutions:
  • Vérifiez votre nom d'utilisateur et mot de passe
  • Assurez-vous que le compte n'est pas verrouillé
  • Vérifiez les permissions du compte SFTP

Erreur: "Permission denied" lors de l'écriture locale

Solutions:
  • Vérifiez les permissions du répertoire de destination local
  • Exécutez avec les permissions appropriées si nécessaire
  • Assurez-vous que le chemin de destination existe