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

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Auteur Sujet :

forum php objet?

n°80554
skylight
Made in France.
Posté le 11-12-2001 à 14:18:21  profilanswer
 

Reprise du message précédent :
Hop voila comme prévu je met les sources de ma nouvelle version !
 
http://e-sky.dyndns.org/downloadfrm.php
 
Version RC1 (11/12/01)
 
changements :  
-ne nécéssite qu'une seule base, meme pour les multiforums (cf PPC)
-autocookie dès qu'on répond
-corrigé le pb des topics inexistants et qu'on pouvait poster dedans ... (vous pouviez créer un nouveau topic, vous n"aviez pas le 1° mesage koi)
-diminué sensiblement le nb de requetes sql
-accès aux forums privés sur cookie (mais possibilité de supprimer la cookie quand on veu)
-ds le select des catégorie du bas, les forums privés visibles n'apparaissent plus ds le select.
-changements mineurs de l'interface
-Ajout de 2 pages pour la gestion des smileys et de la censure
-possibilité de mettre une annonce en haut de chaque catégorie
-la fermeture du forum se fait en fichier texte et non par requete SQL : en gros si vous fermez le forum, vous pourrez operer comme bon vous semble sur la bdd, chaque page du forum faisant appel a la page fermeture.php, cette derniere lit un fichier en mode binaire et fait un die(), et non une requete ds la bdd (bah oui si on ferme un forum, c'est pour operer sur la bdd... or un forum fermé mais qui fait appel a la bdd...)
-regroupement des pages post.php, newtopic.php et edtmsg.php dans une grosse page message.php (meilleure sécurité)
-possibilité pour l'utilisateur lambda de supprimer son message en l'éditant
-correction d'autres bugs mineurs
-correction de la page install.php, disparition des login/pass de la base dans les autres pages.
-possibilité de choisir le nom de la base du forum  
voila !
A+ ;)
 
toutefois, si vous pouviez installer et tester le forum ca serait kwel ;) (il ne demande qu'une base sql)

mood
Publicité
Posté le 11-12-2001 à 14:18:21  profilanswer
 

n°80555
gizmo
Posté le 11-12-2001 à 14:19:16  profilanswer
 

fly LM a écrit a écrit :

 
 
:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:  
:lol:
:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:
 
Super, marche pas bien la reconnaissance des smilies...Ou alors c'est bridé à 10 smilies. hummm ???  
 
on est bridé, pour éviter d'avoir des pages saturés qui rament.
 



n°80556
speedyop
Posté le 11-12-2001 à 14:24:49  profilanswer
 

ethernal a écrit a écrit :

 
 
j'ai trouvé ça un peu tiré par les cheveux  :??:  
mais c pas mal  :jap:  




 
bah moii, tant qu'a faire objet je veut le faire a fond, donc...
 
sinon le veut plus faire un truc dans ce style:
http://clubs.lycos.com/live/Directory/welcome.asp
ou
http://fr.groups.yahoo.com/
 
mais en moins fouillit, plus pensé qu'un forum classique

n°80569
ethernal
Chercheur de vérité...
Posté le 11-12-2001 à 14:46:36  profilanswer
 

speedyop a écrit a écrit :

 
 
bah moii, tant qu'a faire objet je veut le faire a fond, donc...
 
sinon le veut plus faire un truc dans ce style:
http://clubs.lycos.com/live/Directory/welcome.asp
ou
http://fr.groups.yahoo.com/
 
mais en moins fouillit, plus pensé qu'un forum classique  




 
moui, je suis pas sûr d'avoir exa tement compris...
l'idée est d'avoir une url du style http://www.hardware.fr/forum/ et non http://www.hardware.fr/index.php?page=forum
c'est ça ?
je vois pas trop bien l'intérêt de jouer avec les .htaccess pour ça  :??:  
avant j'utilisais des url avec pleins d'arguments, mais maintenant j'essaye de travailelr par répertoire, c'est plus simple rien que pour s'y retrouver.  Imagine un portail avec des articles, forums, documents, ... si tout est dans le même répertoire c'est le bordel :(
 
ça y est chu largué ? :lol:

n°80572
speedyop
Posté le 11-12-2001 à 14:51:12  profilanswer
 

non l'interet est d'avoir les forum de toto
ici
http://www.fooforum.com/toto/
 
et les forums de gaspard ici
 
http://www.fooforum.com/gaspard/

n°80582
ethernal
Chercheur de vérité...
Posté le 11-12-2001 à 15:09:03  profilanswer
 

speedyop a écrit a écrit :

non l'interet est d'avoir les forum de toto
ici
http://www.fooforum.com/toto/
 
et les forums de gaspard ici
 
http://www.fooforum.com/gaspard/  




 
okaiche :) okaiche
mais ça c'est pour proposer un hébergement de forum non ?

n°80589
speedyop
Posté le 11-12-2001 à 15:18:20  profilanswer
 

vi, c'est pour ca que je voulais creer des classe, pour la personnalisation de chaque forum j'aimerai bien faire une gestion de skin... c toi ki utilise fatstemplate? ca ralentit pas trop le code?

 

[edtdd]--Message édité par speedyop--[/edtdd]

n°80597
ethernal
Chercheur de vérité...
Posté le 11-12-2001 à 15:29:09  profilanswer
 

vi je l'utilise.
je saurais pas te dire si ça ralenti vraiment les pages  :??:  
 
c'est comme si tu parsais chaque page complètement à la recherche de simleys avec un preg_replace ou une fonction du style...
 
à mon avis ça bouffe pas mal de processeur, mais le concept est trop génial :)

