







|
[ Forums >> Webmasters >> Général >> Copie des données de Form1 en Form2 de deux applications Web indépendantes ?! ]
| > Copie des données de Form1 en Form2 de deux applications Web indépendantes ?! |
[ Posté par SofianeDH ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 04-07-2009 à 14:06 | 3 messages ]
  Salut tout le monde,
J'ai un besoin particulier mais je ne suis pas sûre si ça peut être satisfait ou pas:
En fait, j'ai un formulaire relative à une application web de vente en ligne.
Le produit vendu en ligne est soumis à une assurance dont ses informations sont remplies dans un deuxième formulaire se trouvant dans une autre application web.
La majorité des champs dans le premier formulaire (nom, prénom, adresse, email etc ...) sont répétés dans le deuxième formulaire.
Le truc désiré consiste à remplir les champs du deuxième formulaire à partir de ceux du premier formulaire sachant que j'ai accés total pour la première application web et j'ai le droit de modifier même son code source, alors que pour la deuxième application je n'ai aucun privilège juste consultation de la page web via URL.
NB: les deux applications web sont totalement indépendantes.
Pour simplifier l'image:
- Ancien scénario:
1- Dans l'application de vente en ligne, remplir le formulaire.
2- Valider les données saisies
3- Ensuite, Ouvrir la page d'assurance de la deuxième application web, remplir le deuxième formulaire (qui contient presque les même champs du premier form) et valider.
- Scénario désiré:
1- Dans l'application de vente en ligne, remplir le formulaire.
2- Valider les données saisies et juste après la validation il y aura affichage (pop up) de la page d'assurance contenant les champs en commun remplis à partir des données saisies dans le premier formulaire de vente.
Est ce que c'est possible avec JavaScript?
Sinon, y a t il d'autres alternatives?
j'attends vos contributions et merci bien d'avance ....
 
|
[ Posté par v1nce ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 06-07-2009 à 09:35 | 4024 messages ]
  Si les 2 applications sont hébergées sur des serveurs différents tu risques de te heurter à des problèmes de "droits d'accès" à la deuxième page.
Si l'assurance n'est pas trop mal faite elle devrait proposer un web service te permettant de dialoguer avec elle depuis le serveur (et pas via un bidouillage javascript)
donc tu modifies ton form pour y incorporer les champs supplémentaires propres à l'assurance.
lors de la validation par l'utilisateur, tu fais appel au web service de l'assurance (gestion des cas problématiques : site down...) puis tu continues ton traitement comme d'hab.
________________ V1nce
Si je les ai oubliés les bonjour, merci et au revoir sont implicites
Brevets logiciels : dites NON !
http://petition.eurolinux.org/index.html
http://swpat.ffii.org/index.fr.html
| [ Posté par SofianeDH ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 06-07-2009 à 12:45 | 3 messages ]
  Salut v1nce,
merci pour votre intervention ...
Pour l'application web dont l'assurance fait partie, elle n'offre un service web.
En fait, la solution désirée est toute solution sauf le service web ... je ne sais pas exactement pourquoi ... mais c'est ce que le client exige ...
j'espère bien qu'il y aura d'autres alternatives pour ce problème !
| [ Posté par SofianeDH ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 07-07-2009 à 11:04 | 3 messages ]
  Alors, j'ai réussi à manipuler un exmeple simple dont voici son code:
---- Page Appelante: openNewWindow.asp ----
<html>
<head>
<script >
function openPage(valeur)
{
var obj = window.open('form2.asp');
pausecomp(5000);
var t = obj.document.getElementById('10');
t.value = valeur;
}
function pausecomp(millis)
{
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < millis);
}
</script>
</head>
<body<
<FORM>
<input type="text" size="24" value="" name="Texte1" id="Text1" />
<INPUT type="button" value="New Window!" onClick="openPage(Texte1.value)">
</FORM>
</body>
</html>
|
|
---- Page Appelée: form2.asp ----
<html>
<head>
<title></title>
</head>
<body>
<form name="payment" method="post">
<p>Valeur du 1er form:
<input type="text" size="24" value="" name="ertt" id="10" />
</p>
</form>
</body>
</html>
|
|
La page appelante openNewWindow.asp contient un champs de texte et un bouton.
Quand on clique sur le bouton, on fait appel à la page form2.asp qui contient un champs texte dont sa valeur doit être égale à celle du champs texte de openNewWindow.asp.
Ceci a été testé entre deux pages web sur la même machine. Et c'est bon il y a eu transfert de données entre les deux pages.
Mais quand, j'ai essayé de faire le même test mais en copiant la page form2.asp sur un serveur web tournant sur une deuxième machine j'obtiens l'erreur "Accès refusé".
Y a t il une idée pourquoi j'obtiens ce message, malgré que les deux machines (celle qui contient openNewWindow.asp et l'autre qui contient form2.asp) sont sur le même réseau? Y a t il un astuce de configuration à faire pour résoudre ce problème?
| [ Posté par v1nce ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 07-07-2009 à 12:31 | 4024 messages ]
  Pour des raisons de sécurité une page web X../page.htm ne peut pas accéder au contenu d'une page web hébergée sur un autre serveur Y../page.htm.
Cela peut plus ou moins se contourner dans le cas d'un intranet en inscrivant le site X dans les sites de confiance (encore faut-il un admin réseau d'un niveau correct).
Pour internet, gérer les politiques de sécurité des différents navigateurs pour régler le problème relève du domaine de l'impossible (si qq1 a un contre-exemple je suis preneur)
Bref, pour moi javascript faut oublier.
ce que je ferai :
1) modification de ton form pour ajouter les champs requis par l'assurance
2) modification du traitement côté serveur pour ajouter une connexion au site de l'assurance (php : voir fopen ou fsockopen ; asp.net voir objet httprequest)
3) incorporation du résultat de la connexion au site de l'assurance sous la forme d'un iframe ou directement dans la page de résultat.
Bref, c'est pas trivial. Cela nécessite la connaissance au moins succinte du protocole http (va falloir faire les requetes "à la main"). Si en plus le site à attaquer est protégé contre les bots ou utilise un mécanisme de gestion de cookies cela peut rapidement devenir galère.
________________ V1nce
Si je les ai oubliés les bonjour, merci et au revoir sont implicites
Brevets logiciels : dites NON !
http://petition.eurolinux.org/index.html
http://swpat.ffii.org/index.fr.html
|
|
Services email :
  Vous devez vous identifier pour profiter des services par email du forum.
|

|