cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 2010
-
6 mai 2008 à 19:15
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 2010
-
12 mai 2008 à 18:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 12 mai 2008 à 18:46
N'utilise pas les niveau, pourquoi ne fait tu pas simplement une liste d'exeption soit par pseudo ou host ou autre ? Les level d'accès sont généralement utilisé dans des scripts entier.
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 12 mai 2008 à 18:38
je comprend parfaitement Arkanis
mais celui qui a un script qui a un level plus haut i pourra modifier le level qu'il veu c'est rien que 2 etape il peux meme faire remplacé 101 par 1000 par ex.
en tt cas je vais amelioré encore pour la liste d'exeption
je vais faire un nouveau Wantispam V2.2 et les niveau seront a 100000 :p lol
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 12 mai 2008 à 18:31
la ligne du if, faut effectivement rajouter une parenthèse tout à la fin pour équilibrer.
if ($regex($1-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i)) ban -k $chan $nick 2 SPAM INTERDIT 1WorldDMTT
et oui, je ne teste pas les codes que je mets en commentaire et je n'ai pas l'habitude de dire quand je teste, malgré le fait que ce soit tellement rare :p
le 100 est arbitraire, quelqu'un d'autre pourrait vouloir que ça ne fonctionne pas pour ceux en dessous de 1000, etc ...
perso, j'utilise JAMAIS les levels, y'a trop de problèmes de compatibilité
CsDarkman, pourquoi ça ne fonctionnerait pas ?
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 12 mai 2008 à 18:06
mais bien sur ça doi etre chez moi "moi" veux dire celui qui a le script donc chaqun qui charge ce script chez lui a des condition pour les users
donc le script enregistre dans users le niveau et puisque le script est chez moi donc c'est de chez moi que les commande kick sortent lors d'un spam tu comprend ce que je veu dire
ex:
si je t'ajoute ds la liste ton niveau chez moi sera 101 ds ce cas si tu spam le script le te kick pas tu aura une exeption tu vois un peu?
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 12 mai 2008 à 17:46
Oui, bah tu le met si tu veux, mais ça ne marche que chez toi
car la gestion des utilisateurs est différente chez les autres, ça se trouve chez qqun, le level 100 désigne les user basique et ton code sera incorrect, utilise simple if ($nick isop $chan) (déja présent), si tu veux que les halfop ne soit pas touché non plus rajoute un if ($nick ishop $chan) etc..
Oui ton code permet de géré les level des users, mais ici, les codes sont destiné a tout le monde, celui qui doit utilisé ton code ne peux pas gardé sont system d'accès, donc c'est pas une très bonne idée, sinon tu fait un system qui permet de protégé des users selon leur level d'acces en plus de leur status (op, halfop , voice) :)
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 12 mai 2008 à 17:39
WIMS
a propos de if ($ulevel >= 100) return
je ne sais pas si j'ai bien compris ta question mais
donc le if ($ulevel >= 100) return c'est que cet utilisateur qui est au niveau 101 ne sera plus kick au cas un spam et voilà l'exeption dont je parle
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 12 mai 2008 à 17:32
Effectivement pour le if.
Je ne comprend pas ton if ($ulevel >= 100) return rajoute le dans les condition du /return si tu veux :)
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 12 mai 2008 à 17:25
il fau ajouter 2 () donc:
if ($regex($1-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i)) ban -k $chan $nick 2 SPAM INTERDIT 1WorldDMT
là ça donne mais il n'y a pas d'exception donc le if ($ulevel >= 100) return doi etre presente si nn ce n'est plus avec exception
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 12 mai 2008 à 17:19
toi aussi WIMS
/elseif: invalid format (line 3, script.ini)
ça donne tjr pas :/
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 12 mai 2008 à 17:03
Étant donné que ça reste assez basique, je pense que souvent, comme moi, il écris le code a la volée ds les commentaires directement, et donc souvent c'est non testé (moi je le signale souvent quand j'ai testé ou pas), il manque juste une parenthèse au début du if,
if ($regex($1-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i) ban -k %chan %nick 2 SPAM INTERDIT 1WorldDMTT
}
Autre remarque, Lorsque tu rediriges un evenement vers un alias directement dans l'evenement (comme c'est le cas ds le code d'Arkanis) tout ce qui étais dispo dans l'evenement est dispo dans l'alias, sans avoir a fournir les paramètres
petit exemple :
on *:text:*:#salon:GaisGa
alias GaisGa echo -a $nick $chan
Le code final donnerait :
alias traitement_anti_spam {
if ($nick isop $chan) || ($wildtok($1-,#*,1,32) == $chan) return
if ($regex($1-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i) ban -k $chan $nick 2 SPAM INTERDIT 1WorldDMTT
}
on @*:NOTICE:*:#:traitement_anti_spam $strip($1-)
on @*:ACTION:*:#:traitement_anti_spam $strip($1-)
on @*:TEXT:*:#:traitement_anti_spam $strip($1-)
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 12 mai 2008 à 15:57
CsDarkman
Arkanis fais de bon cript souvent mais des fois ds les commentaires c'est comme si il ne teste pas sont script avant de posté :p
mais bon il m'a donné une idé genial sur alias comme tu dis il y aura un V3 :p
mais bon Arkanis j'ai pas pus tester le script pour voir si les niveau travaille tjr
car selon les niveau on pourra faire une exemption sur quelque users preci.
CsDarkman
Messages postés24Date d'inscriptionsamedi 12 avril 2008StatutMembreDernière intervention16 mai 2008 12 mai 2008 à 15:43
ce code corrigé est parfait en partie théorique mais ca marche pa avec tt les version des script ini de script
surtt les nouvelles versions de nos jours
WORLDDMT profite de cette correction avec tn prelmier essaie pour
faire tn code personnel par exemple v3
:D
pamal comém je t'encourage.
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 12 mai 2008 à 12:43
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 12 mai 2008 à 12:05
ne t'en fais pas pour les notes ... perso j'aime pas en mettre, vu que tout est relatif :D
le . devant ban ne sert à rien
vérifie que tu sois bien op (en rajoutant @ sur les events)
j'aime pas trop que t'utilises les levels (ulevel > 100) vu que ça dépend entièrement de l'utilisateur !
le point 6) de Wims est assez important.
alias traitement_anti_spam {
var %chan $1, %nick $2
if (%nick isop %chan) return
tokenize 32 $strip($3-)
if ($wildtok($1-,#*,1,32) == %chan) return
;"if ($ulevel >= 100) return" ne fonctionnera plus à mon avis
if $regex($1-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i) ban -k %chan %nick 2 SPAM INTERDIT 1WorldDMT™
}
on @*:NOTICE:*:#:traitement_anti_spam $chan $nick $1-
on @*:ACTION:*:#:traitement_anti_spam $chan $nick $1-
on @*:TEXT:*:#:traitement_anti_spam $chan $nick $1-
t'auras ainsi le nick dans %nick, chan dans %chan, et le texte dans $1-, comme tes 3 events
mais t'aurais pu garder $1 $2 et $3-. J'ai fait ça pour que tu comprennes mieux l'analogie.
Au final, ton alias de traitement donnerait :
alias traitement_anti_spam {
tokenize 32 $strip($1-)
if ($2 isop $1) return
if ($wildtok($3-,#*,1,32) == $1) return
if $regex($3-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i) ban -k $1-2 2 SPAM INTERDIT 1WorldDMT™
}
le code est plutôt propre sinon
d'autres petits détails : le nombre de téléchargements ne compte que ceux du .zip étant donné qu'il n'y a aucun moyen de contrôler le c/c du texte au milieu. En conséquence, n'en tiens pas compte.
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 9 mai 2008 à 19:25
aucune note :S
j'espere que c'est pas si nul que ça :/
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 9 mai 2008 à 18:45
ok merci
voilà comme prevu :)
donnez moi des idée qui pourron amelioré ce script merci
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 8 mai 2008 à 14:40
Ben du spam c'est du spam, donné un site internet ou un server irc c'est pareil ds ce cas là, mais c'est comme tu veux :)
WorldDMT
Messages postés871Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 20121 8 mai 2008 à 09:33
ok merci WIMS
mais a propos de /\b(\^@\S+|www\.\S+|http://\S+|irc\.\S+|irc://\S+|\w+(?:[\.-]\w+)?@\w+(?:[\.-]\w+)?\.[a-z]{2,4})\b/gi
tu a oublié le chan!! pour le server IRC c'est rare d'avoir des cas pareil et finalement nous somme des ops donc si le bot ou le script va tt faire on n'a plus de role ;)
j'avais pas mis pour les mail t'a raison bon je fais celà ça te dirais quelque chose?
/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i)
et pour que ça soit configurable je travail sur ça merci pour les conseils
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 6 mai 2008 à 19:15
Pas si mal, pas si mal, mais il y a quand même bcp de chose a dire :
1)Il manque deux espace a chaque fois ici : {halt} et des /return suffirait amplement (plus propre)
2)Ce n'est pas configurable, tu pourrais faire en sorte que l'on puisse choisir sur qui ça doit kické (ici seul les op sont epargné)
3) tu ne vérifie pas si l'on peut kické (ds le cas contraire, une erreur du server sera retourné)
4)Tu pourrais utiliser le $regex pour controler, et les url, et les #salon
5)Tu n'utilises pas $strip partout, et tu devrais utiliser /tokenize 32 $strip($1-) en début de code histoire d'avoir les paramètre directement strippé
6)Ce point est le plus important, ton code n'est qu'une succession de trois copier/coller, seul les evenement change, donc utilise un alias qui regroupe tout
7) pour kick ban, utilise /ban -k #salon $nick 2 raison_kick (le ban se fera sur le type 2, ce qui correspond a $address($nick,2) ($wildsite dans un evenement :p)), tu peux rajouté un ban sur le pseudo si tu veux mais là tu ne ban que sur le pseudo
8)Je ne sais pas si le pattern du regex et de toi ou si tu la trouvé ou autre, mais je te propose celui là, bcp plus poussé, il detecte les email, server irc, et url bien sur :
/\b(\^@\S+|www\.\S+|http://\S+|irc\.\S+|irc://\S+|\w+(?:[\.-]\w+)?@\w+(?:[\.-]\w+)?\.[a-z]{2,4})\b/gi
mais c'est uniquement si tu veux
Ce genre de source existe surement déja sur le site donc tu devrait amelioré ce code en le rendant configurable histoire qu'il est de l'interet sur le site :)
12 mai 2008 à 18:46
12 mai 2008 à 18:38
mais celui qui a un script qui a un level plus haut i pourra modifier le level qu'il veu c'est rien que 2 etape il peux meme faire remplacé 101 par 1000 par ex.
en tt cas je vais amelioré encore pour la liste d'exeption
je vais faire un nouveau Wantispam V2.2 et les niveau seront a 100000 :p lol
12 mai 2008 à 18:31
if ($regex($1-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i)) ban -k $chan $nick 2 SPAM INTERDIT 1WorldDMTT
et oui, je ne teste pas les codes que je mets en commentaire et je n'ai pas l'habitude de dire quand je teste, malgré le fait que ce soit tellement rare :p
le 100 est arbitraire, quelqu'un d'autre pourrait vouloir que ça ne fonctionne pas pour ceux en dessous de 1000, etc ...
perso, j'utilise JAMAIS les levels, y'a trop de problèmes de compatibilité
CsDarkman, pourquoi ça ne fonctionnerait pas ?
12 mai 2008 à 18:06
donc le script enregistre dans users le niveau et puisque le script est chez moi donc c'est de chez moi que les commande kick sortent lors d'un spam tu comprend ce que je veu dire
ex:
si je t'ajoute ds la liste ton niveau chez moi sera 101 ds ce cas si tu spam le script le te kick pas tu aura une exeption tu vois un peu?
12 mai 2008 à 17:46
car la gestion des utilisateurs est différente chez les autres, ça se trouve chez qqun, le level 100 désigne les user basique et ton code sera incorrect, utilise simple if ($nick isop $chan) (déja présent), si tu veux que les halfop ne soit pas touché non plus rajoute un if ($nick ishop $chan) etc..
Oui ton code permet de géré les level des users, mais ici, les codes sont destiné a tout le monde, celui qui doit utilisé ton code ne peux pas gardé sont system d'accès, donc c'est pas une très bonne idée, sinon tu fait un system qui permet de protégé des users selon leur level d'acces en plus de leur status (op, halfop , voice) :)
12 mai 2008 à 17:39
a propos de if ($ulevel >= 100) return
je ne sais pas si j'ai bien compris ta question mais
quand on ajoute un user au niveau 101
menu nicklist,query {
-
Wantispam
.proteger:.guser 101 $1
.suprimer:.ruser $1!
}
donc le if ($ulevel >= 100) return c'est que cet utilisateur qui est au niveau 101 ne sera plus kick au cas un spam et voilà l'exeption dont je parle
12 mai 2008 à 17:32
Je ne comprend pas ton if ($ulevel >= 100) return rajoute le dans les condition du /return si tu veux :)
12 mai 2008 à 17:25
if ($regex($1-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i)) ban -k $chan $nick 2 SPAM INTERDIT 1WorldDMT
là ça donne mais il n'y a pas d'exception donc le if ($ulevel >= 100) return doi etre presente si nn ce n'est plus avec exception
12 mai 2008 à 17:19
/elseif: invalid format (line 3, script.ini)
ça donne tjr pas :/
12 mai 2008 à 17:03
if ($regex($1-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i) ban -k %chan %nick 2 SPAM INTERDIT 1WorldDMTT
}
Autre remarque, Lorsque tu rediriges un evenement vers un alias directement dans l'evenement (comme c'est le cas ds le code d'Arkanis) tout ce qui étais dispo dans l'evenement est dispo dans l'alias, sans avoir a fournir les paramètres
petit exemple :
on *:text:*:#salon:GaisGa
alias GaisGa echo -a $nick $chan
Le code final donnerait :
alias traitement_anti_spam {
if ($nick isop $chan) || ($wildtok($1-,#*,1,32) == $chan) return
if ($regex($1-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i) ban -k $chan $nick 2 SPAM INTERDIT 1WorldDMTT
}
on @*:NOTICE:*:#:traitement_anti_spam $strip($1-)
on @*:ACTION:*:#:traitement_anti_spam $strip($1-)
on @*:TEXT:*:#:traitement_anti_spam $strip($1-)
12 mai 2008 à 15:57
Arkanis fais de bon cript souvent mais des fois ds les commentaires c'est comme si il ne teste pas sont script avant de posté :p
mais bon il m'a donné une idé genial sur alias comme tu dis il y aura un V3 :p
mais bon Arkanis j'ai pas pus tester le script pour voir si les niveau travaille tjr
car selon les niveau on pourra faire une exemption sur quelque users preci.
12 mai 2008 à 15:43
surtt les nouvelles versions de nos jours
WORLDDMT profite de cette correction avec tn prelmier essaie pour
faire tn code personnel par exemple v3
:D
pamal comém je t'encourage.
12 mai 2008 à 12:43
mais esque tu a testé le script??
* /if: 'ban' unknown operator (line 5, script.ini)
12 mai 2008 à 12:05
le . devant ban ne sert à rien
vérifie que tu sois bien op (en rajoutant @ sur les events)
j'aime pas trop que t'utilises les levels (ulevel > 100) vu que ça dépend entièrement de l'utilisateur !
le point 6) de Wims est assez important.
alias traitement_anti_spam {
var %chan $1, %nick $2
if (%nick isop %chan) return
tokenize 32 $strip($3-)
if ($wildtok($1-,#*,1,32) == %chan) return
;"if ($ulevel >= 100) return" ne fonctionnera plus à mon avis
if $regex($1-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i) ban -k %chan %nick 2 SPAM INTERDIT 1WorldDMT™
}
on @*:NOTICE:*:#:traitement_anti_spam $chan $nick $1-
on @*:ACTION:*:#:traitement_anti_spam $chan $nick $1-
on @*:TEXT:*:#:traitement_anti_spam $chan $nick $1-
t'auras ainsi le nick dans %nick, chan dans %chan, et le texte dans $1-, comme tes 3 events
mais t'aurais pu garder $1 $2 et $3-. J'ai fait ça pour que tu comprennes mieux l'analogie.
Au final, ton alias de traitement donnerait :
alias traitement_anti_spam {
tokenize 32 $strip($1-)
if ($2 isop $1) return
if ($wildtok($3-,#*,1,32) == $1) return
if $regex($3-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i) ban -k $1-2 2 SPAM INTERDIT 1WorldDMT™
}
le code est plutôt propre sinon
d'autres petits détails : le nombre de téléchargements ne compte que ceux du .zip étant donné qu'il n'y a aucun moyen de contrôler le c/c du texte au milieu. En conséquence, n'en tiens pas compte.
9 mai 2008 à 19:25
j'espere que c'est pas si nul que ça :/
9 mai 2008 à 18:45
voilà comme prevu :)
donnez moi des idée qui pourron amelioré ce script merci
9 mai 2008 à 15:44
9 mai 2008 à 14:59
9 mai 2008 à 14:58
9 mai 2008 à 14:57
9 mai 2008 à 14:39
9 mai 2008 à 12:45
Wantispam V2.1
http://www.ircfr.com/codes/WANTISPAM-V2_46600.aspx
8 mai 2008 à 14:40
8 mai 2008 à 09:33
mais a propos de /\b(\^@\S+|www\.\S+|http://\S+|irc\.\S+|irc://\S+|\w+(?:[\.-]\w+)?@\w+(?:[\.-]\w+)?\.[a-z]{2,4})\b/gi
tu a oublié le chan!! pour le server IRC c'est rare d'avoir des cas pareil et finalement nous somme des ops donc si le bot ou le script va tt faire on n'a plus de role ;)
j'avais pas mis pour les mail t'a raison bon je fais celà ça te dirais quelque chose?
/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i)
et pour que ça soit configurable je travail sur ça merci pour les conseils
6 mai 2008 à 19:15
1)Il manque deux espace a chaque fois ici : {halt} et des /return suffirait amplement (plus propre)
2)Ce n'est pas configurable, tu pourrais faire en sorte que l'on puisse choisir sur qui ça doit kické (ici seul les op sont epargné)
3) tu ne vérifie pas si l'on peut kické (ds le cas contraire, une erreur du server sera retourné)
4)Tu pourrais utiliser le $regex pour controler, et les url, et les #salon
5)Tu n'utilises pas $strip partout, et tu devrais utiliser /tokenize 32 $strip($1-) en début de code histoire d'avoir les paramètre directement strippé
6)Ce point est le plus important, ton code n'est qu'une succession de trois copier/coller, seul les evenement change, donc utilise un alias qui regroupe tout
7) pour kick ban, utilise /ban -k #salon $nick 2 raison_kick (le ban se fera sur le type 2, ce qui correspond a $address($nick,2) ($wildsite dans un evenement :p)), tu peux rajouté un ban sur le pseudo si tu veux mais là tu ne ban que sur le pseudo
8)Je ne sais pas si le pattern du regex et de toi ou si tu la trouvé ou autre, mais je te propose celui là, bcp plus poussé, il detecte les email, server irc, et url bien sur :
/\b(\^@\S+|www\.\S+|http://\S+|irc\.\S+|irc://\S+|\w+(?:[\.-]\w+)?@\w+(?:[\.-]\w+)?\.[a-z]{2,4})\b/gi
mais c'est uniquement si tu veux
Ce genre de source existe surement déja sur le site donc tu devrait amelioré ce code en le rendant configurable histoire qu'il est de l'interet sur le site :)