Communication Android avec un serveur ftp

a marqué ce sujet comme résolu.

Bonjour à tous,

J’ai suivi ce tutoriel pour faire communiquer mon application Android avec ma base de données. En localhost, tout se porte comme un charme.

Le problème maintenant, c’est que mon fichier .php se trouve sur un serveur ftp et que OkHttp3 ne gère que les http/https.

J’ai trouvé ce tutoriel mais je ne suis pas sûr de comprendre comment récupérer ce que l’on me renvoie et surtout si cela sera bien de la même forme que pour les requêtes HTTP.

Est-ce que vous auriez une alternative à proposer ou un éclaircissement ?

Au passage, je précise que je devrai envoyer des fichiers .txt sur ledit serveur et les lire par la suite, donc le protocole ftp semble adapté non ?

Merci d’avance.

+0 -0

Salut !

Déjà, es-tu bien sur de la nécessité de se connecter à un serveur FTP ? Tu ne peux pas le rendre accessible depuis une adresse HTTP ? Ne serait-ce pas une confusion avec le fait que tu upload ton fichier php sur ton serveur en FTP ?

Si tu as réellement besoin d’une connexion FTP, tu peux toujours t’aider de ce morceau de code : http://www.codejava.net/java-se/networking/ftp/using-urlconnection-to-list-files-and-directories-on-ftp-server

Alors non en fait, je n’en suis pas sûr du tout et même, à part pour upload un fichier ça m’arrange pas des masses x)

En fait, j’ai un compte OVH et je dispose d’un serveur en HTTPS avec PHPMyAdmin et d’un en FTP sur lequel se trouvent mes scripts PHP (plus exactement un ami me prête son compte et c’était comme ça pour être honnête, donc j’ai juste rajouté mes scripts)

L’adresse est ftp.cluster021.hosting.ovh.net et j’ai le login et le mot de passe pour y accéder. Ma question en fait, c’est est-ce que je dispose d’un autre moyen de stocker mes scripts PHP qui interrogent ma base de données présente sur le serveur HTTP ?

Haha on va faire simple alors !

OVH te loue un serveur. Enfin ici, OVH semble seulement te louer une partie d’un serveur : c’est ce qu’on appelle un hébergement mutualisé. Sur ce serveur il y a un la possibilité d’upload ses fichiers en FTP. Le FTP est une façon de communiquer avec le serveur particulière et qui est souvent utilisée seulement pour le transfert de fichiers. Chaque fichier uploadé a une adresse HTTP à partir de laquelle il est accessible (il y a des cas particuliers).

Le problème c’est que à partir de ton adresse ftp.cluster021.hosting.ovh.net on ne peut pas déterminer l’adresse de ton site. D’autres clients OVH utilisent également cette adresse pour uploader leurs fichiers. A partir du compte OVH de ton ami, tu devrais probablement pouvoir trouver une adresse qui est rattaché à ce hébergement mutualisé (pas forcément le cas mais il y a 95% de chance!). C’est à partir de cette adresse que tu pourras accéder à tes fichiers en HTTP.

En effet, c’est tout à fait ça !

Mes requêtes sur ma base de données marchent, merci beaucoup !

Une dernière chose néanmoins, pour lire un fichier texte stocké au même endroit que mes scripts PHP, est-ce qu’il est plus pratique d’implémenter un client FTP ou bien d’essayer de le lire par des requêtes HTTP sur des scripts PHP ?

En général le HTTP est plus pratique. Rien qu’au nombre de librairies Android gérant les requêtes HTTP (OkHttp, Volley …) on peut le constater !

Tu as plusieurs solutions:

  • Accéder directement au fichier .txt en HTTP. Soit http://tonsite.com/fichier.txt

  • Accéder au fichier .txt en HTTP à travers un fichier .php. Le script php lit le contenu du .txt et l’affiche. Cela peut-être pratique si tu as des modifications à faire comme couper une partie du document etc.

  • Accéder au fichier .txt en FTP mais c’est plus galère et pas très utilse. Surtout que cela implique que tu donnes ton mot de passe FTP en clair et que toute personne malintentionnée pourrait donc accéder au FTP de ton serveur et faire ce qui lui plaira !

Bonne chance ;)

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte