Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4346 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  190  191  192  ..  486  487  488  489  490  491
Auteur Sujet :

les développeurs de forums, les 3/4 des forums sont down /o\

n°876049
KangOl
Profil : pointeur
Posté le 18-10-2004 à 15:33:46  profilanswer
 

Reprise du message précédent :
je sais:D


---------------
Nos estans firs di nosse pitite patreye...
mood
Publicité
Posté le 18-10-2004 à 15:33:46  profilanswer
 

n°876102
aspegic500​mg
Posté le 18-10-2004 à 15:53:15  profilanswer
 

Gilbert Gosseyn a écrit :

Bon la en fait je suis emm**** avec mon histoire de groupes utilisateurs et groupes catégories. J'explique :
 
En fait j'utilise ces tables pour gérer la relation entre les utilisateurs, les groupes et les catégories privées :

Code :
  1. mysql_query("CREATE TABLE ".$config."_groupes (
  2.   id_groupe tinyint(3) unsigned NOT NULL auto_increment,
  3.   titre_groupe varchar(32) NOT NULL default '',
  4.   desc_groupe varchar(255) NOT NULL default '',
  5.   PRIMARY KEY  (id_groupe)
  6. ) TYPE=MyISAM;" );
  7. // cree la table des groupes d'utilisateurs
  8. mysql_query("CREATE TABLE ".$config."_grp_cats (
  9.   id_groupe tinyint(3) unsigned NOT NULL default '0',
  10.   id_cat smallint(4) unsigned NOT NULL default '0',
  11.   KEY (id_groupe),
  12.   KEY (id_cat)
  13. ) TYPE=MyISAM;" );
  14. // cree la table d'affectation des groupes aux cats
  15. // gaffe si cat prives sinon tout le monde peut acceder ;) (code PHP)
  16. mysql_query("CREATE TABLE ".$config."_grp_users (
  17.   id_user mediumint(7) unsigned NOT NULL default '0',
  18.   id_groupe tinyint(3) unsigned NOT NULL default '0',
  19.   KEY (id_user),
  20.   KEY (id_groupe)
  21. ) TYPE=MyISAM;" );
  22. // cree la table d'affectation des users aux groupes


Mon problème est que cette "architecture" va m'imposer de faire une double jointure et que les performances vont s'en ressentir ...
Ce que je voulais à la base, c'est qu'un groupe peut contenir 1 ou plusieurs utilisateur(s), qu'un utilisateur peut appartenir à un ou plusieurs groupe(s) et qu'un groupe peut donner accès à une ou plusieurs catégorie(s). Je me demande si je ne devrais pas simplifier mon truc en disant qu'un groupe ne donne accès qu'à une catégorie ... Ca serait plus simple, non ?


 
C'est exactement ce que j'ai fais pour le systeme de droits de mon intranet, c'est plus long à coder mais une fois fait c'est le bonheur, par contre j'ai pas testé les perfs :wahoo:

n°876114
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 18-10-2004 à 15:55:25  profilanswer
 

KangOl a écrit :

je m'explique...
 
GG voulait initialement faire ca

+-------+         +---------+       +--------+      +---------+        +------+
| users |         | grp_usr |       | groups |      | grp_cat |        | cats |
+-------+         +---------+       +--------+      +---------+        +------+
|ID*    |----     |grp*     |-------|ID*     |------|grp*     |    ----|ID*   |
|...    |    `----|usr*     |       |...     |      |cat*     |---'    |...   |
+-------+         +---------+       +--------+      +---------+        +------+


 
par peur d'avoir un surcharge il a finalement fait ceci :

+-------+         +---------+       +--------+        +------+
| users |         | grp_usr |       | groups |        | cats |
+-------+         +---------+       +--------+        +------+
|ID*    |----     |grp*     |-------|ID*     |    ----|ID*   |
|...    |    `----|usr*     |       |IDcat   |---'    |...   |
+-------+         +---------+       +--------+        +------+


 
ce qui equivalent a ceci :  

+-------+         +---------+       +------+
| users |         | usr_cat |       | cats |
+-------+         +---------+       +------+
|ID*    |----     |cat*     |-------|ID*   |
|...    |    `----|usr*     |       |...   |
+-------+         +---------+       +------+


on ne fait que ce passer de la table groupe qui n'est d'aucune utilité, sauf lors de certaine modification d'acces, ou il fait modifier chaque utilisateur individuelement au lieu de modifier un group mais ca doit pouvoir s'arranger par programmation ca !

Mwais dans un temps je vais faire ta solution (affecter un user à une catégorie directement). Je verrai par la suite pour faire ce qu'il faut du coté PHP. Car c'est vrai que la gestion de mase des utilisateurs n'est pas si commune que cela en fin de compte ...


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°876126
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 18-10-2004 à 15:58:53  profilanswer
 

Donc au final je n'utiliserai que cette table :
 

Code :
  1. mysql_query("CREATE TABLE ".$config."_cat_users (
  2.   id_user mediumint(7) unsigned NOT NULL default '0',
  3.   id_cat smallint(4) unsigned NOT NULL default '0',
  4.   KEY (id_user),
  5.   KEY (id_cat)
  6. ) TYPE=MyISAM;" );
  7. // cree la table d'affectation des users aux cat privées

En espérant que cela ne fasse pas une table trop volumineuse :/.


Message édité par Gilbert Gosseyn le 18-10-2004 à 15:59:18

---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°876134
KangOl
Profil : pointeur
Posté le 18-10-2004 à 16:01:34  profilanswer
 

ca donne le meme volume qu'avec les groupe puique pour chaque cat qui necescitait des droit d'acces tu avais une table group et une table d'association...


---------------
Nos estans firs di nosse pitite patreye...
n°876153
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 18-10-2004 à 16:14:17  profilanswer
 

Au final oui je suis d'accord mais les tables en elles-même sont plus petites.


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°876160
KangOl
Profil : pointeur
Posté le 18-10-2004 à 16:20:13  profilanswer
 

non puisqu'il y a autant de groupe que de cat...


---------------
Nos estans firs di nosse pitite patreye...
n°876183
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 18-10-2004 à 16:44:17  profilanswer
 

Ce que je veux dire par la c'est que les tables découpées sont plus légères donc plus rapides à manipuler. Mais bon ... :/


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°876250
skylight
Made in France.
Posté le 18-10-2004 à 17:40:53  profilanswer
 

Gilbert Gosseyn a écrit :

Bon la en fait je suis emm**** avec mon histoire de groupes utilisateurs et groupes catégories. J'explique :
 
En fait j'utilise ces tables pour gérer la relation entre les utilisateurs, les groupes et les catégories privées :

Code :
  1. mysql_query("CREATE TABLE ".$config."_groupes (
  2.   id_groupe tinyint(3) unsigned NOT NULL auto_increment,
  3.   titre_groupe varchar(32) NOT NULL default '',
  4.   desc_groupe varchar(255) NOT NULL default '',
  5.   PRIMARY KEY  (id_groupe)
  6. ) TYPE=MyISAM;" );
  7. // cree la table des groupes d'utilisateurs
  8. mysql_query("CREATE TABLE ".$config."_grp_cats (
  9.   id_groupe tinyint(3) unsigned NOT NULL default '0',
  10.   id_cat smallint(4) unsigned NOT NULL default '0',
  11.   KEY (id_groupe),
  12.   KEY (id_cat)
  13. ) TYPE=MyISAM;" );
  14. // cree la table d'affectation des groupes aux cats
  15. // gaffe si cat prives sinon tout le monde peut acceder ;) (code PHP)
  16. mysql_query("CREATE TABLE ".$config."_grp_users (
  17.   id_user mediumint(7) unsigned NOT NULL default '0',
  18.   id_groupe tinyint(3) unsigned NOT NULL default '0',
  19.   KEY (id_user),
  20.   KEY (id_groupe)
  21. ) TYPE=MyISAM;" );
  22. // cree la table d'affectation des users aux groupes


Mon problème est que cette "architecture" va m'imposer de faire une double jointure et que les performances vont s'en ressentir ...
Ce que je voulais à la base, c'est qu'un groupe peut contenir 1 ou plusieurs utilisateur(s), qu'un utilisateur peut appartenir à un ou plusieurs groupe(s) et qu'un groupe peut donner accès à une ou plusieurs catégorie(s). Je me demande si je ne devrais pas simplifier mon truc en disant qu'un groupe ne donne accès qu'à une catégorie ... Ca serait plus simple, non ?


 
pourquoi tu te forces à faire des jointures ?
 
fais 3 requetes toutes simples, et stockes-les dans des tableaux PHP, et ensuite, utilise le moteur PHP avec les fonctions genre "in_array()"... ca ira beaucoup plus vite ;)
 
j'avais deja commencé a faire ca dans ma v5 :)

n°876278
Gfreeman
http://www.FGFasp.com
Posté le 18-10-2004 à 17:59:57  profilanswer
 

effectivement, c'est beaucoup plus simple, en théorie comme en pratique ;)

mood
Publicité
Posté le 18-10-2004 à 17:59:57  profilanswer
 

n°876283
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 18-10-2004 à 18:02:07  profilanswer
 

Faudrait que je creuse cela alors (et sérieusement).


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°876294
skylight
Made in France.
Posté le 18-10-2004 à 18:07:22  profilanswer
 

pour savoir si tel utilisateur peut accéder a une catégorie :
 
select des groupes dont fait partie l'utilisateur (pas dur)
stockage dans tableau user_grps
 
select des categories accessibles aux groupes (WHERE grp=4 OR grp=5" (pour cela, parcours le tableau précédent)... et stockage dans un tableau "frm_cats"  
 
ensuite, quand tu affiches tes categories, pour chaque catégorie tu regardes dans le tableau "frm_cats" si son ID y est. s'il y est, l'utilisateur y a accès.
 
c'est de tete comme ca, mais ca peut s'optimiser...
l'avantage, c'est que les tableaux ne sont pas lourd du tout (nb de categories, et groupes de l'utilisateur)


Message édité par skylight le 18-10-2004 à 18:07:46
n°876303
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 18-10-2004 à 18:12:19  profilanswer
 

C'est ce que je pensais faire à la base mais je ne voyais pas comment m'en sortir (et j'ai tout laissé au boulot donc pour ce soir :/ ...).
 
Merci pour le tuyau :jap:.


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°876338
aspegic500​mg
Posté le 18-10-2004 à 18:47:26  profilanswer
 

pour mon systeme j'ai ces tables:
 
users
id
nom
...
 
groupes
id
nom
 
actions
id
nom
 
appartenances
iduser
idgroupe
 
droitsdesgroupes
idgroupe
idaction
 
 
Avec ca, un user peut appartenir à plusieurs groupes, et ainsi acquerir tous les droits des groupes dont il fait partie, et chaque groupe à des droits sur plusieurs "actions" (une action peut trés bien être "accés à telle page" ou "supprimer un message ici" ;) )

n°876411
drasche
Posté le 18-10-2004 à 20:17:21  profilanswer
 

j'ai le même système, pas encore vraiment implémenté mais c'est ce à quoi j'ai pensé grosso modo (l'association groupe-droits se fait via une "classe" d'utilisateurs, mais dans le principe, c'est pareil)

n°876520
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 18-10-2004 à 22:20:06  profilanswer
 

Je n'avais pas pensé à une telle architecture car je sépare les levels d'users des accès aux catégories privées. Pour moi, il me parait préférable de ne pas mélanger ces deux choses.


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°876534
aspegic500​mg
Posté le 18-10-2004 à 22:37:07  profilanswer
 

drasche a écrit :

j'ai le même système, pas encore vraiment implémenté mais c'est ce à quoi j'ai pensé grosso modo (l'association groupe-droits se fait via une "classe" d'utilisateurs, mais dans le principe, c'est pareil)


 
Pour moi c'est fonctionnel, j'ai toutes les interfaces, et pour vérifier un droit dans le code, je met ca comme ca:

Code :
  1. if(autorisationAcces('accés au panneau d'administration des news'))
  2. {
  3.   //code du panneau d'admin
  4. }


 
La fonction fait tout, c'est super pratique pour rajouter une vérification quelque part :)

n°876537
skylight
Made in France.
Posté le 18-10-2004 à 22:38:32  profilanswer
 

tu devrais plutot faire un if (!COND) {
 die("blabla" ); (ou require_once("erreur.php" );
die();
}
 
comme ca le reste de ton code est hors conditions... ca facilite la lecture :D

n°876541
dweis
Posté le 18-10-2004 à 22:40:27  profilanswer
 

vous stockez comment les champs binaire vous ?
moi je le faisais bêtement en tinyint mais phpmyadmin suggère d'utiliser des champs enum...

n°876552
skylight
Made in France.
Posté le 18-10-2004 à 22:47:55  profilanswer
 

enum(TRUE,FALSE)
:)
1 octet...

n°876560
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 18-10-2004 à 22:52:35  profilanswer
 

J'hésite pour ma part car je sais utiliser des champs *int like mais les enum ... (je sais j'ai encore énormément à apprendre)


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°876585
aspegic500​mg
Posté le 18-10-2004 à 23:05:01  profilanswer
 

skylight a écrit :

tu devrais plutot faire un if (!COND) {
 die("blabla" ); (ou require_once("erreur.php" );
die();
}
 
comme ca le reste de ton code est hors conditions... ca facilite la lecture :D


 
Surtout pas, car là je vérifie plein de chose dans chaque page: accés à la page, droit d'ajouter, droit de supprimer, etc... et dans ma fonction autorisationAcces, j'ai un argument facultatif qui fait que la fonction ne renvoi rien, exemple:
si je met

Code :
  1. autorisationAcces('action n°1')

, un message est affiché en lieu et place du module demandé, expliquant que la personne n'a pas les droits pour ca (mais de toutes facons si elle n'a pas les droits, elle n'a dû trouver aucun lien pour y aller, donc c'est quelqu'un qui a tapé l'url de la page à la main, trés improbable vu le public à qui ca se destine)
Si je met

Code :
  1. autorisationAcces('action n°2','non')

, la fonction ne renvoi rien, elle va simplement ne pas executer le code dans la condition, ca me sert beaucoup pour afficher ou non un formulaire ou un lien vers ce formulaire, etc etc
 
Des systemes de droits j'en ai fais des tas, et vraiment là je suis arrivé au plus simple à mettre en oeuvre, à maintenir, à utiliser, et vraiment puissant (il me reste à pouvoir permettre d'ajouter un droit en + ou en - pour un utilisateur précis en + des droits de groupes, mais je ne pense pas le faire, l'utilisateur qui manipulera le systeme fera un peu n'importe quoi et perdra du temps + qu'autre chose...)

n°876885
Rainbow_Ef​reet
Posté le 19-10-2004 à 11:59:03  profilanswer
 

Question :  
Pour changer les couleurs steelsheet j'ai mis une select en bas de ma page mais l'enevement onChange n'est pas validé par le xhtml 1.0, qui aurait la solution ?

n°876886
pascal_
Posté le 19-10-2004 à 12:05:51  profilanswer
 

Tu mets un bouton :o

n°876903
Rainbow_Ef​reet
Posté le 19-10-2004 à 12:27:12  profilanswer
 

Oui mais dans l'esprit de garder le onChange ? y a pas uen solution

n°876906
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 19-10-2004 à 12:30:30  profilanswer
 

Evite le javascript au maximum : tous les navigateurs ne sont pas égaux à ce niveau et c'est bien souvent une source d'ennuis ...


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°876925
Gfreeman
http://www.FGFasp.com
Posté le 19-10-2004 à 12:47:42  profilanswer
 

Gilbert Gosseyn a écrit :

Evite le javascript au maximum : tous les navigateurs ne sont pas égaux à ce niveau et c'est bien souvent une source d'ennuis ...


 
Moi, j'évite le html au maximum  :lol:

n°876927
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 19-10-2004 à 12:50:44  profilanswer
 

Mwais ... Tu n'évites pas le HTML vu que tu fais des 'document.write("du code html avec variables" )'; ...


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°876946
skylight
Made in France.
Posté le 19-10-2004 à 13:25:59  profilanswer
 

rainbow_efreet a écrit :

Question :  
Pour changer les couleurs steelsheet j'ai mis une select en bas de ma page mais l'enevement onChange n'est pas validé par le xhtml 1.0, qui aurait la solution ?

onchange en minuscules ?

n°876951
KangOl
Profil : pointeur
Posté le 19-10-2004 à 13:29:30  profilanswer
 

j'ai pas l'impression que ca change grand chose (sans jeu de mot :D)


---------------
Nos estans firs di nosse pitite patreye...
n°876961
skylight
Made in France.
Posté le 19-10-2004 à 13:43:01  profilanswer
 

normalement les javascript genre onclick, onmouseover et onmouseout sont valides XHTML 1.1 ET CSS2 ...

n°876963
skylight
Made in France.
Posté le 19-10-2004 à 13:43:28  profilanswer
 

quands ils sont écrits en minuscules..

n°876975
fastclemmy
(re-)Dictateur en plastique
Posté le 19-10-2004 à 13:49:58  profilanswer
 

De toute façon, les onmachin n'ont plus grand chose à faire dans l'HTML, si ?
http://pompage.net/pompe/separation/

n°876976
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 19-10-2004 à 13:50:23  profilanswer
 

Bon à savoir ça (même si j'essayerai de limiter au maximumù l'usage du js).


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°876980
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 19-10-2004 à 13:54:39  profilanswer
 

fastclemmy a écrit :

De toute façon, les onmachin n'ont plus grand chose à faire dans l'HTML, si ?
http://pompage.net/pompe/separation/

Pour ce cas de figure :
 

Citation :

Chevauchement. CSS peut remplacer certaines fonctions traditionnelles de Javascript, comme les survols de souris et les menus déroulants. Je trouve l'idée intéressante et j'en discuterai dans ma prochaine chronique.


 
l'utilisation du Js peut être nécessaire (IE inside). Sinon, la plupart du temps, le JS n'est qu'accessoire ...


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°876984
KangOl
Profil : pointeur
Posté le 19-10-2004 à 13:58:50  profilanswer
 

pour ce qui est du survole de la souris par IE, un behavor existe...
http://www.xs4all.nl/~peterned/csshover.html


---------------
Nos estans firs di nosse pitite patreye...
n°877276
skylight
Made in France.
Posté le 19-10-2004 à 18:43:57  profilanswer
 

oui, mais par exemple, vous faites comment en CSS pour faire des hover sur les trucs autre que les balises <a> sous IE ? :D

n°877278
skylight
Made in France.
Posté le 19-10-2004 à 18:44:44  profilanswer
 

(sans utilisations d'artifices ou de IE7)

n°877281
KangOl
Profil : pointeur
Posté le 19-10-2004 à 18:48:15  profilanswer
 

sans "artifices", impossible puisque IE ne gere pas ca en natif...


---------------
Nos estans firs di nosse pitite patreye...
n°878315
scull
MySCULL cay bon mangez en!
Posté le 20-10-2004 à 18:54:06  profilanswer
 

forumforall ;)
avec mon phpbb like ;)
SOON....

n°878322
Limit
Posté le 20-10-2004 à 18:56:20  profilanswer
 

scull a écrit :

forumforall ;)
avec mon phpbb like ;)
SOON....

:??:

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  190  191  192  ..  486  487  488  489  490  491

Aller à :
Ajouter une réponse
 

Sujets relatifs
question avec les forums phpbb2[php] trouver la premier place ou inserer un enregistrement (résolu)
Forums phpBBQui connait l'algo du Passticket et sa mise en place en VB ?
[Merise] Mise en place d'un MCDFocus mal placé....
[Blabla/Prog] Les développeurs foromeurs sont-ils des feignasses?Mise en place d'un formulaire CGI
forums création de site internetJava - Mise en place d'une api (Servlet)
Plus de sujets relatifs à : les développeurs de forums, les 3/4 des forums sont down /o\


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)