[spip-dev] zap_session revu et corrige

Coucou,

J'ai completement nettoye l'interface de zap_session : c'est au moment où on
a réussi à se loger qu'apparaît un gros warning impossible à manquer avec un
bouton proposant de zapper. La formulation elle-même peut être améliorée,
mais je pense que c'est la bonne logique d'interface.

Je bricole aussi un peu login.php3 de manière à éviter des redirects, et, à
terme, à pouvoir l'intégrer complètement dans inc_auth (ce qui permettra, en
particulier, de pouvoir se connecter sur une page donnée sans être contraint
de passer par index.php3... pas fini.)

Au passage, je m'apercois que lorsqu'on se loge, on traine
'essai_cookie=oui' et maintenant 'zap=oui' dans l'URL. C'est laid, y'a
peut-être mieux à faire.

-- Fil

Nooooooonnnn.....

1. Devoir se connecter pour tuer les connexions (et après, ne pas oublier
de se déconnecter !) est incohérent. Si on veut tuer les sessions, on doit
pouvoir le faire sans créer une nouvelle connexion en même temps.
2. Pitié, ne pas vérifier silencieusement le zap_sessions alors que ça scanne
tous les fichiers de ecrire/data !
3. Il ne faut pas exposer par défaut une fonctionnalité difficile à
comprendre. Et pourquoi un "gros warning" qui va effrayer les utilisateurs
alors que ça n'a indique aucun problème sérieux ??

L'interface précédente me semblait largement préférable.

Fil wrote:

Nooooooonnnn.....

Si si !

1. Devoir se connecter pour tuer les connexions (et après, ne pas oublier
de se déconnecter !) est incohérent. Si on veut tuer les sessions, on doit

Tu me dis qu'il faut que les sessions n'apparaissent pas si on n'est pas
logé, il faudrait savoir !

2. Pitié, ne pas vérifier silencieusement le zap_sessions alors que ça
scanne tous les fichiers de ecrire/data !

On doit pouvoir améliorer ça sans problème (cf commentaire du code à cet
endroit)

3. Il ne faut pas exposer par défaut une fonctionnalité difficile à
comprendre. Et pourquoi un "gros warning" qui va effrayer les utilisateurs
alors que ça n'a indique aucun problème sérieux ??

Cette fonctionnalité n'appraît qu'en cas de besoin, avec de la doc, et un
texte "en cas de doute faites ceci"... au lieu du gros warning on peut
mettre un logo plus sympa, mais bon, j'ai pas cherché...

L'interface précédente me semblait largement préférable.

La mienne ou la tienne ? :wink:

-- Fil

@ Antoine Pitrou <antoine@rezo.net> :

1. Devoir se connecter pour tuer les connexions (et après, ne pas oublier

Le malentendu provient d'une différence de conception. Tu parles de
"fonctionnalité", "activable à la demande"... tu imagines donc le scénario
suivant : je me réveille en sueur, je me dis "merde, je me fais pirater ma
session mal déloguée", je saute sur mon ordi et je zappe les sessions
restantes.

En fait, ce que j'ai voulu faire depuis le départ est l'exact inverse : je
me loge tranquillement, il y a une session qui traîne, spip me dit "hé,
regarde bien, apprend à te déloguer, et puis vire cette session qui traîne".

Dans ton scénario le paranoiaque qui connait spip par coeur est heureux.
Dans le mien l'utilisateur lambda apprend qu'il doit se déloguer. Le
paranoiaque se déloge bien de toutes façons :wink:

-- Fil

Fil wrote:

@ Antoine Pitrou <antoine@rezo.net> :

1. Devoir se connecter pour tuer les connexions (et après, ne pas oublier

Le malentendu provient d'une différence de conception. Tu parles de
"fonctionnalité", "activable à la demande"... tu imagines donc le scénario
suivant : je me réveille en sueur, je me dis "merde, je me fais pirater ma
session mal déloguée", je saute sur mon ordi et je zappe les sessions
restantes.

C'est bien l'exemple que tu donnais pour justifier le zap_sessions :
l'activiste traqué à Gênes qui a juste le temps de supprimer ses sessions
avant que les flics ne chopent son matos. C'est pas moi qui l'ai inventé...

A part ce genre de cas extrême, je ne vois pas trop à quoi peut servir
cette fonctionnalité (ben, oui ;-)). Et puis, pour que l'utilisateur
puisse comprendre ce qu'il fait, il faudrait lui expliquer entièrement
comment fonctionnent les sessions, et le transformer en informaticien.

C'est bien l'exemple que tu donnais pour justifier le zap_sessions :
l'activiste traqué à Gênes qui a juste le temps de supprimer ses sessions
avant que les flics ne chopent son matos. C'est pas moi qui l'ai inventé...

Je vois !! L'activiste traqué n'a pas plus le temps de supprimer ses
sessions que de se déloguer. Simplement, dès qu'il sort de la nasse il peut
supprimer ses sessions, tranquillement chez lui ou au cybercafé.

A part ce genre de cas extrême, je ne vois pas trop à quoi peut servir
cette fonctionnalité (ben, oui ;-)).

