[spip-dev] identification(s)

Coucou,

j'ai reréfléchi à notre discussion sur l'identification, pour arriver à la
conclusion qu'il y a une solution :wink:

#IDENTIFICATION : proposerait un formulaire classique intégré à la page,
login + pass (donc non sécurisé vis-à-vis sniff réseau).

MAIS on passerait en mode sécurisé (via jajascript et challenge md5) :

1) directement s'il y a un cookie de correspondance (ce sera le cas pour les
   admins, en général)

2) si l'utilisateur envoie un login seul (pass vide).

Pour entrer dans ecrire/, on utiliserait le même formulaire, sauf qu'il
passerait directement en mode sécurisé. Ce qui implique qu'on aura toute
possibilité d'offrir ce même code à un tag #IDENTIFICATION_SECURISEE, sans
peine supplémentaire.

Là-dessus, les tags #FORMULAIRE_FORUM devront faire preuve d'un minimum
d'intelligence :

* si le visiteur est identifié, utiliser son nom, email

* si le visiteur n'est pas identifié, et si le forum est sur abo, intégrer
  le tag #IDENTIFICATION (sauf si ce tag est déjà présent dans la page --
  se gère via un static) ; et proposer l'envoi de codes via remplissage
  d'un formulaire 'NOM', 'EMAIL' (et pas seulement email comme maintenant).
  Ne pas proposer le formulaire forum si l'identification n'est pas faite.

L'identification peut donc, si on a des codes et qu'on ne craint pas le
sniff réseau (c'est le cas des 1comite et des 6forum), se faire en une seule
étape ; deux si on n'a pas de codes. Mais pour les admins (surtout les plus
consciencieux) on conserve la sécurité jaja par défaut ou presque.

S'il y a plusieurs étapes, il faudra un rechargement de la page, et là le
webmaestro a le choix entre page intermédiaire façon /forum.php3, ou un
popup façon 'envoi des codes forums', ou encore un truc directement dans la
page façon pétitions... Dans spip actuellement les trois existent, je ne
sais pas s'il faut unifier : à mon avis le pire est la pétition, noyée au
milieu de la page ; le coup de /forum.php3 est le plus pratique pour tous,
finalement (je lâche le popup, hein !).

Si cette feuille de route vous convient, je me mets au boulot.

-- Fil

#IDENTIFICATION : proposerait un formulaire classique intégré à la page,
login + pass (donc non sécurisé vis-à-vis sniff réseau).

MAIS on passerait en mode sécurisé (via jajascript et challenge md5) :

Pourquoi de telles contorsions ? Passons automatiquement en mode sécurisé.

à mon avis le pire est la pétition, noyée au
milieu de la page ; le coup de /forum.php3 est le plus pratique pour tous,
finalement

C'est juste une question de squelette et de webmestre : il suffit de
mettre la pétition sur une page séparée. Après, ça peut être intégré
aux squelettes standard.........

Pourquoi de telles contorsions ? Passons automatiquement en mode sécurisé.

Tout le problème c'est que le mode sécurisé te fait recharger toute la page,
et en POST en plus : si elle est lourde à recalculer pour spip, ou pour le
modem ou pour le navigateur, ça rame. Pas glop. En plus tu te perds dans la
page pour retrouver l'endroit où on te demande ton mot de passe. Double pas
glop.

>à mon avis le pire est la pétition, noyée au milieu de la page ; le coup
>de /forum.php3 est le plus pratique pour tous, finalement

C'est juste une question de squelette et de webmestre : il suffit de
mettre la pétition sur une page séparée. Après, ça peut être intégré
aux squelettes standard.........

Non, si on fait un tag #MACHIN, il doit marcher partout à peu près
correctement, sauf délire webmisterJekyll.

De plus on en reviendrait, si je te suis, à ce que je proposais au départ :
un popup (ou un écran intermédiaire rapide à charger). Or c'est ce que vous
vouliez éviter !!

-- Fil

Fil wrote:

Tout le problème c'est que le mode sécurisé te fait recharger toute la page,
et en POST en plus : si elle est lourde à recalculer pour spip, ou pour le
modem ou pour le navigateur, ça rame. Pas glop. En plus tu te perds dans la
page pour retrouver l'endroit où on te demande ton mot de passe. Double pas
glop.

Dans ce cas on fait une page intermédiaire ; au moins le login sera uniformisé
par rapport à celui de l'espace privé => plus commode à apprivoiser.

En clair (forum abo) :
- si je suis déjà identifié, j'ai le formulaire forum (avec éventuellement
un lien de déconnexion)
- si je ne suis pas identifié, j'ai à la place un texte disant (sur le
principe) "vous devez vous identifier pour contribuer au forum, veuillez
cliquer ici. si vous n'avez pas de compte, cliquer là pour en créer un".
Les deux pages redirigeant vers la page forum une fois terminé.

Non, si on fait un tag #MACHIN, il doit marcher partout à peu près
correctement, sauf délire webmisterJekyll.

Mais il *marche* correctement... C'est au webmestre de mettre la
pétition sur la page séparée s'il a un gros article au-dessus, c'est
tout ! Maintenant, on peut intégrer ça dans les squelettes par défaut,
mais ça n'a rien à voir avec le fonctionnement du tag en soi.
C'est vrai que le formulaire de signature coincé dans la colonne de
gauche, c'est bricolesque...

De plus on en reviendrait, si je te suis, à ce que je proposais au départ :
un popup (ou un écran intermédiaire rapide à charger). Or c'est ce que vous
vouliez éviter !!

L'écran intermédiaire, s'il est inévitable, ne me gêne pas. Ce qui
est un peu plus futile, c'est le pop-up pour remplir deux champs :wink:
(mais je ne suis pas fondamentalement contre non plus, juste que
personnellement je n'aime pas trop)

Dans ce cas on fait une page intermédiaire ; au moins le login sera
uniformisé par rapport à celui de l'espace privé => plus commode à
apprivoiser.

OK. Cet écran doit-il être géré par un squelette (genre /forum.php3) ou
entièrement par spip (façon ecrire/login.php3) ? Je préfère largement la
seconde solution, plus souple à programmer : il suffit en pratique
d'installer login.php3 à la racine plutôt que dans le répertoire ecrire/ --
et la personnalisation de l'image de fond prendra alors toute sa valeur (non
mais !)

-- Fil

Pour ma part, je suis en train de passer toutes les fonctions du login
dans une librairie, excepté l'affichage.

Grossomodo, il y aura une page (login ou popup ou n'importe quoi) qui
apelle les fonctions de vérif/etapes d'identification, une URL de retour
passée à la fonction de vérif pour connaître la page à charger sur les
"submit".

Ce que je fais c'est tenter de dissocier complêtement (enfin.. le plus
possible) la vérif et les différentes étapes de la page qui l'apelle.

Ca permet
1/ d'avoir un login popup si le webmestre le souhaite
2/ de simplifier, on déporte toutes le sfoncitons dans un seul fichier
   au lieu d'avoir un login.php séquenciel
3/ de pouvoir (si le besoin s'en fait sentir un jour) disposer d'un squelette
   de login