1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.session.introduction">
<title>Introduction</title>
<para>
L'équipe Auth de Zend Framework apprécie considérablement votre feedback et vos
contributions sur notre liste de diffusion : <ulink
url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.
</para>
<para>
Dans les applications Web écrites en <acronym>PHP</acronym>, une <emphasis>session</emphasis> représente
un raccordement logique entre le côté serveur, des données persistantes et un client
particulier (par exemple, un navigateur Web). <classname>Zend_Session</classname> aide à
contrôler et à préserver les données de session, un complément logique des données de type
cookie, en cas de demande de page multiples par le même client. À la différence des données
de cookie, les données de session ne sont pas stockées du côté client, et elles sont
seulement partagées avec le client quand le code source du côté serveur rend volontairement
disponible les données par l'intermédiaire d'une réponse à une demande du client. Dans le
cadre de ce composant et de cette documentation, le terme "données de session" se rapportent
aux données du côté serveur stockées dans <ulink
url="http://www.php.net/manual/fr/reserved.variables.php#reserved.variables.session"><varname>$_SESSION</varname></ulink>,
contrôlées par <classname>Zend_Session</classname>, et individuellement manipulées par des
objets <classname>Zend_Session_Namespace</classname>. <emphasis>Les espaces de noms de
session</emphasis> permettent d'accéder aux données de session en utilisant les <ulink
url="http://fr.wikipedia.org/wiki/Espace_de_noms">espaces de noms</ulink> classiques
implémentés logiquement en tant que groupes nommés de tableaux associatifs, indexés par des
chaînes (semblables aux tableaux habituels de <acronym>PHP</acronym>).
</para>
<para>
Les instances <classname>Zend_Session_Namespace</classname> sont des objets accesseurs
pour les sous-parties nommées de <varname>$_SESSION</varname>. Le composant
<classname>Zend_Session</classname> encapsule l'extension session de <acronym>PHP</acronym> existante avec une
interface d'administration et de gestion, afin de fournir une <acronym>API</acronym> à
<classname>Zend_Session_Namespace</classname> pour les espaces de noms de session
persistants. <classname>Zend_Session_Namespace</classname> fournit une interface normalisée
et orientée objet pour travailler en espaces de noms persistants à l'intérieur du mécanisme
standard des sessions de <acronym>PHP</acronym>. Le support existe pour les espaces de noms anonymes et les
espaces de nom de session authentifiés (par exemple, "login").
<classname>Zend_Auth</classname>, le composant d'authentification de Zend Framework emploie
<classname>Zend_Session_Namespace</classname> pour stocker les informations liées aux
utilisateurs authentifiés. Puisque <classname>Zend_Session</classname> emploie les fonctions
normales de l'extension session de <acronym>PHP</acronym>, tous les options et réglages familiers de
configuration s'appliquent (voir <ulink
url="http://www.php.net/manual/fr/ref.session.php">http://www.php.net/session</ulink>), avec
en bonus la facilité d'accès par une interface orientée objet et un comportement par défaut
fournissant les meilleures pratiques et une intégration sans problèmes dans Zend Framework.
Ainsi, un id standard de session <acronym>PHP</acronym>, stocké soit dans un cookie côté client ou incorporé
dans l'URL, maintient l'association entre un client et des données de session.
</para>
<para>
La fonction de gestion de session par défaut <ulink
url="http://www.php.net/manual/fr/function.session-set-save-handler.php">session_set_save_handler</ulink>
ne maintient pas cette association dans un faisceau (NDT. : "cluster") de serveurs sous
certaines conditions car les données de session sont sauvegardées seulement sur le serveur
qui répond à la requête. Si une requête peut être réalisée par un serveur différent de celui
où les données de session sont sauvegardées, alors le serveur appelé n'aura pas accès aux
données de session (si elles ne sont pas disponibles dans un système de fichiers en réseau).
Une liste additionnelle de gestionnaire de session sera fournie, dès que possible. Les
membres de la communauté sont encouragés à suggérer et soumettre des gestionnaires de
sauvegardes à la liste <ulink
url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>. Un gestionnaire de
sauvegarde compatible <classname>Zend_Db</classname> a été signalé à la liste.
</para>
</sect1>
|