•  » Plugins
  •  » Insensible à la casse...

#211 2011-01-05 12:05:29

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16915

Re: Insensible à la casse...

petite ()

est ce que vous avez bien a l'esprit l'utilisation par certain de l'identification externe ?


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#212 2011-01-05 12:06:42

Whiler
Membre
Clichy
2004-12-24
189

Re: Insensible à la casse...

Avant :     Béa BÉATRICE
Après :     béa béatrice
strtolower :     béa bÉatrice
mb_strtolower (ISO-8859-1) :     béa béatrice
LucMorizur: 0.00103 s.
strtolower: 0.00001 s.
mb_strtolower: 0.00004 s.


A voir... mais bon.. mes tests ont été faits pour le défavoriser :
- sous windows avec un serveur qui rame...
- L'initialisation de ses tableaux est incluse...

Dans tous les cas, sa solution ne nécessite aucune extension spécifique côté serveur... ce qui est un grand plus !

Dernière modification par Whiler (2011-01-05 12:11:36)

Hors ligne

#213 2011-01-05 12:10:31

Whiler
Membre
Clichy
2004-12-24
189

Re: Insensible à la casse...

ddtddt a écrit:

petite ()

est ce que vous avez bien a l'esprit l'utilisation par certain de l'identification externe ?

T'as un pointeur ?
Personnellement, non, j'n'savais même pas que cette option existait...
C'est basé sur plusieurs trucs (ldap, google, ...) ?

Concernant ce topic, ce n'est pas gênant, puisque l'on est sur une extension qui ne sera clairement pas installée par ceux qui utilisent ce mécanisme ;o) (par contre.. pour une éventuelle intégration au core... il suffira de ne pas l'activer dans ce contexte ;op)

Dernière modification par Whiler (2011-01-05 12:12:38)

Hors ligne

#214 2011-01-05 12:16:13

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: Insensible à la casse...

ddtddt a écrit:

petite ()

est ce que vous avez bien a l'esprit l'utilisation par certain de l'identification externe ?

Parenthèse très pertinente, merci ddtddt ! J'irai même plus loin : Quid de l'usage de $conf['apache_authentication'] ?

A mon sens, LCAS ne peut / doit pas être utilisé dans ces cas de figure.

Hors ligne

#215 2011-01-05 12:20:25

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: Insensible à la casse...

Whiler a écrit:

Personnellement, non, j'n'savais même pas que cette option existait...
C'est basé sur plusieurs trucs (ldap, google, ...) ?

Non, pas de LDAP mais possibilité d'authentification Apache ou via une table d'utilisateurs externe à Piwigo, moyennant mappage des champs.

Hors ligne

#216 2011-01-05 12:21:06

Whiler
Membre
Clichy
2004-12-24
189

Re: Insensible à la casse...

Eric a écrit:

$conf['apache_authentication']

A mon sens, LCAS ne peut / doit pas être utilisé dans ces cas de figure.

Juste pour être certain de bien comprendre....

Si c'est basé sur une authentification apache... le trigger qui va bien ne serait  pas déclenché et donc LCAS, actif ou non serait tout simplement ignoré ?

Hors ligne

#217 2011-01-05 12:36:57

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: Insensible à la casse...

Whiler a écrit:

Si c'est basé sur une authentification apache... le trigger qui va bien ne serait  pas déclenché et donc LCAS, actif ou non serait tout simplement ignoré ?

Non car LCAS ne s'appuie pas sur un trigger à l'identification mais surcharge le fichier identification.php qui est commun à tout type d'authentification (interne, externe et Apache). Mais j'avoue ne pas maitriser le fonctionnement de l'authentification Apache.

Pour l'authentification sur table externe (autre CMS par exemple), après réflexion, LCAS ne devrait pas poser de problème sauf si le CMS en question ne gère pas les casses et accents. Par exemple, si Piwigo s'appuie sur la table users de Joomla (les création de comptes se font donc via Joomla) et que Joomla ne gère pas les casses et accents des users qui s'inscrivent, on va avoir des problèmes...

D'où ma position de ne pas activer LCAS dans ces cas (ajouter un contrôle à l'activation du plugin sur les $conf concernées ?).

Hors ligne

#218 2011-01-05 12:41:56

Whiler
Membre
Clichy
2004-12-24
189

Re: Insensible à la casse...

LucMorizur a écrit:

[Subversion] r8475

S'il y a ambiguïté entre certains comptes (existence de Test1 ET de TEST1 avant l'activation de LCAS), les comptes en question ne seront identifiés que s'ils respectent totalement leur casse et/ou accentuation. Par contre les autres comptes ne provoquant pas d'ambiguïté, bénéficieront de l'insensibilité à la casse et/ou aux accents mise(s) en place par LCAS.

