Bonjour,

J'utilise des modules spécifiques utilisant l’objet « JSession », permettant d'avoir des sessions JOOMLA!

L’id de session est bien régénérée lorsque l’utilisateur se connecte, et je veux faire de même avec le nom du Cookie stockant cet ID de session.

Je me suis aperçu, dans le code du core de JOOMLA ! que celui-ci créait le nom du cookie à partir du user-agent du navigateur. Ce qui a pour incidence de créer des noms de cookies identiques… On peut néanmoins surcharger ce nom, dans le JSession, j'ai essayer de le faire en ajoutant un timestamp dans le nom qui va générer le cookie, pour qu’à la création de l'instance, celui-ci change de nom, et en ai un unique. (vu que le JSession est un singleton, l’appel devrait ne se faire qu’une fois, lors de la création de l’instance, et à chaque nouvelle fois que la session est créée… ).

Cependant, lorsque que j’effectue cette modification, des cookies sont créés pour chaque appels de page… (mais leur nom est bien unique)

J’ai l’impression que le Session n’est pas gérée correctement…
J’ai analysé l’appel des méthodes de JSession, et il s’avère que la méthode create() est appelée lors du chargement de chaque pages…. ( aucune persistance entre les pages???) pourtant la session n’est pas perdue... JOOMLA! arrive à a récupérer.

J’ai vu que JOOMLA stockait la session en fichier ou en database… est-ce que ça pourrait venir de là ?(le fait que la session ne soit pas perdue)
(sachant qu’il n’y a aucun endroit dans le code ou on demande le stockage de la session en base [avec JOOMLA! , le stockage de sessions s'effectue en base ou en fichier, c'est paramètre] ).

C’est assez étrange également , car lorsque j’essaye de surcharger un fork() (pour régénérer l’id de la session), Joomla ! me lève une erreur SQL… (alors que je ne suis pas censé stocker ma session en base…)

Bref, je ne suis pas du tout expert JOMMLA ! (je connais juste le PHP et les Frameworks Zend/Symfony…) et c’est la première fois que je mets le nez dans du code JOOMLA !

Pour moi, la Session ne devrais être créée qu’une seule fois, et, après sa création, elle devrais être « chargée » par JOOMLA ! et non pas recréée sur chaque page comme c’est le cas actuellement...
Vu que la session ne devrais être créée une seule fois, je suis censé n’avoir qu’un cookie de généré, ce qui résoudrais mon problème…
J’ai fait une passe dans tous les modules, et il s’avère que les session sont bien appelées via le « JFactory ::getSession() » ce qui permet de gérer, la session correctement avec les paramètres de l’admin. Et de la récupérer si elle a bien déjà été créée.

Cependant, je ne comprends pas du tout pourquoi JOOMLA ! ne parviens pas à charger ma Session entre chaque pages, et qu’il est obligé d’en recréer une perpétuellement. Je ne comprends pas non plus comment est-ce qu’il arrive à récupérer ma Session, entre chaque page, alors qu’il la recrée tout le temps… (via mes Logs dans la classe SESSION/JSESSION)

Pourriez-vous m'expliquez, comment est censé fonctionner une Session JOOMLA! et pourquoi est-ce que j'obtient ce genre de comportement?

Merci!!