tuteurs.ens.fr/internet/loin/ftp.tml

236 lines
8.6 KiB
Text
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>FTP</title>
</head>
<body>
<h1>FTP : transférer des fichiers</h1>
<h2><a name="intro">Introduction</a></h2>
<p>
Le FTP (pour <em>File Transfer Protocol</em>, protocole de transfert de
fichiers) est un service Internet utilisé pour transférer des fichiers d'une
machine vers une autre. <code>FTP</code> a deux usages :
</p>
<ul>
<li><strong>Envoyer des fichiers</strong> (<em>upload</em>) : on peut
transférer des fichiers d'un compte d'un machine vers un compte d'une autre
machine. Cela fonctionne de façon très voisine d'une connexion à distance
depuis une machine sur une autre. En particulier, il faut avoir un compte et
un mot de passe sur la machine distante (ce n'est pas nécessaire sur la
machine locale si celle-ci est un Mac ou un PC sous Windows).
</li>
<li><strong>Récupérer des fichiers</strong> (<em>download</em>) : on
peut récuperer sur Internet des fichiers utiles pour sa machine. Par exemple,
beaucoup de distributions Linux sont disponibles directement et gratuitement
par FTP. De nombreux utilitaires, jeux, programmes corrigeant des erreurs sont
aussi disponibles de façon libre par FTP. On parle pour cet usage de «FTP
anonyme», car l'utilisateur n'a pas de compte sur la machine distante, mais
utilise un compte public.
</li>
</ul>
<p>
Les programmes <code>ftp</code> et <code>ncftp</code> sur les machines Unix
sont adaptés à ces deux usages. On parlera ici de <code>ncftp</code> 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.
</p>
<p>
&icone.note;
Concrètement, le nom de login d'une connexion FTP anonyme est <code>ftp</code>
ou <code>anonymous</code>. 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 ».
</p>
<h2><a name="nonanonyme">Le FTP non anonyme</a></h2>
<p>
<code>ncftp</code> 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 <em>login</em> de la connexion. Pour cela, tapez dans un
<a href="&url.jargon;#xterm">terminal</a> :
</p>
<pre>
ncftp -u <em>login</em> <em>nom-de-la-machine</em>
</pre>
<p class="continue">
en remplaçant <code>login</code> par votre login sur la machine distante,
et <code>nom-de-la-machine</code> par le nom de cette machine. Par exemple, Toto
veut se connecter à Jourdan pour récupérer des fichiers; il tape :
</p>
<pre>
ncftp -u toto vedette.ens.fr
</pre>
<p>
<code>ncftp</code> 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
<a href="&url.jargon;#shell">interprétateur de commande (shell)</a>, et
vous pouvez utiliser la plupart des commandes Unix fondamentales sur les
<a href="&url.tuteurs;unix/fichiers.html">fichiers</a> et les
<a href="&url.tuteurs;unix/repertoires.html">répertoires</a>, comme
<code>ls</code>, <code>cd</code>, <code>rm</code>, <code>mkdir</code>,
<code>rmdir</code>. Vous pouvez ainsi vous déplacer dans les
répertoires distants (si vous avez le droit de le faire).
</p>
<p>
Nombre de commandes existent aussi avec la lettre <code>l</code> devant (ce
qui donne <code>lls</code>, <code>lcd</code>, ...), 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 :
</p>
<h3>Récupérer</h3>
<p>
<code>get</code> 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 :
</p>
<pre>
get -z <em>fichier-distant</em> <em>nom-du-fichier-local</em>
</pre>
<h3>Envoyer</h3>
<p>
<code>put</code> permet de copier un fichier de la machine locale vers la
machine distante. Elle s'utilise exactement comme <code>get</code>.
</p>
<p>
&icone.attention;
Des problèmes peuvent apparaitre si vous faites des transferts entre machine
utilisant des <strong>systèmes d'exploitation différents</strong> (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, <code>ncftp</code>
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 :
</p>
<ul>
<li> <code>ascii</code> précise à <code>ncftp</code> de faire la
conversion.</li>
<li> À l'inverse, si on veut s'assurer qu'aucune tentative de conversion ne
sera faite (si vous transférez des programmes ou des fichiers compressés),
utilisez la commande <code>bin</code> avant de faire le transfert.</li>
</ul>
<p>
Pour quitter <code>ncftp</code>, utilisez la commande <code>quit</code>. On
vous demandera alors si vous voulez garder la machine dans les marque-page,
éventuellement avec le mot de passe.
</p>
<h2><a name="anonyme">Le FTP anonyme</a></h2>
<p>
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 <code>-u</code>.
<code>ncftp</code> se charge de donner <code>anomymous</code> 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
(<code>rm</code>, <code>put</code>, <code>mkdir</code>...), mais cela peut
arriver.
</p>
<p>
Il est possible de passer en ligne de commande de <code>ncftp</code> une URL
de la forme
<code>ftp://<em>machine</em>/<em>chemin-de-repertoires</em>/</code>.
<code>ncftp</code> 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).
</p>
<p>
N'ont été décrites que les commandes de base de <code>ncftp</code>, qui est un
outil puissant. Consultez le <a href="&url.jargon;#RTFM">manuel</a> de
<code>ncftp</code> pour plus de détails.
</p>
<h2><a name="exemples">Quelques sites anonymes</a></h2>
<ul>
<li>
<code>ftp.jussieu.fr</code> contient une quantité de logiciels telle qu'il est
illusoire de tous les détailler ici. En vrac, on y trouve plusieurs
distributions à jour de Linux, de nombreux utilitaires Unix libres, des
distributions de TeX et LaTeX (installables sous Windows ou Macintosh), etc...
Nombre de logiciels installés chez <em>gourous</em> viennent de ce site.
</li>
<li>
<code>ftp.funet.fi</code> contient de nombreux miroirs d'autres sites
(c'est-à-dire qu'il recopie régulièrement d'autres sites pour que leur contenu
soit plus facilement accessible), ce qui le rend très utile pour les
utilisateurs européens (ce site est en Finlande) pour qui les connexions avec
les sites américains est lente.
</li>
</ul>
<p>
Afin de faciliter les recherches entre les différents sites FTP, un logiciel
nommé <code>archie</code> (ou <code>xarchie</code>) existe. Son usage est
toutefois assez malaisé. Une bonne méthode est de demander autour de soi
(dans forum par exemple) si quelqu'un ne sait pas où trouver ce que vous
cherchez.
</p>
<h2><a name="macwin">FTP sous Macintosh et Windows</a></h2>
<p>
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 :
</p>
<h3>Sous Windows</h3>
<p>
Le programme lancé depuis une fenêtre de commande DOS s'appelle
<code>ftp</code> et s'utilise un peu comme <code>ncftp</code> (en moins
bien).
</p>
<h3>Sous Macintosh</h3>
<p>
Le programme s'appelle Fetch. Vous en trouverez une présentation dans les
<a href="http://barthes.ens.fr/CIL/doc-IU/cours-IU.html#4">cours de
l'informatique littéraire</a>.
</p>
<p>
Ces programmes vous permettent une connexion non anonyme, ce que Netscape fait
difficilement.
</p>
<div class="metainformation">
Auteur : Dominique Quatravaux, Émilia Robin. <date value="from git" /> </div>
</body>
</html>