C’est quoi un serveur FTP ?

Quel est le rôle d’un serveur FTP ?

Au sommaire

serveur FTP
by Stuart Miles, http://www.freedigitalphotos.net/
  

Comme vous le savez peut être, l’informatique est faite à base de fichiers. Eh oui,derrière chacune des tâches que vous effectuez, se cachent des fichiers. Ces fichiers peuvent avoir différents types : Exécutables, données, fichiers compressés, pages html, …

Regardons quelques unes de ces tâches :

  • Lorsque vous surfez, vous allez lire des fichiers affichables dans un navigateur web  (html, php, …)
  • Lorsque vous lancez un logiciel, votre ordinateur va lire un fichier exécutable.
  • Si vous regardez des photos, il s’agit de fichiers images.
  • Quand vous envoyez une pièce jointe à quelqu’un il s’agit d’un fichier
  • Cela parait évident lorsque vous utilisez des documents bureautiques (traitement de texte, tableur, …)
  • et enfin, tous les composants de l’OS de votre ordinateur sont des fichiers

Après cette petite introduction, intéressons-nous au protocole FTP.

 

Définition de FTP

FTP veut dire “File Transfert Protocol” ou Protocole de transfert de Fichier.

C’est donc un langage qui va permettre l’échange de fichiers entre 2 ordinateurs, et plus exactement entre un serveur et un client.
On parle alors de :

  • serveur FTP
  • client FTP

 

Je vais commencer par vous expliquer le fonctionnement d’un serveur FTP et d’un client FTP, puis plus loin nous regarderons dans quels cas, cela est intéressant.

 

Détail de fonctionnement du FTP

Comme je vous le disais au dessus, il y a 2 intervenants dans un échange FTP : le serveur et le client.

serveur FTP
by Hywards, Stock Image

1) le serveur FTP

Le serveur FTP est un logiciel qui va répondre aux demandes des clients. Lorsque le serveur reçoit une demande, il vérifie les droits et si le client à les droits suffisants, il répond à cette demande sinon la demande est rejetée.

Le serveur FTP passe son temps à attendre. Si les demandes ne sont pas nombreuses, les ressources utilisées par le serveur FTP sont quasi-nulles.

Quelques logiciels serveur FTP :

2) le client FTP

C’est lui qui va être à l’initiative de toutes les transactions.

Il se connecte au serveur FTP, effectue les commandes (récupération ou dépôt de fichiers) puis se déconnecte. Toutes les commandes envoyées et toutes les réponses seront en mode texte. (cela veut dire qu’un humain peut facilement saisir les commandes et lire les réponses).
Le protocole FTP n’est pas sécurisé : les mots de passe sont envoyés sans cryptage entre le client FTP et le serveur FTP. (Le protocole FTPS avec S pour “secure” permet de crypter les données).

Quelques logiciels client FTP :

Pour en savoir plus, vous trouverez ici un article expliquant comment utiliser Filezilla ?

A quoi ça sert FTP ?

Autrefois, il était incontournable d’utiliser FTP pour télécharger des fichiers. Maintenant, avec des connexions plus performantes, la plupart des téléchargement s’effectuent avec le navigateur web, en cliquant sur les liens proposés et les téléchargements démarrent directement. Pourtant dans certains cas encore, il est nécessaire d’utiliser FTP pour télécharger des fichiers.

Autant il est facile de télécharger des fichiers en surfant sur Internet, autant il serait difficile de mettre en ligne des fichiers sans le protocole FTP.

En effet, avec ce protocole, on va pouvoir se connecter aux différents serveurs et pouvoir y copier des fichiers (dans un sens ou dans un autre). Il est ainsi possible de sauvegarder ou d’envoyer des fichiers sur des serveurs distants sans passer par le web (je vous rappelle que web et internet, ce n’est pas pareil : Comment ça marche Internet : Internet et web : c’est pareil ? )

Quand le client envoie un fichier vers le serveur : on parle de “upload”, quand le client télécharge un fichier : on parle de “download”. (on retrouve cette notion d’upload et de download, lorsque vous faites de débit en ligne : il vous est affiché le débit de votre connexion Internet dans les 2 sens, et comme vous le savez peut être, ce débit n’est pas égal dans les sens).

