Archi FTP

Identification

Infoforall

FTP avec FileZilla


Cet article vous montre comment utiliser un client FTP pour téléverser des documents sur un serveur FTP.

Dans l'exemple,

  • le client FTP est FileZilla.
  • le serveur FTP est un serveur de l'hébergeur alwaysdata.

1 - FileZilla

Le protocole FTP est un protocole permettant le transfert de fichiers entre un client et un serveur FTP.

Le logiciel FileZilla est un client FTP. Il est développé sous la licence publique générale GNU. Il est intégré à la liste des logiciels libres préconisés par l’État français dans le cadre de la modernisation globale de ses systèmes d’informations (S.I.).

Principe client-serveur FTP

Lorsqu'un client transfère un fichier vers le serveur, on parle d'upload ou de téléversement.

Lorsque le client récupère un fichier depuis le serveur, on parle de download, téléchargement en français.

C'est donc le même principe que la communication client-serveur HTTP où le programme client est un navigateur :

Principe client-serveur HTTP

La variante sécurisée de FTP avec les protocoles SSL ou TLS s’appelle FTPS. Nous en parlerons dans une autre fiche, mais sachez que FileZilla permet bien entendu des échanges de ce type.

Pour votre premier site, ce n'est pas bien grave si, par le plus grand des hasards, quelqu'un tente de voir les fichiers que vous allez placer sur votre serveur distant. Pour des sites plus professionnels, ce serait dommage que quelqu'un récupère vos dossiers ultra-secrets lors de leur téléversement sur le serveur !

Une fois que vous aurez vu le FTP, nous passerons rapidement au FTPS, pour ceux qui désirent travailler dans l'informatique. Autant avoir les bons réflexes.

Télécharger et installer FileZilla

Pour Windows, MacOS ou Linux, vous pouvez aller sur le site de FileZilla : https://filezilla-project.org et choisir Download FileZilla Client.

2 - Trouver les infos sur le serveur FTP

Pour configurer votre connexion avec le serveur de votre hébergeur (ici alwaysdata), il vous faut récupérer les identifiants et autres mots de passe.

Exemple de configuration chez alwaysdata

Pour alwaysdata, il suffit d'aller dans votre page d'adminstration et de cliquer sur Accès distance → FTP.

Vous obtenez alors le nom du serveur (hôte) à contacter : ici, c'est en haut de l'écran, dans le rectangle orangé de l'image ci-dessous.

Il s'agit d'une adresse du type ftp-nomutilisateur.alwaysdata.net.

Menu FTP Alwaysdata

Cliquer sur Ajouter un utilisateur FTP pour créer un utilisateur qui aura moins de droit que vous en tant qu'administrateur :

  • Donner son nom, qui doit commencer comme le nom du compte suivi d'un underscore.
  • Donner lui un mot de passe, différent de celui de l'administrateur...
  • Nous allons lui donner uniquement accès au dossier /www. Cet utilisateur pourra donc venir placer des choses dans ce fichier mais ne pourra pas modifier ou lire le contenu des autres répertoires.
Sous-Menu FTP Utilisateurs

3 - Configurer FileZilla

Du coup, il vous faut maintenant configurer votre FileZilla pour qu'il tente de se connecter au serveur FTP avec le bon compte FTP et le bon mot de passe.

Pour cela, ouvrir FileZilla et cliquer sur Fichier et choisir Gestionnaire de sites dans le menu déroulant.

Cliquer alors sur Nouveau Site et donner un nom lié à votre site. C'est uniquement pour vous dans ce programme, pour savoir que ce nom correspond à ce site. Ici, sur l'exemple, j'ai choisi configuration_exemple.

Création d'un compte sur FileZilla 1

Il nous reste à remplir les cases.

  • Dans Hôte, placez le nom du serveur à contacter. Sur l'exemple visuel, c'est ftp-testprofad.alwaysdata.net
  • Changer un type d'authentification normale
  • Mettre votre identifiant de compte de FTP limité et son mot de passe
  • Vous pouvez choisir une couleur pour l'affichage de votre site  ça permet de différencier les sites lorsqu'on en possède plusieurs et ça évite donc de faire des manipulations sur le mauvais site !
Création d'un compte sur FileZilla 2

On appuie sur le bouton connexion et on se connecte. Ca donne ça :

Création d'un compte sur FileZilla 3

