Aller au contenu principal

Extension SFTP pour VSCode

Ce guide explique comment installer et configurer l'extension SFTP sur Visual Studio Code pour gérer vos fichiers sur un serveur distant (VPS, serveur de jeux, hébergement web, etc.).

Prérequis

  • Visual Studio Code installé
  • Les identifiants de connexion de votre serveur (fournis par YorkHost ou votre hébergeur)

Installation de l'extension

  1. Ouvrez Visual Studio Code
  2. Cliquez sur l'icône Extensions dans la barre latérale (ou Ctrl+Shift+X)
  3. Recherchez "SFTP" par Natizyskunk
  4. Cliquez sur Installer
Recommandation

L'extension SFTP de Natizyskunk est la plus maintenue et recommandée.

Configuration

Étape 1 : Ouvrir un dossier local

Créez ou ouvrez un dossier local qui servira de miroir pour vos fichiers distants :

Fichier → Ouvrir un dossier → Sélectionnez votre dossier de travail

Étape 2 : Créer le fichier de configuration

  1. Appuyez sur Ctrl+Shift+P (ou Cmd+Shift+P sur Mac)
  2. Tapez "SFTP: Config" et appuyez sur Entrée
  3. Un fichier sftp.json sera créé dans le dossier .vscode

Configurations par type de serveur

Serveur de jeux (Panel Pterodactyl/Game)

Pour les serveurs FiveM, Minecraft, GMod, etc. hébergés sur un panel :

{
"name": "Mon Serveur de Jeux",
"host": "node1.yorkhost.fr",
"protocol": "sftp",
"port": 2022,
"username": "votre_utilisateur.xxx",
"password": "votre_mot_de_passe",
"remotePath": "/",
"uploadOnSave": true,
"useTempFile": false,
"openSsh": false
}
Où trouver vos identifiants ?
  1. Connectez-vous au Panel Game :
  2. Sélectionnez votre serveur
  3. Allez dans ParamètresDétails SFTP
  4. Vous y trouverez : l'hôte, le port, l'utilisateur et le mot de passe

VPS Linux (SSH/SFTP)

Pour un VPS Linux avec accès SSH :

{
"name": "Mon VPS Linux",
"host": "votre-ip-vps",
"protocol": "sftp",
"port": 22,
"username": "root",
"password": "votre_mot_de_passe",
"remotePath": "/home/",
"uploadOnSave": true,
"useTempFile": false,
"openSsh": false
}

Avec clé SSH (recommandé pour la sécurité)

{
"name": "Mon VPS Linux (Clé SSH)",
"host": "votre-ip-vps",
"protocol": "sftp",
"port": 22,
"username": "root",
"privateKeyPath": "C:/Users/VotreNom/.ssh/id_rsa",
"passphrase": "votre_passphrase_si_existante",
"remotePath": "/home/",
"uploadOnSave": true
}
Clé SSH

Pour générer une clé SSH :

ssh-keygen -t rsa -b 4096

Puis copiez la clé publique sur votre serveur :

ssh-copy-id root@votre-ip-vps

Hébergement Web classique (cPanel, Plesk)

{
"name": "Mon Site Web",
"host": "ftp.votredomaine.com",
"protocol": "sftp",
"port": 22,
"username": "votre_utilisateur_cpanel",
"password": "votre_mot_de_passe",
"remotePath": "/public_html/",
"uploadOnSave": true,
"useTempFile": false,
"openSsh": false
}
FTP vs SFTP

Privilégiez toujours SFTP (port 22) au lieu de FTP (port 21) pour une connexion sécurisée et chiffrée.


VPS Windows (SFTP via OpenSSH)

Si OpenSSH est installé sur votre VPS Windows :

{
"name": "Mon VPS Windows",
"host": "votre-ip-vps",
"protocol": "sftp",
"port": 22,
"username": "Administrator",
"password": "votre_mot_de_passe",
"remotePath": "C:/Users/Administrator/",
"uploadOnSave": true
}

Options de configuration importantes

OptionDescriptionValeur par défaut
uploadOnSaveUpload automatique à chaque sauvegardefalse
downloadOnOpenTélécharge le fichier distant à l'ouverturefalse
syncModeMode de synchronisation (update, full)update
ignoreFichiers/dossiers à ignorer[]
watcher.filesSurveiller les fichiersfalse
watcher.autoUploadUpload auto des fichiers surveilléstrue

Exemple de configuration avancée

{
"name": "Serveur Production",
"host": "votre-ip",
"protocol": "sftp",
"port": 22,
"username": "root",
"password": "votre_mot_de_passe",
"remotePath": "/var/www/monsite/",
"uploadOnSave": true,
"downloadOnOpen": false,
"syncMode": "update",
"ignore": [
".vscode",
".git",
".DS_Store",
"node_modules",
"*.log"
],
"watcher": {
"files": "**/*",
"autoUpload": true,
"autoDelete": false
}
}

Commandes utiles

Appuyez sur Ctrl+Shift+P puis tapez :

CommandeDescription
SFTP: ConfigCréer/modifier la configuration
SFTP: UploadEnvoyer le fichier courant
SFTP: DownloadTélécharger le fichier courant
SFTP: Sync Local → RemoteSynchroniser local vers distant
SFTP: Sync Remote → LocalSynchroniser distant vers local
SFTP: ListParcourir les fichiers distants
SFTP: Upload FolderEnvoyer un dossier entier

Résolution des problèmes

Erreur "Connection refused"

  • Vérifiez que le port est correct (22 pour SSH/SFTP, 2022 pour Panel Game)
  • Vérifiez que votre IP n'est pas bloquée par le firewall

Erreur "Authentication failed"

  • Vérifiez vos identifiants (username/password)
  • Pour le Panel Game, utilisez le format utilisateur.xxx complet

Erreur "ECONNRESET"

  • Problème de connexion réseau
  • Essayez de vous reconnecter

Fichiers non synchronisés

  • Vérifiez que uploadOnSave est sur true
  • Vérifiez que le fichier n'est pas dans la liste ignore

Bonnes pratiques

  1. Ne jamais stocker les mots de passe en clair - Utilisez des clés SSH quand c'est possible
  2. Ajoutez .vscode/sftp.json à votre .gitignore - Pour ne pas partager vos identifiants
  3. Utilisez ignore pour exclure - node_modules, .git, fichiers de logs
  4. Faites des sauvegardes - Avant toute synchronisation importante
Sécurité

Ne commitez jamais votre fichier sftp.json contenant des mots de passe sur Git ! Ajoutez cette ligne à votre .gitignore :

.vscode/sftp.json