JeuWeb - Crée ton jeu par navigateur
Bien programmer - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Bien programmer (/showthread.php?tid=5614)

Pages : 1 2 3


RE: Bien programmer - Sephi-Chan - 29-08-2011

Les sessions sont simplement des objets stockés sur le serveur et qu'on associe à un identifiant que l'on donne au navigateur client grâce à un cookie. Smile

Effectivement, les guides sont la meilleure source d'apprentissage. Wink


RE: Bien programmer - archANJS - 29-08-2011

Ouais, ce que je veux dire c'est que le livre entendait qu'il fallait enregistrer nos sessions dans un cookie. Qu'il n'y avait pas de sessions, mais juste des cookies, qu'on surnommait session. Enfin, peu importe. Je sais la différence mais je n'arrive pas à l'expliquer Tongue




RE: Bien programmer - Viciousity - 29-08-2011

Ben une session est en fait un cookies a durée limitée.
Pourquoi ? Simplement, encore une fois, pour palier à un maximum d'attaque d'attaque client-serveur.
En effet, si tu te penches plus sur le fonctionnement des cookies dans rails, tu te rend compte qu'ils sont "cryptés", en fait une variable aléatoire mais dépendante d'une clé secrète (située config/initializers/session_store.rb) est générée à chaque fois que ton cookie est modifié pour ensuite être stockée dans ton cookie de manière transparente. Si jamais, quand rails lit le cookie, cette variable est propre à l'application, alors le cookie est lu, sinon il est détruit.

La seule différence entre un "cookies[:var]" et une "session[:var]" est le panel de méthode que tu peux utiliser dessus. Ainsi, dans le premier cas, tu peux définir sa durée, son domaine d'application, etc ... Tandis que dans le cas de la session tu es bridé à lui assigner une valeur.

Si tu veux utiliser un cookie tu change simplement ton code pour ceci :

cookies.permanent[:cookie_var] = "valeur"
cookies.delete :cookie_var



RE: Bien programmer - Sephi-Chan - 29-08-2011

Quel est ce livre ?

Pour t'aider à mettre des mots sur ces concepts :
  • Les cookies sont un hash côté client. Stockés à même le navigateur (et à ce titre, modifiables par l'utilisateur).
  • La session est un hash côté serveur (dont le contenu n'est pas modifiable par l'utilisateur). Le serveur associe ce hash à l'utilisateur grâce à un identifiant qu'il envoie au navigateur sous forme d'un cookie.



RE: Bien programmer - Viciousity - 29-08-2011

HAML est un moteur de template vraiment impressionnant Smile
Franchement sa lecture est un réel plaisir, le fait que le code soit structuré, indenté à la sortie est très plaisant. Rajoute à cela un nombre d'helpers impressionnant et tu as un moteur de template d'une puissance impressionnante et d'une facilité à déployer étonnante Smile
Bon l'explication de Sephi est plus correcte que la mienne ^^


RE: Bien programmer - archANJS - 30-08-2011

Ouais je crois que justement je vais y aller avec Haml plutôt que Erb. Ça me semble mieux^^