Le protocole FTP

15 février 2005 par Simon Florentin Adjatan Tics et astuces 1

FTP (File Transfer Protocol) est un protocole, c’est-à-dire un langage standard de communication entre deux machines, permettant à des machines de types différents (ou dont le système d’exploitation est différent) de transférer des fichiers sur un réseau fonctionnant sous TCP/IP.

FTP fonctionne dans un environnement client/serveur, c’est-à-dire que la machine distante est configurée en serveur et par conséquent attend qu’une machine lui demande un service. Sous UNIX, le service est fourni par ce que l’on appelle un démon, une petite tâche qui fonctionne en arrière plan. Le démon FTP s’appelle ftpd.

Les logiciels clients sont nombreux, la plupart sont en ligne de commande (par exemple la commande ftp, implémentée en standard sous de nombreux systèmes d’exploitation), mais certains permettent de manipuler des fichiers sous une interface graphique (Filezilla par exemple), rendant les transferts de fichiers plus conviviaux.

Le protocole FTP permet d’échanger un fichier à la fois, dans les deux sens entre la machine client (celle qui a initié la connexion, donc la machine appelante) et la machine serveur (celle qui fournit le service FTP, donc la machine appelée). Le protocole FTP permet aussi d’autres actions telles que la création et la suppression de répertoires (à condition qu’il soit vide), le listage des fichiers, la suppression et le renommage de fichiers, etc.

  • Protocole et implémentation

Il ne faut pas confondre les deux notions de protocole et d’implémentation !
En effet, un protocole est un ensemble de règles et de procédures qui ont été définies afin de standardiser la communication, alors que l’implémentation est la programmation d’un logiciel suivant (plus ou moins bien) les recommandations du protocole. Ainsi, FTP a rapidement été implémenté (adapté à partir des spécifications du protocole) sous de nombreuses plateformes.

  • Démarrage d’une session FTP

FTP est fourni en standard sous diverses plateformes, dont UNIX, Windows9x, WindowsNT, Linux...
La commande pour initier une session FTP est généralement la suivante :

ftp nom_du_serveur

nom_du_serveur représente bien évidemment le nom (ou l’adresse IP) de la machine distante à laquelle on désire se connecter. Il faut bien évidemment que la machine cible soit un serveur FTP.

Lors de l’initialisation de la connexion, un certain nombre de lignes de texte apparaissent à l’écran. La première ligne signale que vous êtes connecté à un serveur FTP, les lignes suivantes constituent un message de bienvenue, pouvant indiquer le type de site FTP dont il s’agit (i.e. quel genre de fichiers il héberge ou l’organisme auquel il appartient), ou bien des recommandations pour les utilisateurs.


Sous FTP, chaque ligne commence par un numéro indiquant un code relatif à un échec ou une réussite. Dans le cas du message de bienvenue, la ligne est par exemple précédée du nombre 220, qui signifie que "le service est prêt pour le nouvel utilisateur".

Le serveur vous demande de saisir votre nom d’utilisateur (aussi appelé login ou ID) afin de définir des privilèges d’accès (comme le droit d’écriture ou de lecture). Après validation, une ligne commençant par le nombre 331 vous invite à saisir votre mot de passe (password), celui-ci est masqué, c’est-à-dire qu’il n’apparaît pas à l’écran.
Il se peut que le serveur soit public, auquel cas le nom d’utilisateur est anonyme, il vous faudra donc rentrer comme login : "anonymous". La coutume veut que l’on entre comme mot de passe d’un site public son adresse de courrier électronique, mais vous pouvez rentrer celui de votre choix.

Lorque vous validez celui-ci, un message vous indiquera si la connexion a été établie ou non, auquel cas les raisons seront données (le site peut par exemple avoir atteint sa limite supérieure en terme d’utilisateur, dans ce cas le message "No more user access allowed" apparaît).

Une fois connecté le site FTP attend de vous des commandes décrivant les actions à effectuer.

  • Commandes sous FTP

Etant donné que les serveurs tournent généralement sur des plateformes UNIX (car elles sont mieux adaptées au travail en réseau), les commandes FTP sont généralement des commandes UNIX.


  • Les commandes standard sont les suivantes :

- Commandes sous FTP

Etant donné que les serveurs tournent généralement sur des plateformes UNIX (car elles sont mieux adaptées au travail en réseau), les commandes FTP sont généralement des commandes UNIX.

  • Les commandes standard sont les suivantes :
CommandeDescription
helpAffiche l’ensemble des commandes supportées par le serveur FTP
statusPermet de connaître certains paramètres de la machine cliente
binaryCette commande vous fait basculer du mode ASCII (envoi de documents textes)au mode binary (envoi de fichiers en mode binaire, c’est-à-dire pour les fichiers non texte, comme des images ou des programmes)
asciiBascule du mode binary au mode ascii. Ce mode est le mode par défaut
typePermet d’afficher le mode courant de transfert (binary ou ascii)
userVous permet de réouvrir une session sur le site FTP en cours avec un nom d’utilisateur différent. Un nouveau mot de passe vous sera alors demandé
lsPermet de lister les fichiers présents dans le répertoire courant. La commande "ls -l" donne des informations supplémentaires sur les fichiers
pwdAffiche le nom complet du répertoire courant
cdCette commande signifie change directory, elle permet de changer le répertoire courant. La commande "cd .." permet d’accéder au répertoire de niveau supérieur
mkdirLe commande mkdir (sous UNIX, ou md sous système Microsoft) permet de créer un répertoire dans le répertoire courant. L’utilisation de cette commande est réservée aux utilisateurs ayant un accès le permettant
rmdirLe commande rmdir (sous UNIX, ou rd sous système Microsoft) permet de supprimer un répertoire dans le répertoire courant. L’utilisation de cette commande est réservée aux utilisateurs ayant un accès le permettant
getCette commande permet de récupérer un fichier présent sur le serveur
  • Si la commande est suivie d’un nom de fichier, le fichier distant est transféré sur la machine locale dans le répertoire local en cours
  • Si la commande est suivie de deux noms de fichiers, le fichier distant (le premier nom) est transféré sur la machine locale dans le répertoire local en cours, avec le nom de fichier précisé (le deuxième nom)

Si jamais le nom de fichier contient des espaces il faut veiller à le saisir entre guillemets

putCette commande permet d’envoyer un fichier local sur le serveur
  • Si la commande est suivie d’un nom de fichier, le fichier local est transféré sur le serveur dans le répertoire distant en cours
  • Si la commande est suivie de deux noms de fichiers, le fichier local (le premier nom) est transféré sur le serveur dans le répertoire distant en cours, avec le nom de fichier précisé (le deuxième nom)

Si jamais le nom de fichier contient des espaces il faut veiller à le saisir entre guillemets

openFerme la session en cours et ouvre une nouvelle session sur un autre serveur FTP
closeFerme la session en cours, en laissant le logiciel FTP client actif
byeDéconnecte le logiciel client du serveur FTP et le met en état inactif
quitDéconnecte le logiciel client du serveur FTP et le met en état inactif


Source : CCM

1437 visites depuis le 15 février 2005. Pour citer cet article :
Simon Florentin Adjatan, Le protocole FTP. [En ligne : http://adjatan.org/tics-et-astuces/Le-protocole-FTP] Consulté le 02-12-16

Vos commentaires

  • Le 2 octobre 2005 à 11:21, par Accrombessy Franck En réponse à : > Le protocole FTP

    C’est bien de partger ce qu’on connaît et je te félicite encore.
    J’aimeris faire de même dans le domaine des constructions en BTP. Si tu es disponible pour m’y aider cela m’enchanterait. Merci.
    Je suppose que là, tu n’as pas le temps pour la politique à la béninoise : le ventre. Si c’est le cas bravo, car l’avenir appartient à ceux qui construisent.