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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  201  202  203  ..  486  487  488  489  490  491
Auteur Sujet :

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

n°933836
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-12-2004 à 20:30:40  profilanswer
 

Reprise du message précédent :
pour transformer ça : http://forum.antp.be
en ça : http://forum2.antp.be
[:ddr555]
(note: là c'était un test, je dois encore refaire la CSS et faire la réimportation finale)


Message édité par antp le 29-12-2004 à 20:32:00

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le 29-12-2004 à 20:30:40  profilanswer
 

n°933850
zion
Plop
Posté le 29-12-2004 à 21:08:25  profilanswer
 

antp a écrit :

(note: là c'était un test, je dois encore refaire la CSS et faire la réimportation finale)


 
oui, et c'est une version anglaise, j'ai encore 2 ou 3 petits textes à corriger pour que ce soit tout correct :o (donc oui, le forum est multilangues en plus [:dawa] )


---------------
Informaticien.be - Lancez des défis à vos amis
n°933863
FonzieV
Posté le 29-12-2004 à 21:37:29  profilanswer
 

J'ai aussi fait un forum (un peu comme celui-ci mais en plus simple et sans sous-catégories)...
Si ça interesse qq'un, je peux releaser les sources car il me semble pas très sécurisé, lol.

n°934020
jjgan
...
Posté le 30-12-2004 à 11:36:47  profilanswer
 

SELECT *
FROM sujets, vu
WHERE idCat =5
AND typeLien IS NULL
AND mod =1
AND sujets.idSuj=vu.idSuj
AND pseudo='test'
ORDER BY dDate DESC
LIMIT 0 , 30



SELECT *
FROM sujets
WHERE idCat =5
AND typeLien IS NULL
AND mod =1
AND pseudo='test'
ORDER BY dDate DESC
LIMIT 0 , 30


 
Comment faire pour que les deux requetes ci dessus n'en face plus qu'une avec les resutats des deux (pas de UNION :D)
En MySQL
 
Ca doit etre avec un JOIN mais je comprend pas comment ça marche.
Merci pour votre aide, c'est pour mes lu/non lu/drapeaux
 
edit: en gros je veux tous les resultats qui ont une corespondance au niveau de la jointure (req1) et aussi tous ce qui n'ont aucunes corespondance dans la deuxieme table (req2)


Message édité par jjgan le 30-12-2004 à 11:39:38
n°934057
skylight
Made in France.
Posté le 30-12-2004 à 12:49:47  profilanswer
 

avec un OR ?

n°934126
docmaboul
Posté le 30-12-2004 à 14:49:06  profilanswer
 

jjgan a écrit :


Comment faire pour que les deux requetes ci dessus n'en face plus qu'une avec les resutats des deux (pas de UNION :D)
En MySQL
 
Ca doit etre avec un JOIN mais je comprend pas comment ça marche.
Merci pour votre aide, c'est pour mes lu/non lu/drapeaux


 

SELECT *
FROM sujets
LEFT JOIN vu
ON sujets.idSuj=vu.idSuj
WHERE idCat =5
AND typeLien IS NULL
AND mod =1
AND pseudo='test'
ORDER BY dDate DESC
LIMIT 0 , 30


 

n°934137
Gfreeman
http://www.FGFasp.com
Posté le 30-12-2004 à 15:00:46  profilanswer
 

jjgan a écrit :

[
....c'est pour mes lu/non lu/drapeaux....


 
Utilise des fichiers texte. Les accès à ce genre de fichiers sont beaucoup plus rapides que ceux à une base de données (hors problèmes de verrous bien sûr).
 
Voila, j’ai un problème avec mon forum. J’essaye de m’affranchir du fardeau JS pour la partie messages (suite à une forte demande de googlisation), mais cela ne va pas sans en grand nombre de problème. Mister Template, je te déteste. Effectivement créer un moteur de Template performant n’est pas une mince affaire. J’ai bien développé un moteur, mais le souci est que la génération des pages a doublée et passe de 80 ms à 200 ms hors temps bdd.
 
Le tout réuni hors cache me donne des temps de l’ordre de 400 ms (sigh !!!!) contre 130 ms avec le moteur JS. Au niveau de la présentation des templates, j’ai regardé celles de phpbb mais hum, elles ne sont pas vraiment parlantes.
 
Voici un petit bout de mon template.
 

Code :
  1. <!--BEGIN_UTI_AIM-->
  2.     <TD WIDTH="60px" ALIGN="CENTER" ONMOUSEOVER="fct_showbox('AIM_{MES_IDENTIFIANT}','{UTI_AIM}')" ONMOUSEOUT="fct_hidebox('AIM_{MES_IDENTIFIANT}')">
  3.      <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">
  4.       <TR><TD><IMG SRC="themes/{THEMES}/images/icon_aim.gif" BORDER="0" ALT=""></TD></TR>
  5.       <TR><TD><DIV ID="AIM_{MES_IDENTIFIANT}" STYLE="position:absolute"></DIV></TD></TR>
  6.      </TABLE>
  7.     </TD>
  8. <!--END_UTI_AIM-->


 
 
Le problème c’est qu’avec la méthode que j’utilise aujourd’hui, c’est un vrai nid à bugs et failles. La moindre insertion de ce genre de balise {} dans un message peut causer pas mal de dégats :/.
 
Voila, si vous pouviez m’aider ou m’aiguiller sur ce coup ;)


Message édité par Gfreeman le 30-12-2004 à 15:11:24
n°934165
Rainbow_Ef​reet
Posté le 30-12-2004 à 15:25:45  profilanswer
 

J'ai inclus un Onliner dans mon forum :)

n°934168
Gfreeman
http://www.FGFasp.com
Posté le 30-12-2004 à 15:29:16  profilanswer
 

rainbow_efreet a écrit :

J'ai inclus un Onliner dans mon forum :)


Les couleurs sont vraiment agréables  :)

n°934182
Rainbow_Ef​reet
Posté le 30-12-2004 à 15:36:39  profilanswer
 

Merci héhé

mood
Publicité
Posté le 30-12-2004 à 15:36:39  profilanswer
 

n°934284
scull
MySCULL cay bon mangez en!
Posté le 30-12-2004 à 17:45:08  profilanswer
 

vraiment trés sympa ton forum rainbow_efreet


---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
n°934294
Je@nb
Kindly give dime
Posté le 30-12-2004 à 17:53:23  profilanswer
 

Pas mal pas mal ;)

