FTP : transférer des fichiers

Introduction

Le FTP (pour File Transfer Protocol, protocole de transfert de fichiers) est un service Internet utilisé pour transférer des fichiers d'une machine vers une autre. FTP a deux usages :

Les programmes ftp et ncftp sur les machines Unix sont adaptés à ces deux usages. On parlera ici de ncftp car c'est le plus pratique. D'autres logiciels existent, sous Unix, DOS ou Macintosh. Certains, comme Netscape, ne sont réellement adaptés qu'au FTP anonyme.

Note Concrètement, le nom de login d'une connexion FTP anonyme est ftp ou anonymous. La plupart des serveurs FTP anonymes demandent si on rentre ces logins l'adresse de courriers électroniques de l'utilisateur en mot de passe. La connexion n'est donc pas à proprement parler « anonyme ».

Le FTP non anonyme

ncftp suppose par défaut que vous cherchez à vous connecter d'une façon anonyme à la machine distante. Il faut lui préciser le contraire en lui indiquant le login de la connexion. Pour cela, tapez dans un terminal :

ncftp -u login nom-de-la-machine

en remplaçant login par votre login sur la machine distante, et nom-de-la-machine par le nom de cette machine. Par exemple, Toto veut se connecter à Jourdan pour récupérer des fichiers; il tape :

ncftp -u toto vedette.ens.fr

ncftp vous demandera alors votre mot de passe sur la machine distante. Une fois ceci effectué, vous êtes connecté à la machine distante (si votre mot de passe était correct). L'invite ressemble alors à celle d'un interprétateur de commande (shell), et vous pouvez utiliser la plupart des commandes Unix fondamentales sur les fichiers et les répertoires, comme ls, cd, rm, mkdir, rmdir. Vous pouvez ainsi vous déplacer dans les répertoires distants (si vous avez le droit de le faire).

Nombre de commandes existent aussi avec la lettre l devant (ce qui donne lls, lcd, ...), ce qui signifie que ces commandes doivent être executées sur la machine locale. Vous pouvez ainsi vous déplacer à la fois sur la machine distante et la machine locale. Pour faire des transferts, deux commandes existent principalement :

Récupérer

get permet de ramener un fichier de la machine distance vers la machine locale. Vous pouvez mettre plusieurs noms de fichiers à la suite pour ramener plusieurs fichiers. Si vous voulez ramener un fichier tout en changeant son nom, utilisez l'option -z :

get -z fichier-distant nom-du-fichier-local

Envoyer

put permet de copier un fichier de la machine locale vers la machine distante. Elle s'utilise exactement comme get.

/!\ Des problèmes peuvent apparaitre si vous faites des transferts entre machine utilisant des systèmes d'exploitation différents (comme Unix et Windows). En particulier, les passages à la ligne ne sont pas codés pareil sous ces deux systèmes d'exploitation. Par défaut, ncftp ne modifie pas les fichiers transférés, et un fichier texte ramené sous Unix depuis Windows pourra présenter des « ^M » à la fin de chaque ligne (tandis qu'un fichier texte transféré dans l'autre sens ne fera pas le retour chariot à la fin des lignes). Deux commandes, à taper avant la commande de transfert, servent à modifier cela :

Pour quitter ncftp, utilisez la commande quit. On vous demandera alors si vous voulez garder la machine dans les marque-page, éventuellement avec le mot de passe.

Le FTP anonyme

Il n'y a pas de réelle différence entre une connexion anonyme ou non anonyme, si ce n'est qu'il n'est pas nécessaire d'utiliser l'option -u. ncftp se charge de donner anomymous comme login, et votre adresse de courier électronique comme mot de passe. Vous pouvez alors utiliser les commandes exactement comme dans une connexion non anonyme. Notez que vous n'aurez que rarement l'occasion d'utiliser des commandes qui modifient le contenu du disque de la machine distante (rm, put, mkdir...), mais cela peut arriver.

Il est possible de passer en ligne de commande de ncftp une URL de la forme ftp://machine/chemin-de-repertoires/. ncftp se charge alors d'arriver directement dans le répertoire considéré s'il existe. Un telle URL peut aussi être utilisée avec Netscape (à la place de l'URL des pages Web).

N'ont été décrites que les commandes de base de ncftp, qui est un outil puissant. Consultez le manuel de ncftp pour plus de détails.

Quelques sites anonymes

Afin de faciliter les recherches entre les différents sites FTP, un logiciel nommé archie (ou xarchie) existe. Son usage est toutefois assez malaisé. Une bonne méthode est de demander autour de soi si quelqu'un ne sait pas où trouver ce que vous cherchez.

FTP sous Macintosh et Windows

La machine distante d'une connexion FTP (le serveur) est presque toujours une machine sous Unix. Mais la machine locale (le client) peut être sous Macintosh ou Windows :

Sous Windows

Le programme lancé depuis une fenêtre de commande DOS s'appelle ftp et s'utilise un peu comme ncftp (en moins bien).

Sous Macintosh

Le programme s'appelle Fetch. Vous en trouverez une présentation dans les cours de l'informatique littéraire.

Ces programmes vous permettent une connexion non anonyme, ce que Netscape fait difficilement.

Auteur : Dominique Quatravaux, Émilia Robin. Dernière modification : 2014-10-26 par Antoine Amarilli.