[1.8.3] cache, inclure et delais à 0 pour authentification .

Bonjour à tous et à toutes !

J'aurais besoin de votre avis sur un truc...
Je suis en train de restreindre l'affichage des documents dans les articles de mon site.
Pour ce faire donc, je mets le délais à 0 du squelette article, et je restreint comme ça dans mon squelette article :
<?
    if ($auteur_session['statut']) {
?>
<!-- Affichage des documents liés à l'article si authentifié -->
<B_documents_joints>
<div><hr />
<ul>
<BOUCLE_documents_joints(DOCUMENTS) {id_article} {mode=document} {doublons}>
    <li><a href="#URL_DOCUMENT" onclick="window.open(this.href,'_blank');return false;">[(#LOGO_DOCUMENT)]</a>[<b>(#TITRE)</b>][(#DESCRIPTIF)]</li>
</BOUCLE_documents_joints>
</ul>
</div>
</B_documents_joints>
<?
    }
    else
    {
        echo "Seuls les membres ont accès aux documents de cet article".
    }
?>

Le délai est fixé à 0 car on doit vérifier à chaque accès de la page si la personne a le droit de consulter la page, pour éviter q'une personne non authentifiée voit la page mise en cache pour quelqu'un qui s'est authentifié.

Voilà ma question : Plutot que d'avoir un squelette article avec un délais à 0, ne serait il pas mieux d'avoir un squelette article avec un délai par exemple de 7 jours (vu qu'ils ne vont pas changer souvent) DANS LEQUEL il y aurait un inclure d'un page authentification.php3 , cette page ayant un délais à 0 et contenant mon code php d'authentification.

Cela vaut il le coup de faire un include, ou c'est complétement débile car cela revient au même ?

ça fonctionne déjà très bien avec la page article avec un délais à 0, mais je voulais savoir si le fait de passer par un inclure était plus intéressant, notamment pour l'économie des ressources du serveur.

Vous remerciant par avance pour vos réponses.
Cordialement.
Mike

flashmaster <flashmaster <at> andurance.net> writes:

Bonjour à tous et à toutes !

J'aurais besoin de votre avis sur un truc...
Je suis en train de restreindre l'affichage des documents dans les
articles de mon site.
Pour ce faire donc, je mets le délais à 0 du squelette article, et je
restreint comme ça dans mon squelette article :
<?
    if ($auteur_session['statut']) {
?>
<!-- Affichage des documents liés à l'article si authentifié -->
<B_documents_joints>
<div><hr />
<ul>
<BOUCLE_documents_joints(DOCUMENTS) {id_article} {mode=document} {doublons}>
    <li><a href="#URL_DOCUMENT"
onclick="window.open(this.href,'_blank');return
false;">[(#LOGO_DOCUMENT)]</a>[<b>(#TITRE)</b>][(#DESCRIPTIF)]</li>
</BOUCLE_documents_joints>
</ul>
</div>
</B_documents_joints>
<?
    }
    else
    {
        echo "Seuls les membres ont accès aux documents de cet article".
    }
?>

J'ai fait exactement la même chose, et je n'ai pas mis le cache à 0 mais à 2
jours et ca marche
pourquoi ?
parce que le code généré en cache conserve le php d'autentification ie le
cache comporte un fichier qui dit
<?
     if ($auteur_session['statut']) {
?>

ici a été généré le code HTML avec le logo le titre et le descriptif issus de
la boucle
     }
     else
     {
         echo "Seuls les membres ont accès aux documents de cet article".
     }
?>

quand cette page du cache est appelé, le Php est interprété, et à ce moment
là, selon que tu soit authentifié sur le pc ou tu consulte ou pas, le résultat
de la page affichée dans le navigateur sera différent

en fait ca marche comme ca
squelette => interprétation des boucle mais pas du php => cache =>
interprétation du php par le serveur => navigateur

Fabienne

(PS dans mon cas, je récupère même l'id de la personne authetifié pour selon
l'id en question ne pas affiché les même documents, et ca fonctionnne ! )

Bonjour Mike,

Je viens justement de me poser la question.
Je viens d'adapter une de mes contribs pour 1.9
qui utilise les mots-clés pour réserver l'accès à une page:
http://monsitespip.com/spip.php?article4

J'utilise un truc simple:
j'ai deux pages article.html
- une qui filtre selon le statut s'il y a un mot clé du groupe Accessibilité qui oriente sur une page de login public si l'auteur n'est pas connecté.
- une seconde qui est l'affichage normal avec le délais de ton choix

Il suffit de profiter de la possibilité de définir plus d'un dossier squelette.
La première est dans le permier dossier squelette et est donc interprété en premier.
La seconde est appellée par un INCLURE dans la première en spécifiant sont chemin vers le second dossier.

Si ça peut t'aider...

Iago

----- Original Message ----- From: "flashmaster" <flashmaster@andurance.net>
To: <spip@rezo.net>
Sent: Thursday, July 20, 2006 10:49 AM
Subject: [Spip] [1.8.3] cache, inclure et delais à 0 pour authentification .

Bonjour à tous et à toutes !

J'aurais besoin de votre avis sur un truc...
Je suis en train de restreindre l'affichage des documents dans les
articles de mon site.
Pour ce faire donc, je mets le délais à 0 du squelette article, et je
restreint comme ça dans mon squelette article :
<?
    if ($auteur_session['statut']) {
?>
<!-- Affichage des documents liés à l'article si authentifié -->
<B_documents_joints>
<div><hr />
<ul>
<BOUCLE_documents_joints(DOCUMENTS) {id_article} {mode=document} {doublons}>
    <li><a href="#URL_DOCUMENT"
onclick="window.open(this.href,'_blank');return
false;">[(#LOGO_DOCUMENT)]</a>[<b>(#TITRE)</b>][(#DESCRIPTIF)]</li>
</BOUCLE_documents_joints>
</ul>
</div>
</B_documents_joints>
<?
    }
    else
    {
        echo "Seuls les membres ont accès aux documents de cet article".
    }
?>

Le délai est fixé à 0 car on doit vérifier à chaque accès de la page si
la personne a le droit de consulter la page, pour éviter q'une personne
non authentifiée voit la page mise en cache pour quelqu'un qui s'est
authentifié.

Voilà ma question : Plutot que d'avoir un squelette article avec un
délais à 0, ne serait il pas mieux d'avoir un squelette article avec un
délai par exemple de 7 jours (vu qu'ils ne vont pas changer souvent)
DANS LEQUEL il y aurait un inclure d'un page authentification.php3 ,
cette page ayant un délais à 0 et contenant mon code php d'authentification.

Cela vaut il le coup de faire un include, ou c'est complétement débile
car cela revient au même ?

ça fonctionne déjà très bien avec la page article avec un délais à 0,
mais je voulais savoir si le fait de passer par un inclure était plus
intéressant, notamment pour l'économie des ressources du serveur.

Vous remerciant par avance pour vos réponses.
Cordialement.
Mike

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