Répondre à la discussion
Affichage des résultats 1 à 20 sur 20

Mise à jour automatique de données du Web




  1. #1
    accroalordi

    Mise à jour automatique de données du Web

    Bonjour,

    J'ai commencé à apprendre la programmation en VBA. Je voulais savoir s'il était possible de réaliser le projet ci-dessous, qui est je l'accorde assez complexe. Cependant, s'il n'est pas réalisable avec VBA, il y a peut-être un autre langage de programmation qui permettrait de le réaliser. Avant d'entrer dans des recherches très compliquées qui au final ne me permettraient pas de réaliser ce projet, je préfère avoir votre avis. Mais entrons dans le vif de ce sujet...

    Le but serait d'aller chercher (sélectionner/copier/coller) des informations sur un site Internet afin de mettre une base de données à jour régulièrement et ce, sans devoir réaliser cette opération manuellement.

    Je ne vais pas donner le nom du site en question car c'est confidentiel, mais je vais donner un exemple concret.

    Nom du site avant la connexion
    "http://www.lesite.com/index.php"

    Accès au site
    Par nom d'utilisateur et mot de passe

    Nom du site après la connexion
    "http://www.lesite.com/infos/infos.php"

    Pages contenant les informations
    "http://www.lesite.com/infos/voir.php?type=10&voir=oui&page =0"
    "http://www.lesite.com/infos/voir.php?type=20&voir=oui&page =0"

    Ensuite, il faudrait sélectionner les informations de la ligne "Informations" à la ligne "Retour" (si ce n'est pas possible, tout sélectionner, mais j'aurai des informations non désirées). Après, copier les informations du site et les coller sur une feuille Excel bien précise. Par exemple pour le type=10 sur la feuille 10 et pour le type=20 sur la feuille 20.

    Pour le fait de rapatrier les informations dans la base de données, actuellement, après avoir fais un copier/coller d'une des pages manuellement, avec des formules imbriquées complexes, j'arrive à réaliser cette opération.

    Cependant, il faudra voir s'il est possible de sélectionner les informations d'un point à un autre ou uniquement sélectionner tout. Dès lors, je devrai peut-être modifier mes formules.

    J'ai essayé la méthode suivante sous Excel 2003:
    Menu données, données externes, nouvelle requête sur le Web
    Comme il faut entrer son nom d'utilisateur et son mot de passe pour se connecter sur le site, quand j'effectue l'actualisation automatique, il prend les données de la page d'accueil du site (entrée) ("http://www.lesite.com/index.php") et non des pages voulues.

    Même en ayant régler dans Internet Explorer pour qu'il retienne le mot de passe, cela ne fonctionne pas. À moins qu'il y ait un endroit dans Excel 2003 pour lui dire de retenir un nom d'utilisateur et un mot de passe, je ne vois pas de solution avec cette méthode.

    Quelqu'un a-t-il une idée pour cette méthode? Ou une solution avec une autre méthode même plus compliquée?

    Je vous remercie pour vos conseils.

    -----


  2. Publicité
  3. #2
    ProgVal

    Re : Mise à jour automatique de données du Web

    Bonjour,

    Personnelement, je ferais ça sous PHP avec la librairie cURL (pour la connexion).
    Et on pourrait extraire les données avec des RegEx.

    Cordialement,
    ProgVal

  4. #3
    accroalordi

    Re : Mise à jour automatique de données du Web

    Bonsoir ProgVal,

    Je te remercie pour tes conseils.

    Le problème est que pour créer un site Web en PHP, il faut un serveur (enfin je pense). De plus, j'aimerais que les informations du site en question ("http://www.lesite.com/index.php") soient exploitables sous Excel 2003, car avec des formules j'effectue des analyses sur ces données.

    J'avais commencé à apprendre le HTLM et le CSS, mais le PHP doit être beaucoup plus compliqué. Puis il faut trouver de bons sites pour apprendre le PHP. Je connais le site du zéro qui est très bien pour les débutants, mais pour des particularités plus complexes, je pense qu'il faut se tourner vers d'autres sites.

    N'y a-t-il pas une solution pour qu'Excel 2003 retienne un nom d'utilisateur et un mot de passe?

    Tiens, j'ai vu que tu n'as que 15 ans, encore un petit génie en programmation très jeune. J'en connais qui à cet âge créent des jeux en ligne et qui sont très bien réalisés.

    Bonne soirée…


  5. #4
    TiClic

    Re : Mise à jour automatique de données du Web

    Le problème est que pour créer un site Web en PHP, il faut un serveur (enfin je pense).
    Il n'est pas nécessaire d'avoir un serveur "distant" lorsque tu peux développer et tester tes routines en PHP/MySQL sur ton propre disque dur, donc en "local" avec un programme gratuit comme EasyPHP ou Wamp (que je préfère).

    Je n'ai pas bien compris ton objectif, donc fin d'émission pour moi.

  6. #5
    accroalordi

    Re : Mise à jour automatique de données du Web

    Bonjour TiClic,

    Merci pour tes informations. Afin que tu comprennes mieux mon objectif je vais le reformuler.

    Je me connecte sur un site PHP où il faut un nom d'utilisateur et un mot de passe pour aller chercher des données. Ces données sont régulièrement mise à jour sur le site. J'aimerais que ma base de données Excel se mette à jour automatiquement en allant chercher les données sur ce site.

    J'ai essayé avec la méthode suivante sous Excel 2003:
    Menu données, données externes, nouvelle requête sur le Web
    Le problème est qu'il faut entrer son nom d'utilisateur et son mot de passe pour se connecter sur le site. Donc, quand j'effectue l'actualisation automatique, il prend les données de la page d'accueil du site et non des pages voulues.

    Même en ayant régler dans Internet Explorer pour qu'il retienne le mot de passe, cela ne fonctionne pas. À moins qu'il y ait un endroit dans Excel 2003 pour lui dire de retenir un nom d'utilisateur et un mot de passe, je ne vois pas de solution avec cette méthode.

    Maintenant, il y a peut-être une fonction en VBA qui permet de retenir un nom d'utilisateur et un mot de passe.

    Quelqu'un a-t-il une idée pour cette méthode? Ou une solution avec une autre méthode même plus compliquée?

    Je vous remercie pour vos conseils.

  7. A voir en vidéo sur Futura
  8. #6
    ProgVal

    Re : Mise à jour automatique de données du Web

    Bonjour,

    En effet, les sites stockent les informations de ton compte sous forme de cookies. Et pour que ce soit plus sécurisé, dans les cookies, ils ne mettent pas le nom d'utilisateur et le mot de passe, mais un long numéro, temporaire.
    Il faut donc, à chaque fois, se connecter à la page de connexion (celle qui reçoit les données, pas celle avec le formulaire), lui envoyer les données de type POST, récupèrer le(s) cookie(s), et les envoyer à chaque demande de page.

    Cordialement,
    ProgVal

  9. #7
    accroalordi

    Re : Mise à jour automatique de données du Web

    Bonsoir ProgVal,

    Donc, si je comprends bien il me sera impossible de mettre ma base de données à jour automatiquement. Pourtant, on sait dire à un explorateur qu’il retienne son nom d’utilisateur et son mot de passe. Même en étant connecté sur le site en question la méthode ne fonctionne pas quand je demande la mise à jour des données.

    C’est dommage, cela m’aura permis de gagner du temps chaque jour, car effectuer les copier/coller manuellement prend du temps.

    À moins que je n’aie pas compris ce que tu as expliqué et qu’il y ait une solution.

    Je te remercie pour tes conseils.

  10. Publicité
  11. #8
    ProgVal

    Re : Mise à jour automatique de données du Web

    Attention, il y a deux choses à distinguer:
    - les mots de passes enregistrés: entièrements gérés par le navigateur
    - les cookies: gérés par les sites web, le navigateur se contente de les recevoir et de les enregistrer, puis de les lire et de les envoyer.

  12. #9
    accroalordi

    Re : Mise à jour automatique de données du Web

    Bonsoir ProgVal,

    Ce dont je parlais est à mon avis un mot de passe enregistré et entièrement géré par le navigateur (l'explorateur demande s'il faut retenir le mot de passe).

    Par contre, pour ma base de données Excel 2003, y a-t-il moyen qu'elle se mette à jour automatiquement ou devrais-je toujours faire les copier/coller manuellement? C'est très emmerdant, car les données augmentent de jour en jour et manuellement cela prend du temps.

    C'est stupide que l'on ne puisse pas enregistrer le nom d'utilisateur et le mot de passe dans Excel 2003 avec la fonction Données > Données externes > Nouvelle requête sur le Web. Cela ferait gagné un temps fou.

    Et en VBA il n'y a pas une manière pour retenir un nom d'utilisateur et un mot de passe? J'ai commencé à lire un livre sur le VBA mais je n'en suis qu'au début, là je viens de voir le chapitre sur les boucles.

    Je te remercie en tout cas d'avoir répondu, j'ai demandé sur plusieurs forums et tu es un des seuls à répondre.

    J'espère que l'on trouvera une solution.

  13. #10
    ProgVal

    Re : Mise à jour automatique de données du Web

    Les retenir, ce n'est pas un problème.
    Par contre, il faut les envoyer, après. Et donc, pour ça, tu as le choix entre reprogrammer entièrement le support du protocole HTTP (assez dur, et pas forcément possible en VBA), soit utiliser un code déjà existant (ça m'étonnerait que quelqu'un ait déjà utilisé une feuille de calculs comme tu le fais.

  14. #11
    accroalordi

    Re : Mise à jour automatique de données du Web

    Bonjour ProgVal,

    Je n'ai pas très bien compris ceci:
    "soit utiliser un code déjà existant"
    J'ai un nom d'utilisateur et un mot de passe pour me connecter sur le site.

    J'aimerais juste qu'à la place de devoir me connecter sur les différentes pages du site et effectuer des copier/coller manuellement afin de mettre ma base de données à jour, que cette base de données se mette à jour automatiquement.

    Si le site ne serait pas en PHP et qu'il n'y aurait pas besoin d'un nom d'utilisateur et un mot de passe pour aller sur le site, cela se ferait facilement (avec la méthode citée dans mes messages précédents). Pourquoi n'est-ce pas possible avec un site PHP?

    Il y a bien quelqu'un qui a déjà songé à cette idée, je ne suis pas le seul à aller chercher des informations sur un site PHP qui est mis à jour régulièrement.

    Sur les différents forums de bureautique/informatique/programmation que je consulte, j’ai appris énormément d’astuces pour gagner du temps (surtout sous Excel 2003 avec des fonctions imbriquées complexes ou des macros).

    Je ne dis pas que tout est réalisable mais je pense que d’autres personnes ont dû déjà rencontrer ce problème et avoir peut-être trouvé une solution.

    Bonne soirée…

  15. #12
    TiClic

    Re : Mise à jour automatique de données du Web

    Il y a un truc qui m'échappe, c'est la notion de "site en PHP".

    Si tu vois un tableau sur un site, il y a de fortes chances pour que les données qui sont dedans aient été extraites d'une base de données (MySQL par exemple). Tu n'y auras pas accès, car c'est le privilège de l'administrateur du site. Il est possible aussi que le tableau ait été tapé dans le dur.

    Dans les deux cas, en dehors d'un copier-coller du tableau (donc d'un traitement manuel), je ne vois pas comment tu pourrais mettre à jour ton tableau perso.

  16. #13
    accroalordi

    Re : Mise à jour automatique de données du Web

    Bonsoir TiClic,

    Je me doute que les données sur le site PHP viennent d'une base de données à laquelle je n'aurai pas accès.

    Pourtant sur un site en HTML où il ne faut pas de nom d'utilisateur et de mot de passe, la méthode fonctionne (voir mes messages précédents).

    Pourquoi le fait de devoir entrer un nom d'utilisateur et un mot de passe empêche d'aller copier/coller des informations automatiquement si j'ai un nom d'utilisateur et un mot de passe?

    Y-a-t-il une façon "d'ordonner" à Excel 2003 que quand il se connecte sur un site PHP qu'il doit utiliser tel nom d'utilisateur et tel mot de passe?

    Je suppose que d'autres personnes ont déjà eu le cas de devoir mettre à jour régulièrement une base de données Excel 2003 pour effectuer des analyses plus complètes en partant d'un site PHP.

    Il est vrai que plus j'apprends en bureautique/informatique/programmation, plus je trouve que mon niveau est très bas par rapport à d'autres personnes. Pourtant mon niveau évolue chaque jour. Je pense qu'arriver à un certain niveau, plus on apprend, plus on veut réaliser des projets complexes, mais il y a peut-être des limites aux projets réalisables.

    Jusqu'à présent j'avais toujours trouvé quelqu'un qui avait une solution à un de mes projets, ici, j'ai l'impression de tourner en rond.

    Mais je ne désespère pas, ce domaine (bureautique/informatique/programmation) étant infini, il est difficile de dire à l'avance: "non ce n'est pas réalisable".

    Désolé pour mes longs messages et toutes mes questions.

    Je te remercie pour tes conseils.

    Bonne soirée…
    Dernière modification par accroalordi ; 09/07/2009 à 18h55.

  17. #14
    TiClic

    Re : Mise à jour automatique de données du Web

    J'ai bien peur que tu ne sois obligé de te taper l'importation des données sous Excel à la main. Sauf...si le gestionnaire de la base qui t'intéresse accepte de te donner les tables dans un format directement importable sous Excel (CSV par exemple).

    Ce qui est envisageable puisqu'on a accès aux données "confidentielles" après avoir montré patte blanche, mais pas certain du tout.

    Et puis, un base de données ne contient que des données. Elles ne sont pas forcément toutes intéressantes. D'où la notion de requête (=filtre).

  18. #15
    accroalordi

    Re : Mise à jour automatique de données du Web

    Bonjour TiClic,

    Je ne pense pas que l'administrateur du site me donnera ce privilège.

    De toute façon, les données se modifient d'elles-mêmes de jour en jour, donc cela ne servirait pas à grand-chose.

    C'est vraiment dommage qu'il n'y ait pas de solution, car au niveau professionnel, cela pourrait être intéressant. Par exemple, prenons le cas d'une entreprise qui créé un site pour que les fournisseurs viennent mettre leurs prix. Si un acheteur de l'entreprise doit chaque jour mettre sa base de données Excel à jour pour être sûr d'avoir les bons tarifs, cela doit être emmerdant de réaliser cette opération manuellement. Cela serait plus simple avec cette méthode.

    Je sais dans les entreprises, ils ont en général un ERP, mais bon, j'ai travaillé dans une entreprise où il y avait un site créé pour les fournisseurs, où l'entreprise mettait certaines informations (plans…). Cela serait pratique pour les fournisseurs que leurs bases de données se mettent à jour automatiquement.

    Il y a des centaines d'exemples du côté pratique de ce système.

    C'est la première fois où personne n'a de solution pour un de mes projet et c'est un peu frustrant (rire).

    Je te remercie pour tes conseils en tout cas, sur un autre forum, en général, on ne me répond pas sur ce sujet.

  19. #16
    ProgVal

    Re : Mise à jour automatique de données du Web

    Citation Envoyé par accroalordi Voir le message
    J'ai un nom d'utilisateur et un mot de passe pour me connecter sur le site.
    Quand j'ai dit "code", je parlais d'un script

  20. #17
    accroalordi

    Re : Mise à jour automatique de données du Web

    Bonjour ProgVal,

    Ah d'accord, autant pour moi ou au temps pour moi, c'est comme tu veux, il paraît que les deux formes sont bonnes. Ayant participé à un débat au sujet de quelle était la forme la plus correcte, chacun avait des points de vue différents, donc dorénavant je propose les deux (rire).

    Merci et bonne journée…

  21. #18
    Stan_94

    Re : Mise à jour automatique de données du Web

    Bonjour,
    je prend la discussion en route et même sans avoir tout compris de la demande, je retiens que ton seul problème c'est l'authentification sur le site, puisque ramener des données est possible via fonction Données > Données externes > Nouvelle requête sur le Web. Je ne connais pas cette fonction mais en enregistrant une macro lorsque tu te connecte à ton site ayant les données et en la modifiant un peu il sera peut-être possible d'automatiser la chose, surtout si l'authentification utilise la méthode GET (Dans ce cas il serait possible de construire la chaine de connexion au site avec un truc du genre "http://www.lesite.com/index.php?user=nom?pass=monpas s" ... nom et monpass serait des champs de ta feuille Excel.
    A voir si c'est possible !
    Stan

  22. #19
    TiClic

    Re : Mise à jour automatique de données du Web

    surtout si l'authentification utilise la méthode GET
    Je ne connais personne qui utilise une autre méthode que la POST dans un formulaire d'identification. Autant mettre un "Secret Défense" dans les petites annonces.

  23. #20
    accroalordi

    Re : Mise à jour automatique de données du Web

    Bonjour Stan_94,

    Je te remercie pour la réponse, malheureusement, je n'ai pas encore les connaissances nécessaires en VBA pour réaliser la macro que tu préconises. J'apprends en lisant un livre mais à partir d'un moment, cela devient complexe sans pour autant parler de ce que j'aimerais réaliser.

    Bonsoir TiClic,

    Je te remercie pour ton intervention, même si cela ne m'avance pas beaucoup (rire).

    Bonsoir,

    Autrement, une connaissance m’a parlé de connexion par sockets, mais j’avoue que là, je ne sais pas ce que c’est, je vais chercher sur Internet.

    Si quelqu’un a une solution, je suis toujours preneur (rire).

    Bonne soirée…

Discussions similaires

  1. mise a jour automatique
    Par lebretonet dans le forum Internet - Réseau - Sécurité générale
    Réponses: 1
    Dernier message: 15/04/2009, 17h49
  2. problème mise à jour automatique
    Par sambungle dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 11/09/2008, 19h51
  3. Mise à jour du BIOS : pertes de données ?
    Par original12 dans le forum Matériel - Hardware
    Réponses: 3
    Dernier message: 29/06/2008, 17h30
  4. mise à jour d'un site web avec openoffice
    Par ordage dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 23/10/2007, 11h33
  5. mise à jour automatique
    Par acide_burn dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 15/09/2007, 09h20