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 (CuteFTP 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, ...
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.
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 apparaît à 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 connection 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.
Etant donné que les serveur 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 standards sont les suivantes:
Commande |
Description |
help |
Affiche l'ensemble des commandes supportées par le serveur FTP |
status |
Permet de connaître certains paramètres de la machine cliente |
binary |
Cette 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) |
ascii |
Bascule du mode binary au mode ascii. Ce mode est le mode par défaut |
type |
Permet d'afficher le mode courant de transfert (binary ou ascii) |
user |
Vous 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é |
ls |
Permet de lister les fichiers présents dans le répertoire courant. La commande "ls -l"
donne des informations supplémentaires sur les fichiers |
pwd |
Affiche le nom complet du répertoire courant |
cd |
Cette 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 |
mkdir |
Le 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 |
rmdir |
Le 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 |
get |
Cette 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
|
put |
Cette 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 guillemet
|
open |
Ferme la session en cours et ouvre une nouvelle session sur un autre serveur FTP |
close |
Ferme la session en cours, en laissant le logiciel FTP client actif |
bye |
Déconnecte le logiciel client du serveur FTP et le met en état inactif |
quit |
Déconnecte le logiciel client du serveur FTP et le met en état inactif |
|