On tombe dans ce cas là ?

Dernière modification par Whiler (2011-01-05 12:42:43)

Hors ligne

#219 2011-01-09 22:42:43

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Insensible à la casse...

Bonsoir ;

bon, pas mal de choses de ma part ce soir, mais surtout niveau discussion ; pour ce qui est du code ce n'est pas énorme en termes de fonctionnalités. Malgré tout j'ai fait une livraison :

[Subversion] r8565

* [Bugtracker] ticket 2100
En fait à l'origine, lorsque j'ai codé la fonction aujourd'hui utilisée sous le nom de LCAS_change_case dans LCAS, j'utilisais la variable $lang car je voulais qu'un webmestre voulant utiliser cette fonctionnalité, mais dans une autre langue que celles écrites en Grec, Latin ou Cyrillique, puisse ajouter une table de remplacement de caractères, adaptée à sa langue. Ou bien aussi qu'il puisse corriger d'éventuelles erreurs des tables d'origine. En fait utiliser $lang est idiot, car cette fonctionnalité est indépendante de la langue. Néanmoins je voudrais garder cette possibilité, et que le rajout de la table en question puisse être fait via LocalFiles Editor. D'où mise en place des tables en question sur $conf.

Ce que j'aimerais bien maintenant, c'est donner la possibilité au webmestre de visualiser les tables en questions, ce pourquoi j'ai externalisé ces tables dans un fichier à part, lequel est appelé par un include() dans LCAS_change_case. Il ne s'agit que de visualiser, afin de pouvoir copier-coller dans ./local/config/config.inc.php via LocalFiles Editor.

Qu'en pensez-vous, êtes-vous d'accord ?

Cela implique par contre un changement sur l'interface d'administration, car il faudrait proposer au webmestre :

  o Casse et accents sensibles (plugin désactivé)
  o Insensibilité à la casse
  o Insensibilité aux accents
  o Insensibilité à la casse et aux accents
  o Table personnalisée (voir tables d'origine)

Dans ces boutons d'option, le dernier cas ne serait sélectionnable que s'il existe $conf['LCAS_replacement_set'][0] . Le "voir tables d'origine" serait un lien vers un nouvel onglet dans LCAS, qui afficherait le contenu du fichier LCAS_replacement_set.inc.php que j'ai rajouté dans ma livraison, lequel est déjà conçu pour être le plus pédagogique possible dans l'optique de rajouter une table.

Voilivoilou ; par contre comme je n'ai pas du tout participé à la mise en place de l'interface d'admin, ainsi qu'à la gestion du stockage des options choisies en BDD, je ne me suis pas aventuré à modifier cette partie-là :-/ ... si cette fonctionnalité vous plaît, pourriez-vous vous en occuper svp ? :-/ ...........



* un peu de nettoyage de code

Whiler a écrit:

Avant :     Béa BÉATRICE
Après :     béa béatrice
strtolower :     béa bÉatrice
mb_strtolower (ISO-8859-1) :     béa béatrice
LucMorizur: 0.00103 s.
strtolower: 0.00001 s.
mb_strtolower: 0.00004 s.

Eh oui :-/ ... deux "foreach" imbriqués sur un tableau de plus de cent lignes dans le meilleur des cas...
J'ai donc retiré la capacité à $Username dans LCAS_change_case($Username, $Option) , d'être un tableau. Je ne suis pas sûr que ça soit notable sur l'efficacité du code -_- ... mais bon, a priori ce ne sera jamais utilisé autrement de toutes façons.


Bon ; sinon :

ddtddt a écrit:

petite ()

est ce que vous avez bien a l'esprit l'utilisation par certain de l'identification externe ?

Euh, non, pas du tout en ce qui me concerne.
Excellente question ddtddt, merci de l'avoir posée |-( ...
;-)
Ben en fait :
_ dans le cas d'une authentification Apache, si j'ai bien compris la chose, les identifiants et mots de passe sont stockés dans un fichier .htpasswd => rien à voir avec le PHP de Piwigo, donc LCAS inactif. Correct ?
_ pour ce qui est d'une "identification externe", là, tout dépend de savoir où est située la table des identifiants et mots de passe, non ? En tous cas si ce n'est pas celle de Piwigo, de toutes façons => plouf.

Eric a écrit:

A mon sens, LCAS ne peut / doit pas être utilisé dans ces cas de figure.

+1

Whiler a écrit:

LucMorizur a écrit:

[Subversion] r8475

