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

JavaScript Discussion :

Copie des données de Form1 en Form2 de deux applications Web indépendantes ?!


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Copie des données de Form1 en Form2 de deux applications Web indépendantes ?!
    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 ....

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    A partir du moment où tu n'as pas accès aux sources de l'application 2, cela reste certainement possible uniquement SI les deux application appartiennent au même domaine internet/intranet,car cela va nécessiter de manipuler ce second formulaire. En bref si c'est la même url de base.
    Est ce le cas ?

    ERE

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Merci bien Emmanuel pour votre intervention rapide,

    Honnêtement, actuellement, je n'ai pas une réponse sûre si les deux applications appartiennent au même domaine internet/intranet ou non, Mais certainement je vais vérifier.

    Et si on suppose qu'elles appartiennent au même domaine, comment l'échange des données entre les deux formulaires peut il avoir lieu?
    Juste à noter que l'application web de vente dont j'ai accès à son code source est en asp.

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    A vérifier, mais si tes deux applis sont le même domaine, tu peux accéder au DOM de la seconde par simple javascript, en récupérant une variable qui correspond à sa fenêtre (ou à son document). Ou si tu veux en appliquant le principe de modification des données d'un frame à partir d'un autre.

    ERE

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Salut Emmanuel,

    Personnellement j'ai une connaissance basique de JavaScript .... STP, est ce que tu peux illustrer la solution que tu viens de proposer à travers un simple exemple de deux pages web, chacune contient un formulaire de deux champs ?

    et merci infiniment Emmanuel ...

  6. #6
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Tu peux regarder ici et ici, tout est expliqué pour faire dialoguer 2 frames.

    ERE

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Salut Emmanuel,

    merci pour les liens ... Malgré que pour le moment j'essaie de me concentrer sur la première solution que tu as proposé qui consiste à récupérer une variable qui représente la page d'assurance.

    Alors, j'ai réussi à manipuler un exmeple simple dont voici son code:

    ---- Page Appelante: openNewWindow.asp ----
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <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 ----
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <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?

  8. #8
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Tes machines sont sur le même réseau mais n'ont pas la même IP. C'est donc considéré comme une faille de sécurité et refusé (imagine que tu tu connectes sur le site de ta banque, qu'il ait été piraté et que tu effectues un virement en postant sans le savoir les infos vers un site pirate....ce sera refusé car l'IP de ta banque est différente de l'IP du pirate -> c'est de la théorie...).

    Il faut que les domaines consultés soient les mêmes.

    ERE

  9. #9
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Salut Emmanuel,

    STP, comment je peux vérifier si les domaines des deux machines sont les mêmes?

    Voici quelques détails pour l'environnement de test:
    - les adresses IP des deux machines sont attribuées par DHCP
    - l'une 10.13.13.35 et l'autre 10.13.13.12
    - le domaine des deux machines est: NomEntreprise.Local

    mon but est d'arriver à faire tourner l'exemple avec deux machines distinctes pour que je puisse transmettre un mini rapport à mon boss pour prendre décision de continuer le travail sur cette demande du client ou pas... car ça devient plus urgent jour après jour ...!

  10. #10
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Soit tu baisses la sécurité des navigateur pour l'espace intranet, soit je pense (à vérifier) qu'en mettant des urls du type machine1.NomEntreprise.Local/ et machine2.NomEntreprise.Local/ cela devrait passer car on reste sur le même domaine.
    Ne connaissant pas la configuration de ton réseau c'est difficile de prévoir exactement le comportement), mais un test rapide de ton côté sera de toute façon plus efficace que d'exposer de longues théories !

    ERE

  11. #11
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Salut,

    - Pour le niveau de sécurité des navigateurs, je l'ai changé pour qu'il soit le plus faible possible.
    - Pour les URLs, j'ai essayé de remplacer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.open('form2.asp');
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.open('//NomMachine.NomDomaine/form2.asp');
    Aussi, j'ai essayé de changer les règles de sécurité sur la deuxième machine (hôte de form2.asp) surtout celles relatifs au fichier form2.asp en particulier (comme autorisation d'accès en écriture, autorisation d'accès à la source du script)

    Mais toujours c'est l'echec ... le navigateur m'affiche l'erreur "Impossible d'afficher la page" plus le message "Accès refusé" ....

  12. #12
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.open('http://NomMachine.NomDomaine/form2.asp');
    ERE

  13. #13
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    C'est idem cher Emmanuel, même en ajoutant "http:" ...

    même quand j'ai remplacé "NomMachine" par le nom de ma machine, et "NomDomaine" par le domaine auquel ma machine appartient toujours les deux messages d'erreur sont présents ...
    Alors que ça supposé fonctionner quand les deux page sont sur la même machine ...

    Bon, ... il parait que le problème est purement technique (peut être notion réseaux informatique)... et je dois penser comment réagir même en abandonnant tout si la solution sera couteuse

  14. #14
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Re,

    Es tu certain que ce message est un message du navigateur et pas un message de ton server IIS ? Ne serait ce pas plus simplement un droit d'accès au fichier ou au directory ?

    ERE

Discussions similaires

  1. Copie des données d'un Structure
    Par cookies2 dans le forum Visual Studio
    Réponses: 4
    Dernier message: 14/09/2007, 13h25
  2. Réponses: 1
    Dernier message: 28/08/2007, 21h13
  3. copie des données d'un champ vers un autre
    Par cvlpj dans le forum IHM
    Réponses: 10
    Dernier message: 26/12/2006, 22h15
  4. Réponses: 1
    Dernier message: 26/12/2006, 16h23
  5. Copie des données d'une table d'une base Interbase 6
    Par Djedjeridoo dans le forum InterBase
    Réponses: 6
    Dernier message: 02/02/2004, 09h39

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