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

Langage PHP Discussion :

PHP & Ajax - serveur différent


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Janvier 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Janvier 2012
    Messages : 30
    Points : 36
    Points
    36
    Par défaut PHP & Ajax - serveur différent
    Bonjour,

    J'ai pour projet de créer un jeu par navigateur (il ne reste que le dev à faire) avec PHP/MySql et ajax

    L'objectif de l'utilisation d'ajax et d'éviter de tout recharger et de ne modifier que ce qui change

    De même, je compte séparer le "moteur" des éléments liés aux "mondes". Un monde représentant un nombre X de joueurs jouant ensemble et chaque monde étant indépendant les uns des autres.

    Toujours dans le but d'optimiser et de faciliter la maintenance, tout en permettant une bonne gestion des charges des serveurs, je propose dans mon exemple de mettre les images sur un serveur, le moteur du jeu sur un autre etc...

    Or, je suis confronté à un aspect que je ne maitrise pas franchement...

    Si tous mes fichiers sont sur le même serveur, je peux transmettre la session via l'URL, même via ajax.

    Par contre, si ma page principale se trouve sur un serveur "serv1" et que je charge via ajax un fichier sur un autre serveur "serv2", je ne sais pas transmettre la session et cela ne semble pas fonctionner non plus

    Voici un extrait des code sources permettant de mieux comprendre mon explication...

    Fichier page.js sur le serveur_ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function page(NumPage, session) {
        var html = $.ajax({
      url: 'http://serveur_distant/page1.php?PHPSESSID='+session+'&page=' + NumPage,
      async: false
     }).responseText;
        document.getElementById("content").innerHTML = html;
    }
    Fichier index.php sur 'monserveur_ici'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Tralala début de fichier html...
    Avec bien sur chargement de page.js
    <div id="content">
     
    Ici la page central du jeu qui change
     
    </div>
    <!-- Un des bouton 'action' -->
     
    <li><a onclick="page('supplying','<?php echo session_id(); ?>');"><?php echo _('Approvisionnement'); ?></a></li>
    Fichier page1.php sur le serveur_distant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    /* test de chargement de page avec ajax
     * la sécurité n'y est pas regardée pour ce teste 
     */
     
    // session_start();
    echo "Click sur page numéro : ".$_GET['page'];
    //echo "Click sur page numéro : ".$_GET['page']." avec la session > ".$_GET['PHPSESSID'].' <';
    //echo "<BR>Le session actuelle est > ".session_id()." <";
    //Echo "<br>pseudo = ".$_SESSION['pseudo'];
     
    ?>
    Quand je clique sur le bouton, le message disparait, mais rien ne s'affiche alors que je devrais lire
    "Clik sur page..."

    Impossible à faire ? dangereux ? Problème de config des serveur ?

    Merci de vos commentaires

    PS : page1.php fait parti d'une page du jeu qui modifie alors les info entre les balises <div id="content">

    Voilou
    Guiliguili


    EDIT : j'ai trouvé, avec AJAX cross-domain... Je ne cherchais pas au bon endroit.
    Merci

  2. #2
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Bonjour,
    Tu peux également regarder du côté des session en base de données .
    Bon courage pour ton projet

  3. #3
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Tu trouveras un bon tuto sur les sessions php en BDD dans les cours et tutoriels pour apprendre PHP.

    C'est la slution qui me paraît la plus appropriée à ce que tu veux faire.

  4. #4
    Nouveau membre du Club
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Janvier 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Janvier 2012
    Messages : 30
    Points : 36
    Points
    36
    Par défaut
    Nickel tous les deux

    j'avais vraiment un prob de sécurité

    Maiintenant, je peux mettre en constante les url de base (moteur, BD, CSS etc...) et gérer les sessions e façon beaucoup plus simple.

    Ainsi, Il me sera possible de définir X mondes utilisant le même moteur (calcul d'avancement), le moteur d'affichage (css)

    En terme de maintenant, je peux facilement isoler un monde pour un test d'upgrade du moteur sans prendre de risque sur les autres moteurs

    Pour le jeu, sont définie les règles, les formules, les actions, les pages etc...

    Reste plus qu'à dev... et ce sont des petits détails comme celui ci qui me freine (On en apprend tous les jours )

    Merci
    Guiliguili

Discussions similaires

  1. Réponses: 24
    Dernier message: 18/01/2011, 12h21
  2. [Librairie] [TELNET] Faire du telnet en PHP sur un serveur distant
    Par kaboume dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 10/06/2010, 14h24
  3. Installer PHP sur un serveur Tomcat
    Par yannick24 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 13/12/2005, 09h36
  4. Exécuter un php sur un serveur distant
    Par echataig dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 12/11/2005, 23h49

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