Le protocole FTP |
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, ...
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 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 "Nom more users 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 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 laors 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
|
put | Cette commande permet d'envoyer un fichier local sur le serveur
|
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 |