source: spip-zone/_grenier_/balise_session/session.html

Last change on this file was 107092, checked in by spip.franck@…, 2 years ago

Mise à jour d'urls

File size: 8.6 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html dir="#LANG_DIR" lang="#LANG">
4<head>
5        <title>Balise #[(#REM)]SESSION</title>
6        <INCLURE{fond=inc-head}>
7</head>
8<body class="page_sommaire">
9<div id="page">
10
11        [(#REM) Entete de la page + titre du site ]
12        <INCLURE{fond=inc-entete}>
13
14        [(#REM) Fil d'Ariane ]
15        <div id="hierarchie"><a href="#URL_SITE_SPIP/"><:accueil_site:></a> &gt; Balise #[(#REM)]SESSION</div>
16
17        <div id="conteneur">
18
19                <div id="contenu">
20
21                        <div class="cartouche">
22                                <h1 class="titre">Balise #[(#REM)]SESSION</h1>
23                                <dl class='spip_document_0 spip_documents spip_documents_right'  style='float:right;'>
24                                        <dt><a href="https://files.spip.net/spip-zone/balise_session.zip" type="application/zip" title='Zip - 9.2 ko'><img src='#CHEMIN{vignettes/zip.png}' width='47' height='48' alt='Zip - 9.2 ko' /></a></dt>
25                                        <dt class='spip_doc_titre' style='width:120px;'><strong>plugin balise_session</strong></dt>
26                                        <dd class='spip_doc_descriptif' style='width:120px;'>T&eacute;l&eacute;chargez, d&eacute;zippez &agrave; la racine de votre site et activez le plugin Balise Session</dd>
27                                </dl>
28                                <div class="chapo">La balise #[(#REM)]SESSION fonctionne comme
29                                <a href="https://www.spip.net/fr_article3368.html#config" class="spip_out">
30                                #[(#REM)]CONFIG
31                                </a>
32                                &agrave; ceci pr&egrave;s qu'elle s'appuie sur le tableau associatif <tt>$auteur_session</tt>. Le param&egrave;tre pass&eacute; en argument d&eacute;termine la valeur de session &agrave; afficher. Pour avoir une liste exhaustive des valeurs possible, consultez la doc de la fonction
33                                <a href="https://code.spip.net/@ajouter_session" class="spip_out">
34                                ajouter_session
35                                </a>
36                                </div>
37                        </div>
38                       
39                        <div class="liste-articles">
40                                <h2 class="invisible">Exemples</h2>
41                                <ul>
42
43                                        <li>
44                                                <p class=" texte spip_logos" style="background: #fff; border: 1px dashed #ccc;"><code>
45                                                        &lt;p>id_auteur = &#35;SESSION{id_auteur}&lt;/p><br />
46                                                        &lt;p>nom = &#35;SESSION{nom}&lt;/p><br />
47                                                        &lt;p>statut = &#35;SESSION{statut}&lt;/p><br />
48                                                </code></p>
49                                                <h3 class="titre">Afficher des informations</h3>
50                                                <div class="texte">
51                                                        <INCLURE(session.php){fond=affiche_donnees}>
52                                                </div>
53                                                <br class="nettoyeur" />
54                                        </li>
55
56                                        <li>
57                                                <p class=" texte spip_logos" style="background: #fff; border: 1px dashed #ccc;"><code>
58                                                        [(&#35;SESSION{id_auteur}|?{<br />
59                                                        Je suis connect&eacute;<br />
60                                                        })]<br />
61                                                </code></p>
62                                                <h3 class="titre">Conditionner un affichage</h3>
63                                                <div class="texte">
64                                                        <INCLURE(session.php){fond=affiche_condition}>
65                                                </div>
66                                                <br class="nettoyeur" />
67                                        </li>
68
69                                        <li>
70                                                <p class=" texte spip_logos" style="background: #fff; border: 1px dashed #ccc;"><code>
71                                                        [(&#35;SESSION{statut}|=={0minirezo}?{<br />
72                                                        Je suis administrateur<br />
73                                                        })]<br />
74                                                </code></p>
75                                                <h3 class="titre">Conditionner un affichage selon le satut</h3>
76                                                <div class="texte">
77                                                        <INCLURE(session.php){fond=affiche_condition_statut}>
78                                                </div>
79                                                <br class="nettoyeur" />
80                                        </li>
81
82                                </ul>
83                        </div>
84       
85                        <div class="texte">
86                                <h3 class="spip">Installation</h3>
87                                <ul class="spip">
88                                        <li class="spip"> T&eacute;l&eacute;chargez l&#8217;archive ci-avant,</li>
89                                        <li class="spip"> d&eacute;compressez l&agrave; &agrave; la racine de votre site,</li>
90                                        <li class="spip"> dans la page de gestion des plugin de votre site, activez le plugin Balise Session</li>
91                                </ul>
92                                <p class="spip">Vous pourrez acc&eacute;der &agrave; cette même documentation sur <a class="spip_in" href="#URL_PAGE{session}">votre propre site</a></p>
93                                <h3 class="spip">Principe</h3>
94                                <p class="spip">Pour reconnaître le visiteur authentifi&eacute;,
95                                on s'appuie sur le m&eacute;canisme de session de SPIP.
96                                Toutefois, comme cette valeur est affich&eacute;e
97                                dans un squelette, on doit aussi tenir compte du cache et
98                                empêcher que les donn&eacute;es d'un visiteur
99                                soient utilis&eacute;e par les suivants, le temps de la dur&eacute;e de vie de
100                                la page.
101                                </p>
102                                <p class="spip">Deux moyens peuvent être employ&eacute;s&nbsp;:</p>
103                                <ul class="spip">
104                                        <li class="spip"> D&eacute;finir &agrave; 0 la dur&eacute;e de vie du cache de
105                                        chaque page o&ugrave; on affichera ou testera le contenu de la
106                                        balise #[(#REM)]SESSION. C&#8217;est une mauvaise id&eacute;e en mati&egrave;re de
107                                        performance globale pour le site</li>
108                                        <li class="spip"> Cr&eacute;er une page de cache de chaque page
109                                        pour chaque visiteur authentifi&eacute;. Ainsi, les visiteur
110                                        acc&egrave;dent &agrave; des pages distinctes calcul&eacute;es moins souvent.
111                                        C&#8217;est le principe retenu dans cette page.</li>
112                                </ul>
113                                <p class="spip">On introduit donc, en plus de la balise, un
114                                script <code class='spip_code' dir='ltr'>session.php</code>,
115                                appelable par la balise standard <code class='spip_code' dir='ltr'>&lt;INCLURE()&gt;</code>.
116                                Ce script est un clone du script standard de spip
117                                (<code class='spip_code' dir='ltr'>spip.php</code>) &agrave; ceci-pr&egrave;s
118                                qu'il d&eacute;fini un <a href="https://code.spip.net/@marqueur-de-squelette" class="spip_out">marqueur de squelette</a>
119                                bas&eacute; sur l'identifiant du visiteur, s'il est d&eacute;fini. </p>
120                                <h3 class="spip">Appel sp&eacute;cifique des noisettes</h3>
121                                <p class="spip">On fera appel &agrave; la balise #[(#REM)]SESSION dans
122                                des squelettes inclus (qu'on appelle aussi noisettes...)</p>
123                                <p class="spip">
124                                <code class='spip_code' dir='ltr'>&lt;INCLURE(session.php){fond=page_speciale}&gt;</code>
125                                </p>
126                                <p class="spip">o&ugrave; <code class='spip_code' dir='ltr'>page_speciale.html</code> contiendra l'un au l'autre
127                                des exemples ci-dessus, ou de leurs combinaisons, ou d'autres
128                                &eacute;l&eacute;ments issus de cette page de d&eacute;monstration, ou bien encore,
129                                de votre propre cru !
130                                <code class='spip_code' dir='ltr'>:D</code></p>
131                                <h3 class="spip">Gestion de valeurs suppl&eacute;mentaires</h3>
132                                <p class="spip">Il est possible de g&eacute;rer des valeurs suppl&eacute;mentaires à celles contenues dans le tableau <tt>$auteur_session</tt>.
133                                Pour cela, il faut ajouter le paramètre <code class='spip_code' dir='ltr'>{session}</code> à l'appel de squelettes inclus.
134                                Dès lors, la balise #[(#REM)]SESSION s'appuiera aussi sur le tableau associatif <tt>$_SESSION</tt> php standard.</p>
135                                <p class="spip">Exemple : <code class='spip_code' dir='ltr'>&lt;INCLURE(session.php){session}{fond=boite_session}&gt;</code></p>
136                                <p class="spip">Ce plugin introduit pour ces valeurs, une action permettant de cr&eacute;er/affecter une valeur en lui pr&eacute;cisant un nom,
137                                ou de vider cette valeur. Pour faire appel à cette action, on utlisera soit un formulaire ad hoc, soit, dans ce type pr&eacute;cis de noisettes, la balise #[(#REM)]URL_ACTION_AUTEUR de la manière suivante:</p>
138                                <p class="spip"><code class='spip_code' dir='ltr'>&lt;a href="[(#[(#REM)]URL_ACTION_AUTEUR{session,[(#[(#REM)]ENV{session})]-affecter-nom-valeur,url})]"&gt;<br />texte du lien<br />&lt;/a&gt;</code><br />
139                                ou nom sera le code employé pour restituer la valeur via la notation #[(#REM)]SESSION{nom},<br />
140                                valeur pourra être une balise spip ou une constante,<br />
141                                url, l'adresse de destination du lien, #[(#REM)]SELF ou tout autre adresse imaginable.</p>
142                                <p class="spip">ou bien</p>
143                                <p class="spip"><code class='spip_code' dir='ltr'>&lt;a href="[(#[(#REM)]URL_ACTION_AUTEUR{session,[(#[(#REM)]ENV{session})]-vider-nom,url})]"&gt;<br />texte du lien<br />&lt;/a&gt;</code></p>
144                        </div>
145
146                </div><!-- fin contenu -->
147
148                [(#REM) Menu de navigation laterale ]
149                <div id="navigation">
150                        <div class="divers">
151                                <INCLURE(session.php){fond=boite_connexion}>
152                        </div>
153
154                        <INCLURE(session.php){fond=boite_session}{session}>
155
156                        <INCLURE(session.php){fond=boite_donnees}{session}>
157                       
158                        <div class="breves">
159                                <h2 class="menu-titre">Pour plus d'informations</h2>
160                                <ul>
161                                        <li>Auteur&nbsp;: James (c) 2006-2007</li>
162                                        <li>Licence&nbsp;: GNU/GPL (code &amp; doc)</li>
163                                        <li>Sugg&eacute;rer des am&eacute;liorations&nbsp;: <a href="http://listes.rezo.net/mailman/listinfo/spip-zone">spip-zone</a></li>
164                                        <li>Conseils d'utilisation&nbsp;: <a href="http://listes.rezo.net/mailman/listinfo/spip">liste utilisateurs</a></li>
165                                        <li>Int&eacute;gration dans un squelette sans passer par l'installation du plugin <a href="http://sarka-spip.com/spip.php?article278">sarka-spip.com</a></li>
166                                </ul>
167                        </div>
168                </div>
169
170        </div><!-- fin conteneur -->
171
172        [(#REM) Pied de page ]
173        <INCLURE{fond=inc-pied}{skel=#SQUELETTE}>
174
175</div><!-- fin page -->
176#SPIP_CRON
177</body>
178</html>
Note: See TracBrowser for help on using the repository browser.