A te mettre la puce à l'oreille en cas de vol de cookie !

-- Fil

Fil wrote:

A part ce genre de cas extrême, je ne vois pas trop à quoi peut servir
cette fonctionnalité (ben, oui ;-)).

A te mettre la puce à l'oreille en cas de vol de cookie !

Le problème, c'est qu'on ne sait pas précisément d'où vient le warning.
D'autre part, c'est gênant en cas de login partagé (pour les démos,
les auteurs collectifs). Enfin, ça ne met pas, ou mal, la puce à l'oreille
de la plupart des utilisateurs, qui ne comprennent précisément de quoi
il retourne, et vont soit s'affoler pour rien, soit finir par ignorer
mécaniquement l'info (qui ne remplira donc pas son rôle). D'où la
nécessité de n'afficher cette info que sur demande ("options de sécu"
ou équivalent).

Le problème, c'est qu'on ne sait pas précisément d'où vient le warning.

Il faut améliorer le texte explicatif.

D'autre part, c'est gênant en cas de login partagé (pour les démos,
les auteurs collectifs).

Il faut améliorer le texte explicatif.

Enfin, ça ne met pas, ou mal, la puce à l'oreille de la plupart des
utilisateurs, qui ne comprennent précisément de quoi il retourne, et vont
soit s'affoler pour rien, soit finir par ignorer mécaniquement l'info (qui
ne remplira donc pas son rôle).

Il faut améliorer le texte explicatif.

D'où la nécessité de n'afficher cette info que sur demande ("options de
sécu" ou équivalent).

C'est-à-dire tuer la fonctionnalité. Je ne comprends pas ce que tu veux dire.

-- Fil

Fil wrote:

Le problème, c'est qu'on ne sait pas précisément d'où vient le warning.

Il faut améliorer le texte explicatif.

Non, texte ou pas texte, on ne sait pas si le warning vient d'une
session oubliée, d'un autre navigateur ouvert, d'une session restée
dans spip mais tuée lors de la fermeture du navigateur, de quelqu'un
d'autre qui se logge (de façon autorisée ou non), d'un bug....

Imaginons que je me logge à la fois depuis le boulot et chez moi
(courant chez pas mal de gens) : je vais me taper le message
systématiquement, ce qui est inutile et gênant.

(...)

Enfin, ça ne met pas, ou mal, la puce à l'oreille de la plupart des
utilisateurs, qui ne comprennent précisément de quoi il retourne, et vont
soit s'affoler pour rien, soit finir par ignorer mécaniquement l'info (qui
ne remplira donc pas son rôle).

Il faut améliorer le texte explicatif.

Le problème, c'est qu'avec toutes ces améliorations, si on veut que
ça explique à tous, le texte va devoir faire dix pages. On doit mettre
au niveau de tous un concept technique pas très simple (expliquer les
histoires de cookie, de fichiers sur le serveur, de numéros de session
etc). Ca bouffe de la place pour pas grand'chose.

Notons que même après une explication détaillée, ça ne serait pas
limpide. Il faut examiner le code (ou une doc de dix pages) pour
savoir exactement de quoi il retourne.
De même, si Yahoo t'affichait un message du même type à l'entrée du
webmail, tu n'aurais aucun moyen de savoir avec certitude quelle est
la cause du message, et n'en serais pas plus avancé.

D'où la nécessité de n'afficher cette info que sur demande ("options de
sécu" ou équivalent).

C'est-à-dire tuer la fonctionnalité. Je ne comprends pas ce que tu veux dire.

Ca ne tue pas la fonctionnalité (ah ! tiens :p). Ca ne l'active que
pour les gens qui ont envie de l'activer, c'est-à-dire les gens qui
ont une raison sérieuse de vouloir s'en servir (utilisation récente
d'un pc partagé par exemple), en toute connaissance de cause.

Il est inutile de mettre une fonctionnalité de sécurité à disposition
d'utilisateurs qui ne savent pas ce qu'elle signifie.

@ Antoine Pitrou <antoine@rezo.net> :

Imaginons que je me logge à la fois depuis le boulot et chez moi
(courant chez pas mal de gens) : je vais me taper le message
systématiquement, ce qui est inutile et gênant.

Bah non ! Si tu es logé aux deux endroits, tu n'as de warning nulle part.

Le warning n'est présent que juste après que tu as entré ton mot de passe,
pas à chaque page !

-- Fil