Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2012, 23h35   #1
Invité de passage
 
Développeur de jeux vidéo
Inscription : janvier 2012
Messages : 2
Détails du profil
Informations personnelles :
Localisation : France

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

Informations forums :
Inscription : janvier 2012
Messages : 2
Points : 0
Points : 0
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 :
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 :
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 :
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
Guiliguili est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 11h12   #2
Membre éclairé
 
Avatar de keaton7
 
Inscription : octobre 2007
Messages : 676
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 676
Points : 320
Points : 320
Bonjour,
Tu peux également regarder du côté des session en base de données .
Bon courage pour ton projet
__________________
Spécialité : Développement WEB
Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords

keaton7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 11h28   #3
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Tu trouveras un bon tuto sur les sessions php en BDD sur le site du zéro.

C'est la slution qui me paraît la plus appropriée à ce que tu veux faire.
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

Linus Torvalds
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 11h49   #4
Invité de passage
 
Développeur de jeux vidéo
Inscription : janvier 2012
Messages : 2
Détails du profil
Informations personnelles :
Localisation : France

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

Informations forums :
Inscription : janvier 2012
Messages : 2
Points : 0
Points : 0
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
Guiliguili est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h44.


 
 
 
 
Partenaires

Hébergement Web