Aller au contenu principal
Comprendre et utiliser le protocole FTP : Guide complet pour débutants
Retour aux articles

Comprendre et utiliser le protocole FTP : Guide complet pour débutants

Learn'in 1 min de lecture

Introduction au protocole FTP

Le FTP (File Transfer Protocol) est un protocole de communication utilisé pour transférer des fichiers entre un client et un serveur sur un réseau. Développé dans les années 1970, il reste largement utilisé aujourd'hui pour l'hébergement web et le partage de fichiers.

Dans cet article, vous apprendrez les bases du FTP, les commandes essentielles et les bonnes pratiques de sécurité.

Comment fonctionne le FTP ?

Le FTP utilise une architecture client-serveur avec deux canaux de communication :

  • Canal de contrôle (port 21) : Gère les commandes et les réponses
  • Canal de données (port 20) : Transfère les fichiers proprement dits

Les deux modes de connexion

Mode actif : Le serveur initie la connexion de données vers le client. Peut poser des problèmes avec les pare-feux.

Mode passif : Le client initie les deux connexions. Recommandé pour traverser les pare-feux modernes.

Commandes FTP essentielles

Voici les commandes de base que vous devez connaître :

CommandeDescription
USERSpécifie l'identifiant utilisateur
PASSSpécifie le mot de passe
PWDAffiche le répertoire de travail actuel
CWDChange le répertoire de travail
LISTListe les fichiers du répertoire
RETRTélécharge un fichier (retrieve)
STORUpload un fichier (store)
DELESupprime un fichier
MKDCrée un nouveau répertoire
RMDSupprime un répertoire
QUITFerme la connexion

Utilisation en ligne de commande

Se connecter à un serveur FTP

bash
ftp nom-du-serveur.com

Ou avec identifiant :

bash
ftp utilisateur@nom-du-serveur.com

Exemple de session FTP

bash
$ ftp ftp.example.com
Connected to ftp.example.com.
Name (ftp.example.com:user): monutilisateur
331 Please specify the password.
Password: 
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

ftp> pwd
257 "/" is current directory

ftp> ls
229 Entering Extended Passive Mode (|||50000|)
150 Here comes the directory listing.
-rw-r--r--  1 user group  1024 Jan 15 10:30 index.html
-rw-r--r--  1 user group  2048 Jan 15 10:35 style.css
drwxr-xr-x  2 user group  4096 Jan 15 10:40 images
226 Directory send OK.

ftp> get index.html
local: index.html remote: index.html
229 Entering Extended Passive Mode (|||50001|)
150 Opening BINARY mode data connection for index.html (1024 bytes).
100% |************************|  1024    50.00 KiB/s    00:00 ETA
226 Transfer complete.
1024 bytes received in 0.02 seconds

ftp> put style.css
local: style.css remote: style.css
229 Entering Extended Passive Mode (|||50002|)
150 Ok to send data.
100% |************************|  2048    75.00 KiB/s    00:00 ETA
226 Transfer complete.
2048 bytes sent in 0.03 seconds

ftp> quit
221 Goodbye.

Clients FTP graphiques

Pour une expérience plus conviviale, utilisez des clients graphiques :

FileZilla (gratuit et populaire)

  • Interface intuitive en français
  • Gestionnaire de sites pour enregistrer vos connexions
  • Transfert par glisser-déposer
  • Disponible sur Windows, macOS et Linux

Télécharger FileZilla

WinSCP (Windows)

  • Spécialisé pour Windows
  • Supporte FTP, SFTP et SCP
  • Intégration avec PuTTY pour SSH

Sécurité et limitations du FTP

Problèmes de sécurité du FTP standard

Le FTP traditionnel présente plusieurs failles de sécurité :

  • Données non chiffrées : Les mots de passe et fichiers transitent en clair
  • Vulnérable aux attaques : Interception possible des données sur le réseau
  • Pas d'authentification forte : Repos sur simple mot de passe

Alternatives sécurisées

SFTP (SSH File Transfer Protocol) : Utilise le protocole SSH pour chiffrer toutes les communications. Port 22 par défaut.

FTPS (FTP over SSL/TLS) : Version sécurisée du FTP avec chiffrement SSL/TLS.

Exemple de connexion SFTP

bash
sftp utilisateur@serveur.com
bash
$ sftp monuser@monserveur.com
monuser@monserveur.com's password: 
Connected to monserveur.com.
sftp> pwd
Remote working directory: /home/monuser

sftp> ls
index.html  style.css  images/

sftp> get index.html
Fetching /home/monuser/index.html to index.html

sftp> put nouveau-fichier.html
Uploading nouveau-fichier.html to /home/monuser/nouveau-fichier.html

sftp> exit

Bonnes pratiques FTP

  1. Préférez SFTP quand c'est possible pour la sécurité
  2. Utilisez des mots de passe forts pour vos comptes FTP
  3. Évitez le FTP anonyme sur des serveurs sensibles
  4. Limitez les permissions des utilisateurs FTP
  5. Utilisez le mode passif pour éviter les problèmes de pare-feu
  6. Sauvegardez avant transfert en cas de modification de fichiers critiques

Conclusion

Le FTP reste un outil essentiel pour le transfert de fichiers, notamment dans le domaine de l'hébergement web. Bien que des alternatives plus sécurisées comme le SFTP existent, comprendre le FTP traditionnel est fondamental pour tout développeur ou administrateur système.

Pour vos projets sur Learn'in, privilégiez toujours les connexions sécurisées lorsque c'est possible.

Ressources complémentaires

Articles similaires