n°934377
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-12-2004 à 20:38:35  profilanswer
 

un peu fort gris de la part d'un gars qui s'appelle "rainbow" [:ddr555]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°934407
ixemul
Nan mais sans blague ! ⚡
Posté le 30-12-2004 à 21:35:50  profilanswer
 

antp a écrit :

un peu fort gris de la part d'un gars qui s'appelle "rainbow" [:ddr555]


 
arthur ? [:ddr555]
 
A moins que ce ne soit une reference a un jeu de carte fort populaire [:payzan]

n°934409
Max Evans
Posté le 30-12-2004 à 21:43:06  profilanswer
 

J'aurai dis un arc-en-ciel [:ddr555]


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°934410
Rainbow_Ef​reet
Posté le 30-12-2004 à 21:47:53  profilanswer
 

Oui c'est un référence à un jeu de carte très populaire :)

n°934432
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-12-2004 à 23:05:21  profilanswer
 

ixemul a écrit :

arthur ? [:ddr555]
 
A moins que ce ne soit une reference a un jeu de carte fort populaire [:payzan]


 
moi ça me faisait juste penser à un arc-en-ciel :o (traduction anglaise de ce mot)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°934529
ixemul
Nan mais sans blague ! ⚡
Posté le 31-12-2004 à 09:45:00  profilanswer
 

antp a écrit :

moi ça me faisait juste penser à un arc-en-ciel :o (traduction anglaise de ce mot)


 
 
[:phenos]
 
 
[:ddr555]

n°934858
Gfreeman
http://www.FGFasp.com
Posté le 01-01-2005 à 13:23:57  profilanswer
 

personne pour m'aider :(

n°934912
docmaboul
Posté le 01-01-2005 à 18:05:38  profilanswer
 

comment est-ce que vous avez codé votre moteur de templates?

n°934913
fabien
Vive la super 5 !
Posté le 01-01-2005 à 18:05:50  profilanswer
 

Gfreeman a écrit :

personne pour m'aider :(


bonne année   [:mr yvele]


---------------
Découvre le HFRcoin ✈ - smilies
n°934931
Gfreeman
http://www.FGFasp.com
Posté le 01-01-2005 à 18:51:08  profilanswer
 

DocMaboul a écrit :

comment est-ce que vous avez codé votre moteur de templates?


 
Disons un peu comme un sauvage...
Je récupère les informations d'un fichier .tpl avec la fonction ci-dessous.
 

Code :
  1. Private Function fct_lib_Read_Template(ByVal str_name As System.String) As System.Text.StringBuilder
  2.         Dim obj_rfiles As System.IO.StreamReader
  3.         Dim obj_value As System.Text.StringBuilder
  4.         Dim str_path As System.String
  5.         str_path = sys_forum(8) & "\themes\" & sys_Cookies(18) & "\templates\" & str_name & ".tpl"
  6.         If Not System.IO.File.Exists(str_path) Then
  7.             Return Nothing
  8.         End If
  9.         obj_value = New System.Text.StringBuilder
  10.         obj_rfiles = System.IO.File.OpenText(str_path)
  11.         While obj_rfiles.Peek > 0
  12.             obj_value.Append(obj_rfiles.ReadLine() & vbCrLf)
  13.         End While
  14.         obj_rfiles.Close()
  15.         Return obj_value
  16.     End Function


 
Ensuite, je balance des analyses de la chaîne avec des Expressions régulières (compilées).
 
Voila un exemple du template.

Code :
  1. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">
  2.    <TR>
  3. <!--BEGIN_REMOVE_1-->
  4.     <TD WIDTH="23px" ALIGN="CENTER"><A HREF="{PU_COPTIONS_1}"><IMG SRC="themes/{THEMES}/images/button_remove.gif" BORDER="0" ALT=""></A></TD>
  5. <!--END_REMOVE_1-->
  6. <!--BEGIN_MES_IP-->
  7.     <TD WIDTH="60px" ALIGN="CENTER" ONMOUSEOVER="fct_showbox('IP_{MES_IDENTIFIANT}','{MES_IP}');" ONMOUSEOUT="fct_hidebox('IP_{MES_IDENTIFIANT}')">
  8.      <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">
  9.       <TR><TD><IMG SRC="themes/{THEMES}/images/icon_ip.gif" BORDER="0" ALT=""></TD></TR>
  10.       <TR><TD><DIV ID="IP_{MES_IDENTIFIANT}" STYLE="position:absolute"></DIV></TD></TR>
  11.      </TABLE>
  12.     </TD>
  13. <!--END_MES_IP-->
  14.     <TD WIDTH="*"><SPAN CLASS="small1x">&nbsp;</SPAN></TD>
  15.    </TR>
  16.   </TABLE>


 
Seul problème de ce genre d’analyse est le temps d'exécution, vraiment trop long. Plus la chaîne augmente, et plus le temps de traitement aussi. Même en utilisant la classe StringBuilder, c'est encore beaucoup trop long.  
 
Par boucle, j'ai 10 ms de traitement dans la vue (en comptant l'analyse et le traitement des smileys, bbcode et autres options).
 

Fabien a écrit :

bonne année   [:mr yvele]


Merci toi de même :)


Message édité par Gfreeman le 01-01-2005 à 19:01:44
n°934945
Rainbow_Ef​reet
Posté le 01-01-2005 à 19:39:05  profilanswer
 

Un bon CSS et plus de template :p

n°934953
Gfreeman
http://www.FGFasp.com
Posté le 01-01-2005 à 19:57:21  profilanswer
 

:sweat:

n°934977
docmaboul
Posté le 01-01-2005 à 20:34:03  profilanswer
 

Gfreeman a écrit :

Disons un peu comme un sauvage...


 
Il faut que vous vous démerdiez pour ne pas faire le parsing à chaque utilisation du template par exemple en utilisant plutôt une sorte d'objet en cache pour générer directement la page demandée à chaque appel. Le mieux serait de pouvoir rendre globales vos "variables de templates" et de transformer le template en code .asp à la volée (j'imagine qu'on doit pouvoir aussi compiler à la volée avec .net).

