20-05-2012, 04:08 PM
On ne peut pas écouter le comportement d'un objet en Javascript malheureusement, sinon c'est sûr que ça aurait beaucoup plus simple... ^^
20-05-2012, 04:08 PM
On ne peut pas écouter le comportement d'un objet en Javascript malheureusement, sinon c'est sûr que ça aurait beaucoup plus simple... ^^
20-05-2012, 04:20 PM
Les librairies pour le faire son légions. Ne serait-ce que le composant Events de Backbone.
J'ai du mal chercher car j'ai pas trouvé grand chose ^^
J'ai essayé avec ton lien en ajoutant Backbone & Underscore : http://jsfiddle.net/K4k6q/11/ Mais je dois toujours passer par la méthode trigger() ce qui revient au même que mon log.trace(); qui appelle checkAchievements() Ca sépare déjà plus la logique c'est sûr. L'idéal ça serait (mais je doute que ça soit possible)
Ton code Backbone c'est le pattern observer non ?
20-05-2012, 08:47 PM
Bon sinon j'ai installé CouchDB plutôt que MongoDB ou Redis tout simplement parce que ça se met direct avec Apache et en service Windows et du coup pas de prise de tête pour l'installation, sinon je savais pas trop quoi choisir.
http://couchdb.apache.org/ Rendez-vous sur : http://127.0.0.1:5984/ après installation De la doc' en français : http://www.couchdb-fr.net/documentation/api/document Donc ça marche pas requête HTTP, on peut facilement faire le lien vers Javascript avec XMLHttpRequest. Par contre ça revient un peu au même si je créé un JSON avec tous mes achievements dedans. Du coup je me demande si ça alourdit pas mon architecture pour rien ?
20-05-2012, 09:14 PM
MongoDB et CouchDB ne sont pas interchangeables comme ça, ils ont des avantages et inconvénients différents.
En l'occurrence, pour un scénario avec plein d'écritures, c'est plutôt pour MongDB. En l'occurrence on s'en fout car on a des volumétries très faibles, mais il faut quand même saisir le concept.
Ouep dans mon cas il y aurait un faible volume. Quoique que je pourrais ajouter pour chaque joueur un document avec les ID des succès déjà débloqués.
Et donc beaucoup de lecture de donnée plus que d'écriture dans mon cas, les succès n'étant pas appelés à être modifiés tous les jours. L'implémentation Javascript : http://wiki.apache.org/couchdb/Getting_s...JavaScript edit : Y'a une interface graphique sur http://127.0.0.1:5984/_utils/ j'avais pas vu ^^
20-05-2012, 10:54 PM
C'est pour stocker les logs de toutes tes actions avec des données arbitraires que tu utilises un système de stockage par document.
De plus, l'interface de requêtes de CouchDB n'est pas forcément très pratique pour ce cas d'utilisation.
20-05-2012, 11:25 PM
Ah d'accord je voyais pas ça comme ça. Dans mon esprit, le log était vidé dès la partie terminée
21-05-2012, 07:05 PM
Pour Node.js il y a le module Cradle. Mais pour la partie cliente, le manque d'informations pour CouchDB est affolante, il n'y a quasiment rien...
Pourtant les possibilités sont intéressantes. Plus que le client fasse quelquechose, que je passe l'info à Node.js grâce à une socket puis que je mette à jour MySQL, je pourrais directement depuis le client mettre à jour CouchDB.
22-05-2012, 02:52 AM
J'ai enfin réussi à y accéder via JS, le problème c'est que CouchDB est sur le port 5984 mais ne gère pas les CORS... Du coup obligé de passer par un proxy Apache.
La gestion par requête HTTP rend peut être CouchDB un peu plus lent que MongoDB, mais quand même on peut faire une application uniquement côté client et stocker des données, je trouve ça quand même impressionnant. J'ai installé MongoDB aussi. Encore une fois peut d'infos pour JS : http://www.mongodb.org/display/DOCS/Java...age+Center Avec Node, faut utiliser mongoose : http://mongoosejs.com/ Tuto : http://www.atinux.fr/2011/10/15/tutoriel.../#more-417 |
|