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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  142  143  144  ..  486  487  488  489  490  491
Auteur Sujet :

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

n°779331
dweis
Posté le 26-06-2004 à 21:42:46  profilanswer
 

Reprise du message précédent :

DocMaboul a écrit :

Au niveau des performances, le split est une très bonne solution pour moult raisons. Faire une simple requête indexée sur un champ trié avec une clause (limit 600000, 30) oblige mysql à parcourir l'index utilisé pour trouver le 600000ème enregistrement et les 30 suivants: c'est plutôt lent. Aussi, au niveau des inserts, les indexes seront mis à jour plus rapidement. L'inconvénient est que c'est un poil plus compliqué à implémenter.


t'as aussi la solution de numéroter les posts dans un topic, après tu fait juste un "WHERE topic=xxx AND position>(page*nbparpage) LIMIT 30"
Par contre, en cas de suppression d'un message au début d'un très gros topic, ben faut réajuster la numérotation des posts suivants et donc ça va faire une requête assez lourde (c'est la seule limitation que je vois)

mood
Publicité
Posté le 26-06-2004 à 21:42:46  profilanswer
 

n°779356
Profil sup​primé
Posté le 26-06-2004 à 23:57:48  answer
 

Max Evans a écrit :

Ici par exemple : http://forum.boinc.fr/forum.php?config=boinc.inc
 
La ce n'est pas le serveur PPC :)
En plus, ils ont la v9 :D


je précise que le Spike de ce forum c'est pas moi  :non:

n°779391
drasche
Posté le 27-06-2004 à 01:13:33  profilanswer
 

Gfreeman a écrit :

J'ai bien aimé la façon que tu as eu de me prendre pour un con


Franchement quand on voit ce que tu racontes et ce que lui racontait, je n'ai pas peur de dire qu'il a bien eu raison.
 

Gfreeman a écrit :

Au risque de paraître déplaisant, je crois sincèrement que tu as du lire ce topic en diagonale pour tenir ce genre de propos. Maintenant, si nous devons discuter, il vaut mieux le faire par message privé.
 
EDIT >> Pour ma part, et non sous couvert, DocMaboul est un prétentieux buté, borné et hautain n'ayant que pour vérité ses idées. Qu'il s’exprime est une chose, qu'il refuse d'écouter les idées en est une autre et ne correspond pas franchement au thème de ce topic.


N'importe quoi. Je lis le topic depuis la page 1 et et pas vraiment en diagonale. DocMaboul n'a jamais été avare d'explications techniques sur l'optimisation des forums. Je ne le crois pas buté, mais déterminé. Quant au reste, c'est du vent. Il a fait exactement ce qu'il avait envie de faire, et je pense que c'est le cas de la plupart des gens ici.
 

dweis a écrit :

à mon avis déjà fait la jointure toi même (ie requete uniquement sur messages + une 2e requete pour récupérer les infos sur les users) car mysql ne fera pas de jointure assez optimisée : au mieux elle fera la jointure après le where donc juste sur le topic en question, au pire (je ne l'espère pas) elle le fait sur toute la table mais dans aucun cas elle ne la fera après le limit.


mouais mais en fait non, j'ai essayé la requête sur les messages uniquement et sans jointure, ça reste au dessus de 500ms, c'est vraiment trop :sweat:  Non, je dois trouver autre chose :/
 

dweis a écrit :

t'as aussi la solution de numéroter les posts dans un topic, après tu fait juste un "WHERE topic=xxx AND position>(page*nbparpage) LIMIT 30"
Par contre, en cas de suppression d'un message au début d'un très gros topic, ben faut réajuster la numérotation des posts suivants et donc ça va faire une requête assez lourde (c'est la seule limitation que je vois)


Heureusement, ce ne sera pas souvent, mais j'ai pas trop envie :/
Je pense que je vais implémenter les splits ou réfléchir encore un bon coup avant de continuer plus avant cette partie du forum :/
 
Harko> merci :jap:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°779450
Gfreeman
http://www.FGFasp.com
Posté le 27-06-2004 à 08:54:06  profilanswer
 

:sarcastic:  
 
DocMaboul n'est pas avare effectivement en explication, mais certaines ne sont pas correctes, et c'est sur ces points ou je suis intervenu. La première étant cette histoire de cache. Un cache que ce soit un cache MySQL, ou encore via Cache(), ou Application(), etc etc nécessite à un instant T une réactualisation. Cette réactualisation doit être effectuée sur une BDD (logique), ou sur toute autre forme de support.
 
A ce moment, et c'est de là d'ou provient notre divergence, les temps de génération des requêtes seront à peu près identiques (si l'on s'accorde à dire que les requêtes sont similaires). Je dis à peu près car en C, on peu faire abstraction d'une couche, le retour d'informations étant alors un chouilla plus rapide. Après seul le moteur traitera les informations avec plus ou moins de différences. Ces propos, je les tiens depuis le début et je n'ai absolument eu aucune affirmation TECHNIQUE me prouvant le contraire, sauf peut être ça.
 

DocMaboul a écrit :


En clair, une fois que vous aurez trouvé la meilleure manière possible d'utiliser le sgbd pour vos forums, il restera toujours tout le reste du programme, ce qui est loin d'être rien


 
Mais d’un point de vue technique, pour moi, ça ne vaut absolument rien.
 
Ensuite deuxième point ou je suis sceptique, c’est sa manière d’effectuer ses benchmarks. Utiliser une fonction c’est bien, mais à son niveau, c’est complètement absurde. Comme si les tests sur un forum (ou un site web) se limitaient seulement à la génération de pages sans prendre en compte les temps de réponse du serveur, la bande passante, le nombre de connexions simultanées, etc etc…  
 
Mis à part utiliser des logiciels spécifiques sur une machine de surveillance, toutes autres solutions n’est pas viable et ne prends pas en compte toutes les contraintes associées à un serveur Web.
 
Maintenant, si mes propos sont faux, pas de problème, je suis ouvert à toutes explications techniques avec code à l'appui, chose que pour le moment, je n'ai pas eu la chance d'avoir.


Message édité par Gfreeman le 27-06-2004 à 09:08:46
n°779502
fabien
Vive la super 5 !
Posté le 27-06-2004 à 12:46:27  profilanswer
 

bonjour tout le monde :hello:
 
je tiens a faire remarquer que le forum de doc maboul n'est pas utilisable pour un forum a fort traffic a cause de la presentation de ses messages en arborescence, je n'ose donc pas imaginer un topic comme blabla@prog avec un arborescence de 100 000 messages.
Donc doc maboul c'est bien de faire des optimisations, mais faut penser ensuite lorsque tu aura des millions de messages dans ton forum, sinon t'es optimisation ne servirons a rien, puisque ton forum sera inutilisable avec un gros forum.
Et puis est ce que ton systeme de cache pour la liste des categorie et la liste des topic marchera lorsque tu devra implementé les ampoules et les drapeau ? car je ne pense pas que tu puisse mettre en cache les drapeaux et les ampoules de tous le monde, donc ton "acces DB 0 ms" ne sera plus possible.
Donc avant de developper quoi que ce soit tu devrait mieux faire une longue analyse de ton projet de forum.
 
Voila quelques critiques constructif qui, je l'espere, t'aiderons .


---------------
Découvre le HFRcoin ✈ - smilies
n°779504
Limit
Posté le 27-06-2004 à 12:48:27  profilanswer
 

Tu as le choix de l'arborescence ou non.

n°779505
drasche
Posté le 27-06-2004 à 12:49:15  profilanswer
 

:pfff:
 
http://212.85.152.238/tests/maboul [...] 0&Topic=14
 
(grilled [:sisicaivrai])


Message édité par drasche le 27-06-2004 à 12:49:39

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°779506
drasche
Posté le 27-06-2004 à 12:51:25  profilanswer
 

j'ai remis ma preview en ligne, les messages sont consultables maintenant :o


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°779507
fabien
Vive la super 5 !
Posté le 27-06-2004 à 12:52:06  profilanswer
 

Au temps pour moi, mais j'avais pas vu :jap:
mais si un jour je decide de mettre l'arborescence de blabla@prog, il va m'afficher les 200 000 messages ?
Sinon, je tiens a faire remarquer, que cette option pour enlever l'arborescence n'est pas trés ergonomique :D


---------------
Découvre le HFRcoin ✈ - smilies
n°779524
belgique
Posté le 27-06-2004 à 13:25:39  profilanswer
 

Citation :

Total page generation time: 3 301.26 ms
Database processing time: 3 282.12 ms (99.42%)
Sessions processing time: 0.56 ms (0.02%)
PHP script execution time: 18.59 ms (0.56%)


PPC est plus rapide :p

mood
Publicité
Posté le 27-06-2004 à 13:25:39  profilanswer
 

n°779527
drasche
Posté le 27-06-2004 à 13:28:10  profilanswer
 

ya pas encore trop d'optimisation, spour ça :o (déjà avec certains problèmes que j'ai repérés, je peux être certain que le datamodel va être remanié :/)


Message édité par drasche le 27-06-2004 à 13:28:17

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°779581
docmaboul
Posté le 27-06-2004 à 14:48:50  profilanswer
 

Fabien a écrit :

bonjour tout le monde :hello:
 
je tiens a faire remarquer que le forum de doc maboul n'est pas utilisable pour un forum a fort traffic a cause de la presentation de ses messages en arborescence, je n'ose donc pas imaginer un topic comme blabla@prog avec un arborescence de 100 000 messages.


 
Si l'admin d'un forum permet des topics de plus de n messages (par exemple 1000), il lui suffit dans son template de faire une redirection vers un affichage en mode plat. Ca ne lui coûte qu'un if sur le nombre de messages du topic. Sinon, j'ai déjà une api dans mon runtime pour ne présenter que des morceaux d'arborescence mais des tests que j'en ai fait, cela donne une lecture peu aisée pour certains messages. Je ne suis donc pas sûr de la laisser d'autant plus que le mode arborescent m'oblige à dédoubler la zone mémoire des ids de messages lors de la première demande d'une présentation arborescente, ce qui n'est pas gênant pour des petites discussions mais l'est un peu plus pour les géantes.
 

Citation :

Donc doc maboul c'est bien de faire des optimisations, mais faut penser ensuite lorsque tu aura des millions de messages dans ton forum, sinon t'es optimisation ne servirons a rien, puisque ton forum sera inutilisable avec un gros forum.


 
Merci du conseil. C'est vrai, j'avais pas pensé que je pourrais avoir plus de 10 messages à la fois en fait.
 

Citation :

Et puis est ce que ton systeme de cache pour la liste des categorie et la liste des topic marchera lorsque tu devra implementé les ampoules et les drapeau ? car je ne pense pas que tu puisse mettre en cache les drapeaux et les ampoules de tous le monde, donc ton "acces DB 0 ms" ne sera plus possible.


 
Résumons. Soit un id sur 4 octets pour le topic et un autre pour le dernier message lu. 8 octets donc. Soit 3000 utilisateurs connectés en même temps. Chaque utilisateur est limité à 10 000 drapeaux, pour l'exemple, et chaque utilisateur loggué a ces 10 000 drapeaux en mémoire.
 
8*3000*10000 = 240000000 octets = ~228Mo de ram utilisés.
 
Mon Dieu! Mais comment vais-je donc pouvoir faire pour gérer 30 millions de drapeaux en mémoire? La mémoire de mon celeron 400 n'y suffirait pas... :pfff:
 

Citation :

Donc avant de developper quoi que ce soit tu devrait mieux faire une longue analyse de ton projet de forum.


 
Remarquez qu'avant de m'écrire n'importe quoi, vous pourriez vous dire qu'il est fort simple de désactiver le mode arborescent pour quelque raison que ce soit et que des millions de fois 8 octets, ce n'est pas grand chose.
 

Citation :

Voila quelques critiques constructif qui, je l'espere, t'aiderons .


 
Du tout. J'ai perdu mon temps à vous répondre en détail, et ce pour la dernière fois sauf si vous trouvez quelque chose de réellement intelligent et/ou constructif à me faire remarquer, bien évidemment. En clair, je commence à en avoir plein le cul de ces trolls.

n°779583
Profil sup​primé
Posté le 27-06-2004 à 14:57:34  answer
 

DocMaboul a écrit :

8*3000*10000 = 240000000 octets = ~228Mo de ram utilisés.
 
Mon Dieu! Mais comment vais-je donc pouvoir faire pour gérer 30 millions de drapeaux en mémoire? La mémoire de mon celeron 400 n'y suffirait pas... :pfff:


t'as bien le fichier d'échange en supplément mais ca va niquer les perfs

n°779584
drasche
Posté le 27-06-2004 à 14:58:18  profilanswer
 

euh je crois que c'était pas trop premier degré son post :o


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°779596
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 27-06-2004 à 15:19:47  profilanswer
 

Fabien a écrit :


Donc doc maboul c'est bien de faire des optimisations, mais faut penser ensuite lorsque tu aura des millions de messages dans ton forum, sinon t'es optimisation ne servirons a rien, puisque ton forum sera inutilisable avec un gros forum.


C'est sur qu'il n'a jamais envisagé avoir plus de 100 messages dans son forum... :sarcastic:
 

Fabien a écrit :


Et puis est ce que ton systeme de cache pour la liste des categorie et la liste des topic marchera lorsque tu devra implementé les ampoules et les drapeau ? car je ne pense pas que tu puisse mettre en cache les drapeaux et les ampoules de tous le monde, donc ton "acces DB 0 ms" ne sera plus possible.


Faudrait faire le calcul exact, mais je pense pas que l'occupation mémoire soit si importante que ça hein :o
 

Fabien a écrit :


Donc avant de developper quoi que ce soit tu devrait mieux faire une longue analyse de ton projet de forum.


Et les pavés qu'il a posté précédemment, ça s'apparente à quoi pour toi ? Là encore, vu le niveau du bonhomme, je doute fort que tout ceci n'ait pas été analysé préalablement de manière exhaustive.
Et avant de critiquer quoi que ce soit, c'est plutôt toi qui devrait faire une analyse de l'objet de ta critique.
 

Fabien a écrit :


Voila quelques critiques constructif qui, je l'espere, t'aiderons .


:pfff:
 
Bordel, mais c'est si dur à accepter pour vos égos surdimensionnés que le forum de DocMaboul soit si performant ? Vous êtes obligés de critiquer à tout va, en le sous-estimant ? Sérieux, cette attitude commence à me gonfler !
Et pour répondre à GFreeman, je n'ai pas lu le topic en biais ! DocMaboul a commencé à être désagréable à partir du moment où il en a pris plein la gueule pour avoir annoncé qu'il développait un forum ultra performant. Peut on le blamer ? Certainement pas ! J'aurais fait la même chose à sa place.
Alors bon, y'a un moment où il faut savoir dire stop, et au lieu de gaspiller votre énergie à le critiquer sans arrêt, vous feriez mieux de vous remuer le cul et de lui prouver que vous êtes capables de faire autre chose que de critiquer à tout va un projet performant !
Désolé d'en arriver là, mais maintenant, le prochain qui balance une critique uniquement pour critiquer, se prend un jour de TT !
 
edit: semi grillé par le doc [:kunks]


Message édité par Harkonnen le 27-06-2004 à 15:20:25

---------------
J'ai un string dans l'array (Paris Hilton)
n°779801
*syl*
--> []
Posté le 27-06-2004 à 22:23:05  profilanswer
 

Harkonnen a écrit :

Désolé d'en arriver là, mais maintenant, le prochain qui balance une critique uniquement pour critiquer, se prend un jour de TT !

Je suis le topic depuis le début, c'est vrai qu'y a vraiment des gros lourds ici vis-à-vis du Doc, un bon coup de TT ne pourra leur faire que du bien :jap:  

n°780920
fabien
Vive la super 5 !
Posté le 28-06-2004 à 20:21:29  profilanswer
 

DocMaboul etHarkonnen, pourquoi etes vous aussi suceptible et agressif? J'ai jamais rien dis de mechant pourtant [:gratgrat]
franchement, ca devient n'importe quoi ce topic, depuis que docmaboul est la, il y a presque que des disputes et l'ambiance et devenu hyper tendu.  :pfff:  


---------------
Découvre le HFRcoin ✈ - smilies
n°780929
jagstang
Pa Capona ಠ_ಠ
Posté le 28-06-2004 à 20:28:01  profilanswer
 

>> Fabien
+1 moi j'ose plus rien dire de peur de me faire TT :D


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°780932
uriel
blood pt.2
Posté le 28-06-2004 à 20:32:54  profilanswer
 

ben moi je trouve pas, avant l'intervention de GFreeman, ca roulait plutot, j'ai pas tout compris a ce que dit le doc mais j'ai trouve ca interessant, apres le cote 'concours de bite' il existait avant [:spamafote]
 
maintenant, je viens ici surtout pour apprendre pas en tant que participant alors j'ai pas forcement ressenti la meme chose que vous


---------------
IVG en france
n°780937
docmaboul
Posté le 28-06-2004 à 21:18:57  profilanswer
 

Fabien a écrit :

DocMaboul etHarkonnen, pourquoi etes vous aussi suceptible et agressif? J'ai jamais rien dis de mechant pourtant [:gratgrat]


 
Fabien, il ne faudrait pas trop prendre les gens pour des cons.
 
Quand je dis d'une manière, certes fort peu pédagogue, qu'un bon forum se fait en C, vous dites que je troll. Soit. Quand j'explicite longuement ce que je fais et ce que j'entends par là, vous dites que je trolle, et donc vous ne lisez pas. Au final, vous arrivez la fleur à la bouche avec une petite voix mielleuse et une haleine empestant l'hypocrisie: "oui, je voudrais te donner quelques conseils : essaye de réfléchir avant de coder, parce que tu vois, c'est mieux quoi. En espérant que mes remarques constructives t'aideront"...
 
Ensuite, vous racontez à qui veut l'entendre votre délire selon lequel nous serions la même personne avec le Baron. Qu'on vous demande de cessez n'y fait rien et ce, quel que soit la forme que prend cette demande. Pour finir, vous m'avez traité de menteur à mots couverts, "on peut toujours marquer n'importe quoi en bas des pages" (ou quelque chose dans ce goût-là).
 
Effectivement, vous n'avez rien dit de méchant: pour moi, tout est petit, mesquin, lâche et vil dans l'attitude que vous avez eue ici.
 
Vous avez beaucoup fait rire ma femme hier soir, mais je n'ai pas les mêmes réactions qu'elle. Pourquoi je suis agressif? C'est parce que vous me cassez les couilles avec votre mesquinerie: vos remarques idiotes, votre parano et vos procès.
 
D'une manière encore plus importante: c'est une question d'honneur. Mais encore faut-il en avoir pour le comprendre...


Message édité par docmaboul le 28-06-2004 à 21:20:46
n°780944
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 28-06-2004 à 21:41:54  profilanswer
 

Fabien a écrit :

DocMaboul etHarkonnen, pourquoi etes vous aussi suceptible et agressif? J'ai jamais rien dis de mechant pourtant [:gratgrat]
franchement, ca devient n'importe quoi ce topic, depuis que docmaboul est la, il y a presque que des disputes et l'ambiance et devenu hyper tendu.  :pfff:


Moi je suis pas susceptible, j'ai développé aucun forum, je suis juste là en spectateur !
T'as rien dit de méchant, mais tout le monde aura remarqué tes petites piques à la limite du ridicule dans ton précédent post. De là à supposer que tu as écrit ce post uniquement pour critiquer, sans vraiment réflechir au sens de tes critiques, y'a un pas que je franchis allègrement !
 
Mais bon, sans rancune hein :o


---------------
J'ai un string dans l'array (Paris Hilton)
n°780948
simogeo
j'ai jamais tué de chats, ...
Posté le 28-06-2004 à 21:47:55  profilanswer
 

DocMaboul a écrit :


[...]  
C'est parce que vous me cassez les couilles  
[...]


 
maintenant on sait que c'est pas le multi d'harko [:boidleau]
 
 
 
 
je plaisante harko heinnn :o http://forum.hardware.fr/icones/icon12.gif
(on a tjrs des doutes [:ddr555] )


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°780953
Gfreeman
http://www.FGFasp.com
Posté le 28-06-2004 à 21:58:53  profilanswer
 

Pour relancer le débat initial.................
 
Gestion de groupe dans un forum.
 
Voilà, j’ai intégré une gestion de groupe dans mon forum. Je voulais savoir si vous aviez vous aussi une gestion de groupe et comment avez vous procédé. Ma façon est assez tordue (je l’avoue) est et assez ‘chiader’ à programmer (Enfin moi j'en ai bavé.)
 
J’ai découper le tout en 3 tables.
 
- Groupes  
- Groupes_sous_rubriques
- Groupes_Utilisateurs
 
 
La première table (nommé Groupes) est composée des champs suivants :
- grp_identifiant
- grp_nom
- grp_description
- grp_lecture
- grp_ecriture
- grp_modifier
- grp_administrateur
- grp_moderateur
- grp_membre
- grp_visiteur
 
Les 2 autres tables (Groupes_sous_rubriques, Groupes_Utilisateurs) sont composées chacune de 2 champs.
 
Groupes_sous_rubriques
- Identifiant du groupe
- Identifiant de la sous rubrique
 
Groupes_Utilisateurs
- Identifiant du groupe
- Identifiant de l'utilisateur
 
En fait j'ai imaginé ce principe. Pouvoir donner des accès à n'importe qui, des droits à n'importe quelle personne similaire à des droits d'administrateur, ou modérateur ou membre (là y'a pas grand chose :D), ou visiteur (y'en a encore moins ici….) avec des restrictions, que ce soit en lecture et/ou écriture et/ou modification. Ce système est je pense similaire à celui qui existe sous PHPbb. Je souhaitais néanmoins ajouter ma petite touche personnelle.
 
1ère restriction :
 
Je m'explique. Lorsque l'on crée un groupe (Admin ou Modo ou Membre ou Visiteur) sans lui affecter de sous rubriques et/ou d'utilisateurs, le but est de propager les droits à tous les utilisateurs dont le profil est (Admin ou Modo ou Membre ou Visiteur). Le profil étant indépendant du groupe et évoluant avec le nombre de message, celui-ci peut évoluer mais uniquement dans une catégorie de profil (un membre restera toujours un membre, pareil pour un Admin).
 
2ème restriction
Lorsque l'on crée un groupe avec un/ou plusieurs utilisateurs 'attachés' à ce groupe, les privilèges de ce groupe ne sont attribués qu'à ces utilisateurs.
 
3ème restriction
Lorsque l'on crée un groupe avec une/ou plusieurs sous rubriques 'attachées' à ce groupe, les privilèges de ce groupe ne seront attribués qu'à la/aux sous rubrique(s) concernée(s) pour tous les utilisateurs ayant le profil correspondant (si le groupe est un groupe Admin, alors seul les utilisateurs Admin bénéficieront des privilèges de ce groupe).
 
4ème restriction
Lorsque l'on crée un groupe avec une/ou plusieurs sous rubriques 'attachées' à ce groupe et un/ou plusieurs utilisateurs, seul la/les sous rubrique(s) et l'/les utilisateur(s) concerné(s) bénéficient de ces droits.
 
 
5ème restriction
En cas de doublons aux niveau de la gestion des droits (un utilisateur bénéficie par exemple d'un droit plus important dans un groupe que dans un autre), le droit le plus faible l'emporte (contrairement à Windows).
 
Aujourd'hui j'utilise cette requête, pas très rapide, mais l'interrogation concernant l'appartenance n'étant effectuée qu'une seule fois par session, ce n'est pas trop un problème vu que le nombre de groupe ne dépasse pas en général le millier, et que les index sont des Int.
 

Code :
  1. SELECT
  2.    Sous_rubriques.srub_identifiant,
  3.    (
  4.     SELECT Grp_1.grp_lecture & ',' & Grp_1.grp_ecriture & ',' & Grp_1.grp_modifier
  5.     FROM Groupes Grp_1
  6.     WHERE Grp_1.grp_identifiant IN
  7.      (
  8.       SELECT TOP 1 Grp_2.grp_identifiant
  9.       FROM Groupes Grp_2
  10.       WHERE Grp_2.grp_identifiant IN
  11.     (
  12.      SELECT Grp_3.grp_identifiant
  13.      FROM Groupes Grp_3
  14.      WHERE Grp_3.grp_administrateur = 1
  15.       AND NOT EXISTS
  16.       (
  17.     SELECT Guti_4.guti_grp_identifiant 
  18.     FROM Groupes_utilisateurs Guti_4
  19.     WHERE Guti_4.guti_grp_identifiant = Grp_3.grp_identifiant
  20.       )
  21.       AND NOT EXISTS
  22.       (
  23.     SELECT Gsrub_4.gsrub_grp_identifiant 
  24.     FROM Groupes_sous_rubriques Gsrub_4
  25.     WHERE Gsrub_4.gsrub_grp_identifiant = Grp_3.grp_identifiant
  26.       )
  27.      ORDER BY Grp_3.grp_lecture ASC
  28.     )
  29.      )
  30.    ),
  31.    (
  32.     SELECT Grp_1.grp_lecture & ',' & Grp_1.grp_ecriture & ',' & Grp_1.grp_modifier
  33.     FROM Groupes Grp_1
  34.     WHERE Grp_1.grp_identifiant IN
  35.      (
  36.       SELECT TOP 1 Grp_2.grp_identifiant
  37.       FROM Groupes Grp_2
  38.       WHERE Grp_2.grp_identifiant IN
  39.     (
  40.      SELECT Grp_3.grp_identifiant
  41.      FROM Groupes Grp_3, Groupes_sous_rubriques Gsrub_3
  42.       WHERE Grp_3.grp_identifiant = Gsrub_3.gsrub_grp_identifiant
  43.     AND Gsrub_3.gsrub_identifiant = Sous_rubriques.srub_identifiant
  44.      AND Grp_3.grp_administrateur = 1
  45.       AND NOT EXISTS
  46.     (
  47.      SELECT Guti_4.guti_grp_identifiant 
  48.      FROM Groupes_utilisateurs Guti_4
  49.      WHERE Guti_4.guti_grp_identifiant = Grp_3.grp_identifiant
  50.     )
  51.     ORDER BY Grp_3.grp_lecture ASC
  52.     )
  53.      )
  54.    ),
  55.    (
  56.     SELECT Grp_1.grp_lecture & ',' & Grp_1.grp_ecriture & ',' & Grp_1.grp_modifier
  57.     FROM Groupes Grp_1
  58.     WHERE Grp_1.grp_identifiant IN
  59.      (
  60.       SELECT TOP 1 Grp_2.grp_identifiant
  61.       FROM Groupes Grp_2
  62.       WHERE Grp_2.grp_identifiant IN
  63.     (
  64.      SELECT Grp_3.grp_identifiant
  65.      FROM Groupes Grp_3, Groupes_utilisateurs Guti_3
  66.       WHERE Grp_3.grp_identifiant = Guti_3.guti_grp_identifiant
  67.     AND Grp_3.grp_administrateur = 1
  68.      AND NOT EXISTS
  69.      (
  70.       SELECT Gsrub_4.gsrub_grp_identifiant 
  71.       FROM Groupes_sous_rubriques Gsrub_4
  72.       WHERE Gsrub_4.gsrub_grp_identifiant = Grp_3.grp_identifiant
  73.      )
  74.      ORDER BY Grp_3.grp_lecture ASC
  75.     )
  76.      )
  77.    ),
  78.    (
  79.     SELECT Grp_1.grp_lecture & ',' & Grp_1.grp_ecriture & ',' & Grp_1.grp_modifier
  80.     FROM Groupes Grp_1
  81.     WHERE Grp_1.grp_identifiant IN
  82.      (
  83.       SELECT TOP 1 Grp_2.grp_identifiant
  84.       FROM Groupes Grp_2
  85.       WHERE Grp_2.grp_identifiant IN
  86.     (
  87.      SELECT Grp_3.grp_identifiant
  88.      FROM Groupes Grp_3, Groupes_Sous_rubriques Gsrub_3, Groupes_utilisateurs Guti_3
  89.      WHERE Grp_3.grp_identifiant = Gsrub_3.gsrub_grp_identifiant
  90.       AND Grp_3.grp_identifiant = Guti_3.guti_grp_identifiant
  91.     AND Gsrub_3.gsrub_identifiant = Sous_rubriques.srub_identifiant
  92.      AND Grp_3.grp_administrateur = 1
  93.       ORDER BY Grp_3.grp_lecture ASC
  94.     )
  95.      )
  96.    )
  97.    FROM Sous_rubriques
  98.    ORDER BY Sous_rubriques.srub_nom ASC


Message édité par Gfreeman le 28-06-2004 à 22:06:45
n°780960
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 28-06-2004 à 22:05:30  profilanswer
 

JagStang a écrit :

>> Fabien
+1 moi j'ose plus rien dire de peur de me faire TT :D


Faut pas non plus sombrer dans la parano hein :o


---------------
J'ai un string dans l'array (Paris Hilton)
n°780971
skylight
Made in France.
Posté le 28-06-2004 à 22:39:36  profilanswer
 

G_freeman : tu es fou :D
 
personnellement j'ai un peu la meme structure, mais :
 
je recupere la totalité des groupes, et je stocke le tout dans un tableau dynamique en PHP
je fais la meme chose avec les groupes utilisateurs, et les groupes de catégories
 
ensuite, je n'ai plus qu'a comparé si un identifiant se trouve dans un autre tableau (si oui, alors l'id appartient au groupe), grace aux fonctions in_array().
 
voila pour le principe.

n°780996
Gfreeman
http://www.FGFasp.com
Posté le 28-06-2004 à 23:31:40  profilanswer
 

skylight a écrit :

G_freeman : tu es fou :D


 
 :whistle: , bah quand j'ai du pondre la requête, j'ai failli le devenir :D. Ensuite la ou j'ai eu du mal, c'est dans la gestion des réstrictions. J'ai cru tomber chêvre. Par contre, cela sert il vraiment les groupes dans un forum  :??: , par moment je me demande  :heink:


Message édité par Gfreeman le 28-06-2004 à 23:32:57
n°780998
karamilo
Posté le 28-06-2004 à 23:43:35  profilanswer
 

perso, j'ai que des groupes : membre, admin, modo, sup admin ... (ou autres, a creer a la demande)
 
Il y a 2 sortes de groupe : les groupes promus par nombre de post (comme sur certains forums : newbie, super posteur ...) et les groupes promus par un admin (modo par exemple).
 
On peut definir les droits d'un groupe differemment pour chaque categorie (qui ont un nombre de niveaux illimité). Si les droits d'un groupe pour la categorie actuelle n'est pas definie, on prend les droits du groupe "par defaut".
Comme ca, tu peux definir les droits precisement pour chaque endroit du forum, sans pour autant perdre du temps a tout definir ...

n°781001
jagstang
Pa Capona ಠ_ಠ
Posté le 28-06-2004 à 23:56:18  profilanswer
 

Harkonnen a écrit :

Faut pas non plus sombrer dans la parano hein :o

je plaisantais


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°781010
Gfreeman
http://www.FGFasp.com
Posté le 29-06-2004 à 00:08:11  profilanswer
 

karamilo a écrit :

perso, j'ai que des groupes : membre, admin, modo, sup admin ... (ou autres, a créer a la demande)
 
Il y a 2 sortes de groupe : les groupes promus par nombre de post (comme sur certains forums : newbie, super posteur ...) et les groupes promus par un admin (modo par exemple).
 
On peut définir les droits d'un groupe différemment pour chaque catégorie (qui ont un nombre de niveaux illimité). Si les droits d'un groupe pour la catégorie actuelle n'est pas definie, on prend les droits du groupe "par defaut".
Comme ça, tu peux définir les droits précisément pour chaque endroit du forum, sans pour autant perdre du temps a tout définir ...


 
Oui, je vois ce que tu veux dire. Cela évite bien des complications. Disons que je suis parti du principe que les groupes ne servent qu'à donner les droits à un profil utilisateur (j'ai d'ailleurs une table Profil affectée aux utilisateurs). Chaque utilisateur à un profil (Admin, Modo, Membre, visiteur). Chaque utilisateur voit son profil évoluer en fonction de son nombre de messages. Néanmoins, chaque utilisateur reste dans le profil qu'il lui a été attribué. Par exemple, un Admin de par son profil, ne pourra jamais devenir modérateur, ou inversement, même si le nombre de messages grimpe jusque 20 trillions. Cela te permet de définir librement et à l'infini le nom de tes profils et le nombre de messages pour atteindre ce niveau (bien que l'on ne dépasse rarement les 50 entrées pour l'ensemble des profils utilisateurs).
 
La seule possibilité de se voir attribuer des droits de modérateur pour un Administrateur (une sanction collective de la hiérarchie  :whistle: ), c'est de faire parti d'un groupe ayant comme Profil Modérateur (Ne pas confondre le profil d'un user avec le profil d'un groupe ;)).  
 
Cela permet également à un utilisateur lambda (un membre) de pouvoir faire partie d'un groupe d'Administrateur et ainsi d'accéder à certaines fonctionnalités du forum (au dessus des modérateurs donc). Par contre, seul les Administrateurs de profil Admin et faisant partie d'un groupe Admin peuvent prétendre à toutes les options dans la console de management.
 
UN BEAU BORDEL  :lol:


Message édité par Gfreeman le 29-06-2004 à 00:11:58
n°781013
drasche
Posté le 29-06-2004 à 00:15:09  profilanswer
 

perso j'ai une table privilèges, qui permet d'associer un user ou un groupe, avec une section ou une cat, et enfin, la classe d'utilisateur qui est associée.
 
Donc mes champs sont:
priv_id
priv_grp_id
priv_user_id
priv_section_id
priv_cat_id
priv_classe_id
 
Voilà, tous les champs ne sont évidemment pas tous remplis pour chaque record, mais le principe est là.  J'en profite d'ailleurs pour alléger un peu la charge en disant dans la session sur l'utilisateur est admin ou a un autre privilège:
s'il est admin, je me casse pas la tête puisque par principe, il a accès à tout;
s'il a d'autres privilèges, j'interroge la table pour savoir si ses privilèges sont en relation avec la zone visitée;
si c'est un utilisateur sans privilège, je me contente de faire un filtrage par défaut (les sections et catégories définissent un champ pour dire si elles sont visibles par défaut; il faudra que j'en ajoute un pour dire si elle sont accessibles en lecture seule)
 
Quant aux groupes, je définis 2 tables: une pour définir l'entité groupe, et une autre pour relier les utilisateurs aux groupes.
 
edit: les classes sont pour le moment Administrateur, Modérateur, Forumeur, Lecteur. Il est prévu de définir des classes customs et leur assigner/retirer des pouvoirs spécifiques (par exemple, un modérateur qui ne pourrait pas bannir, ça sert à rien mais c'est juste pour illustrer par un exemple :D)


Message édité par drasche le 29-06-2004 à 00:17:14

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°781017
HappyHarry
Posté le 29-06-2004 à 00:28:21  profilanswer
 

DocMaboul a écrit :


Merci du conseil. C'est vrai, j'avais pas pensé que je pourrais avoir plus de 10 messages à la fois en fait.


 
je n'ai qu'une chose a dire, j'adore :love:
 
 
ce qui me fait marrer, c'est que le gars se fait chier a faire son moteur de forum, ca tourne, meme plutot pas trop mal, et v'la t'y pas que 2 pelés et 3 tondus viennent le faire chier question design et ergo, alors que ca fait un bon bout de temps qu'il précise avoir pompé temporairement un forum existant le temps pour lui de trouver un designer ...
 
vous avez pas trouvé mieux ?  
 

n°781019
drasche
Posté le 29-06-2004 à 00:29:14  profilanswer
 

HappyHarry a écrit :

vous avez pas trouvé mieux ?


ils avaient pas de pelle pour creuser [:spamafote]
 
 
[:neowen]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°781021
HappyHarry
Posté le 29-06-2004 à 00:34:49  profilanswer
 

drasche a écrit :

ils avaient pas de pelle pour creuser [:spamafote]
 
 
[:neowen]


 
Le monde se divise en deux catégories:ceux qui ont le pistolet chargé,et ceux qui creusent.Toi tu creuses!
 
edit : saloperie de smiley, c'est lequel le spoiler ?
 
edit 2 : ca n'a aucun rapport, mais ca m'est revenu d'un coup après avoir lu ton post [:spamafote]


Message édité par HappyHarry le 29-06-2004 à 00:42:09
n°781108
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 29-06-2004 à 09:13:22  profilanswer
 

HappyHarry a écrit :

Le monde se divise en deux catégories:ceux qui ont le pistolet chargé,et ceux qui creusent.Toi tu creuses!


[:cherrytree1]
bordel, Le Bon, la Brute et le Truand, ça c'est du film à répliques cultes :love:
 
- "dis moi toi, tu sais que tu as la tête de qq1 qui vaut 5000 $ ?"
- "oui, mais toi tu n'as pas la tête de celui qui les encaissera"
 
j'adore :love: :love:
 
</HS>
 
[:neowen]


---------------
J'ai un string dans l'array (Paris Hilton)
n°781112
docmaboul
Posté le 29-06-2004 à 09:17:01  profilanswer
 

Harkonnen a écrit :

[:cherrytree1]
bordel, Le Bon, la Brute et le Truand, ça c'est du film à répliques cultes :love:
 
- "dis moi toi, tu sais que tu as la tête de qq1 qui vaut 5000 $ ?"
- "oui, mais toi tu n'as pas la tête de celui qui les encaissera"
 
j'adore :love: :love:
 
</HS>
 
[:neowen]


 
:jap:
 
D'ailleurs, l'histoire du petit oiseau sur lequel une vache chie pour le réchauffer, c'est dans celui-là?

n°781134
drasche
Posté le 29-06-2004 à 09:34:05  profilanswer
 

HappyHarry a écrit :

Le monde se divise en deux catégories:ceux qui ont le pistolet chargé,et ceux qui creusent.Toi tu creuses!
 
edit : saloperie de smiley, c'est lequel le spoiler ?
 
edit 2 : ca n'a aucun rapport, mais ca m'est revenu d'un coup après avoir lu ton post [:spamafote]


c'était en référence à une réflexion de Chirac dans les Guignols ;)
"Pour tomber plus bas, faudra qu'je creuse [:spamafote]"


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°782774
fabien
Vive la super 5 !
Posté le 30-06-2004 à 18:57:11  profilanswer
 

DocMaboul a écrit :

Fabien, il ne faudrait pas trop prendre les gens pour des cons.
 
Quand je dis d'une manière, certes fort peu pédagogue, qu'un bon forum se fait en C, vous dites que je troll. Soit. Quand j'explicite longuement ce que je fais et ce que j'entends par là, vous dites que je trolle, et donc vous ne lisez pas. Au final, vous arrivez la fleur à la bouche avec une petite voix mielleuse et une haleine empestant l'hypocrisie: "oui, je voudrais te donner quelques conseils : essaye de réfléchir avant de coder, parce que tu vois, c'est mieux quoi. En espérant que mes remarques constructives t'aideront"...
 
Ensuite, vous racontez à qui veut l'entendre votre délire selon lequel nous serions la même personne avec le Baron. Qu'on vous demande de cessez n'y fait rien et ce, quel que soit la forme que prend cette demande. Pour finir, vous m'avez traité de menteur à mots couverts, "on peut toujours marquer n'importe quoi en bas des pages" (ou quelque chose dans ce goût-là).
 
Effectivement, vous n'avez rien dit de méchant: pour moi, tout est petit, mesquin, lâche et vil dans l'attitude que vous avez eue ici.
 
Vous avez beaucoup fait rire ma femme hier soir, mais je n'ai pas les mêmes réactions qu'elle. Pourquoi je suis agressif? C'est parce que vous me cassez les couilles avec votre mesquinerie: vos remarques idiotes, votre parano et vos procès.
 
D'une manière encore plus importante: c'est une question d'honneur. Mais encore faut-il en avoir pour le comprendre...


Docmaboul,je croyais que tu etais Harkonnen car c'est lui un jour qui dans un topic a dit que docmaboul etait son multi, donc a partir de ce jour j'ai commencé a douter.
Vu que je croyais que tu été un mutli de harko, et donc qu'il essayait de troller, j'ai essayé de prouver que tu été un multi, et puis bien sur  je ne croyais pas a tout ce que tu disais.
Enfin, bref, je suis désolé pour avoir agit comme cela, et je m'en excuse :jap:
Pour les remarques, j'attendrais que tu ai fait une version avancé pour te dire ce qui va ou ne va pas, bien sur si tu veux que je t'en fasse (je n'ai pas encore envie que tu prenne mal mes remarques)
Bonne continuation pour ton forum :jap:


---------------
Découvre le HFRcoin ✈ - smilies
n°782781
drasche
Posté le 30-06-2004 à 19:00:54  profilanswer
 

Fabien a écrit :

Docmaboul,je croyais que tu etais Harkonnen car c'est lui un jour qui dans un topic a dit que docmaboul etait son multi


s'il fallait croire tout ce que raconte Harko :o ( [:ddr555])


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°782783
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 30-06-2004 à 19:01:49  profilanswer
 

tu vas voir que ça va être de ma faute maintenant :o
 
Fabien >> ceci dit, ça fait un bail que tout le monde a compris que c'était pas du tout mon multi hein


Message édité par Harkonnen le 30-06-2004 à 19:03:42

---------------
J'ai un string dans l'array (Paris Hilton)
n°782785
fabien
Vive la super 5 !
Posté le 30-06-2004 à 19:03:03  profilanswer
 

Harkonnen a écrit :

tu vas voir que ça va être de ma faute maintenant :o

en partie ta faute :o


---------------
Découvre le HFRcoin ✈ - smilies
n°782787
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 30-06-2004 à 19:05:06  profilanswer
 

Fabien a écrit :

en partie ta faute :o


enfin bon, le troll n'a duré en tout et pour tout qu'un quart d'heure hein, tout le monde a vite compris que c'était pas un multi :sarcastic:


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  142  143  144  ..  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)