|
- Ce que vous allez apprendre dans cette leçon
- Présentation
- Se connecter à un serveur FTP
- Envoyer un fichier
- Lister les fichiers présents sur un serveur FTP
- Récupérer un fichier
- Se déconnecter d'un serveur FTP
Ce que vous allez apprendre dans cette leçon - Présentation des fonctions FTP de WINDEV.
Le FTP (File Transfert Protocol) est un protocole standard permettant d'effectuer le transfert de fichiers d'une machine vers une autre machine. Une des deux machines doit être un serveur FTP. Le WLangage possède les commandes de programmation nécessaires pour effectuer des transferts de fichiers en utilisant ce protocole avec un serveur. Ces fonctions de programmation commencent toutes par "FTP". WINDEV ne propose que des fonctions "clientes" pour le FTP. Il est nécessaire d'utiliser un serveur FTP standard. Nous avons choisi de vous présenter un cas réel de la manipulation des fichiers sur un serveur FTP grâce à l'exemple unitaire "Les fonctions FTP".
- Ouvrez l'exemple unitaire "Les fonctions FTP". Cet exemple présente les principales fonctionnalités utilisables sur un serveur FTP.
Se connecter à un serveur FTP La fonction FTPConnecte permet de se connecter à un serveur FTP. Vous devez au préalable posséder un compte FTP (nom d'utilisateur et mot de passe) pour accéder à un serveur FTP. - Dans la fenêtre "FEN_FTP", affichez les événements WLangage associés au champ Bouton "Connexion" :
- Sélectionnez le champ Bouton "Connexion".
- Utilisez la touche F2 pour afficher le code WLangage associé :
// 1 - Adresse FTP : correspond au site FTP // où l'application doit se connecter. Ex : 192.108.10.2 sAdresseFTP est une chaîne = SAI_Serveur_FTP // 2 - Nom d'utilisateur : si ce nom n'est pas indiqué, // une connexion de type "anonyme" sera utilisée sNomUtilisateur est une chaîne = SAI_Utilisateur sMDPUtilisateur est une chaîne = SAI_Mot_de_passe // Connexion au serveur FTP gnIdConnexion = FTPConnecte(sAdresseFTP, sNomUtilisateur, sMDPUtilisateur) SI ErreurDétectée ALORS // Une erreur a été rencontrée lors de la connexion Erreur("La connexion au serveur FTP : " + sAdresseFTP + " a échoué", ErreurInfo()) RETOUR FIN // La connexion est établie Info("La connexion au serveur FTP est établie", "identifiant de connexion : " + gnIdConnexion)
Remarque : Il est également possible de préciser le numéro de port de connexion du serveur FTP (par défaut "21") ainsi que le mode de connexion ("Vrai" pour une connexion dite "passive", "Faux" pour une connexion dite "active"). Pour plus de détails, consultez Fonctions FTP Standard. Pour envoyer un fichier vers un serveur FTP, il suffit d'utiliser la fonction FTPEnvoie. Voici un exemple de code pouvant être utilisé :
// Lors de la connexion au serveur avec FTPConnecte, nous avons // récupéré le numéro de connexion dans la variable gnIdConnexion // Transfert du fichier "C:\MesDocuments\Fichier.DOC" vers // le répertoire "Temp" qui se trouve sur le serveur. bResult est un booléen = FTPEnvoie(gnIdConnexion, "C:\MesDocuments\Fichier.DOC", "/Temp")
| | |  | Attention ! | Faites très attention à la casse (minuscules, majuscules) du nom des répertoires sur le serveur. En effet, certains serveurs FTP sont des machines fonctionnant sous UNIX et sont "case-sensitive", c'est-à-dire qu'ils sont sensibles à la casse du nom des fichiers et des répertoires. Par exemple, sur le serveur FTP se trouve un répertoire nommé "MonRepertoire". Si vous tentez d'accéder au répertoire "monrepertoire", le serveur FTP pourra renvoyer une erreur du type "Chemin inexistant" car la casse utilisée n'est pas correcte. |
Lister les fichiers présents sur un serveur FTP La fonction FTPListeFichier permet de lister les fichiers présents sur un serveur FTP. Cette fonction utilise une procédure de type "callback". Pour chaque fichier ou répertoire trouvé, la procédure est exécutée. - Dans la fenêtre "FEN_FTP", affichez les événements WLangage du premier champ Bouton "Lister" :
- Sélectionnez le champ Bouton "Lister".
- Utilisez la touche F2 pour afficher le code WLangage associé :
FTPListeFichier(gnIdConnexion,"*.*", CallBackFTPListeFichier, ftpFichier+ftpRépertoire) // Vérification de l'exécution de la fonction SI ErreurDétectée ALORS Erreur("Erreur lors du parcours des fichiers présents sur le serveur FTP", ErreurInfo()) RETOUR FIN
- Dans l'exemple, la procédure appelée CallBackFTPListeFichier est une procédure interne qui permet d'afficher dans une fenêtre de trace les fichiers trouvés.
PROCÉDURE INTERNE CallBackFTPListeFichier(sNomFichier, nTailleFichier <utile>, ... sAttribut, sDateModif <utile>, sHeureModif <utile>) // Est-ce un fichier ou un répertoire SI sAttribut = "D" ALORS // Répertoire ou sous-répertoire Trace("Répertoire : " + sNomFichier) SINON // Fichier Trace("Fichier : " + sNomFichier) FIN // Poursuite du parcours des fichiers RENVOYER Vrai
Pour récupérer un fichier depuis un serveur FTP sur votre machine, il suffit d'utiliser la fonction FTPRécupère. Voici un exemple de code pouvant être utilisé :
// Lors de la connexion au serveur avec FTPConnecte, nous avons // récupéré le numéro de connexion dans la variable gnIdConnexion // Récupération du fichier "/Document/Fichier.DOC" présent // sur le serveur FTP vers le répertoire "D:\Temp" sur // le poste en cours bRes est un booléen = FTPRécupère(gnIdConnexion, "/Document/Fichier.DOC", "D:\Temp")
Se déconnecter d'un serveur FTP Pour se déconnecter d'un serveur FTP, utilisez la fonction FTPDéconnecte. - Dans la fenêtre "FEN_FTP", affichez les événements WLangage associés au champ Bouton "Déconnexion" :
- Sélectionnez le champ Bouton "Déconnexion".
- Utilisez la touche F2 pour afficher le code WLangage associé :
SI OuiNon(Non, "Voulez-vous fermer la connexion au serveur FTP ?") = Oui ALORS // Déconnexion du serveur FTP FTPDéconnecte(gnIdConnexion) SI ErreurDétectée ALORS // Erreur lors de la fermeture de la connexion Erreur("Impossible de fermer la connexion FTP", ErreurInfo()) RETOUR FIN // La connexion est terminée Info("La connexion avec le serveur FTP est terminée") FIN
Il existe également d'autres fonctions FTP que nous ne détaillerons pas dans ce cours. Elles permettent notamment de : - créer, supprimer, modifier des répertoires sur le serveur FTP,
- créer, supprimer, modifier des fichiers sur le serveur FTP,
- récupérer les informations d'un répertoire et/ou d'un fichier,
- ...
|
|
|
|
|
|
|