<h2>But de ce document</h2>
<p class="spip">Le but de ce document est de faire l’inventaire des différents clients FTP disponibles sous Linux. Comme vous le verrez, sous Linux vous n’avez que l’embarras du choix pour faire du ftp en ligne de commande ou via une interface graphique.</p>

<h2>ftp (Ligne de commande)</h2>
<p class="spip">Cet outil en ligne de commande est utile pour réaliser des scripts permettant de télécharger automatiquement des fichiers via le protocole FTP.</p>

<h2>lftp (Ligne de commande)</h2>
<p class="spip">lftp est un client FTP permettant de faire des transferts de fichiers (par exemple pour mettre à jour votre site Internet modifié localement ou pour faire une sauvegarde sur votre ordinateur).</p>

<p class="spip">Pour mettre à jour votre site Internet à partir de votre site en local, il faut utiliser la commande suivante :</p>

<p class="spip"><code class='spip_code' dir='ltr'>lftp ftp://identifiant:mot_de_passe@site_de_connexion -e "mirror -e -R -x dossier_ignoré -x dossier_ignoré /emplacement_local /emplacement_distant ; quit"</code></p>

<p class="spip">Cette commande ne transfère dans l"emplacement distant que les fichiers modifiés dans l"emplacement local et les nouveaux fichiers et efface dans l"emplacement distant les fichiers qui n"existent plus en local.</p>

<h2>Curl (Ligne de commande)</h2>
<p class="spip">Curl est un programme permettant d’aspirer les ressources d’un réseau (ex : site Internet) comme Wget. Mais Curl est également un client multi-protocoles (FTP, HTT, TFTP, SCP, Telnet, FILE, LDAP,..)</p>

<h2>Yafc (Ligne de commande)</h2>
<p class="spip">yafc signifie « Yet another Ftp Client ». Il s’utilise en ligne de commande. Parmi les principales fonctionnalités, on peut noter la complétion, le support ssh2, les favoris et la coloration syntaxique.</p>

<h2>Ncftp (Ligne de commande)</h2>
<p class="spip">Client FTP en ligne de commande, supportant les bookmarks, la sauvegarde des mots de passe etc...</p>

<h2>Midnight Commander (Mode texte)</h2>
<p class="spip">Si vous utilisez et appréciez « <strong class="spip"> mc </strong> », il est également possible de s’en servir comme client FTP.</p>

<h2>FireFTP (Extension de Firefox)</h2>
<p class="spip">FireFTP est une extension pour Firefox permettant de le transformer en client FTP.</p>

<p class="spip">Les possibilités sont assez limitées et la vitesse assez lente mais pour une utilisation occasionnelle, cela peut éviter d’installer un vrai client FTP.</p>

<h2>curlftpfs (drivers de système de fichiers)</h2>
<p class="spip">curlftpfs n’est pas un logiciel, mais un driver permettant de monter un serveur FTP comme si c’était une simple partition de disque dur.</p>

<p class="spip">Une fois le serveur FTP monté dans le système de fichiers, la copie des fichiers se fait avec n’importe quel gestionnaire de fichiers (Konqueror, Nautilus,..)</p>

<p class="spip">Pour plus d’infos, vous pouvez lire mon mémo sur le sujet :
<br /></p>
<li> <a href="http://www.coagul.org/article.php3?id_article=466" class="spip_out">http://www.coagul.org/article.php3 ?id_article=466</a>
<h2>Konqueror (QT)</h2>
<p class="spip">Avec une adresse du type « ftp://login@serveurftp », il est possible de se connecter à un serveur FTP en lecture écriture.</p>

<p class="spip">En activant le gestionnaire de comptes (ou mots de passe) de KDE « kvallet », il est possible de mémoriser les mots de passe des sites FTP.</p>

<p class="spip">En utilisant la gestion des fenêtres et la gestion des profils de Konqueror, il est possible d’afficher une vue locale et une vue distante automatiquement au chargement du profil. Il est même possible d’afficher les sites de deux serveurs FTP différents.</p>

<p class="spip">Voici le seul inconvénient que je trouve à Konqueror par rapport à FilleZilla qui pour moi reste la référence :
<br /></p>
<li> Il n’est pas possible de copier un dossier local vers un dossier distant en indiquant des actions à appliquer en cas de remplacement de fichiers existants (ex : remplacer uniquement si plus anciens) et d’appliquer ces actions automatiquement pour tous les fichiers.
<h2>Les Kio-Slaves de KDE</h2>
<p class="spip">Grâce aux kio-slaves de KDE, il est possible d’utiliser n’importe quel programme KDE (Kate, Krita, Quanta,...) pour ouvrir directement les fichiers (html, php, image,..) et les modifier en ligne sans les copier dans un dossier local. Pour cela, il suffit d’ouvrir les fichiers en utilisant une url sous cette forme :
<br /></p>
<li> <a href="ftp://login@ServeurFTP/MonDossier" class="spip_out">ftp://login@ServeurFTP/MonDossier</a>
<h2>Nautilus (GTK)</h2>
<p class="spip">Nautilus est le gestionnaire de fichiers de Gnome. Il permet comme Konqueror grâce à « <strong class="spip">gnome-vfs</strong> » d’accéder en lecture/écriture à un serveur FTP.</p>

<p class="spip">Nautilus gère les signets et les mots de passe peuvent-être sauvegardés par « <strong class="spip">gnome-keyring</strong> » sur le même principe que « KWallet » de KDE.</p>

<p class="spip">Cependant il manque à Nautilus le « petit plus » qui en ferait un vrai client FTP :
<br /></p>
<li> Il n’est pas possible de partager l’écran en deux fenêtre pour avoir les fichiers locaux et les fichiers distant sur le même écran.
<br /><li> Il n’est pas possible de créer une session permettant d’enregistrer la position des fenêtres, les chemins des dossiers locaux et distant par défaut.
<p class="spip">Concernant les applications pouvant utiliser « <strong class="spip">gnome-vfs</strong> » pour l’accès FTP, j’ai testé avec succès « <strong class="spip"> gedit </strong> ». Mais ça ne marche pas avec Gimp et il semblerait que « gnome-vfs » soit malheureusement reconnu par très peu d’applications.</p>

<h2>Krusader (QT)</h2>
<p class="spip">Le principal intérêt de Krusader par rapport à Konqueror dans le cadre de l’utilisation en client FTP est sa possibilité de synchroniser le répertoire local et le répertoire distant.</p>

<p class="spip">A part cet avantage, il est beaucoup plus compliqué à utiliser car il dispose de très nombreuses options souvent mal traduites. De plus l’arborescence des menus n’est pas du tout standardisée (Par exemple il n’y a pas de menu « Édition / copier » et « Édition / Coller ») ce qui complique encore plus son utilisation.</p>

<p class="spip">A part ces inconvénients, il est vraiment très puisant et dispose de fonctionnalités inédites comme l’affichage de la taille de chaque dossier.</p>

<p class="spip">Après avoir configuré sa session, il est possible de créer un profil avec le menu « Commandes / Profile / Ajouter une nouvelle entrée ».</p>

<p class="spip">Ensuite, il est possible d’ouvrir Krusader avec ce profil par défaut avec cette commande :</p>

<p class="spip"><code class='spip_code' dir='ltr'>$ krusader -- profile NomduProfile</code></p>

<p class="spip">Ou de créer un nouveau raccourci sur le bureau et d’ajouter « <strong class="spip">&mdash; profile NomduProfile</strong> » à la commande de lancement dans les propriétés du raccourci.</p>

<h2>Kbear (QT)</h2>
<p class="spip">Le développement a été arrêté et le paquet Debian n’est plus disponible sous Testing ou Sid.</p>

<h2>Kasablanca (QT)</h2>
<p class="spip">Les options sont très limitées.</p>

<p class="spip">Il n’est pas possible de spécifier le répertoire local n’y de créer un signet sur celui-ci.</p>

<h2>Kftpgrabber (QT)</h2>
<p class="spip">Ce programme a l’air très complet, mais il est vraiment très buggué, car je n’ai pas réussi à me connecter et il a planté au bout de 2mn.</p>

<h2>GFTP (GTK)</h2>
<p class="spip">GFTP est certainement le client FTP graphique le plus connu et le plus utilisé sous Linux et même sous KDE.</p>

<p class="spip">La seule chose qui me manque dans GFTP (comme dans Konqueror) par rapport à FileZilla (que j’utilisais beaucoup sous Windows) est :
<br /></p>
<li> Il n’est pas possible de copier un dossier local vers un dossier distant en indiquant des actions à appliquer en cas de remplacement de fichiers existants (ex : remplacer uniquement si plus anciens) et d’appliquer ces actions automatiquement pour tous les fichiers
<h2>FileZilla (wxwidget)</h2>
<p class="spip">FileZilla est certainement le meilleur client FTP que je connaisse. La version 3 est désormais disponible depuis peu sous Linux et sous Debian Testing en particulier.</p>

<h2>Comparatif des clients FTP graphiques</h2>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Fonctionnalités</strong></th><th scope='col'><strong class="spip">Konqueror</strong></th><th scope='col'><strong class="spip">Kasablanca</strong></th><th scope='col'><strong class="spip">Kftpgrabber</strong></th><th scope='col'><strong class="spip">Gftp</strong></th><th scope='col'><strong class="spip">FilleZilla</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>Gestion des signets (Mémoriser l’url, le login, le mot de passe et le répertoire local)</td><td>X</td><td>(1)</td><td>X</td><td>X</td><td>X</td></tr>
<tr class="row_odd"><td>Se reconnecter automatiquement</td><td> </td><td> </td><td> </td><td> </td><td>X</td></tr>
<tr class="row_even"><td>Remplacer les fichiers distants seulement si les fichiers locaux sont plus récents</td><td> </td><td> </td><td>X</td><td> </td><td>X</td></tr>
<tr class="row_odd"><td>Modifier une image ou un fichier HTML/PHP distant sans le télécharger en local</td><td>(2)</td><td> </td><td> </td><td> </td><td> </td></tr>
</tbody>
</table>
<p class="spip">(1) : Il n’est pas possible de spécifier le répertoire local n’y de créer un signet sur celui-ci.</p>

<p class="spip">(2) : Grâce aux kio-salves, les applications KDE (Kate, Krita,..) peuvent modifier les fichiers distants via le protocole ftp mais également via ssh, samba, nfs,..</p>

<h2>Historique des modifications</h2>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Version</strong></th><th scope='col'><strong class="spip">Date</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>0.1</td><td>08/09/06</td><td>Création par Tony GALMICHE</td></tr>
<tr class="row_odd"><td>0.3</td><td>18/11/06</td><td>Mise en ligne.</td></tr>
<tr class="row_even"><td>0.4</td><td>07/01/06</td><td>Mise à jour suite à la disponibilité de FileZilla sous Debian Testing</td></tr>
<tr class="row_odd"><td>0.5</td><td>14/08/07</td><td>Ajout « Curl »</td></tr>
</tbody>
</table>