n°80602
speedyop
Posté le 11-12-2001 à 15:46:38  profilanswer
 

vais jeter un oeil, si c trop lourd je resterai avec une solution mi-skin, c a dire juste les couleur et les images... apres tout faut vraient le vouloir pour changer la presentation generale d'un forum au niveau des tables etc...
mais les templates permettent un affichage sur diffenrent support, palm,wap... exportation xml...

n°80664
speedyop
Posté le 11-12-2001 à 18:58:41  profilanswer
 

ethernal a écrit a écrit :

 
sauf que je ne fais pas d'echo puisque je travaille avec la classe FastTemplate (voir sur google).
 
Question développement c'est pas mal :)
 
Mais pour le moment j'ai pas du tout (mais alors vraiment pas du tout !!) optimisé ma BD, ce qui fait que chaque topic ajouté prend 0.016 secondes en plus (sur un PII 433cel 320Mb Ram)...
 
pour 35 topics : Page générée en 0.448 secondes
(dans ma table topic je stocke l'id du message et l'id du dernier message, ce qui me permet d'afficher le nom du posteur et les dates etc,... (tu vois le genre :D)



 
cette baisse de vitesse ne serait-elle pas du a fasttemplate qui parse a chaque row?

mood
Publicité
Posté le 11-12-2001 à 18:58:41  profilanswer
 

n°80719
ethernal
Chercheur de vérité...
Posté le 11-12-2001 à 22:19:00  profilanswer
 

speedyop a écrit a écrit :

 
 
cette baisse de vitesse ne serait-elle pas du a fasttemplate qui parse a chaque row?  




 
c possible, je pourrai te dire ça après avoir modifié ma bd.
là je charge l'objet topic qui contient
idtopic, message_id, lastmessage_id, ...
donc pour l'affichage de chaque ligne, je charge 2 objets messages qui sont le message et le dernier message pour afficher des infos sur le posteur+date/heure et le dernier posteur+date/heure. ça à mon avis ça prend du temps...

n°80735
speedyop
Posté le 11-12-2001 à 22:57:21  profilanswer
 

pff j'essaye le tout objet dans un test avec en particulier fasttemplate...ben c'est deroutant!la page appée doit faire 10 lignes, presque que des creation d'objet et appelle a leur methode... pfff....wow :ouch:  :pt1cable:  :hap:

n°80759
speedyop
Posté le 11-12-2001 à 23:51:48  profilanswer
 

mmh je crois que je vais garder fasttemplate pour un autre projet...parceque pour le forum, ca devient indigeste

n°80761
ethernal
Chercheur de vérité...
Posté le 11-12-2001 à 23:56:51  profilanswer
 

speedyop a écrit a écrit :

pff j'essaye le tout objet dans un test avec en particulier fasttemplate...ben c'est deroutant!la page appée doit faire 10 lignes, presque que des creation d'objet et appelle a leur methode... pfff....wow :ouch:  :pt1cable:  :hap:  




 
moi je dis cool :D

n°80937
ethernal
Chercheur de vérité...
Posté le 12-12-2001 à 15:17:37  profilanswer
 

ethernal a écrit a écrit :

 
Mais pour le moment j'ai pas du tout (mais alors vraiment pas du tout !!) optimisé ma BD, ce qui fait que chaque topic ajouté prend 0.016 secondes en plus (sur un PII 433cel 320Mb Ram)...
 
pour 35 topics : Page générée en 0.448 secondes
(dans ma table topic je stocke l'id du message et l'id du dernier message, ce qui me permet d'afficher le nom du posteur et les dates etc,... (tu vois le genre :D)
 




 
Avec une BD optimisée (redondance d'attributs) j'arrive à 0.168 secondes pour 37 topics sur une page...
optimisée veut dire :
id (id du topic)
forum_id (id du forum)
subject (sujet du topic)
message_id (id du message)
sender (nom du posteur du topic)
datecreation  (datetime du topic)
nbposts (nombre de messages)
lastmsg_id  (id du dernier message)
lastmsgsender  (nom du dernier posteur)
lastmsgdate (datetime du dernier message)
 
avant j'avais
id (id du topic)
forum_id (id du forum)
subject (sujet du topic)
message_id (id du message)
nbposts (nombre de messages)
lastmsg_id  (id du dernier message)
 
avec message_id qui me permettait d'afficher le nom du posteur, la date du topic ; lastmessage_id qui me permettait d'afficher la même chose pour le dernier message.
ces deux id m'obligeaient à instancier deux objets Message et donc 2 requêtes supplémentaires pour chaque objet Topic.
 
c'est plus optimisé mais je ne peux plus permettre que l'utilisateur change de nom, et les ajouts :(

 

[edtdd]--Message édité par ethernal--[/edtdd]

n°80942
gizmo
Posté le 12-12-2001 à 15:24:39  profilanswer
 

ethernal a écrit a écrit :

 
 
Avec une BD optimisée (redondance d'attributs) j'arrive à 0.168 secondes pour 37 topics sur une page...
optimisée veut dire :
id (id du topic)
forum_id (id du forum)
subject (sujet du topic)
message_id (id du message)
sender (nom du posteur du topic)
datecreation  (datetime du topic)
nbposts (nombre de messages)
lastmsg_id  (id du dernier message)
lastmsgsender  (nom du dernier posteur)
lastmsgdate (datetime du dernier message)
 




 
ca va, c'est exactement ce que j'avais pour mon premier jet.

n°80944
skylight
Made in France.
Posté le 12-12-2001 à 15:25:53  profilanswer
 

ethernal a écrit a écrit :

 
 
Avec une BD optimisée (redondance d'attributs) j'arrive à 0.168 secondes pour 37 topics sur une page...
optimisée veut dire :
id (id du topic)
forum_id (id du forum)
subject (sujet du topic)
message_id (id du message)
sender (nom du posteur du topic)
datecreation  (datetime du topic)
nbposts (nombre de messages)
lastmsg_id  (id du dernier message)
lastmsgsender  (nom du dernier posteur)
lastmsgdate (datetime du dernier message)
 
avant j'avais
id (id du topic)
forum_id (id du forum)
subject (sujet du topic)
message_id (id du message)
nbposts (nombre de messages)
lastmsg_id  (id du dernier message)
 
avec message_id qui me permettait d'afficher le nom du posteur, la date du topic ; lastmessage_id qui me permettait d'afficher la même chose pour le dernier message.
ces deux id m'obligeaient à instancier deux objets Message et donc 2 requêtes supplémentaires pour chaque objet Topic.
 
c'est plus optimisé mais je ne peux plus permettre que l'utilisateur change de nom, et les ajouts :(  
 
 




 
a koi te sert l'id du message ?

n°80946
gizmo
Posté le 12-12-2001 à 15:29:27  profilanswer
 

skylight a écrit a écrit :

 
 
a koi te sert l'id du message ?  




 
tiens oui, j'avais pas vu.

n°80947
Oreste
Posté le 12-12-2001 à 15:31:44  profilanswer
 

bah il doit avoir une table pour le titre des post et une autre pour les reponses a ce post donc il lui faut un champs commun pour faire ses jointures non ?

n°80948
skylight
Made in France.
Posté le 12-12-2001 à 15:32:28  profilanswer
 

moi ma page de listing des topics est bcp + lourde mais plus fiable :
j'explique : pour chaque topic je recompte tous les posts de chak topic a chaque fois et j'en deduis le nb de pages et de reponses... mais je vais changer car c'est vraiment lourd
 
par contre l'affichage des reponses (comme forum2.php) est super lent, a chaque message je dois faire une requete du profil du forumeur, qqun at-il une technique + rapide ? les jointure, j'ai beau essayer, ca marche pas :(

n°80950
skylight
Made in France.
Posté le 12-12-2001 à 15:32:59  profilanswer
 

Oreste a écrit a écrit :

bah il doit avoir une table pour le titre des post et une autre pour les reponses a ce post donc il lui faut un champs commun pour faire ses jointures non ?  




 
bah pour ca, il a fait un topic_id

n°80952
gizmo
Posté le 12-12-2001 à 15:33:56  profilanswer
 

Oreste a écrit a écrit :

bah il doit avoir une table pour le titre des post et une autre pour les reponses a ce post donc il lui faut un champs commun pour faire ses jointures non ?  




 
id du topic suffit.

n°80953
gizmo
Posté le 12-12-2001 à 15:34:24  profilanswer
 

et merde, grillé.

n°80954
skylight
Made in France.
Posté le 12-12-2001 à 15:34:27  profilanswer
 

et a quoi te sert l'id du dernier message ?

n°80956
skylight
Made in France.
Posté le 12-12-2001 à 15:34:51  profilanswer
 

gizmo a écrit a écrit :

et merde, grillé.  




 
 :lol:

n°80957
gizmo
Posté le 12-12-2001 à 15:35:45  profilanswer
 

skylight a écrit a écrit :

et a quoi te sert l'id du dernier message ?  




 
pour les effacement de message.

n°80958
Oreste
Posté le 12-12-2001 à 15:35:56  profilanswer
 

en fait je pense qu il s est trompe dans son truc je pense plutot
 
que id --> id du message
et message_id --> id du topic  
 
car la ils nous a donné la structure de sa table topic du mois je pense

n°80961
skylight
Made in France.
Posté le 12-12-2001 à 15:38:45  profilanswer
 

gizmo a écrit a écrit :

 
 
pour les effacement de message.  




 
 
cad ?
ds la liste des topics t'a pas besoin de faire un lien effacer le dernier msg ...  :??:  
 
je vois pas là,  a la limite effacer le topic ok, mais l'id du topic suffit alors

n°80963
gizmo
Posté le 12-12-2001 à 15:40:29  profilanswer
 

skylight a écrit a écrit :

 
 
 
cad ?
ds la liste des topics t'a pas besoin de faire un lien effacer le dernier msg ...  :??:  
 
je vois pas là,  a la limite effacer le topic ok, mais l'id du topic suffit alors  




 
non, si j'efface un post et que c'est le dernier, je dois mettre a jour le nom du dernier posteur, etc... en le mettant dans cette table, ca m'évite une requète supplémentaire pour vérifier si c'est bien le dernier post.

n°80964
skylight
Made in France.
Posté le 12-12-2001 à 15:45:52  profilanswer
 

gizmo a écrit a écrit :

 
 
non, si j'efface un post et que c'est le dernier, je dois mettre a jour le nom du dernier posteur, etc... en le mettant dans cette table, ca m'évite une requète supplémentaire pour vérifier si c'est bien le dernier post.  




 
 
mais ca c'est pour la page d'affichage du sujet !
pas la page d'affichage DES sujets !
de plus, lorsque quelqu'un poste, tu dois systematiquement enlever l'attribut du dernier msg pour le mettre sur le nouveau msg  :??:

n°80967
gizmo
Posté le 12-12-2001 à 15:51:04  profilanswer
 

skylight a écrit a écrit :

 
 
 
mais ca c'est pour la page d'affichage du sujet !
pas la page d'affichage DES sujets !
de plus, lorsque quelqu'un poste, tu dois systematiquement enlever l'attribut du dernier msg pour le mettre sur le nouveau msg  :??:  




 
ouais, sorry, j'ai confondu avec une autre table, dans cette table la, je l'utilise pour l'affichage du dernier message, j'ai besoin de son id pour mettre une ancre dans la apge html.

n°80973
skylight
Made in France.
Posté le 12-12-2001 à 15:55:35  profilanswer
 

gizmo a écrit a écrit :

 
 
ouais, sorry, j'ai confondu avec une autre table, dans cette table la, je l'utilise pour l'affichage du dernier message, j'ai besoin de son id pour mettre une ancre dans la apge html.  




 
ok je comprend mieux ;)
 
moi par contre je me pose une question concernant les drapeaux de ce forum .. comment joce gere -t-il ca ? il doit y avoir une belle bdd derriere.. pour stocker tout cela

n°80975
ethernal
Chercheur de vérité...
Posté le 12-12-2001 à 15:58:08  profilanswer
 

skylight a écrit a écrit :

 
 
a koi te sert l'id du message ?  




 
heu je sais pas en fait ;)
je me disais qu'il fallait un lien avec le premier message, mais c'est vrai qu'implicitement le premier id de message qui a comme topic topic_id est d'office le message qui correspond au topic....
 
je vais le virer :D (enfin question performances ça doit pas changer bcp)

n°80977
ethernal
Chercheur de vérité...
Posté le 12-12-2001 à 15:59:17  profilanswer
 

gizmo a écrit a écrit :

 
 
ca va, c'est exactement ce que j'avais pour mon premier jet.  




 
hé hé  :jap:  
c'est pas du tout évolutif, mais c'est rapide

n°80981
speedyop
Posté le 12-12-2001 à 16:03:56  profilanswer
 

vivfe la rapidité, pis interdire le changement de nom de pseudo c po grave...

n°80983
ethernal
Chercheur de vérité...
Posté le 12-12-2001 à 16:05:22  profilanswer
 

skylight a écrit a écrit :

et a quoi te sert l'id du dernier message ?  




 
bha je pensais pour l'accès direct au dernier message ;)
mais pfff c'est vrai que je peux le virer aussi...  
aurais je eu des raisons que j'ai déjà oubliée ???

n°80987
gizmo
Posté le 12-12-2001 à 16:12:27  profilanswer
 

skylight a écrit a écrit :

 
 
ok je comprend mieux ;)
 
moi par contre je me pose une question concernant les drapeaux de ce forum .. comment joce gere -t-il ca ? il doit y avoir une belle bdd derriere.. pour stocker tout cela  




 
visiblement sa DB n'est pas si grande que ca, parce que les drapeaux disparaissent au fur et a mesure. Je suppose que chaque utilisateur doit avoir un credit de x drapeau, et ensuite il remplace les plus vieux, ou bien ils sont virer après un certain temps.

n°80996
speedyop
Posté le 12-12-2001 à 16:16:35  profilanswer
 

pkoa faire 2 tables distincte pour message et sujet? mttre un champs refmessage, si a 0 c'est un sujet sinon il prends la valeur de l'id message auquel on reponds (celui du sujet par default), garder le lastmessage_id qui sert juste pour les refmessage=0 (sujet) ca sert pour faire les sujet lu ou pas : pour chaque forum on stocke dans une autre table le plus grand lastmessage_id des sujet qu'on a lu et on dans la page d'affichage des discussion on compare si il est plus grand que celui du sujet (si plus grand message, sinon message non lut...)
c'est pas le systeme de joce qui doit faire des jointures...

n°80997
skylight
Made in France.
Posté le 12-12-2001 à 16:16:37  profilanswer
 

gizmo a écrit a écrit :

 
 
visiblement sa DB n'est pas si grande que ca, parce que les drapeaux disparaissent au fur et a mesure. Je suppose que chaque utilisateur doit avoir un credit de x drapeau, et ensuite il remplace les plus vieux, ou bien ils sont virer après un certain temps.  




 
c'est ce que j'avai remarké aussi
les drapeaux disparaissent aux fur et a mesure ...
 
au fait tu a jeté un oeil a mes sourceS ?

n°80999
ethernal
Chercheur de vérité...
Posté le 12-12-2001 à 16:17:47  profilanswer
 

bon j'ai rajouté une classe date() qui transforme le datetime Mysql en date (getDate()) et en heure (getHeure())
 
2 questions :  
 

  • comment et ou gérer la langue du forum ?

il y a moyen d'avoir la langue du user par le browser.  mais en suposant que ce soit un forum francophone, il est inutile d'afficher certains trucs en anglais, donc j'opte pour une langue à l'installation (pour le moment) stocké dans une table config (par après faudra voir à créer un forum par langue éventuellement).
bon alors une classe Config instanciée en haut de chaque page et  
- passée en argument à chaque objet qui pourrait être dépendant de la langue ?? lourd ça :(
- en global ?
 
autre chose à proposer ?
 

  • pour la gestion des pages d'affichages ([0-30] [31-60] ..)

comment faire ?

n°81000
speedyop
Posté le 12-12-2001 à 16:19:40  profilanswer
 

en variable globale...comme tu le ferait pour la configuration des connection db...

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3

Aller à :
Ajouter une réponse
 

Sujets relatifs
Forum php[Forum] Pourrait-on ajouter un thème Java ? - DONE ;-)
[PHP] Dalai ForumForum
mesurer TRES precisement l'utilisation processeur+requete d'un forum ?[BD FORUM] Combien de tables pour faire un forum ?
Forum en fichier txt[ PHP ]: Ex. code formatage texte & smilie pour chat/forum
Positionnement d'objet 3D sur terrain[php] probleme classique de forum : pros des regexp demandés!
Plus de sujets relatifs à : forum php objet?


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