Prenons le site culture-informatique.net, je me sers du protocole FTP pour :

  • sauvegarder l’ensemble du site vers mon ordinateur (pas seulement les pages que vous pouvez voir, mais tous les fichiers qui composent le site : pages, images, bases de données)
  • copier des fichiers vers le site :
    • les fichiers à télécharger par exemple;
    • les fichiers que je dois modifier à la main : feuille de style, fichiers de paramètres, …
Voici ce que je vois lorsque je suis connecté au site “Culture-Informatique.net” en FTP.
serveur FTP
On peut constater que j’ai accès à l’ensemble des fichiers composant le site :

  • ici est affiché, le détail du répertoire distant nommé: “download”

Dans ce répertoire, avec le serveur FTP, je vais pouvoir copier des fichiers, les supprimer, ou les effacer.

A partir du Web et de votre navigateur, tout ce que vous pourrez faire, c’est de les télécharger et en aucun cas vous ne pourrez les modifier.

Une utilisation possible : l’échange de fichiers

Vous pouvez également vous servir des services FTP pour échanger des fichiers avec des personnes ou des entreprises.

En effet, la taille des mails étant limité (bien souvent inférieure à 20Mo), il est compliqué d’envoyer des gros fichiers vers quelqu’un d’autre.
Alors pourquoi ne pas utiliser les services FTP pour échanger :

  • il suffit de déposer un fichier sur un serveur FTP
  • et donner un identifiant et un mot de passe à la personne devant récupérer les fichiers.

Si vous ne disposez pas d’un serveur FTP, vous pouvez utiliser le “service d’envoi de gros fichiers”  de free que vous trouverez à l’adresse suivante : http://dl.free.fr/upload.html.

 

 

A vous de jouer

Je vous propose d’essayer de regarder comment cela fonctionne.
Pour cela, téléchargez un client FTP. (comme par exemple : FileZilla que vous trouverez ici : FileZilla_3.9.0.6_win32-setup.exe : Les téléchargements proposés sur ce site sont garantis sans virus et autres saloperies)

Installez-le. Puis dans la partie connexion rapide, tapez les paramètres suivants :

serveur FTP

puis faites connexion rapide : vous serez connecté sur un serveur FTP de free.fr

Sur ce serveur, vous allez pouvoir naviguer dans les répertoires, et télécharger des fichiers.
Attention, avec le compte “anonymous” vous n’avez aucun droit en écriture. Donc vous n’avez ni les droits pour copier des fichiers de votre ordinateur vers le serveur,et ni de supprimer des fichiers.
(pour votre information, le compte “anonymous” est utilisable sur un bon nombre de serveur FTP)

 

Un peu de technique

Pour être un peu plus complet sur le protocole FTP, il faut que je revienne sur 2 points que j’ai juste abordé au-dessus sans entrer dans le détail.

Je vous ai dit  que le client se connectait au serveur, envoyait ou recevait des fichiers. Comme vous le savez sans doute, pour que tout cela fonctionne, il faut utiliser un port. (C’est quoi service, port, protocole ?). Et bien pour le protocole FTP on va utiliser 2 ports : un port pour les commandes, un port pour le transport des fichiers.

  • le port 21 : pour envoyer les commandes et recevoir les réponses du serveur
  • le port 20 : pour envoyer ou recevoir les fichiers.

Mode actif / passif

Je viens juste de vous dire que les ports utilisés pour le FTP sont le 21 et le 20, mais c’est partiellement vrai.

Dans quelques cas particuliers, le port 20 ne peut pas être utilisé, il faut donc utiliser des ports hauts (de 1024 à 65635).

En effet, lorsque le client se trouve derrière un équipement type firewall, et que celui-ci fait du NAT (je vous expliquerai un jour ce que c’est que cette bête), les données ne peuvent plus transiter par le port 20. Le serveur va alors indiquer au client le port à utiliser (ce port sera compris entre 1024 et 65635), et le client viendra récupérer les données avec le port donné par le serveur.

Attention : j’ai lu des âneries sur certains sites (je pense que l’un a écrit des âneries et que les autres ont copié) mais ce n’est pas le client qui décide d’utiliser le port 20 : c’est le port standard par défaut!

