Pas de problème (pb), que du PowerBuilder (PB) ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 13-11-2008 15:26:42

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

[RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Est-ce possible en ayant la ligne et la colonne de savoir modifier la couleur de fond de la cellule spécifique sur laquelle on se trouve ?

Dernière modification par johnpelu (25-11-2008 10:35:05)

Hors ligne

 

#2 14-11-2008 11:31:37

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

En fait ,pour une ligne X et une colonne Y je veux changer la bordure et/ou la couleur , mais ca s'applique à toute la colonne et pas uniquement sur la cellule que je désire

Dernière modification par johnpelu (14-11-2008 11:32:23)

Hors ligne

 

#3 14-11-2008 13:29:53

nico  
Modérateur
Award: bf
Lieu: Plélan le grand
Date d'inscription: 08-02-2007
Messages: 273
Pépites: 13
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Je suis désolé mais je ne suis pas sur d'avoir bien compris ton problème.

Il m'arrive de gérer les couleurs de mais colonnes en utilisant une colonne virtuelle de type numérique, et la valeur que je lui affecte modifie l'affichage.

Au niveau de ta colonne (propiété du Background color), tu peux mettre une condition du type

Code: pb

if( colonne_virtuel = 1  , rgb(255,0,0) , if( colonne_virtuel = 2, rgb(255,128,0) , if (colonne_virtuel = 3 , rgb(0,255,0), rgb(255,255,255) ) ))


Je ne sais pas si ça répondra à ta question!

Hors ligne

 

#4 14-11-2008 13:40:55

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Bonjour,

je ne veux pas mettre toute la colonne en couleur mais une cellule spécifique. En fait je dois pouvoir avoir plusieurs couleurs différentes sur la même ligne et sur une même colonne également.

Hors ligne

 

#5 14-11-2008 13:47:44

nico  
Modérateur
Award: bf
Lieu: Plélan le grand
Date d'inscription: 08-02-2007
Messages: 273
Pépites: 13
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Si tu veux que ta colonne soit rouge pour la ligne 6, il faut affecter la valeur 1 à la "colonne virtuelle" pour la ligne 6. Les autres lignes ne changeront pas de couleurs.

Hors ligne

 

#6 14-11-2008 13:56:44

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Peux tu me donner un exemple concret à partir de ceci car je ne comprends rien, sachant que chaque ligne correspond à consultant_day.day_service et une colonne est projects.project_name...

Code: pb

release 11.5;
datawindow(units=0 timer_interval=0 color=1073741824 brushmode=0 transparency=0 gradient.angle=0 gradient.color=1073741824 gradient.focus=0 gradient.repetition.count=0 gradient.repetition.length=100 gradient.repetition.mode=0 gradient.scale=100 gradient.spread=100 gradient.transparency=0 picture.blur=0 picture.clip.bottom=0 picture.clip.left=0 picture.clip.right=0 picture.clip.top=0 picture.mode=0 picture.scale.x=100 picture.scale.y=100 picture.transparency=0 processing=4 HTMLDW=yes print.printername="" print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes print.background=no print.preview.background=no print.preview.outline=yes hidegrayline=no showbackcoloronxp=no picture.file=""  crosstab.dynamic = yes grid.lines=0 grid.columnmove=no selected.mouse=no )
header[1](height=0 color="536870912" transparency="0" gradient.color="8421504" gradient.transparency="0" gradient.angle="0" brushmode="0" gradient.repetition.mode="0" gradient.repetition.count="0" gradient.repetition.length="100" gradient.focus="0" gradient.scale="100" gradient.spread="100" )
header[2](height=60 color="536870912" transparency="0" gradient.color="8421504" gradient.transparency="0" gradient.angle="0" brushmode="0" gradient.repetition.mode="0" gradient.repetition.count="0" gradient.repetition.length="100" gradient.focus="0" gradient.scale="100" gradient.spread="100" )
summary(height=192 color="536870912" transparency="0" gradient.color="8421504" gradient.transparency="0" gradient.angle="0" brushmode="0" gradient.repetition.mode="0" gradient.repetition.count="0" gradient.repetition.length="100" gradient.focus="0" gradient.scale="100" gradient.spread="100" )
footer(height=0 color="536870912" transparency="0" gradient.color="8421504" gradient.transparency="0" gradient.angle="0" brushmode="0" gradient.repetition.mode="0" gradient.repetition.count="0" gradient.repetition.length="100" gradient.focus="0" gradient.scale="100" gradient.spread="100" )
detail(height=84 color="536870912" transparency="0" gradient.color="8421504" gradient.transparency="0" gradient.angle="0" brushmode="0" gradient.repetition.mode="0" gradient.repetition.count="0" gradient.repetition.length="100" gradient.focus="0" gradient.scale="100" gradient.spread="100" )
table(column=(type=datetime updatewhereclause=yes name=consultant_day_day_service dbname="consultant_day_day_service" )
 column=(type=char(30) updatewhereclause=yes name=projects_project_code dbname="projects_project_code" )
 retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"consultant_day~" )  TABLE(NAME=~"consultants~" )  TABLE(NAME=~"projects~" ) COLUMN(NAME=~"consultant_day.consultant_id~") COLUMN(NAME=~"consultant_day.day_service~") COLUMN(NAME=~"consultants.consultant_name~") COLUMN(NAME=~"projects.project_code~") COLUMN(NAME=~"projects.project_name~") COLUMN(NAME=~"projects.type_id~")    JOIN (LEFT=~"consultants.consultant_id~"    OP =~"=~"RIGHT=~"consultant_day.consultant_id~" )    JOIN (LEFT=~"projects.project_code~"    OP =~"=~"RIGHT=~"consultant_day.project_code~" )) "  sort="consultant_day_day_service A " )
