Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ANTIBAN PROTECTION BY DJUL.


Information sur la source

Catégorie :AddOns Classé sous : antiban, ban, protection, multikick, unban Niveau : Débutant Date de création : 02/08/2008 Date de mise à jour : 08/08/2008 17:47:38 Vu : 2 823

Note :
6 / 10 - par 2 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (21)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Il s'agit d'une simple protection anti ban offrant la possibilité de choisir entre différentes options lors du ban. Simple deop de l'user ayant posé le ban, kick, kickban ou bien multikick. Message et nombre de kicks étant paramétrable. (Merci à devorZ qui m'a fait l'optimisation au niveau de $devent pendant que je corrigeais autre chose.)
 

Source

  • ;; AntiBan ;;
  • ;2008-djul©
  • ;
  • On *:LOAD:{
  • set %ab-msg i'm2fast4u
  • set %ab-nbk 5
  • set %ab-state ON
  • echo -at 3[AntiBan3] -
  • echo -at 3[AntiBan3] Add On 3Chargé.
  • echo -at 3[AntiBan3]-
  • .timerab 1 3 ab
  • }
  • On *:UNLOAD:{
  • unset %ab-*
  • echo -at 3[AntiBan3] -
  • echo -at 3[AntiBan3] Add On 4Déchargé.
  • echo -at 3[AntiBan3]-
  • }
  • alias Ab if (!$dialog(Ab)) dialog -m Ab Ab
  • dialog ab {
  • title "AntiBan /ab"
  • size -1 -1 70 142
  • option dbu
  • check "Activer la protection", 1, 5 5 69 10
  • box "Action", 2, 5 15 60 55
  • radio "Deop", 3, 10 25 50 10
  • radio "Kick", 4, 10 35 50 10
  • radio "Multi Kick", 5, 10 45 50 10
  • radio "Kick Ban", 6, 10 55 50 10
  • box "Options", 7, 5 75 60 45
  • text "Nombre Kick:", 8, 10 85 31 8
  • edit "", 9, 45 85 15 10, center
  • text "Raison kick:", 10, 10 95 30 8
  • edit "", 11, 10 105 50 10, center
  • button "Fermer", 12, 5 125 60 12, default flat ok
  • }
  • on *:dialog:ab:*:*:{
  • If ($devent == Init) {
  • did -a ab 9 %ab-nbk
  • did -a ab 11 %ab-msg
  • if (%ab-state = 1) did -c ab 1
  • if (%ab-action == dop) did -c ab 3
  • elseif (%ab-action == k) did -c ab 4
  • elseif (%ab-action == mk) did -c ab 5
  • elseif (%ab-action == kb) did -c ab 6
  • }
  • Elseif ($devent == Edit) {
  • if ($did == 9) set %ab-nbk $did(9)
  • if ($did == 11) set %ab-msg $did(11)
  • }
  • Elseif ($devent == Sclick) {
  • if ($did == 1) set %ab-state $did(1).state
  • if ($did == 3) set %ab-action dop
  • if ($did == 4) set %ab-action k
  • if ($did == 5) set %ab-action mk
  • if ($did == 6) set %ab-action kb
  • }
  • }
  • on @!*:ban:#:{
  • if (%ab-state = 1) {
  • if ($banmask iswm $ial($me)) {
  • if (%ab-action == dop) { set %ab-banmask $banmask | echo -a 3[AntiBan3] Activé sur $chan ( $+ $network $+ ) | mode # -ob $nick %ab-banmask }
  • if (%ab-action == k) { set %ab-banmask $banmask | echo -a 3[AntiBan3] Activé sur $chan ( $+ $network $+ ) | mode # -b %ab-banmask | kick # $nick %ab-msg }
  • if (%ab-action == kb) { set %ab-banmask $banmask | echo -a 3[AntiBan3] Activé sur $chan ( $+ $network $+ ) | mode # -ob+b $nick %ab-banmask $wildsite | kick # $nick %ab-msg }
  • if (%ab-action == mk) {
  • echo -a 3[AntiBan3] Activé sur $chan ( $+ $network $+ )
  • set %ab-tmp %ab-nbk
  • set %ab-banmask $banmask
  • set %ab-nick $address($nick,2)
  • set %ab-chan $chan
  • mode # -b %ab-banmask
  • kick # $nick %ab-msg
  • }
  • }
  • }
  • }
  • on *:JOIN:%ab-chan:{
  • if ( ( %ab-nick == $address($nick,2) ) && (%ab-tmp > 0) && (%ab-state = 1) ) { kick # $nick now cry... more %ab-tmp | dec %ab-tmp 1 }
  • }
;; AntiBan ;;
;2008-djul©
;

On *:LOAD:{
  set %ab-msg i'm2fast4u
  set %ab-nbk 5
  set %ab-state ON
  echo -at 3[AntiBan3] -
  echo -at 3[AntiBan3] Add On 3Chargé.
  echo -at 3[AntiBan3]-
  .timerab 1 3 ab
}
On *:UNLOAD:{ 
  unset %ab-*
  echo -at 3[AntiBan3] -
  echo -at 3[AntiBan3] Add On 4Déchargé.
  echo -at 3[AntiBan3]-
}
alias Ab if (!$dialog(Ab)) dialog -m Ab Ab 
dialog ab {
  title "AntiBan /ab"
  size -1 -1 70 142
  option dbu
  check "Activer la protection", 1, 5 5 69 10
  box "Action", 2, 5 15 60 55
  radio "Deop", 3, 10 25 50 10
  radio "Kick", 4, 10 35 50 10
  radio "Multi Kick", 5, 10 45 50 10
  radio "Kick Ban", 6, 10 55 50 10
  box "Options", 7, 5 75 60 45
  text "Nombre Kick:", 8, 10 85 31 8
  edit "", 9, 45 85 15 10, center
  text "Raison kick:", 10, 10 95 30 8
  edit "", 11, 10 105 50 10, center
  button "Fermer", 12, 5 125 60 12, default flat ok
}
on *:dialog:ab:*:*:{
  If ($devent == Init) {
    did -a ab 9 %ab-nbk
    did -a ab 11 %ab-msg
    if (%ab-state = 1) did -c ab 1
    if (%ab-action == dop) did -c ab 3
    elseif (%ab-action == k) did -c ab 4
    elseif (%ab-action == mk) did -c ab 5
    elseif (%ab-action == kb) did -c ab 6
  }
  Elseif ($devent == Edit) {
    if ($did == 9) set %ab-nbk $did(9)
    if ($did == 11) set %ab-msg $did(11)
  }
  Elseif ($devent == Sclick) {
    if ($did == 1) set %ab-state $did(1).state
    if ($did == 3) set %ab-action dop
    if ($did == 4) set %ab-action k
    if ($did == 5) set %ab-action mk
    if ($did == 6) set %ab-action kb
  }
}
on @!*:ban:#:{ 
  if (%ab-state = 1) { 
    if ($banmask iswm $ial($me))  {
      if (%ab-action == dop) { set %ab-banmask $banmask | echo -a 3[AntiBan3] Activé  sur $chan ( $+ $network $+ ) | mode # -ob $nick %ab-banmask }
      if (%ab-action == k) { set %ab-banmask $banmask |  echo -a 3[AntiBan3] Activé sur $chan ( $+ $network $+ ) | mode # -b %ab-banmask | kick # $nick %ab-msg }
      if (%ab-action == kb) { set %ab-banmask $banmask |  echo -a 3[AntiBan3] Activé sur $chan ( $+ $network $+ ) | mode # -ob+b $nick %ab-banmask $wildsite | kick # $nick %ab-msg }
      if (%ab-action == mk) { 
        echo -a 3[AntiBan3] Activé sur $chan ( $+ $network $+ )
        set %ab-tmp %ab-nbk 
        set %ab-banmask $banmask
        set %ab-nick $address($nick,2) 
        set %ab-chan $chan
        mode # -b %ab-banmask
        kick # $nick %ab-msg
      }
    }
  }
}
on *:JOIN:%ab-chan:{
  if ( ( %ab-nick == $address($nick,2) ) && (%ab-tmp > 0) && (%ab-state = 1) ) { kick # $nick now cry... more %ab-tmp | dec %ab-tmp 1 }
}

Conclusion

Vous avez peut être déjà vu ce type de source de nombreuses fois... c'est pas le cas de tous, à bon entendeur :]
Critiques constructives acceptées.
 

Historique

08 août 2008 17:47:38 :
Remplacement de l'alias ab. Optimisation du On Ban. Décrassage du Check. Lors du multikick, ce n'est plus le pseudo avant le séparateur pipe qui est pris en compte mais $address($nick,2) rendant la source multiserver.

Commentaires et avis

signaler à un administrateur
Commentaire de devorZ le 02/08/2008 09:46:28 7/10

Hello, je met 7/10 car je n'est pas vu ceux genre de source nul part, asser bien codé, j'ai testé aucun bugs bonne continuation.

Cordialement  devorZ

signaler à un administrateur
Commentaire de PaDa le 02/08/2008 11:30:22 5/10

Bof... Quelques répétitions, rien de bien original, des variables globales inutiles, les on dialog qui pourraient être mieux organisés... Comme ça doit marcher je pense que ça mérite un 5. Bonne continuation

signaler à un administrateur
Commentaire de WorldDMT le 02/08/2008 12:17:16

salut

alias Ab { if dialog(Ab) { dialog -m Ab Ab } }

c'est plutot alias Ab { if !$dialog(Ab) { dialog -m Ab Ab } }

pas besoin de tout ces acolades alors

alias Ab if (!$dialog(Ab)) dialog -m Ab Ab

pour le check

if ($did == 1) { if (%ab-state == ON) { set %ab-state OFF } | else { set %ab-state ON } }

tu peux mettre

if ($did(2).state) set %ab-state 1 | else unset %ab-state

comme ça dans la condition il te suffira de mettre

if (%ab-state) { ... }

au lieu de

if (%ab-state == on) { ... }

tu peux mettre dans l'entete un "!" avant le level

on @!*:ban:#:{

tu n'aura plus besoin de mettre

if ($nick == $me) { halt }
if ($me isop #)

attention au parentheses

if (%ab-action == dop) && ($banmask iswm $address($me,5)) { set ... }

utilise ce syntaxe je pense que ça doit etre mieu

if ((%ab-action == dop) && ($banmask iswm $address($me,5))) { set ... }

pour le ban au niveau de KB au lieu de

$address($me,5) tu peux mettre $ial($me)

$address($nick,2) dans le ban tu peux mettre $wildsite

et pour le join

on *:JOIN:%ab-chan:{
  if ( ( $gettok($nick,1,124) == %ab-nick) && (%ab-tmp > 0) && (%ab-state == ON) ) { kick # $nick now cry... more %ab-tmp | dec %ab-tmp 1 }
}

pourquoi tu as mis "$gettok($nick,1,124) == %ab-nick" ?? c'est tjr $nick == %ab-nick et dans ce cas il peu changer de pseudo et il entre sans que ton code lui regarde


ton code marche sur une seul personne et un seul chan vu que tu utilise tout les pseudo ou chan pour une seule variable

il va falloir mettre au lieu de

set %ab-banmask $banmask
set %ab-nick $nick
set %ab-chan $chan

tu met plutot

set %ab-banmask $+ $banmask $banmask
set %ab-nick $+ $nick  $nick
set %ab-chan $+ $chan $chan


signaler à un administrateur
Commentaire de WorldDMT le 02/08/2008 12:33:29

excuse moi pour le chek

if ($did(2).state) set %ab-state 1 | else unset %ab-state

c'est if ($did(1).state) set %ab-state 1 | else unset %ab-state

j'ai mis 2 au lieu de 1 dsl

signaler à un administrateur
Commentaire de PaDa le 02/08/2008 12:42:18

Et pourquoi pas :

set %ab-state $did(1).state

Non ? Vous vous compliquez tellement la vie...

signaler à un administrateur
Commentaire de PaDa le 02/08/2008 12:48:38

"pourquoi tu as mis "$gettok($nick,1,124) == %ab-nick" ?? c'est tjr $nick == %ab-nick et dans ce cas il peu changer de pseudo et il entre sans que ton code lui regarde"

Sur certains réseaux (wanadoo/voila au hasard) on ne peut pas changer complètement de pseudo.
Ton pseudo est : "Pada"
/nick test => "Pada|test"
/nick away => "Pada|away"
/nick me => "Pada"

Le séparateur pipe est le $chr(124), d'où le test qu'il réalise, pour partir sur le pseudo "de base" et non le pseudo complet. C'est évidemment inadapté pour d'autres réseaux...

signaler à un administrateur
Commentaire de WorldDMT le 02/08/2008 12:58:59

oui PADA

if ($did(1).state) set %ab-state 1 | else unset %ab-state

donc si il coche => %ab-state 1 et si il decoche il n'a aucune variable nomé %ab-state

pour ton cas il va falloir faire

if ($did(1).state) set %ab-state $did(1).state

donc si il coche => %ab-state 1 et si il decoche %ab-state 1

donc il va falloir mettre else uset %ab-state alors selon toi il va faire cela

if ($did(1).state) set %ab-state $did(1).state | else unset %ab-state

c'est toi plutot qui complique ici

pour le nick je ne savais pas ça merci pour l'info mais dans ce cas il doi precisé que cet addon s'utilise rien que pour ce jare de reseaux

signaler à un administrateur
Commentaire de WorldDMT le 02/08/2008 13:03:10

si c'est un cas direct
set %ab-state $did(1).state
si il decoche la variable est tjr là "%ab-state 0"

donc il sera tjr obligé de precisé if (%ab-state == 1) { ... }

si non dans l'autre cas il le suffit de mettre if (%ab-state) { ... } pour controlé si c'est ON ou OFF

signaler à un administrateur
Commentaire de PaDa le 02/08/2008 13:06:30

Non, je ne mets pas de condition, relis mon post. Il met JUSTE "set %ab-state $did(1).state" sans condition ni rien, ni avant ni après.

Je sais bien que mon code ne fait pas la même chose que le sien, mais qu'est-ce qu'on s'en fout qu'il y ait une variable en plus ou en moins ? Qu'elle soit à "0" ou à "$null", quelle importance ? Ca évite un test inutile, et ça rend le code un peu propre et lisible (si on fait abstraction du fait que l'on utilise des horribles variables globales).

Enfin, on peut mettre des conditions pour tout et pour rien si ça vous amuse, c'est juste que je ne comprends pas l'intérêt.

signaler à un administrateur
Commentaire de PaDa le 02/08/2008 13:08:55

Ok, t'avais compris entre temps. Donc je te réponds : "non et encore non". "if (%ab-state)" suffit avec "ma" façon de faire, cf notre discussion de la dernière fois. "if (%ab-state)" n'est PAS EQUIVALENT A "if (%ab-state != $null)". Ca ne veut pas dire "si %ab-state existe".

%ab-state = 1
if (%ab-state) => true
%ab-state = 0
if (%ab-state) => false

signaler à un administrateur
Commentaire de WorldDMT le 02/08/2008 13:27:51

ok je vois ce que tu dis

donc en general si une variable %x 0 donc au cas d'une condition if (%x) return $false

ok ça va déjà

signaler à un administrateur
Commentaire de ISoKa le 02/08/2008 15:36:09

bonjour,

Question con : j'ai rarement vu un ban entre op ne pas être accompagné d'un kick. donc en gros tu te fais kickban, tu le détecte mais le code peux rien faire vu que t'es pas op. donc en faite ma question c'est: à quoi sert le code sans un module de gestion d'axx et d'opage automatique ou d'intervention à travers un bot ? perso moi je voi pas trop.

signaler à un administrateur
Commentaire de wims le 02/08/2008 15:43:22

if (qqch) { }
la condition ci-dessus n'est validé que si qqch est différent de 0, $false, ou $null

if (!qqch) { }
la condition ci dessus n'est validé que si qqch est 0, $false, ou $null

a noté que 00000000000000000000000000000 sera considéré comme 0

signaler à un administrateur
Commentaire de devorZ le 02/08/2008 16:16:52

isoka dit : bonjour,

Question con : j'ai rarement vu un ban entre op ne pas être accompagné d'un kick. donc en gros tu te fais kickban, tu le détecte mais le code peux rien faire vu que t'es pas op. donc en faite ma question c'est: à quoi sert le code sans un module de gestion d'axx et d'opage automatique ou d'intervention à travers un bot ? perso moi je voi pas trop.

je dit :
toi de toute façon tu vois jamais a quoi sert un code a part critiquer je ne te vois jamais rien dire ou poster..

signaler à un administrateur
Commentaire de ISoKa le 02/08/2008 16:38:45

devorZ :
bin soit ma remarque est infondée et alors tu me le montre voir démontre et je serai tout disposé à écouter ce que tu aurais de constructif à dire à ce moment, soit tu es très colère des commentaire que j'ai fait sur tes sources et tu viens nous faire ton gros caprice ici.
il me semble pas avoir dit "c'est de la merde" je donne mon avis sur une source en essayant toujours de donné une idée de ce que je ferai moi même si je dis pas avoir forcement raison. après si ton petit égo a été froissé la der fois avec tes magnifiques sources j'en suis navré pour toi. Pour ce qui est de mes contributions, tu peux toujours mater les sources que j'ai déposé ici même si c'est vrai elles ne sont pas du niveau des tiennes.

signaler à un administrateur
Commentaire de djul51 le 02/08/2008 16:52:38

Réponse con pour ISoKa le temps de prendre en considération les remarques précédentes:
Certains nooby lorsqu'ils font un Take Over, posent un ban sur *!*@*, cet add on sert à éviter cela. Autre chose, dans le popup initial de mIRC, le kickban fonctionne via un timer, il y  le ban, puis un timer de 2/3 secondes pour le kick ... cet add on peut aussi fonctionner dans ce cas la :]
ISoKa: "module de gestion d'axx et d'opage automatique ou d'intervention à travers un bot" <- quasi impossible à réaliser sur Orange étant donné le fonctionnement du serveur... Par contre je pense remplacer le $gettok($nick,1,124) par l'host ce qui rendrait l'add on 'multiserver'.
En réponse à WorldDMT au niveau de mes parenthèses, en fait au début sur le on ban, j'avais mis if ($me isop $chan) à chaque début de ligne, puis je l'ai mis tout seul ensuite, d'ailleurs je peux y ajouter le ($banmask iswm $address($me,5) plutôt que de le répéter à chaque ligne. Merci pour vos commentaires en tout les cas.

La source sera mise à jour dans la nuit probablement si le temps me le permet.

signaler à un administrateur
Commentaire de devorZ le 02/08/2008 17:06:31

"soit tu es très colère des commentaire que j'ai fait sur tes sources et tu viens nous faire ton gros caprice ici." haha t'es commentaires ne m'on pas touché juste des petites remarques je dit sa car je matte tout le temps les sources et je te vois toujours critiquer ou quand c'est trés bien rien a dire d'un coup on te vois plus lol.. "tu peux toujours mater les sources que j'ai déposé" j'aimerais bien voir car j'ai cherché j'ai pas trouver .. et autre réponse j'ai un Antiban pas du tout comme celui là pas aussi developpez et sa ma servis plusieurs fois car si chez toi tout est roze sur voiladoob les take over c'est tout le temps :]

signaler à un administrateur
Commentaire de wims le 02/08/2008 17:31:13

Quand on pense qu'il suffit de cliquer sur le pseudo pour voir les sources de celui ci, on a vraiment du mal a croire que ta cherché, suffisait de cliquer.

http://www.codes-sources.com/codes_auteur/ISOKA/758969.aspx

signaler à un administrateur
Commentaire de djul51 le 08/08/2008 17:56:13

Comme prévu, j'ai mis à jour la source pour remplacer certains bout de code en fonction de vos remarques. Merci donc particulièrement à WolrdDMT et PaDa.
Seule modification non apportée et qui est volontaire c'est:
WolrdDMT: "ton code marche sur une seul personne et un seul chan vu que tu utilise tout les pseudo ou chan pour une seule variable (...) "
Je vois pas l'intérêt d'exécuter l'action sur la personne sur tout les salons ou je suis @ sauf en cas de mal chance ou il aurait réussi à Take Over tout mes salons d'un coup..et la en effet, je "pleure". Mais pour moi chaque salon est différent d'un autre, donc pour exemple, une personne ban à vue (oui, c'est la mode sur Orange) sur un salon en particulier, n'a pas à l'être sur tout les salons. C'est donc une question d'éthique sur ce point.
Je pense avoir pris en considération toutes vos requêtes.. merci encore (si certains en avaient d'autres à l'avenir..pourquoi pas.)

djul.

signaler à un administrateur
Commentaire de WorldDMT le 08/08/2008 20:10:36

salut

j'ai dis ça ne marche que sur un seul chan j'explique avec un exemple

sur #chan1

DouDou tu l'a banni il entre plus tu a eus ce que tu veu et il peu entrer sur tout les autres chan pas de probleme

mais au cas qu'un autre pseudo RouRou sur le chan #chan2 a été banni

regarde ce qui va se passé

- Cas 1

set %ab-nick $address($nick,2) (tu peux aussi mettre set %ab-nick $wildsite)
set %ab-chan $chan
        
donc

%ab-nick *!*@host_de_DouDou
%ab-chan #chan1

- Cas 2

%ab-nick *!*@host_de_RouRou
%ab-chan #chan2

ici automatiquement DouDou est dejà libre parceque "%ab-chan" a été remplacé par #chan2 donc il peux entré a nouveau sur #chan1 sans aucun probleme tu vois ce que je voulais dire??

signaler à un administrateur
Commentaire de doob666 le 21/08/2008 22:11:12

Code bien fait malgré qu'il soit peu utile, en effet si celui qui ban n'utilise pas le ban type de mirc et qu'il n'y as pas de timer, ton code ne va pas servir a grands chose, de plus en cas de TO pour en avoir vu beaucoup, les mecs ne ban pas sur *!*@* .
Bonne continuation.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Un tout petit prob [ par angeldavid ] J'ai un tout petit prob , a propos du ban et unban automatique , en faite la j'ai un script qui fais juste le kick , mais je voudrais au lieu que sa k Raccourci F1: kick F2:ban F3:kickban [ par psyckan ] Me revoilaVoila je cherche, comme cela peut trés bien etre comprehensible dans le titre, un script de racourci kick,ban,et kick et pourquoi pas voir a besoin d aide urgente pour bote de moderation [ par yvesman ] bonjourpouvez vous m aider le bot uune fos le processus lance s emballe et ne fait plus la difference entre bons et mauvais mots (+ plantages divers)m aidez moi svp c important [ par yvesman ] bonjour voila le probleme: j'essaye ((deseperement) sic! vu mon niveau) de creer un bot de moderation qui doit etre mis urgemment sur un server avc de Ban pseudo, host .. [ par fyltum ] Je chercherais un remote pour bannir quelqu'un d'après un "on input", j'aimerais qu'il banisse de toutes les façons possibles comme *pseudo*!*@* , dom Commandes en +b +k etc ... [ par fyltum ] J'ai fait un petit remote (avec l'aide du forum) et je voudrai que vous me disiez si c'est bien ou non et j'ai une question :Comment bannir quelqu'un Bannir à partir de la remote [ par Bal007 ] Bonjour,J'expose mon problème, je suis un débutant en scripting, et j'ai récamment essayé de trouver comment bannir quelqu'un avec une action (!ban). Ban de IriX [ par fyltum ] Bonjour je voudrai savoir comment unbannir ce que IriX a ban c'est à dire : *!guest@317290786.fr par exemple.J'ai essayé de mettre :$-(*,!,guest,@,$s Testeur de group et de ban ... [ par fyltum ] Bonjour je souhaiterais savoir quelle est la façon pour dire que que un group est enable ou disable dans une condition de remote ( un peu compliquée m Auto ban sauf les +ao [ par CorB3n ] Salut à tous,Je recherche un remote afin d'auto bannir automatiquement les personnes joignant le chan, sauf ceux qui ont un chanlev sur @L (+ao en l'o


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,936 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.