Herve_be
Messages postés1049Date d'inscriptionmercredi 4 août 2010StatutMembreDernière intervention11 septembre 2024
-
22 août 2020 à 16:03
Whismeril
Messages postés19142Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention12 septembre 2024
-
27 août 2020 à 17:16
Bonjour,
Quand on s'inscrit sur certains sites on reçoit un mail contenant un lien sur lequel on doit cliquer pour valider l'inscription.
Je voudrais faire qqch de similaire en VB6.
Actuellement le programme VB6 envoie un mail contenant un code d'accès qu'on doit recopier dans une textbox du programme; ce simple copier/coller semble poser problème à certains utilisateurs.
Plus précisément VB6 invoque un script php, c'est ce script qui envoie le mail avec mail().
Je voudrais mettre dans ce mail un lien cliquable : comment faire pour que le programme VB6 "sache" qu'on a cliqué sur le lien ?
Whismeril
Messages postés19142Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention12 septembre 2024660 23 août 2020 à 11:35
Bonjour
Je n'ai jamais fait ce genre de chose, mais je te présente mon cheminement de pensée.
Comme tu l'as souligné, c'est souvent une procédure que l'on voit pour des sites internets.
Cela veut dire qu'il y a dialogue entre le client et le serveur.
Si tu veux mettre en place ce système, il te faut aussi établir un dialogue.
Le client (ton logiciel) envoie une requête au serveur.
Celui-ci répond par un mail avec le lien.
L'utilisateur clique sur le lien.
Le serveur traite l'inscription et envoie une activation au client.
On pourrait imaginer que lors de la requête le client donne l'IP du PC au serveur, ainsi le serveur sait à qui répondre.
Si tu es sur un réseau interne ça devrait le faire.
Mais si ça se passe par internet alors il faut passer la box, ce qui veut dire que le client doit être en mesure de connaitre l'IP du PC sur le réseau local et l'IP de la box sur internet.
Aussi la box et windows doivent laisser ta communication sans encombre, par ce que si l'utilisateur doit aller bidouiller dans le parefeu de windows et faire un routage de ports dans la box alors que copier/coller un code d'activation lui parait trop compliqué c'est pas gagné.
Je ne suis pas un grand spécialiste des communications réseau et encore moins en VB6, mais je crois que c'est par là que tu dois gratter.
Whismeril
Messages postés19142Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention12 septembre 2024660 23 août 2020 à 14:52
D'ailleurs pour simplifier encore plus, si tu arrives à faire dialoguer le serveur et le client, tu n'as pas besoin d'email, tu peux afficher les différentes étapes directement dans ton logiciel
Herve_be
Messages postés1049Date d'inscriptionmercredi 4 août 2010StatutMembreDernière intervention11 septembre 20242 Modifié le 23 août 2020 à 17:26
Merci pour ta réponse,
La raison de travailler par email est d'être certain que l'utilisateur a donné une adresse mail fonctionnelle.
L'utilisation d'IP me paraît plutôt aléatoire.
Une solution qui me paraît viable mais présente un inconvénient
- le logiciel envoie le mail contenant le lien;
- quand l'utilisateur clique sur le lien il invoque un script php qui place un fichier sur le serveur;
- pendant ce temps le logiciel attend de trouver le fichier; quand il le trouve l'inscription est validée.
L'inconvénient est : quid si l'utilisateur ne clique pas sur le lien, par exemple parce qu'il ne reçoit pas le mail ?
Le logiciel ne peut pas attendre indéfiniment !
On peut toujours mettre une horloge qui décompte : il vous reste xx secondes pour cliquer sur le lien.
Herve_be
Messages postés1049Date d'inscriptionmercredi 4 août 2010StatutMembreDernière intervention11 septembre 20242 24 août 2020 à 14:17
Je pense qu'on ne se comprend pas.
Actuellement
- la première fois qu'on utilise le logiciel, on doit communiquer une adresse mail;
- le logiciel envoie à cette adresse un mail contenant un code d'accès;
- l'utilisateur recopie le code d'accès reçu par mail dans une TextBox du logiciel;
- si ça correspond, le logiciel écrit une clé dans le registre de sorte qu'à la prochaine utilisation on ne devra plus demander un code d'accès.
Ce que je voudrais faire (différences en gras)
- la première fois qu'on utilise le logiciel, on doit communiquer une adresse mail;
- le logiciel envoie à cette adresse un mail contenant un lien;
- l'utilisateur clique sur ce lien;
- d'une manière ou d'une autre (ma question est "comment ?") le logiciel est averti de ce clic, il écrit une clé dans le registre de sorte qu'à la prochaine utilisation on ne devra plus demander un code d'accès.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Whismeril
Messages postés19142Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention12 septembre 2024660 24 août 2020 à 17:52
Et bien, oui tu peux afficher un décompte,
ou quand le logiciel a envoyé les infos au serveur, tu éteints le logiciel et quand le client redémarre, s'il n'a pas cliqué ça l'invite à cliquer ou à ressaisir son adresse mail et au bout de 30 secondes (par exemple) ça se referme,
ou je sais pas, il y a pleins de façons de faire
Herve_be
Messages postés1049Date d'inscriptionmercredi 4 août 2010StatutMembreDernière intervention11 septembre 20242 27 août 2020 à 16:54
option 1, il y a un dialogue entre ton serveur et ton logiciel
comment établir ce dialogue ?
option 2, tu éteins le logiciel et au démarrage
pourquoi "éteindre" et redémarrer le logiciel ? Il peut patienter !
Patienter qu'un fichier soit disponible OK mais je me demandais s'il n'y avait pas une solution plus conforme aux usages
sinon une valeur : où, comment ?
Whismeril
Messages postés19142Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention12 septembre 2024660 27 août 2020 à 17:16
Oui patienter aussi tu as raison.
Pour la valeur, tu pourrais avoir un fichier avec toutes les licences actives et ton logiciel vérifie qu'il est dedans.
Pour le dialogue, le web c'est pas mon rayon.
Mais en "réseau de base", je dirais qu'un dialogue UDP ou TCP ferait l'affaire si tu es en intranet.
Si tu passes par internet, une option pourrait être que ton serveur abrite un petit site et ton logiciel l'affiche via un webbrowser
23 août 2020 à 14:52