text(band=header[2] alignment="2" text="@consultants_consultant_name" border="0" color="33554432" x="498" y="4" height="128" width="617" html.valueishtml="0"  name=projects_project_code_t visible="1"  font.face="Verdana" font.height="-8" font.weight="700"  font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" background.transparency="0" background.gradient.color="8421504" background.gradient.transparency="0" background.gradient.angle="0" background.brushmode="0" background.gradient.repetition.mode="0" background.gradient.repetition.count="0" background.gradient.repetition.length="100" background.gradient.focus="0" background.gradient.scale="100" background.gradient.spread="100" tooltip.backcolor="134217752" tooltip.delay.initial="0" tooltip.delay.visible="32000" tooltip.enabled="0" tooltip.hasclosebutton="0" tooltip.icon="0" tooltip.isbubble="0" tooltip.maxwidth="0" tooltip.textcolor="134217751" tooltip.transparency="0" transparency="0" )
column(band=detail id=1 alignment="0" tabsequence=32766 border="0" color="33554432" x="9" y="4" height="76" width="480" format="DD/MM/YYYY AM/PM" html.valueishtml="0"  name=consultant_day_day_service visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=no edit.autohscroll=yes  font.face="Verdana" font.height="-8" font.weight="700"  font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" background.transparency="0" background.gradient.color="8421504" background.gradient.transparency="0" background.gradient.angle="0" background.brushmode="0" background.gradient.repetition.mode="0" background.gradient.repetition.count="0" background.gradient.repetition.length="100" background.gradient.focus="0" background.gradient.scale="100" background.gradient.spread="100" tooltip.backcolor="134217752" tooltip.delay.initial="0" tooltip.delay.visible="32000" tooltip.enabled="0" tooltip.hasclosebutton="0" tooltip.icon="0" tooltip.isbubble="0" tooltip.maxwidth="0" tooltip.textcolor="134217751" tooltip.transparency="0" transparency="0" )
column(band=detail id=2 alignment="2" tabsequence=32766 border="0" color="33554432" x="498" y="4" height="76" width="617" format="[general]" html.valueishtml="0"  name=projects_project_code visible="1" dddw.name=d_dddw_projectlist dddw.displaycolumn=project_name dddw.datacolumn=project_code dddw.percentwidth=0 dddw.lines=0 dddw.limit=0 dddw.allowedit=no dddw.useasborder=no dddw.case=any crosstab.repeat=yes  font.face="Verdana" font.height="-7" font.weight="400"  font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" background.transparency="0" background.gradient.color="8421504" background.gradient.transparency="0" background.gradient.angle="0" background.brushmode="0" background.gradient.repetition.mode="0" background.gradient.repetition.count="0" background.gradient.repetition.length="100" background.gradient.focus="0" background.gradient.scale="100" background.gradient.spread="100" tooltip.backcolor="134217752" tooltip.delay.initial="0" tooltip.delay.visible="32000" tooltip.enabled="0" tooltip.hasclosebutton="0" tooltip.icon="0" tooltip.isbubble="0" tooltip.maxwidth="0" tooltip.textcolor="134217751" tooltip.transparency="0" transparency="0" )
 crosstab(band = foreground  crosstabonly = yes 
 columns = "consultants_consultant_name" rows = "consultant_day_day_service" values = "projects_project_code" sourcenames = "consultant_day_consultant_id, consultant_day_day_service, consultants_consultant_name, projects_project_code, projects_project_name, projects_type_id")htmltable(border="0" cellpadding="1" cellspacing="1" )
htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" encodeselflinkargs="1" netscapelayers="0" pagingmethod=0 generatedddwframes="1" )
xhtmlgen() cssgen(sessionspecific="0" )
xmlgen(inline="0" )
xsltgen()
jsgen()
export.xml(headgroups="1" includewhitespace="0" metadatatype=0 savemetadata=0 )
import.xml()
export.pdf(method=0 distill.custompostscript="0" xslfop.print="0" )
export.xhtml()


Message de modération
Merci d'utiliser désormais la balise

Hors ligne

 

#7 14-11-2008 14:34:19

nico  
Modérateur
Award: bf
Lieu: Plélan le grand
Date d'inscription: 08-02-2007
Messages: 273
Pépites: 13
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

C'est une Crosstab Datawindows ?

Autant pour moi, je ne pense pas que ça puisse marcher.

Désolé.

Mais ta DW ne te sert qu'a afficher un résultat? Pourquoi veux tu modifier la couleur de ta cellule?

Hors ligne

 

#8 14-11-2008 14:36:21

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

C'est un planning et en fonction du type de projet sur lequel on est affecté il y a une couleur qui correspond :-/

Hors ligne

 

#9 17-11-2008 11:33:24

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Personne n'a une solution à me proposer ? car la je bloque

Hors ligne

 

#10 18-11-2008 10:45:24

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Je ne suis pas sûr de voir où se situe le problème, mais d'habitude voilà ce que je fais quand je dois paramétrer les couleurs suivant beaucoup de variables:

Posons le fait que tu peux déterminer la couleur ad-hoc d'une cellule donnée en connaisant la ligne et la colonne courante... Je fais une global function (mettons long gf_apply_bgcolor(int row, int col)) qui contiendra tout le calcul de la couleur à appliquer en fonction de la ligne et de la colonne passées en paramètres, et qui renvoie cette valeur de couleur.

Et dans chaque cellule à calculer de la sorte, dans la propriété bgColor, je met l'expression: "gf_apply_bgcolor(currentRow(), x)" (où x est le numéro de colonne de ma cellule).

Ca t'aide?

Hors ligne

 

#11 18-11-2008 17:46:19

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Bonsoir,

Cette solution m'intéresse mais malheureusement je ne sais pas la tester avant lundi prochain , mais est ce que ca va être possible de se positionner sur une colonne bien spécifique sachant qu'il sa s'agit d'une crosstab datawindow ?

Hors ligne

 

#12 18-11-2008 18:02:40

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Le truc, c'est que de cette manière, tu positionne rien du tout! Si tu peux mettre une couleur, tu peux utiliser cette méthode.

C'est dans chacune de tes colonnes que tu vas mettre l'expression gf_... Et c'est ta fonction qui calcule s'il faut ou non changer un truc. A toi de trouver quels parametres lui fournir pour convenir à tout tes cas de figure, et le tour est joué.

J'ai peut etre pas ete tres explicite tout à l'heure, mais il faut customiser la global  en fonction de tes besoins. Par exemple, mettons que tu aies la cellule X qui doit être bleue si la colonne FLAG est à 'y' et rouge autrement... Alors tu as juste besoin d'une GF qui ressemble à long gf_apply_bgcolor(char flag). Et dans l'expression couleur de X, tu met: "gf_apply_bgcolor( flag )". Et dans la GF, un ptit "if flag = 'y' then return rgb(0,0,255)"... (c'est pas du code hein ! )

Tu vois l'idée? A toi de trouver les paramètres qui couvrent tout tes cas, et les passer à la GF, et mettre le tout dans les expression couleur de TOUTES tes colonnes...

Hors ligne

 

#13 18-11-2008 18:29:13

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Oui mais je n'ai pas trouvé de fonction du style Setcolor(...) pour une cellule bien précise

Hors ligne

 

#14 24-11-2008 10:15:11

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Je n'arrive toujours pa à changer la couleur d'une cellule en particulier, quelqu'un à une idée ?

Hors ligne

 

#15 24-11-2008 10:41:11

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Cortex a écrit:

et mettre le tout dans les expression couleur de TOUTES tes colonnes...

dans les propriétés des éléments : background.color = ...


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#16 24-11-2008 10:43:45

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

erasorz a écrit:

Cortex a écrit:

et mettre le tout dans les expression couleur de TOUTES tes colonnes...

dans les propriétés des éléments : background.color = ...

Ca j'ai compris, mais comment faire pour changer la couleur de la ligne "i" pour la colonne "x", c'est la que je cale

Hors ligne

 

#17 24-11-2008 11:08:29

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Ben ça, tu le code dans ta fonction globale... Genre si colonne = x et ligne = y alors return rose... Sinon à quoi servirait la fonction globale?

Faut savoir que toutes les cellules d'une même colonne ont les même valeur de propriété. Y a rien a faire contre ça, c'est comme ça. Par contre, ces propriété peuvent avoir des valeur définies par des expressions qui seront évaluées ligne par ligne. Et c'est ce principe que je propose d'utiliser pour différencier les cellules d'une colonnes...

Ce que je t'ai donné, c'est pas une solution toute faite, c'est une piste.

Hors ligne

 

#18 24-11-2008 11:16:20

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Cortex a écrit:

Ben ça, tu le code dans ta fonction globale... Genre si colonne = x et ligne = y alors return rose... Sinon à quoi servirait la fonction globale?

Faut savoir que toutes les cellules d'une même colonne ont les même valeur de propriété. Y a rien a faire contre ça, c'est comme ça. Par contre, ces propriété peuvent avoir des valeur définies par des expressions qui seront évaluées ligne par ligne. Et c'est ce principe que je propose d'utiliser pour différencier les cellules d'une colonnes...

Ce que je t'ai donné, c'est pas une solution toute faite, c'est une piste.

Oui mais c'est la que je cale, je ne sais pas comment faire pour avoir "ligne/colonne", c'est une crosstab, pas une datawindow normale.
En gros, je récupère le type de projet, à chaque type de projet est associé une couleur pour la cellule, et c'est en fonction de ce type de projet que je dois mettre la cellule dans telle ou telle couleur, mais pour cela je dois connaitre le nom de ma cellule (ou position) pour effectuer le changement de couleur et je coince

Hors ligne

 

#19 24-11-2008 14:01:39

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

J'ai essayé avec ceci , la chaine est bien "" mais rien ne change, dois je essayer en travaillant sur la ligne également ?

Code:

 dw_planning.Modify("projects_project_code_"+string(li_j - 1)+".Background.Color = '"+string(ll_color_value)+"'")

Hors ligne

 

#20 24-11-2008 15:49:33

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

T'es tu posé la question du choix de la crosstab? Ne penses tu pas qu'ele est inadapté pour ce que tu veux faire?

Les crosstab sont trop limitatives, à part pour sortir quelques tableaux dans des composites plus élaborées, ça reste d'un intéret marginal. Parce que à mon humble avis, vu les efforts que tu investi là dedans, il faut se poser la question. Tu consomme du budget de dév sans être sûr d'aboutir, avec plein de limitations, alors que tu pourrais investir tout ce temps dans un composant exprès, ou une datawindow plus généraliste que tu pourrais bricoler à loisir.

J'ai suivi ton truc d'un oeil distrait, mais si c'est bien pour faire un affichage de planning pour PM, franchement, prend une datawindow freeform ou tabular et génère ton tableau comme ça (y a la datawindow N-UP aussi ) J'ai du en faire une seule fois un truc comme ça, y a pas à hésiter, quite à coupler ta datawindow avec un nonVisualObject chargé de la mettre en forme, c'est beaucoup plus évolutif par la suite... Sinon que faire quand un client te demandera encore plus de couleur, de mettre en gras tel ou tel truc... ou de rajouter des anim par ex.?

Si tu as par contre des arguments pour conserver ta crosstab, alors amen et bonne chance quand même.

Hors ligne

 

#21 24-11-2008 15:59:02

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Oui mais comment puis-je avoir une présentation comme pour une crosstab, en mettant les dates comme coordonnées pour les lignes, et les noms comme coordonnées pour les colonnes

Hors ligne

 

#22 24-11-2008 16:17:00

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

Bah! Si ce n'est que ça, c'est pas la peine...

Soit tu passe par un nvo (ou une datawindow control spécialement pour ça) et tu lui demande de générer ta datawindow object en fonction du nombre de colonnes. Et après, à ton objet la tâche de remplir chaque cellule en fonction des données brutes que tu récupère via un gros query monolithiques, que tu filtre successivement par Nom... Tu vois le genre, pas sorcier...

Evidemment, pour générer la dw en fonction du nombre de colonnes, il suffit d'en faire une pour 1 ou 2 colonnes, de regarder la syntaxe, et de s'en inspirer pour pondre la syntaxe pour n colonnes. Ensuite méthode create d'un datawindowControl, parcours des données et remplissage de la grille et hop, le tour est joué...

Ou alors, y en a qui préfèrent la dw N-Up, mais - pour les même raisons que la crosstab - je pense qu'il vaut mieux éviter dans ce cas-ci.

Hors ligne

 

#23 24-11-2008 19:45:32

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

JE galère je galère je galère, personne n'a un exemple à me fournir ? je craque

Hors ligne

 

#24 24-11-2008 19:58:50

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#25 24-11-2008 21:21:56

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Comment connaitre sa position dans une Crosstab datawindow ?

mdr...

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22