S'il y a ambiguïté entre certains comptes (existence de Test1 ET de TEST1 avant l'activation de LCAS), les comptes en question ne seront identifiés que s'ils respectent totalement leur casse et/ou accentuation. Par contre les autres comptes ne provoquant pas d'ambiguïté, bénéficieront de l'insensibilité à la casse et/ou aux accents mise(s) en place par LCAS.

On tombe dans ce cas là ?

A priori telle que je comprends la discussion, la question de Whiler est liée au questionnement précédent, sur "l'identification externe". Si c'est bien le cas, je ne sais pas répondre à la question :-/ .


Voilà ; ensuite, je pense regarder les cas de contrôle à l'enregistrement.

À bientôt !

Dernière modification par LucMorizur (2011-01-10 13:31:22)

Hors ligne

#220 2011-01-10 13:41:05

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Insensible à la casse...

LucMorizur a écrit:

(...) Cela implique par contre un changement sur l'interface d'administration, car il faudrait proposer au webmestre :

  o Casse et accents sensibles (plugin désactivé)
  o Insensibilité à la casse
  o Insensibilité aux accents
  o Insensibilité à la casse et aux accents
  o Table personnalisée (voir tables d'origine)

Plus exactement :

  o LCAS inactif, insensibilité à la casse | casse sensible : $conf['insensitive_case_logon'] = true | false
  o Insensibilité à la casse (plus complète que par défaut)
  o Insensibilité aux accents
  o Insensibilité à la casse et aux accents
  o Table personnalisée (voir tables d'origine)

Avec, sur la première ligne, insensibilité à la casse et casse sensible ; et true et false affichés en fonction de l'état de $conf['insensitive_case_logon'] ; et toutes les autres options grisées, et donc la première sélectionnée par défaut, si $conf['insensitive_case_logon'] vaut false.

Si vous êtes d'accord.

Dernière modification par LucMorizur (2011-01-10 13:42:15)

Hors ligne

#221 2011-01-10 18:39:02

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: Insensible à la casse...

Salut Luc,

J'avoue ne pas trop comprendre où tu veux en venir. :-/

LucMorizur a écrit:

o LCAS inactif, insensibilité à la casse | casse sensible : $conf['insensitive_case_logon'] = true | false
  o Insensibilité à la casse (plus complète que par défaut)
  o Insensibilité aux accents
  o Insensibilité à la casse et aux accents
  o Table personnalisée (voir tables d'origine)

Avec, sur la première ligne, insensibilité à la casse et casse sensible ; et true et false affichés en fonction de l'état de $conf['insensitive_case_logon'] ; et toutes les autres options grisées, et donc la première sélectionnée par défaut, si $conf['insensitive_case_logon'] vaut false.

A mon sens, si $conf['insensitive_case_logon'] = false, le plugin ne devrait même pas pouvoir s'activer (idem si la galerie utilise une authentification externe ou Apache). Un message d'explication dans l'erreur d'activation devrait suffire au webmestre pour s'orienter vers LocalFiles Editor et faire les modifications qui s'imposent avant de retenter l'activation.

J'ai commencé à traiter le sujet dans [Bugtracker] ticket 2099 mais c'est malheureusement mon tour de manquer cruellement de disponibilité...

Dans le cas "Insensibilité à la casse et aux accents", il suffit d'activer simultanément les deux options précédentes. Pourquoi faire plus complexe ? D'autant qu'il faudrait alors transformer les contrôles d'options (olives vs cases à cocher) et tester les valeurs de chacune pour éviter les conflits ou les incompréhensions des webmestres. Par exemple:
- Si Insensibilité à la casse = On alors Insensibilité aux accents = Off et Insensibilité à la casse et aux accents = Off
- Si Insensibilité aux accents = On alors Insensibilité à la casse = Off et Insensibilité à la casse et aux accents = Off
- Si Insensibilité à la casse et aux accents = On alors Insensibilité à la casse = Off et Insensibilité aux accents = Off
...

Bref un peu compliqué pour un résultat pas forcément plus clair pour les webmestres, non ? D'expérience, avec UAM, je pense qu'il faut cibler la simplification au maximum et mettre en avant les différences entre les contrôles à l'identification et à l'inscription (à l'inscription actuellement traitée en partie par Piwigo).

Maintenant, comme dit au début, je cerne mal ton but et peut-être n'ai-je rien compris à ta démarche ;-)

Hors ligne

#222 2011-01-10 19:14:28

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Insensible à la casse...

Eric a écrit:

A mon sens, si $conf['insensitive_case_logon'] = false, le plugin ne devrait même pas pouvoir s'activer (idem si la galerie utilise une authentification externe ou Apache). Un message d'explication dans l'erreur d'activation devrait suffire au webmestre pour s'orienter vers LocalFiles Editor et faire les modifications qui s'imposent avant de retenter l'activation.

J'ai commencé à traiter le sujet dans [Bugtracker] ticket 2099 mais c'est malheureusement mon tour de manquer cruellement de disponibilité...

+1

Je n'avais effectivement pas vu ça comme ça, mais je suis d'accord.

Eric a écrit:

Dans le cas "Insensibilité à la casse et aux accents", il suffit d'activer simultanément les deux options précédentes. Pourquoi faire plus complexe ?

Personnellement, je ne voyais pas cela plus complexe.

En fait, aux trois cas que LCAS peut traiter, je voudrais en rajouter un : celui où l'utilisateur définit lui-même une table de correspondance de caractères.

Il est vrai qu'actuellement, le stockage des options en BDD considère qu'il y a deux fonctionnalités, l'insensibilité à la casse, et celle aux accents, et stocke si chacune d'elles est activée ou non. Je voudrais changer cela, pour définir qu'il y a quatre cas, l'insensibilité à la casse, celle aux accents, celle aux deux, et enfin la table personnalisée. Serait donc stocké en BDD, au lieu de deux valeurs "true" ou "false" (je crois que c'est ce qui est fait actuellement), une seule valeur de 0 à 3, correspondant au tableau de $conf['LCAS_replacement_set'] à utiliser.

Cela me paraît assez simple : en effet il faut remplacer les quatre cases à cocher actuelles par des boutons radio (ou boutons d'option, ou olives ; c'est ce que je voulais représenter par mes "  o"), mais il suffit de les inclure dans le même groupe (c'est avec la balise name je crois) pour qu'un et un seul soit sélectionnable ; de toutes façons ce que tu reçois à la validation du formulaire est un $_POST avec une seule possibilité, il n'y a donc pas lieu (même pas possibilité d'ailleurs) de vérifier les quatre. Ensuite à chacun des cas tu affectes une valeur, que tu stockes en BDD et qui représente le numéro du tableau à utiliser. La seule vérification à effectuer est l'existence ou non de $conf['LCAS_replacement_set'][0] , pour savoir si l'option "table personnalisée" doit être proposée ou pas.

Espérant avoir été convaincant :-/ ...

:-)

Hors ligne

#223 2011-01-10 21:07:40

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: Insensible à la casse...

Ok ! Je n'avais pas compris que les "o" étaient des olives (boutons d'option) et que tu voulais ajouter un tableau de correspondance personnalisable. :-)

Avec ces explications, je ne peux que "plussoyer". Toutefois, je ne sais pas comment tu vois la chose pour le stockage de cette nouvelle table de correspondances personnalisable mais je pense qu'une table de bdd dédiée serait bien. Quelque chose comme #_LCAS_ConvertionTable ?

Hors ligne

#224 2011-01-10 21:20:04

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Insensible à la casse...

Eric a écrit:

Avec ces explications, je ne peux que "plussoyer".

Cool !

Eric a écrit:

Toutefois, je ne sais pas comment tu vois la chose pour le stockage de cette nouvelle table de correspondances personnalisable mais je pense qu'une table de bdd dédiée serait bien. Quelque chose comme #_LCAS_ConvertionTable ?

Euh, non, en BDD n'est stocké que l'option choisie par le webmestre. Pour ce qui est de la table personnalisée, elle est définie par le webmestre dans ./local/config/config.inc.php . Dans ./plugins/LCAS/include/LCAS_replacement_set.inc.php , sont définies les trois tables $conf['LCAS_replacement_set'][1] (insensibilité à la casse), $conf['LCAS_replacement_set'][2] (insensibilité aux accents), et $conf['LCAS_replacement_set'][3] (insensibilité aux deux). Dans ./local/config/config.inc.php , le webmestre peut définir $conf['LCAS_replacement_set'][0] , qui sera la table personnalisée.

Hors ligne

#225 2011-01-10 21:52:25

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1969

Re: Insensible à la casse...

Eric a écrit:

Toutefois, je ne sais pas comment tu vois la chose pour le stockage de cette nouvelle table de correspondances personnalisable mais je pense qu'une table de bdd dédiée serait bien. Quelque chose comme #_LCAS_ConvertionTable ?

Oups, mille pardons : j'emploie le même mot pour deux choses différentes :-/ ... à savoir, le mot "table" pour à la fois les tableaux définis dans le PHP (variables de type array() ), et les tables définies dans la BDD... tsss....

Or donc, j'ai l'intention de permettre au webmestre de se définir son tableau personnalisé de correspondance de caractères... si ça vous va...

Hors ligne

  •  » Plugins
  •  » Insensible à la casse...

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact