Présentation
Vous devez obligatoirement avoir activé le plugin balise Session
Le plugin Crayons est optionnel mais si vous l’activez cela vous permettra de tester la modification d’un article sans jamais quitter l’espace public, ce qui est le but de cette contrib ;)
Cette contrib ne fonctionne qu’en spip SVN et future version 1.9.2
Plutôt que de longues explications, voici une image pour montrer ce que cela fait .

Rappel à propos des squelettes SPIP
SPIP propose un jeu de squelettes par defaut plaçé dans le dossier « /dist », ne supprimez pas ces fichiers et ne les modifiez pas, car vos modifications seraient perdues lors de la prochaine mise à jour de spip, inspirez vous seulement des codes.
Pour personnaliser vos squelettes, vous devez créer un dossier à la racine de votre site (comme dist) et le nommer squelettes puis y mettre vos fichiers personnalisés (inspirez vous des fichiers de la dist). Tout fichier placé dans votre dossier « /squelettes » prendra la main sur celui de même nom du dossier /dist. Par exemple, dans cette contrib nous allons dupliquer « dist/inc-pied.html » dans le dossier « /squelettes » (dossier à créer à la racine si il n’existe pas).
Ce tutorial nécessite
- la création d’un dossier nommé squelettes à la racine
- la modification après duplication depuis le dossier dist de inc-pied.html
- la modification après duplication depuis le dossier dist de article.html
- la création d’un fichier nommé login-logout.html
- tous ces fichiers seront evidemment plaçés dans le dossier squelettes
Modifiez le pied de page
Donc, recopions « dist/inc-pied.html » dans le dossier de squelettes.
On va demander l’inclusion du fichier qui affiche les icones suivant les droits du visiteur, soit login-logout.html, via la session.php (vous devez activer le plugin balise session). On transmet la variable connexion mais aussi id_article ET id_rubrique pour bien rester dans la page sur laquelle on est, puisqu’il y a mise en cache. Puis on va demander l’affichage de la boîte d’identification si on passe par l’url la valeur y dans la variable connexion.
Si le visiteur est connecté ou non c’est à dire si une session a été ouverte pour le visiteur, l’inclusion de login-logout.html permet d’activer via la balise #SESSION{id_auteur}, l’appel des icones et des liens correspondants au statut connecté / pas connecté.
Code de login-logout.html
Dans les pages article, rubrique ...
Dans les pages ou vous avez un include de inc-pied si vous souhaitez utiliser cette contrib, vous devez modifier une ligne de code pour transmettre les valeurs des variables, par exemple dans article.html à la place de
vous mettez
Toujours sur le principe de duplication des fichiers dist vers le dossier squelettes.
Pour aller plus loin
Dans le style CSS
Modifiez votre feuille de style css pour afficher le bloc d’identification sur votre page en position:absolute;!
Pour pousser un peu plus, vous pouvez aussi créer un dossier balise dans votre dossier squelettes et y recopier depuis ecrire/balise/login_public.php en modifiant la ligne de rappel ..par ici... Ligne 72 de login_public.php
Conclusion
J’espère que cette contribution aidera la prise en main de rédacteurs peu amènes à passer par l’interface privé pour utiliser les superbes fonctionnalités de crayons.
Vous trouverez un zip joint pour tester les 3 fichiers nécessaires qui sont à mettre dans un dossier squelettes avec une image de crayon, l’autre image (logout deconnecter-24.gif) existant déjà dans votre site SPIP.
Le test sur ces fichiers se fera en appelant la page
http://example.org/spip.php?page=article-login-logout&id_article=xx



login-logout.zip
Vos commentaires
# Le 16 avril 2009 à 00:06, par valentin
En réponse à : Un login/logout dans le pied qui fait du bien
Bonjour,
Le plugin Lgin/Logout a-t-il été porté sous SPIP 2.0 ?
Merci d’avance,
# Le 8 juin 2009 à 10:31, par barbs
En réponse à : Un login/logout dans le pied qui fait du bien
Bonjour,
Je fonctionne également avec spip 2 et serai bigrement intéressé pour savoir si ce plugin a été adapté à spip 2.
Ce serait « super ».
Merci
babrs
# Le 15 octobre 2007 à 18:28, par ivandps
En réponse à : cache
bonjour
merci pour ce script.
lorsque le clique pour me logguer, j’ai le double pied de page qui apparaît, jusq’uà ce que je clique sur le « Recalculer cette page* » qui va bien...
question : est il possible d’éviter ce rafraichissement manuel ?
Merci
# Le 15 octobre 2007 à 18:46, par echo
En réponse à : cache
C’est bizarre, je ne vois pas pourquoi il y a un double pied de page...
est ce que tu n’as pas déjà dans ta page un appel au pied de page de la dist ?
peux tu mettre un lien que je vois ou est le problème ?
# Le 27 mai 2007 à 12:29, par stef
En réponse à : Un login/logout dans le pied qui fait du bien
J’avais un bogue : un clic sur le logo de connexion n’affichait pas la page sur laquelle je me trouvais, mais une autre venant d’un autre utilisateur. C’était lié à mon squelette, le fichier login-logout.html étant conservé en cache par spip : il me redirigeait donc sur la dernière page mise en mémoire lors d’un clic sur le logo !
J’ai ajouté la balise #CACHE0 en tête de login-logout.html et ça semble fonctionner correctement (enfin j’espère)
# Le 23 mai 2007 à 13:17, par stephane
En réponse à : Un login/logout dans le pied qui fait du bien
Bonjour, et merci pour cette modif très utile que j’aimerais utiliser pour permettre à mes visiteurs de se connecter.
Mon souci est que pour un visiteur, après la connexion, le formulaire de login se ré-affiche inutilement. Le visiteur est pourtant bien connecté (j’ai mis un petit message de bienvenue pour le vérifier) mais l’adresse de la page est alors suivie du « ?connexion=y », je suppose que c’est ce qui commande le ré-affichage du login :
/index.php ?connexion=y
Bizarrement cela ne me le fait pas en local avec easyphp : l’adresse finale après connexion est du genre : http://127.0.0.1/?var_erreur=pass&url=.%2F
D’où cela pourrait-il venir ? du rewrite « propre » du htaccess ? Est-ce que l’on peut modifier le comportement du self pour qu’il redirige le visiteur après la connexion sur la page sans ajouter « connexion=y » ?
Info : spip 1.9.2a, OVH, htaccess avec un rewrite « propre ».
# Le 27 mai 2007 à 08:43, par Stef
En réponse à : Un login/logout dans le pied qui fait du bien
Je me complète :
Cela semble lié au message d’erreur qu’un visiteur voit s’afficher lorsqu’il se connecte en passant par l’espace privé « vous avez tenté d’accéder à l’espace privé etc. » avec ré-affichage du formulaire.
Dans l’accès par le pied de page, le formulaire est donc réaffiché, heureusement sans le message d’avertissement. C’est un moindre mal, mes visiteurs abonnés feront avec.
Merci pour la contrib, c’est vraiment un plus.
# Le 20 mars 2007 à 22:17, par FdM
En réponse à : Un login/logout dans le pied qui fait du bien
Merci pour cette contribution. Elle fonctionne bien sur Firefox, mais sur Internet Explorer la superposition de la boîte de login n’est pas impec : elle fusionne partiellement avec la page.
Je sais que IE ne suis pas les standard mais comme il reste encore un navigateur dominant. N’y-at’il pas un truc de CSS pour règler un peu mieux l’empilement ?
Merci
FDM
# Le 20 mars 2007 à 22:33, par ?
En réponse à : Un login/logout dans le pied qui fait du bien
Il y a plusieurs paramètres qui jouent, le navigateur IE ta version stp ?, ton squelette avec un div manquant ?, la css proposée qui fixe le bloc dans la page en position absolute
Donc, si tu utilises la css proposé en option
#connexion{position:absolute; top:150px; left:150px; width:400px; font-size:0.8em; z-index:1000; background-color:#FFCC66;}le div englobant doit être en position:relative, (dans le squelette par defaut ç’est comme ça) tu peux aussi modifier le top et le left, sachant que top:0px ; left:0px ; donnera le coin superieur gauche du div englobant
sinon, retire simplement la css, le bloc de login devrait alors se positionner sous le pied de page (en relatif donc)
# Le 18 mars 2007 à 17:46, par Bulbaga
En réponse à : logout
Contrib qui marche impeccablement mais j’aimerai que lorsque l’on se déconnecte, le cookie de reconnaissance de login soit aussi effacé, pour repartir d’un reconnexion vierge.
Quel fichier modifier pour celà ? Merci.
# Le 18 mars 2007 à 23:25, par ?
En réponse à : logout
C’est une bonne idée effectivement !
Après quelques recherches, la seule façon que j’ai trouvé est de modifier le fichier action/logout.php avec la ligne
spip_setcookie('spip_admin', '', time() - 3600 * 24);à la date d’aujourd’hui (18 mars 2007) ç’est ligne 36
if ($_COOKIE['spip_session']) {$session = charger_fonction('session', 'inc');
$session($auteur_session['id_auteur']);
spip_setcookie('spip_session', '', 0);
spip_setcookie('spip_admin', '', time() - 3600 * 24);
}
# Le 19 mars 2007 à 08:44, par Bulbaga
En réponse à : logout
Merci beaucoup, ça marche.
# Le 15 mars 2007 à 13:48, par chankalan
En réponse à : Un login/logout dans le pied qui fait du bien
Bonjour,
merci pour cette contrib très claire et utile, très bon complément du crayon...
j’ai pourtant un p’tit soucis : quel est le fichier session.php qui est déclaré manquant... je ne pense pas avoir oublié une étape, si ?
- erreur provoquée :
# Erreur(s) dans le squelette
* Erreur sur le site, - Fichier session.php introuvable
# Le 15 mars 2007 à 18:08, par ?
En réponse à : Un login/logout dans le pied qui fait du bien
Il faut activer auparavant le plugin balise #SESSION dans lequel se trouve le fichier !
Pour cela, installez le dossier du plugin session dans le dossier plugins de votre spip et rendez vous sur la page de gestion des plugins (http://spip/ecrire/?exec=admin_plugin) pour l’activer !
# Le 16 mars 2007 à 10:26, par ?
En réponse à : Un login/logout dans le pied qui fait du bien
merci beaucoup !