IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

Lire un fichier texte présent sur un serveur Web


Sujet :

Web & réseau Delphi

  1. #1
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut Lire un fichier texte présent sur un serveur Web
    Bonjour à tous,

    Je souhaite créer une application réseau, possédant un petit serveur. Mais il est possible que l'adresse IP de ce serveur change, c'est pourquoi j'ai penser à laisser un fichier TXT sur un serveur Internet, et de faire en sorte que l'application lise ce fichier lors du démarrage pour trouver le serveur. L'ennui est que je ne sais pas comment lire un fichier présent sur un serveur Web.

    Merci d'avance.


    P.S : j'utilise pour cela les composants TServerSocket et TClientSocket.

  2. #2
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Utilise le composant TIdHTTP de Indy si ton fichier est sur un serveur HTTP, et TIdFTP s'il est sur un serveur FTP

  3. #3
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut
    Mais est-ce possible d'utiliser TClientSocket ou TServerSocket ? Je n'ai pas Indy ...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 210
    Points : 190
    Points
    190
    Par défaut
    et pourquoi ne pas utiliser un service style DynDns ?

  5. #5
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut
    C'est quoi ?

  6. #6
    Membre éclairé
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Points : 746
    Points
    746
    Par défaut
    c'est une méthode qui te permet de récupérer une adresse ip sous forme de nom de domaine (developpez.com par exemple)

    va voir sur le site http://www.dyndns.org qui te proposera de choisir parmi une liste de possibilités... par exemple tu peux réserver matt2094.dyndns.org . ensuite tu va devoir indiquer à dyndns.org l'adresse ip sur laquelle tu souhaites faire pointer le nom de domaine , il y a deux possibilités :
    - si tu utilise un routeur, avec un peu de chance il est compatible dyndns (les netgear le sont presque tous) dans ce cas tu indiques ton nom et ton mot de passe directement dans la config de ton routeur
    - sinon tu peux utiliser un petit logiciel à installer sur le serveur (existe pour windows et pour linux) qui va faire cette mise à jour à chaque démarrage de l'ordinateur

    une fois cette configuration terminé tu n'aura qu'a indiquer matt2094.dyndns.org au lieu de l'adresse ip

  7. #7
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut
    Je sais presque pas parler Anglais ... Quelqu'un pourrait m'indiquer comment m'y prendre pour avoir un domaine, please ? Mais, d'ailleurs, j'ai pas très bien compris : c'est gratuit ou pas ? qu'est-ce-que je peux mettre sur un domaine ?

  8. #8
    Membre éclairé
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Points : 746
    Points
    746
    Par défaut
    le domaine renvoi vers une adresse ip quelconque... c juste plus facile à retenir, mais ca fonctionne exactement de la même manière.. ton abonement sur dyndns ne te permettra pas par exemple d'héberger ton site web... mais il peut permettre de rediriger ce domaine vers l'adresse ip de ton pc, donc vers ton serveur web sur ta bécane, même si tu change d'ip tous les quart d'heure. et oui c entièrement gratuit

    pour réserver un domaine, tu dois remplir le formulaire disponible sur le lien sign up. pour t'aider à comprendre tu peux utiliser le service de traduction de google : http://www.google.fr/language_tools?hl=fr.
    ensuite pour faire pointer le domaine vers ton application, dis-nous comment le pc est relié sur internet ?

  9. #9
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut
    Par un modem tous simple : ADSL, relié par un cable réseau à mon PC. En fait, ce que je veux faire, c'est un serveur qui n'est pas toujours connecté ... Tous ce que je veux, c'est que mon ordi soit le centre de mon application réseau, et que les autre ordis puissent se connecter sur mon ordi quand il est connecté, et même si l'adresse IP a changée. Parce que je ne veux pas transformer mon ordi en serveur WEB, ça serait un peu lourd ...

  10. #10
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par sjrd
    Utilise le composant TIdHTTP de Indy si ton fichier est sur un serveur HTTP, et TIdFTP s'il est sur un serveur FTP
    Bon, à part ça, comment on télécharges Indy? J'arrive pas à trouver le téléchargement sur le site officiel (enfin je penses que c l'officiel) que donne Developpez : http://www.indyproject.org/index.en.iwp

  11. #11
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par Matt2094
    Bon, à part ça, comment on télécharges Indy? J'arrive pas à trouver le téléchargement sur le site officiel (enfin je penses que c l'officiel) que donne Developpez : http://www.indyproject.org/index.en.iwp
    essaye celui-ci http://www.indyproject.org/Sockets/D...Borland.en.iwp j'y arrive en suivant celle que donne DVP

  12. #12
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut
    Mais l'installation automatique marche pas... bon, je télécharges le source.

    Edit : Mais une fois qu'on l'as téléchargé, comment on l'installe?

  13. #13
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par Matt2094
    Mais l'installation automatique marche pas... bon, je télécharges le source.
    quel est le problème ?

    Citation Envoyé par Matt2094
    Mais une fois qu'on l'as téléchargé, comment on l'installe?
    il y a une documentation je crois

  14. #14
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par Matt2094
    Mais est-ce possible d'utiliser TClientSocket ou TServerSocket ? Je n'ai pas Indy ...
    oui c'est bien possible, mais cela équivaudrait à réinventer la roue !
    sinon si ca te tente, recherche les RFC concernant les protocoles HTTP et FTP, à partir de là, tu peux implémenter les spécifications des protocoles comme tu veux

  15. #15
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut
    Oui, il y a de la doc, mais elle est en Anglais, et elle fait plus de 1000 pages, alors pour s'y retrouver, c'est pas facile ...

  16. #16
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut
    Bon, j'ai enfin réussi à installer Indy 10 ...
    Mais après réfléxion, je ne sais pas trop où stocker le fichier texte ... Qql n'aurait pas une idée ?

  17. #17
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    Sur le serveur de pages web de ton fournisseur (genre monpseudo.free.fr), tu fais un script PHP qui stocke dans un fichier l'IP du client faisant la requête.

    Au niveau de ton programme, tu utilises un IdHTTP qui fait une requête sur le script, permettant de mémoriser l'IP du serveur. La requête se fait en environ 30 secondes, je crois qu'il faut juste appeller la méthode Get() du composant...

    Après, au niveau du client, tu les fait accèder à un second script qui lit le fichier généré par le premier script qui contient l'IP du serveur.

    Sinon, c'est vrai que y'a NoIP et DynDNS qui font ça très bien, aussi :-)

  18. #18
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut
    Merci !

    Mais j'ai une autre question toute bête : quand un ordinateur se déconnecte entièrement d'Internet, est-ce-qu'il change d'adresse IP, où il garde toujours la même ?

Discussions similaires

  1. Ecraser un fichier déjà présent sur un serveur FTP
    Par agronomia dans le forum VB.NET
    Réponses: 1
    Dernier message: 27/02/2008, 15h03
  2. lire un fichier du client sur le serveur
    Par danathane dans le forum Langage
    Réponses: 5
    Dernier message: 27/09/2007, 16h19
  3. Lire un fichier xml situé sur un serveur
    Par mrfirefunk dans le forum Applets
    Réponses: 1
    Dernier message: 25/09/2007, 10h53
  4. Réponses: 2
    Dernier message: 25/08/2007, 12h33
  5. Réponses: 2
    Dernier message: 10/01/2007, 18h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo