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

Play! Java Discussion :

Plus de session, on fait comment ?


Sujet :

Play! Java

  1. #1
    Membre habitué Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Points : 169
    Points
    169
    Par défaut Plus de session, on fait comment ?
    Bonjour,

    Dans Play il n'y a plus de session. Donc, pour la gestion d'un panier par exemple, je me demandais quelle était la manière de procéder ?

    Comment feriez-vous ?


  2. #2
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    Avec play tu as toujours des sessions, Cf la doc :

    http://www.playframework.org/documen...ollers#session

    Pour garder des infos en cache côté serveur, tu as aussi un cache :

    http://www.playframework.org/documentation/1.1RC1/cache

    a+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 17
    Points : 23
    Points
    23
    Par défaut
    Bonjour.

    Je rajouterais même qu'il est préférable d'utiliser les caches pour garder des informations :

    Play est basé sur une architecture RESTFUL et par ce fait il est important de respecter les principes RESTFUL pour en tirer tout les bénéfices.

    Un des principes est la non sauvegarde d'information sur le serveur (Stateless) et d'utiliser les caches comme moyen de sauvegarde. L'avantage est de permettre de gérer plus facilement le serveur hebergeant, par exemple quand tu rajoute un répartiteur de charge (pas d'informations sauvegarder sur un serveur particulier), ou quand tu souhaite améliorer les performances de réponse, etc.

    Sinon niveau cache Play utilise des cookies encryptés qui sont invalidés si tu les modifies donc niveau sécurité c'est plus que pas mal.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Ouaip!
    Tu stoque l'identifiant unique de ton client en session, et les données éphémères ou longues à calculer en cache avec cet identifiant en clef.
    Et en bdd les données à conserver durablement.

  5. #5
    Membre habitué Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Points : 169
    Points
    169
    Par défaut
    Merci pour vos réponses.

    Cependant je ne suis pas convaincu.
    Il est bien précisé dans la doc que le cache ne garantit pas de récupérer les données que l'on a mises dedans ("when you put data in a cache, you can’t expect that data to remain there forever"). Donc je pourrais perdre toutes les infos du panier.
    Pour le scope session, il est aussi indiqué qu'il est très limité (4k), donc je ne peux pas compter dessus non plus.

    Non ?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Ca veut pas dire que le cache est pas fiable, mais que dans le cache les données ont une date d'expiration bien précise.
    Ce qui est le cas, je pense, d'un panier qu'il faut bien supprimer si l'utilisateur revient pas au bout d'un certain temps.
    Et 4k, c'est bien assez pour stoker des identifiants,souvent c'est des Long (32bits). Donc on pourrait stoker 128 Long.

  7. #7
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    sur le forum play, il y a un post qui ressemble à ta question :

    http://groups.google.com/group/play-...ect+in+session

    justement il s'agit d'un panier sur un site marchand. L'utilisation du cache ou de la base de données est recommandé. Pour le cache, effectivement l'indication dans la doc me laisse perplexe. Tu peux éventuellement poster à la suite pour demander une précision sur ce point.

    a+

  8. #8
    Membre habitué Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Points : 169
    Points
    169
    Par défaut
    Très bien le lien vers le groupe google
    Le thread suivant répond aussi assez bien à la problématique : http://groups.google.com/group/play-...3189d6b8b9dcd6

    Donc je suis bien convaincu par vos réponses

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 47
    Points : 24
    Points
    24
    Par défaut
    Pour terminer la dessus, quand tu rajoutes une info dans le cache, tu peux spécifier sa durée de validité.
    Vu sur le site de Play!

    Cache.set("products", products, "30mn");

    Si tu veux vraiment persister une données il faut effectivement utiliser la base mais je ne pense pas que ce soit forcément ton cas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/05/2007, 09h16
  2. Zend_View avec sub templates, vous faites comment ?
    Par goodpz dans le forum Autres composants
    Réponses: 6
    Dernier message: 19/03/2007, 17h00
  3. HttpSession: il fait comment?
    Par Goupil dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 26/07/2006, 17h37
  4. [Session de recrutement] Comment ça se passe?
    Par Yoshidu62 dans le forum Entretien
    Réponses: 8
    Dernier message: 01/06/2006, 13h28
  5. Réponses: 14
    Dernier message: 14/02/2005, 02h36

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