Ce qu’il faut retenir :

  • les clients modernes (tels que Filezilla) ont un mode “automatique”, qui détermine lui-même quel mode utiliser.
  • si votre client n’a pas de mode automatique, et si votre connexion ne fonctionne pas : essayez de  vous connecter en basculant votre connexion dans un mode, puis dans l’autre : vous finirez par trouver le mode qui vous convient.

Mode binaire

Par défaut, les données échangées circulent en mode texte (ASCII).

l’ASCII est une vieille norme de codage encore utilisée pour coder les caractères : en gros chaque caractère à un code, exemple “A” a pour code 65, “B” : 66, etc. 
Retenez que l’ASCII est utilisé pour tout ce qui est fichiers Texte

Donc pour échanger des fichiers texte, pas de problème mais pour échanger des fichiers binaires, il va y avoir un problème car il ne sont pas codés de la même façon. (les fichiers binaires sont des fichiers exécutables, fichiers compressés, …) : il faudra donc passer le mode d’échange de fichier en mode binaire.

Comme pour le mode actif/passif, les clients modernes détectent automatiquement le type de données qui circulent et basculent automatiquement le mode Ascii/binaire en fonction des données. Mais vous pouvez éventuellement forcer ce mode si vous le souhaitez.

 

 

Pour compléter et que vous compreniez mieux, vous pouvez jeter un oeil ici à ces 2 articles complémentaires. Sur le 1er article, je vous montre comment fonctionne les droits attribués aux utilisateurs qui se connectent. Sur le 2ème article, vous pourrez voir comment fonctionne en détail la connexion à un serveur FTP.

– 3 petits exemples pour comprendre …
– utilisation de ftp en mode texte.

Et enfin, suite à un grand nombre de demande, je vous explique ici : comment ça marche Filezilla client ?

 

Comme d’habitude, tous les commentaires sont les bienvenus.

N’hésitez pas à vous inscrire à la lettre d’information pour être informé de la parution de nouveaux articles. (vous trouverez la zone d’inscription à la lettre d’information sur la droite de l’écran).

