Programmation d'un site de jeu d'échecs en direct !

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par bobbyfischer, 14 Mars 2012.

  1. bobbyfischer
    bobbyfischer Nouveau WRInaute
    Inscrit:
    14 Mars 2012
    Messages:
    5
    J'aime reçus:
    0
    Bonjour,

    Je viens vers vous car je pense que l'expérience sera enrichissante pour tous les programmeurs php/mysql/ajax et également pour vous demander de l'aide sur la réalisation d'un club d'échecs en ligne avec possibilité de jouer des parties en direct avec du temps et un classement élo !

    Jusque là j'ai réussi à programmer mon interface "statique" complète en php/mysql et javascript, les règles du jeu sont respectées, et il y a de nombreuses fonctionnalités (proposer nulle, reprendre son coup, visualiser une partie terminée, etc), par contre là où je bloque c'est pour passer mes paramètres en live, donc de transformer les pages statiques en pages interactives avec AJAX (rafraichissement chaque seconde) !

    J'ai fait un plan que je vous détaille (merci de le commenter, car j'ai sûrement fait des erreurs) :

    -Salle d'attente, on peut défier les joueurs en voyant leur classement et leur pseudo (pour vérifier qu'un joueur est là, je fais un update de time dans la bdd chaque seconde, si il n'y a pas d'update pendant 1 seconde pour un joueur, alors il n'y a plus de possibilité de défier ce joueur car il est considéré comme "absent". Evidemment lorsqu'un joueur arrive sur la page je fais un insert avec le pseudo et j'insère le time pour que l'update se mette à tourner. Ca me parait très lourd niveau serveur, mais je ne vois pas quelle alternative sérieuse je peux utiliser pour vérifier à la seconde près qu'un joueur est connecté ou pas en utilisant seulement php/mysql/ajax.

    -Salle de jeu, j'update chaque seconde par rapport au time dans la bdd pour les horloges de jeu, là aussi niveau serveur ça me parait très lourd mais ça me semble être la seule sécurité au cas où un joueur se déconnecte et se reconnecte avant 30 secondes (après il est déclaré perdant), pour le reste le jeu se déroule normalement, toutes les règles sont respectées et une vérification est faite que l'adversaire est bien connectée à la partie grâce au même update que cité précédemment dans une nouvelle table (celle de la salle de jeu et non pas celle de la salle d'attente) ! A la fin de la partie les joueurs peuvent l'analyser grâce au chat et à la possibilité de revenir au début de la partie et de la faire défiler etc.

    Evidemment lorsqu'un jour passe de la salle de défi à celle de jeu (soit parce qu'un de ses défis a été accepté ou parce que lui-même a accepté un défi) on supprime tous les défis qu'il a lancés ou reçus dans la bdd et la page de jeu se lance.

    Pour le reste mon plus gros souci réside dans le fait que mes variables innerhtm (échiquier et fonctionnalités autour) sont codées en JS, je n'arrive par conséquent par à les faire passer dans du xAJAX par exemple, étant donné que mes connaissances s'arrêtent à passer du php dans une fonction AJAX, du javascript couplé à du php je n'y arrive pas...

    Pour plus de précision, voilà une sorte de schéma :

    1) Mon code php (très long) qui fait appel à toutes les requêtes dans ma bdd.
    2) Mon code javascript qui va définir les div en innerhtm suivant le php précité.
    3) Div dans le body.

    Je n'arrive pas en AJAX à faire en sorte de prendre en fonction le code php et le javascript afin de réactualiser avec Setinterval (ou prototype, ou autre...) pour les afficher avec un innerhtm dans le body afin d'actualiser la position sur l'échiquier quand c'est au tour de l'adversaire (pour voir s'il a joué et quoi). Et plus je bosse sur ce code, plus j'ai l'impression que ce n'est simplement pas possible...

    Si quelqu'un a une idée je suis preneur ! Je détaillerai point à point l'avancée du jeu et comment j'ai fait (en suivant vos conseils !

    Merci de vos réponses et de votre intérêt !
    Luc.
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 832
    J'aime reçus:
    246
  3. bobbyfischer
    bobbyfischer Nouveau WRInaute
    Inscrit:
    14 Mars 2012
    Messages:
    5
    J'aime reçus:
    0
    Merci de ta réponse, en fait le jeu est déjà fait, j'ai les graphismes etc, tout est déjà en place et fonctionne en différé !

    Tu penses que je dois recommencer à zéro en incluant des sockets où il y a moyen d'adapter ce qui est déjà fait et de le coupler à un langage dynamique (hors flash et java), comme les websockets dont tu m'as parlé par exemple (couple node.js/Express + socket.io)

    Les autres langages dont tu m'as parlé, ce sont uniquement pour les graphismes, non ?

    Luc.
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 832
    J'aime reçus:
    246
    Architecture surtout, en AJAX tu vas flooder ton serveur.
    Avec l'AJAX tu peux juste faire du pull (un timer pour refresh toutes les secondes, je t'assure ton serveur va vite crouler). Et pour un jeu multijoueurs il me semble qu'il faut aller clairement vers les websockets.
    http://fr.wikipedia.org/wiki/Server_push
     
  5. bobbyfischer
    bobbyfischer Nouveau WRInaute
    Inscrit:
    14 Mars 2012
    Messages:
    5
    J'aime reçus:
    0
    Bonjour à tous!!!!

    Me revoilà après 2 ans d'absence les yeux qui brillent et le coeur qui bat la chamade! Merci pour vos conseils, j'ai enfin terminé mon projet, le voici : http://www.les-echecs.com.

    Et voici la vidéo mode d'emploi de mon site : http://youtu.be/gA3QRhDkANU?list=UUz1_0D8zLi5N1jjG2ufvrgw

    Merci pour vos conseils grâce à vous j'ai réussi mon projet et j'en suis plus qu'heureux!!!!

    Luc Pitallier
     
  6. Madrileño
    Madrileño Membre Honoré
    Inscrit:
    7 Juillet 2004
    Messages:
    32 136
    J'aime reçus:
    273
    Bonjour,

    Merci pour la présentation de votre nouveau site.

    Quelques avis :
    - L'URL a une redirection vers un autre site : playchesseveryday
    - Le design en haut du site est cool, mais après c'est moins réussi
    - Il semble manquer les informations de l'entreprise qui a le site
    - Pour le slide, des boutons seraient mieux que le glisser avec la croix

    Cordialement.
     
  7. bobbyfischer
    bobbyfischer Nouveau WRInaute
    Inscrit:
    14 Mars 2012
    Messages:
    5
    J'aime reçus:
    0
    Bonjour,

    -Comme expliqué dans la vidéo, les 2 sites sont les mêmes, les-echecs.com étant référencé, je redirige jusqu'à racheter le nom de domaine sur mon autre hébergeur comme ça plus de redirection!
    -en bas du haut sur la page d'accueil c'est moins réussi? Ou sur toutes les pages le design sous la bannière est moins réussi? Le design et moi ça fait 2 c'est clair!
    -Euh bah l'entreprise? C'est juste un site personnel lol je n'ai pas d'entreprise! Les pubs me rapportent 0 euro curieusement! un peu pris de cours j'avoue concernant ce point, l'important pour moi c'était que le site soit en ligne et marche (plate-forme de jeu)!
    -Pour le slider merci car j'avais aucun retour là-dessus et je me demandais ce qu'on pourrait en penser... ok je vais voir ça! Merci d'avoir pris le temps de visiter mon site et de me faire un retour dessus.

    Merci pour ton retour qui m'aidera grandement!!

    Luc.
     
  8. Madrileño
    Madrileño Membre Honoré
    Inscrit:
    7 Juillet 2004
    Messages:
    32 136
    J'aime reçus:
    273
    Bonjour,
    Autant retirer la publicité.

    Cordialement.
     
Chargement...
Similar Threads - Programmation jeu échecs Forum Date
Monter sur la requete reprogrammation ethanol bordeaux Demandes d'avis et de conseils sur vos sites 26 Novembre 2018
Quels bons livres sur la programmation Stripe ? e-commerce 24 Juillet 2017
Ce qui se passe sur votre site: programmation Administration d'un site Web 20 Juin 2015
Les bonnes pratiques de programmation en PHP Administration d'un site Web 9 Juin 2015
Débutant en programmation .... Développement d'un site Web ou d'une appli mobile 28 Février 2013
Le langage de programmation Google Go paré pour la production Google : l'entreprise, les sites web, les services 8 Avril 2012
Apprendre la programmation ? Développement d'un site Web ou d'une appli mobile 29 Août 2011
Refonte d'un site suivant toutes les "normes" de programmation actuelles Demandes d'avis et de conseils sur vos sites 28 Juillet 2011
Pour les pro du programmation svp ( commande Linux ) Administration d'un site Web 21 Octobre 2010
Programmation et développement TIKIWIKI Développement d'un site Web ou d'une appli mobile 11 Décembre 2009
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice