Ludovic ROLAND

Blog technique sur mes expériences de développeur.

Intéragir avec un serveur FTP en Perl 5 (1/6) : Introduction

11 août 2022

Ce chapitre d’introduction va nous permettre de faire quelques rappels quant au fonctionnement d’un client et d’un serveur FTP.

Plan

Introduction au protocole FTP

Derrière le mot FTP se cache en fait la définition suivante : File Transfert Protocol (protocole de transfert de fichiers).

Comme son nom l’indique, le protocole FTP est un protocole qui permet des échanges de fichiers. Ces échanges peuvent avoir lieu dans différentes situations comme par exemple :

  • entre deux ordinateurs ;
  • entre un serveur et un ordinateur ;

Comme souvent dans les protocoles, il conviendra de respecter un modèle client - serveur. A savoir que l’ordinateur qui souhaite échanger des données, joue le rôle de client, et que l’ordinateur auquel le client s’est connecté, joue le rôle de serveur.

Comme pour la partie précédente, il conviendra de réaliser les échanges avec le serveur via des commandes. Bien évidemment, chacune de ses commandes (ou presque) a été implémenté sous la forme d’une fonction en Perl dans le module Net::FTP que nous allons apprendre à utiliser au cours de ce chapitre.

Le modèle client - serveur

Afin que chacun puisse se rendre compte de ce que nous allons mettre en place au cours de ce chapitre, je vous propose ce petit schéma expliquant brièvement le principe du modèle client - serveur.

Étape 1

L’utilisateur, via son ordinateur que l’on appellera client FTP, commence par se connecter au serveur FTP, puis envoie à ce dernier des commandes afin de réaliser ce pourquoi il s’est connecté (création / suppression d’un fichier, transfert de fichiers, etc.).

Étape 2

Le serveur FTP n’a qu’une fonction : exécuter les commandes qu’il reçoit et renvoyer le résultat au client qui a envoyé la commande.

Bien évidemment, c’est une vision extrêmement simpliste du fonctionnement d’une interaction entre un client et un serveur FTP. Cependant, pour ce que nous voulons faire au cours de cette partie du tutoriel, c’est suffisant !

La bibliothèque libnet

Présentation

Au cours de cette partie, nous allons utiliser des modules issus de la bibliothèque libnet. Il s’agit de la bibliothèque qui couvre tout ce qui concerne le réseau (HTTP, DNS, etc.) en Perl. Elle va donc nous permettre, grâce à plusieurs fonctions et méthodes, d’interagir avec les serveurs auquel nous serons connectés, grâce à différentes instructions.

Installation

Normalement, la bibliothèque libnet est installée par défaut avec votre version de Perl. Si pour une raison X ou Y, elle ne l’était pas, il est toujours possible de l’installer maintenant.

Installation sous Linux

Avant d’installer ce module, vous vous doutez bien qu’il va falloir le télécharger ! Pour ce faire, rendez-vous ici, puis téléchargez la dernière version disponible comme l’illustre la capture d’écran ci-dessous.

Un fois l’archive enregistrée sur votre ordinateur, ouvrez votre plus beau terminal et tapez successivement les commandes suivantes :

tar -xzvf libnet-xxx.tar.gz
cd libnet-xxx/
perl Makefile.PL
make
sudo make install

Installation sous Windows

Si vous utilisez Active Perl, ouvrez un terminal, puis tapez la commande suivante :

ppm

Vous devriez alors avoir une nouvelle ligne dans l’invite de commandes de la forme :

PPM>

Il vous suffit alors de lancer l’installation du module grâce à la commande :

install libnet

Maintenant que la bibliothèque libnet est installée, nous allons pouvoir passer à la suite !

Bien, maintenant que tout est compris, nous allons pouvoir attaquer la programmation en Perl.

Dans les prochains chapitres, toutes les commandes et manipulations seront expliquées. Cependant, si vous pensez encore avoir des soucis de compréhension, je vous conseille de relire ce premier chapitre !

Commentaires