74 réponses pour “C’est quoi un serveur FTP ?”

    • non, car les outils modernes (tels que wordpress) permettrent de poster directement des articles sur Internet et de charger les images. Mais pour mettre en ligne des fichiers plus spécifiques : oui il faudra utiliser un serveur FTP.

  • Salut je viens de decouvrir le site.et dejà 3 sujet de digérer.j’en apprends tellement.sinon..
    a quel niveau se situe ,la difference entre un FTP server online comme celui de free et un serveur cloud de stockage de donnée??pleaasse.
    De plus un sujet sur le cluster et server dapplication serait fort utile.mercciiiiii

    • Bonjour Yann,
      la différence est que le serveur FTP de Free, est un serveur FTP : vous ne pouvez y accéder que pour faire du FTP et je ne sais pas s’il fait autre chose.
      Un serveur dans le cloud stockage de données peut être un serveur FTP, mais pourrait très bien autre chose. FTP n’est que la méthode (si je peux m’exprimer ainsi) pour stocker les données.

      Ok, j’ai noté que j’ai 2 articles à faire pour expliquer la notion de cluster et le principe des serveurs d’applications.
      A bientôt

  • Bonjour, je poste rarement des commentaires mais là j’ai jugé nécessaire de le faire. Je voulais vous féliciter pour cet article, il permet de tout comprendre c’est très bien expliqué ! Bravo à vous 🙂

  • slt j’aimerais savoir svp l’explication du piratage de serveur avec le cmd il y a plusieurs tutoriel la dessus mais aucun d’eux explique son fonctionnement mercie

    • Je suis désolé, mais avec le cmd, je peux essayer de me connecter en telnet pour voir si les ports sont bien ouverts. De là, à pirater un serveur !

  • Bonjour,
    J’ai lu l’article, j’ai(un peu)compris, mais je reste à ne pas savoir quoi faire. J’ai justement besoin d’utiliser FileZilla que j’ai chargé, ouvert, et dont on m’a expliqué comment faire pour une tâche spécifique à appliquer ensuite (télécharger vers un blog). Mais… ça commence mal.
    Et je ne comprends pas l’aide en anglais du logiciel.
    Première case : Hôte ?
    On me parle de http:// Bon. Mais qui est-ce dans mon cas ? Vous donnez un exemple avec Free. Mais je n’ai aucun contact avec ce serveur.
    (PC/MozillaF./Ws7) Alors qui puis-je désigner comme “hôte” ?
    Merci

  • J’ai bien lu les “3 petits exemples” (merci, intéressant pour mieux comprendre ftp ) mais sans trouver la réponse à mon interrogation.

    • Vous êtes plusieurs à me demander comment fonctionne Filezilla.
      Je viens de commencer à faire un petit article pour expliquer tout ça.
      A bientôt.

  • Bonjour
    j’ai lu ton article avec beaucoup de passion car j’étais trop confus dans la tête avec cette histoire de ftp.
    mon désir est de déployer un serveur ftp dans un réseau local peux-tu me donner un coup de pouce?
    encore merci pour ton article.

    • Quand j’aurais un peu de temps, je vais faire un petit tuto pour expliquer tout ça.
      Ce n’est pas très compliqué avec Filezilla server.
      A bientôt.

  • salut j’aimerais savoir tu as déjà essayé de mettre un serveur ftp et ADDS??
    sur le net le ftp est toujours installé sur ADDS donc je me demande si on peut les installer sur des serveurs indépendant??
    Merci d’avance

    • Bonjour,
      bien sûr qu’on peut installer des serveurs FTP sans installer l’AD. On peut utiliser par exemple Filezilla Server qui est un très bon serveur FTP.
      A bientôt

    • Bonjour,
      oui bien sûr. Et d’ailleurs on retrouve très souvent un service FTP sur un serveur WEB. Le serveur FTP permettant de mettre à jour le serveur WEB.
      Mais cela n’est pas limité à 2 serveurs, on peut retrouver plusieurs serveurs (services : FTP, WEB, base de données, application, …). Du moment que ces serveurs n’utilisent pas le même port et soient compatibles entre eux.
      A bientôt

    • Bonsoir Pat,
      si c’est pour stocker un fichier d’une vidéo finie, alors on peut l’envoyer par FTP.
      A bientôt

    • Bonjour Antoine,
      pour sauvegarder l’ensemble de ton site : il faut que tu te connectes au serveur FTP et que tu copies tous fichiers sur ton ordinateur. (en sélectionnant la racine du site et par un glisser/copier).
      Attention toutefois, s’il s’agit d’un site sous wordpress ou autre CMS, il faudra aussi sauvegarder la base de données et cela ne se fait pas FTP. La sauvegarde se fera via l’interface d’admin du site.
      A bientôt

  • Bonjour ,

    JE vous remercie par cette magnifique explication , j’avais vraiment besoin de ça pour comprendre le principe de ftp , ses application et son principe de fonctionnement.

    Si possible , vous pourriez faire aussi un cours , sur WebDAV, BitTorrent ,( des services de transfert de fichiers , ).

    • OK, je note ta demande dans un coin et je fais un article dessus dès que j’ai un peu de temps.
      A bientôt

    • Oui, bien sûr : c’est même le plus simple.
      Par contre, si on veut gérer “à la main” le contenu , alors il faudra utiliser un client FTP.
      A bientôt

  • ut Ok je comprends,mais je souhaiterais recevoir des cours à distance pour tout ce qui est création site web les réglages, l’optimisation, le référencement vers les moteurs de recherche. Si c’est possible je peux payer. mais des cours à distances. Je suis du Sénégal Afrique ouest.

    • Elzo,
      je pense que tu dois pouvoir trouver de telles formations en ligne. J’ai des notions, mais ce n’est pas ma spécialité.
      A bientôt.

    • Oui, je veux bien t’aider un peu.
      La seule condition, c’est que toutes les questions soient posées dans le forum : comme ça tout le monde pourra utiliser les réponses et éventuellement répondre aux questions.
      A bientôt.

  • bonjour!!!!!
    j’ai compris et j’ai eu à prendre une bonne note mais ma simple question est de savoir est-ce qu’avec le serveur FTP on veut s”envoyer n’importe quel genre de fichier, que ça soit un fichier audio par exemple, video ect…
    en plus une fois le serveur FTP crée, comment peut-on le gerer dans une entreprise merci administrateur du site à vouz de jouer

    • Bonjour Michel,
      oui, on peut déposer tout type de fichier sur un serveur FTP.
      Un serveur FTP est très simple à gérer une fois que les utilisateurs et leurs droits sont créés, on vérifie l’espace disque restant et son bon fonctionnement : c’est tout.
      A bientôt

    • pour développer un serveur, il existe de nombreux langages de développement, tels que le C, Delphi, …
      Mais pas le HTML qui est une norme pour coder des pages lisible par un navigateur Internet
      A bientôt

  • Bonjour,

    Déjà je voulais vous remercier pour votre article. Il faut le dire quand c’est bien !
    Je compte me lancer dans la création d’un serveur et d’un client FTP juste pour gagner en connaissance sur ce sujet.
    Et je me demandais si il était possible que l’OS du serveur puisse être différent de l’OS du client.
    Je compte commencer par un serveur dédié virtuel tournant sur FreeBSD et le client un ordinateur(Windows7/ubuntu) ou un smartphone(Android).
    Pour moi je dirais qu’il n’y a pas de lien direct entre les different OS du serveur et des clients donc cela reste possible.
    Merci

    • Bonjour Nicolas,
      bien sûr que le serveur et le client peuvent être sur des OS différents. C’est d’ailleurs le rôle de ces protocoles Internet tels que FTP d’être compatibles quelque soit l’OS.
      Et si tu as des problèmes de création de ton serveur, n’hésite pas à poser des questions sur le forum.
      A bientôt

  • Ce serait bien d’aller plus loin avec le poids et la vitesse !!! Exemple :
    Est-ce que je peux envoyer un fichier de 20 Go et combien de temps cela va me prendre en sachant que je n’ai qu’un ADSL classique à la maison ?
    Merci
    Cordialement

  • Bonjour à tous je découvre à peine la plate forme mais déjà j’ai pu donc apprécier le travail qui s’abat. Chapeau à l’Admin

  • Bonjour, j’ai lu cet article trés précieux, j’ai téléchargé filezilla et je ne sais pas quoi mettre dans les cases : hote/ identifiant/ mot de passe et port…
    J’ai un site wordpress hébergé par OVH, qui s’est mis en erreur 500, et ovh me connseille de voir avec un webmaster, et le technicien ovh me dit qu’il faut désactivere un plugin en le renommant en passant en FTP. Il me dit de vérifier la version php également.
    Je suis novice en informatique et je voudrais savoir ce qu’il faut mettre dans les cases “hote identifiant et mot de passe?merci.

    • Bonjour,
      oui, c’est assez simple à faire.
      Mais je ne peux pas te répondre en commentaires car je ne peux pas mettre de copies d’écran.
      Le mieux, c’est que tu ouvres un nouveau sujet dans le forum et je te montrerai comment il faut faire.
      A bientôt

  • wahoo, Quel beau article!!! merci.

    au fait moi j’ai un abonnement sur un site de PLR( private label right). Donc je veux vendre des ebooks de cette plateforme.

    • Bonjour,
      il faut juste disposer d’un compte sur le serveur FTP. S’y connecter et copier les donners à sauvegarder avec le client.
      A bientôt

  • bonsoir j ai acheté des camera de surveillance connecté en wifi, pour envoyer les photo et vidéo prise par la camera au moment de détection on me demande les coordonnées d un serveur http://ftp.si je comprends bien vos explication au dessus , je dois télécharger un serveur ftp sur mon pc ? et rentrée les coordonnées dans le réglage de mes cameras ? Filezilla serveur ferait l affaire ? merci pour votre réponse cordialement

    • Bonjour,
      généralement l’enregistrement des images des caméras se fait sur un serveur NAS (c’est un serveur qui contient un gros volume de stockage avec de nombreux disques). Et généralement, ces serveurs proposent un service FTP pour enregistrer les images.
      En montant un serveur FTP sur ton ordinateur, ça doit marcher aussi mais attention à l’espace disque utilisé qui va vite se remplir.
      A bientôt

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *