#!/usr/bin/env python3
"""
Script         : send_folder_to_synology.py
Chemin         : /chemin/vers/send_folder_to_synology.py
Description    : Transfert de tous les fichiers d'un dossier local vers un NAS Synology via SCP (clé SSH).
Exemple usage  : python3 send_folder_to_synology.py
Prérequis      : paramiko, scp (pip install paramiko scp)
Auteur         : Sylvain SCATTOLINI
Date création  : 2025-07-10
Version        : 1.0
"""

import os
import paramiko
from scp import SCPClient

# === Configuration ===
local_folder = "/var/www/html/web_orders/orders"  # à adapter
remote_path = "/volume1/DATAS/4DDocuments/WebOrders/FTP/"  # sur le NAS
ssh_host = "192.168.1.13"
ssh_port = 34322
ssh_user = "edi"
ssh_key_path = "/home/rms/.ssh/id_rsa"  # clé privée

# === Transfert SCP ===
def transfer_folder():
    print(f"📤 Connexion à {ssh_user}@{ssh_host}:{ssh_port}...")

    key = paramiko.RSAKey.from_private_key_file(ssh_key_path)
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(ssh_host, port=ssh_port, username=ssh_user, pkey=key)

    with SCPClient(ssh.get_transport()) as scp:
        for file in os.listdir(local_folder):
            full_path = os.path.join(local_folder, file)
            if os.path.isfile(full_path):
                print(f"  ⬆️ Envoi de {file}...")
                scp.put(full_path, remote_path=remote_path)

    ssh.close()
    print("✅ Transfert terminé.")

# === Lancement ===
if __name__ == "__main__":
    transfer_folder()