n°934999
scull
MySCULL cay bon mangez en!
Posté le 01-01-2005 à 20:51:53  profilanswer
 

un bon css et c'est fini :)


---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
n°935032
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 01-01-2005 à 22:35:26  profilanswer
 


Ben ... Il a pas tord en plus ...
 
Ou alors essaye d'adapter Smarty en ASP.NET ...


---------------
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°935099
docmaboul
Posté le 02-01-2005 à 07:41:05  profilanswer
 

Gilbert Gosseyn a écrit :

Ben ... Il a pas tord en plus ...


 
Ben, ça dépend quand même beaucoup de ce que l'on appelle un template. Si c'est juste de la customisation de design, oui, le css doit suffire. Sinon, bijour je m'appelle roger et, dans mon template de forum, je voudrais tester si la date du jour correspond à la date de naissance de l'utilisateur et le cas échéant lui ouvrir une et une seule popup pour lui souhaiter son anniversaire, comment je fais ça avec un css?

n°935101
docmaboul
Posté le 02-01-2005 à 08:26:29  profilanswer
 

Bon, j'ai mis une nouvelle version en ligne.
 
Au menu, pas grand chose de neuf côté utilisateur: pas mal de petits bugs en moins et l'ajout de la détection des robots (google, msn, yahoo, ...)
 
En interne, j'ai revu complètement ma manière de gérer la mémoire. Avant, j'avais une grosse zone de shared et un ensemble de pools qui s'en attribuaient un pourcentage (ce qui était à chier mais me convenait à peu près pour avancer ailleurs). Maintenant, j'ai toujours une grosse zone de shared mais les pools y réservent désormais des petites pages d'au moins 128Ko pour y faire leurs allocations.
 
Mes listes fonctionnent désormais avec des pages de 8Ko (ce qui me permet d'avoir une "zone virtuelle" de 4Mo, par exemple pour stocker les ids des messages du forum programmation, sans avoir à me soucier de la fragmentation). Il me reste juste à faire en sorte que les listes puissent utiliser des pages de taille variable (32, 64, 128, 512 et 8096 octets par exemple). Ca me permettra d'utiliser ça dans les listes de messages d'un topic par exemple car ce serait du gâchis que d'utiliser 8Ko de ram pour stocker les 4 ids de message d'un topic tout pourri. Je pourrais encore utiliser ce système pour mes tables de hash (dont la taille peut aller jusqu'à (12!-1)*4 octets en 32 bits [:ddr555]).
 
Du coup, j'ai aussi revu l'algo de mon garbage collector. Maintenant, il ne se déclenche que lorsque 90% de la grosse zone de shared a été attribuée aux pools et va diviser par 4 les compteurs d'utilisation des données à chaque passe (si le compteur tombe à 0 => bye bye la donnée).
 
J'ai aussi pas mal avancé dans la transformation mon langage de script pour qu'il soit bien plus orienté objet. Il me reste à fignoler ça, à ajouter la gestion d'un temps maximal d'execution et à transformer un peu mon parser pour qu'il puisse aussi bien accepter le même code sous cette forme:
 

Code :
  1. {DoLogin(PostedVarGet("User" ), PostedVarGet("Password" ))}
  2. <!-- IF curRequest.strError -->
  3.   {GeneratePage("error.htm" )}
  4.   <!-- ABORT -->
  5. <!-- ENDIF -->
  6. <html><head>
  7. ...


 
que sous celle-ci:
 

Code :
  1. <?mabouls_script
  2. DoLogin(PostedVarGet("User" ), PostedVarGet("Password" ));
  3. if curRequest.strError
  4. {
  5.   GeneratePage("error.htm" );
  6.   abort;
  7. }
  8. ?>
  9. <html><head>
  10. ...


n°935135
Gfreeman
http://www.FGFasp.com
Posté le 02-01-2005 à 11:33:38  profilanswer
 

DocMaboul a écrit :

Il faut que vous vous démerdiez pour ne pas faire le parsing à chaque utilisation du template par exemple en utilisant plutôt une sorte d'objet en cache pour générer directement la page demandée à chaque appel. Le mieux serait de pouvoir rendre globales vos "variables de templates" et de transformer le template en code .asp à la volée (j'imagine qu'on doit pouvoir aussi compiler à la volée avec .net).


 
OK, je vois ce que tu veux dire. Oui ça peux être une bonne solution. Je vais essayer de modifier le code dans ce sens, mais ça risque d'être coton  :sweat: . Pour le moment, je vais plus me pencher sur Konqueror. Il me pose des soucis l'animal !


Message édité par Gfreeman le 02-01-2005 à 11:35:12
n°936233
docmaboul
Posté le 04-01-2005 à 06:48:01  profilanswer
 

DocMaboul a écrit :

Il me reste juste à faire en sorte que les listes puissent utiliser des pages de taille variable (32, 64, 128, 512 et 8096 octets par exemple). Ca me permettra d'utiliser ça dans les listes de messages d'un topic par exemple car ce serait du gâchis que d'utiliser 8Ko de ram pour stocker les 4 ids de message d'un topic tout pourri. Je pourrais encore utiliser ce système pour mes tables de hash (dont la taille peut aller jusqu'à (12!-1)*4 octets en 32 bits [:ddr555]).


 
Aller, c'est fait. J'ai ajouté du même coup une petite fonction pour avoir un rendu visuel de la mémoire cache:
 
http://docmaboul.dyndns.org/tests/mabouls_world/memmap.png
 
Il faudra que j'ajoute une légende.

n°936277
drasche
Posté le 04-01-2005 à 09:12:23  profilanswer
 

[:xx_xx]


---------------
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°936325
THE REAL S​MILEY
The Real Résistance!
Posté le 04-01-2005 à 10:17:01  profilanswer
 

[mode 3615ML]
je viens de finir de remonter une config de vacances à base de Cyrix 150 (on ne rit pas :o, voir config :o) seulement je rentre chez moi demain :/
[/mode 3615ML]
donc, désolé sir le 1er post n'est pas à jour, je le ferai à mon retour :o

n°936384
docmaboul
Posté le 04-01-2005 à 11:21:53  profilanswer
 


 
Et voilà la légende:
 
http://docmaboul.dyndns.org/tests/mabouls_world/memlegend.png
 
Ca ne sert pas à grand chose, mais c'est rigolo [:ddr555]

n°936589
skylight
Made in France.
Posté le 04-01-2005 à 13:52:43  profilanswer
 

47% la premiere ligne :heink: :o

n°936615
docmaboul
Posté le 04-01-2005 à 14:14:46  profilanswer
 

Je pense avoir corrigé ce petit souci...

n°938468
jjgan
...
Posté le 05-01-2005 à 21:11:08  profilanswer
 

Le forum de Gnaf est en version 0.1 testing,
j'ai besoin de vos avis (user: test, pass: test)
N'hésitez pas à critiquer, ici oubien directement sur Gnaf/forum
 
http://www.jjgan.org/gnaf/
 
Merci pour votre aide.


---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
n°938694
Profil sup​primé
Posté le 06-01-2005 à 00:52:19  answer
 

jjgan : Ppas de verification lorsque une variable en GET n'est pas spécifié = gros plantage
 
 

n°940467
Rainbow_Ef​reet
Posté le 07-01-2005 à 17:00:44  profilanswer
 

J'ai mis en 1ere page de mon forum une page qui reprend des infos tels que les 10 derniers post.
Elle prend aussi jusqu'as trois topic précis qui seront donc affiché en premiere page et elle prend aussi le onliner.Je voudrais savoir ce que vous en pensez au niveau lisibilité et utilité réelle.
Merci d'avance :)


Message édité par Rainbow_Efreet le 07-01-2005 à 17:07:58
n°940488
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 07-01-2005 à 17:20:07  profilanswer
 

En fait, tu as commencé à transformer ton forum en une sorte de CMS léger.


---------------
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°940510
Rainbow_Ef​reet
Posté le 07-01-2005 à 17:32:13  profilanswer
 

Euh oui mais alors très léger !

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  201  202  203  ..  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)