Du côté gauche de l'écran, c'est votre ordinateur. Du côté droit de l'écran, c'est le serveur distant.

Si vous venez de faire l'activité Système d'exploitation de la partie Architecture, vous devriez retrouver comme sur l'écran deux fichiers HTML dans le dossier racine.

Si vous n'avez pas fait cette activité et que vous venez ici par hasard, voici la structure que nous avions créé :

📁 / <-- la racine de l'ordinateur-serveur

📁 home

📁 votrecompte

📁 admin

📁 www <-- la racine apparente sur FileZilla

📄 index.html

📄 nouveau.html

Mais alors... pourquoi la racine du côté droit semble être le répertoire www et pas la vraie racine ?

Vue du serveur depuis FileZilla

Surprise : pour atteindre le répertoire parent, il faut cliquer sur  .. &nsp;! Ca devrait vous rappeller quelque chose...

Comme vous pouvez le voir si vous faites la manipulation en même temps, vous pouvez tenter de remonter dans l'arborescence du serveur, vous aurez l'impression qu'il n'y a rien au dessus Pourquoi ? Tout simplement à cause de la configuration du compte FTP réglée par l'administrateur (vous) pour ce compte : nous avions réglé la racine du serveur FTP sur le répertoire /www.

Sous-Menu FTP Utilisateurs

Avec ce compte, l'accès au transfert est donc limité à CE répertoire et les répertoires qu'il contient. Pratique pour éviter que quelqu'un fasse n'importe quoi sur des fichiers importants. Ce compte n'a par exemple pas accès au répertoire ~/admin de l'administrateur du compte. Pratique.

Si je règle de façon différente le compte de ce compte FTP via l'interface d'administration de alwaysdata :

Changement de configuration

Et du coup, si on ouvre FileZilla avec la session à jour, on obtient bien une racine pour l'utilisateur FTP qui correspond à la racine du compte utilisateur, ~ ou /home/testprofad. Par contre, l'utilisateur du compte FTP ne pourra pas accèder aux autres répertoires du type /bin...

Changement de configuration

Et si vous voulez avoir accès à toute l'arborescence du serveur ?

ATTENTION : nous utilisons ici un compte gratuit avec des fonctionnalités limitées.

En rajoutant un moyen de paiement pour prouver votre légitimité en tant que "client sérieux" (ou en effectuant vraiment un paiement), vous auriez eu accès à toute l'arborescence du serveur. Ce qui ne veut pas dire que vous pourriez toucher à tout et tout changer. Les droits d'utilisateurs de Linux sont là pour ça.

FTP complet

4 - Transfert de fichiers

Alors, là, c'est hyper rapide : on peut faire du clic-and-droit de la gauche vers la droite (vous envoyez vers le serveur) ou de la droite vers la gauche (vous téléchargez des fichiers depuis le serveur).

Vous pouvez maintenant transférer ce que vous voulez d'un côté comme de l'autre.

A vous le site Web avec des images, des vidéos, des fichiers CSS et Javascript.

Avec un clic-droit sur la zone voulue, vous pouvez créer des répertoires ect... La liberté de créer et de modifier.

A titre d'exemple, j'ai transféré une image depuis mon ordinateur jusqu'au serveur après avoir créé un répertoire images.

Exemple final

Vous pouvez maintenant créer une page Web qui utilise cette image.

Son adresse est donc http://testprofad.alwaysdata.net/images/ftp.png.

Pourquoi cette adresse ?

📁 / <-- la racine de l'ordinateur-serveur

📁 home

📁 votrecompte

📁 admin

📁 www <-- référence du site

📄 index.html

📄 nouveau.html

📁 images

📄 ftp.png

  • Le compte de test possède l'adresse http://testprofad.alwaysdata.net.
  • Le site de test a été configuré pour distribuer les fichiers statiques en prenant le répertoire ~/www comme référence.
  • L'image se trouve dans un répertoire images situé dans le répertoire www.

Voilà : vous savez maintenant ouvrir votre compte, et envoyer des fichiers (dont des images sur le serveur de votre hébergeur).

Avec l'adresse de ces fichiers, vous allez pouvoir batir votre site tranquillement.

Pour info, vous disposez à l'heure actuelle de 100 Mo d'espace chez eux en version gratuite. De quoi tester pas mal de choses.

Article publié le 03 06 2020
Dernière modification : 03 06 2020
Auteur : ows. h.