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

Delphi Discussion :

Détecter un clic sur une page html depuis le serveur?


Sujet :

Delphi

  1. #1
    Membre confirmé
    Avatar de korntex5
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juin 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 414
    Points : 454
    Points
    454
    Billets dans le blog
    1
    Par défaut Détecter un clic sur une page html depuis le serveur?
    Salut je me demande si il est possile depuis un sereur http de détecter un click et autres entrées au clavier d'un client sur une des pages html du sereur.
    Que la source soit avec moi!
    Jérôme JEAN-MARAULT

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par korntex5
    Salut je me demande si il est possile depuis un sereur http de détecter un click et autres entrées au clavier d'un client sur une des pages html du sereur.
    Oui. Un peu de javascript (xmlhttp) ferait l'affaire.
    Mais il faudra ré-écrire les liens (ajouter l'évènement onclick) pour lancer une requête synchrone ou asynchrone sur le serveur afin de le prévenir de ce qui vient de se passer sur le client.

    Curieuse demande en tout cas.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 393
    Points : 637
    Points
    637
    Par défaut
    tu peux regarder chez sutekidane tu as des exemples pas mal du tout.

  4. #4
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Citation Envoyé par nova-id
    Curieuse demande en tout cas.
    En effet.
    A propos, quel rapport avec Delphi ?
    korntex5, tu veux que je déplace le sujet ?
    De retour parmis vous après 10 ans!!

  5. #5
    Membre confirmé
    Avatar de korntex5
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juin 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 414
    Points : 454
    Points
    454
    Billets dans le blog
    1
    Par défaut
    En effet il y a quand même bien un rapport avec delphi, je me demande si je peux rendre mon applis win32 accèssible depuis le web sans refaire toutes mes forms...

    Et je me suis dit que si je générai un html contenant une image de ma form et que si mon serveur http savais ou le client clique et ce qu'il écrit alors je pourrais sur le serveur déclencher les événements....

    Un peu boiteux je l'avoue

    Autrement j'ai trouvé un composant FORM to HTML converter
    http://www.href.com/f2h
    mais je ne sais pas ce que cela vaut et puis c'est payant...
    Que la source soit avec moi!
    Jérôme JEAN-MARAULT

  6. #6
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Selon moi, tu n'auras pas d'autres solutions que d'utiliser Javascript pour la détection des actions du client si tu prévois que les utilisateurs puissent utiliser n'importe quel navigateur pour afficher ta page.

    - Maintenant, si tu utilises Delphi pour programmer ton propre navigateur, c'est différent et tout devient beaucoups plus facile / performant, car le problème avec Javascript, c'est qu'il peut être désactivé par le client... Ajax, c'est pareil.

    - Reste une dernière possibilité, programmer un service transparent que les utilisateurs accepteront d'exécuter. Celui-ci surveille les actions de l'utilisateur (clavier & souris) et renverrait ces infos au serveur.

    - Un petit bémol tout de même à tout ça, c'est qu'à partir du moment où il s'agit d'un programme Delphi (win32), ton application n'est plus multi-plateforme. J'espère avoir bien saisi ta demande, à+
    De retour parmis vous après 10 ans!!

  7. #7
    Membre confirmé
    Avatar de korntex5
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juin 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 414
    Points : 454
    Points
    454
    Billets dans le blog
    1
    Par défaut
    et bien pour la platteforme ce ne sera qu'une platteforme windows.

    ta solution de service tranparent m'interresse mais comment ça marche sous delphi? peux tu m'en dire plus?

    Trouve tu cette solution d'image dans l'html un peu comme pour un vnc viable?
    Que la source soit avec moi!
    Jérôme JEAN-MARAULT

  8. #8
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    C'est déjà ça si tes utilisateurs utilisent exclusivement Windows. Tu peux donc réaliser un programme Delphi en te basant par exemple sur cette démo. Elle te permet, avec un Timer, de récupérer les actions souris + clavier de l'utilisateur. Tu peux très bien réaliser ce programme sans afficher de form (transparent). Tu peux également lancer ce programme au démarrage de windows (service). Tu peux envoyer ces infos au serveur en exécutant une url par exemple (démo). A propos, j'ai développé un système un peu plus évolué pour exécuter des urls et simuler le post de formulaire, uploader et downloader des fichiers, etc... -> DELPHP. Maintenant, tout dépend de :
    • La fréquence à laquelle tu veux envoyer ces infos
    • Ou bien, possèdes-tu un événement pour l'envoi des infos ?
    • Comment comptes-tu récupérer ces infos sur le serveur ? (php ?)

    Citation Envoyé par korntex5
    Trouve tu cette solution d'image dans l'html un peu comme pour un vnc viable?
    Explique-moi un peu mieux ce que tu veux faire stp. Il existe peut-être d'autres approches plus "propre".
    De retour parmis vous après 10 ans!!

  9. #9
    Membre confirmé
    Avatar de korntex5
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juin 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 414
    Points : 454
    Points
    454
    Billets dans le blog
    1
    Par défaut
    Et bien en fait j'ai u ne appli win32 qui attaque une base de onnée et fait des tats......

    Je souhaite permettre à quelqu'un qui lance un internet explorer depuis n'importe ou sur le net de se connecter à mon exe qui pourrait contenir un serveur http, et qui pourrait utiliser l'applie comme si il était sur le poste.

    Comme j'ai pas envie de me retaper tout mon prog, je me suis dit que je pourrais faire comme un VNC:

    La personne se connecte via internet explorer au serveur http, et le serveur génère une page http avec une image jpg ou autre de mon programme sur le serveur, et c'est cette page qui s'affiche chez le client.

    lorsque le client bouge sa souri dans la page html et écrit du texte, le serveur détecte tout et le simule sur l'applie du serveur...

    Mais bon ptet que cela ferai trop d'images a afficher et donc a échanger
    Que la source soit avec moi!
    Jérôme JEAN-MARAULT

  10. #10
    Membre confirmé
    Avatar de korntex5
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juin 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 414
    Points : 454
    Points
    454
    Billets dans le blog
    1
    Par défaut
    autre solution je pourrai avoir une page html sur laquelle le client se connecte, laquelle permettrait de télécharger mon prog, qui contiendrai un client tcp pour communiquer avec le serveur.
    Permettant ainsi au client de se connecter à la base de donnée sur le serveur via internet...

    Petit hic j'utilise bde et je sais pas comment rendre la connexion transparente pour les composants delphi...
    Que la source soit avec moi!
    Jérôme JEAN-MARAULT

  11. #11
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Il y a une solution universelle,

    TSE ou Citrix, mais c'est payant
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  12. #12
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Yop !

    La personne se connecte via internet explorer au serveur http, et le serveur génère une page http avec une image jpg ou autre de mon programme sur le serveur, et c'est cette page qui s'affiche chez le client.
    Ben moi je trouve pas ça bête : mais c'est toi qui va écrire cette page html à partir d'une image de ton appli, ...
    lorsque le client bouge sa souris dans la page html et écrit du texte, le serveur détecte tout et le simule sur l'appli du serveur...
    C'est la fonction de l'option Map sur image dans page html (ou qqchse comme ça, un spécialiste html répondra mieux sur ce point).
    Et pour peu que tu aies créé une map un peu similaire du côté de ton appli (idée générale), ou une table de correspondance, ça devrait le faire, je crois.
    Mais bon ptet que cela ferai trop d'images a afficher et donc a échanger
    Et ça ne fait qu'une image.

    Valà,
    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  13. #13
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Citation Envoyé par korntex5
    Mais bon ptet que cela ferai trop d'images a afficher et donc a échanger
    C'est bien possible, 1 image à télécharger à chaque action, voir plus; Faudrait voir le comportement du programme. Mais sinon, il suffirait d'actualiser l'affichage à chaque action de l'utilisateur (si c'est suffisant).
    1) Côté client : Capturer les actions souris / clavier du client
    2) Envoyer ces informations vers ton programme
    3) Côté serveur : Réceptionner les informations
    4) Reproduire ces actions sur ton programme
    5) Ton programme effectue ses traitements
    6) Détecter la fin des traitements
    7) Faire une capture d'écran du programme
    8) Eventuellement, convertir la capture au bon format
    9) Renvoyer l'image au client
    10) Côté client : Réceptionner l'image et l'afficher
    11) Recommencer

    autre solution je pourrai avoir une page html sur laquelle le client se connecte, laquelle permettrait de télécharger mon prog, qui contiendrai un client tcp pour communiquer avec le serveur. Permettant ainsi au client de se connecter à la base de donnée sur le serveur via internet...
    Je trouve cette approche plus propre. Je pense que c'est mieux surtout que plusieurs utilisateurs pourront travailler simultannément, ce qui n'est pas forcément le cas dans un VNC...

    Petit hic j'utilise bde et je sais pas comment rendre la connexion transparente pour les composants delphi...
    Désolé, je ne connais pas ces compos. Si tu n'as pas lu mon tuto, j'utilise des scripts PHP pour accéder aux bases de données. Cela évite de devoir installer bde sur la machine cliente. Surtout que PHP est un langage serveur puissant, cela me permet de faire un tas de chose sympa.
    De retour parmis vous après 10 ans!!

  14. #14
    Membre confirmé
    Avatar de korntex5
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juin 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 414
    Points : 454
    Points
    454
    Billets dans le blog
    1
    Par défaut
    La deuxième solution pose un problème auquel je ne trouve pas de réponse:
    tout mes composants d'accès à ma base de données sont ratachés à un TDatabase et je ne sais comment lier mon tdatabase à la vraie base de donnée au travers d'internet et au travers de mon serveur delphi
    Que la source soit avec moi!
    Jérôme JEAN-MARAULT

  15. #15
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Citation Envoyé par korntex5
    je ne sais comment lier mon tdatabase à la vraie base de donnée au travers d'internet et au travers de mon serveur delphi
    Pourquoi ? Je ne comprend pas : C'est ton propre serveur ou c'est un hébergeur ?

    [EDIT] Sinon, le souci avec ces compos justement, c'est que selon les hébergeurs, les bases de données ne sont pas accessibles de l'extérieur. C'est principalement pour cette raison que j'utilise des scripts serveurs pour accéder à mes bases de données distantes. De plus, cela évite à l'utilisateur de devoir installer BDE sur sa machine et au programme, de devoir utiliser un installeur. Sans compter qu'avec certains composants SGBD, la base de données est téléchargée en totalité sur le poste client pour être accessible en local... Et dernier point : Tu es obligé d'intégrer le login d'accès, ainsi que toutes les requêtes dans ton programme compilé. Ma méthode est plus sécurisée puisque le login d'accès reste sur le serveur et les requêtes également. Seuls les paramètres des requêtes sont envoyés par le programme Delphi. Bref, il n'y a que des avantages à utiliser cette technique. En prime, j'ai ajouté un espace membre pour protéger l'accès des scripts. Par contre, évidemment, cela nécessite d'avoir un minimum de connaissances en langage script malgré que PHP est le langage le plus facile que j'ai jamais connu...
    à+
    De retour parmis vous après 10 ans!!

  16. #16
    Membre confirmé
    Avatar de korntex5
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juin 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 414
    Points : 454
    Points
    454
    Billets dans le blog
    1
    Par défaut
    Ta solution est très interessante et je pense m'en inspirer pour un projet que j'ai en tête, mais elle m'oblige a remanier tout mon code de manière majeure...

    En résumé, j'ai un logiciel nommé "A" qui attaque une bd sur un réseau via database et bde, question: est il possible d'attaquer cette base via internet sans avoir à refaire tout mon prog:

    Je penssai créer une appli cliente qui se lancerai ou se téléchargerai depuis un lien http, et qui se connecterai à mon appli serveur.

    cette appli serveur doit elle être capable de piloter mon application "A" et de retourner au client les informations graphiques de "A"

    Pour cela je penssai que cette appli serveur pourrai être totalement intégrée a mon appli "A", elle scruterai en permanence quelle form est affichée et transfererai sous forme texte, la description type .dfm de cette form, ce qui permet à l'appli cliente de recréer une form identique et d'afficher la fenêtre.

    en retour lorque l'appli cliente détecte un click a un endroit elle transmet x et Y au serveur lequel simule le click sur l'appli "A", ce qui change l'affichage de "A" et oblige le serveur à renvoyer au client le nouveau dfm, ainsi de suite

    Je sais je suis ptet pas très clair mais le système pourrait être très interressant qd au portage d'appli delphi win32 au travers du net sans tout réécrire...
    Que la source soit avec moi!
    Jérôme JEAN-MARAULT

  17. #17
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Par étape.
    question: est il possible d'attaquer cette base via internet sans avoir à refaire tout mon prog
    Oui, tu peux réaliser un nouveau programme qui se chargera de faire l'intermédiaire...
    le système pourrait être très interressant qd au portage d'appli delphi win32 au travers du net sans tout réécrire...
    Effectivement, le système peut être intéressant. Il est tout à fait possible de recréer la form en enregistrant le dfm dans un fichier que le programme client téléchargerait et appliquerait à lui-même pour restituer l'interface utilisateur du programme serveur. Mais j'ai peur que cela soit compliqué à réaliser, peut-être bien plus compliqué que de recoder l'appli. Cela dit, il faudrait se renseigner pour voir si cela n'existerait pas déjà.

    Quoiqu'il en soit, il ne faut pas oublier que ton appli devient dans ce cas mono-utilisateur -> Un seul et unique utilisateur pourra se connecter à ton serveur et utiliser le programme serveur. Est-ce bien ce que tu veux ?

    Et je voudrais être sûr: Tu héberges toi-même ta base de données n'est-ce pas ?
    De retour parmis vous après 10 ans!!

  18. #18
    Membre confirmé
    Avatar de korntex5
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juin 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 414
    Points : 454
    Points
    454
    Billets dans le blog
    1
    Par défaut
    exactement tu as mis le doigts sur le point faible de mon idée et pour l'instan pas de solution et qd a mon systeme client serveur je sais comment faire et je pourrai vous faire ptet un tuto mais je sais plus ou j'ai mis le log et pass de mon espace su dev.com
    Que la source soit avec moi!
    Jérôme JEAN-MARAULT

  19. #19
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Si tu ne veux pas avoir qu'un seul utilisateur, il faudra faire autrement, c'est évident.
    Citation Envoyé par korntex5
    mais je sais plus ou j'ai mis le log et pass de mon espace su dev.com
    Il faut voir ça avec l'admin qui t'a ouvert le compte.
    De retour parmis vous après 10 ans!!

Discussions similaires

  1. [AC-2010] Simuler un clic sur une page web sur une image javascript
    Par alex en droit dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/04/2012, 13h22
  2. temps de chargement d'une page html depuis un serveur web
    Par mitoubra dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 08/06/2007, 20h16
  3. comment rediriger sur une page html en fonction de la langue
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/08/2005, 11h42
  4. Marge sur une page HTML
    Par wollverine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 28/04/2005, 13h56
  5. Problème de chaine sur une page HTML
    Par Kerod dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/11/2004, 16h23

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