IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Opérations binaires ASP


Sujet :

ASP

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 58
    Points : 62
    Points
    62
    Par défaut Opérations binaires ASP
    Bonjour,
    voilà j'ai un petit problème.
    En PHP, j'utilise régulièrement la méthode utilisant des constantes pour combiner des valeurs.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?php
    	define('NOM',1);
    	define('PRENOM',2);
    	define('ADRESSE',4);
    	define('VILLE',8 );
    	define('CODEPOSTAL',16);
    	define('DATE_NAISSANCE',32);
     
    	$champs_invalides = NOM | ADRESSE;
     
    	if($champs_invalides & NOM){
    		echo 'le nom saisi est incorrect';
    	}
    	elseif($champs_invalides & PRENOM){
    		echo 'le prenom saisi est incorrect';
    	}
    	...
    ?>
    la je suis en ASP et je bute lamentablement.
    J'ai défini des constantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <%
    	Option Explicit
     
    	Const Nom           = &h01
    	Const Prenom        = &h02
    	Const Adresse       = &h04
    	Const Ville         = &h08
    	Const CodePostal    = &h16
    	Const Date_Naissance= &h32
     
    	Dim champs_invalides
     
    	champs_invalides = Nom Or Adresse
     
    	If champs_invalides And Nom Then
     		Response.write "Le nom saisi est incorrect"
    	Else If champs_invalides And Prenom Then
    	...
    %>
    Sauf que ça me renvoie toujours que (champs_invalides And ... ) est vrai quelque soit la constante.... :S

    Est ce que quelqu'un pourrait m'aider ou me réexpliquer comment utiliser les opérations binaires en ASP/VBScript ...?

    Merci D'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Points : 38
    Points
    38
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Const APPLY1 = &h1
    Const APPLY2 = &h2
    Const APPLY3 = &h4
     
    Dim Obj
    Obj = 0 
     
    response.Write("step1: add apply1<br>")
    Obj = Obj Or APPLY1 ' 00000000 or 00000001=> 00000001 = &h01 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>")
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>")
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>")
    response.Write("<br>step2: add apply2<br>")
    Obj = Obj Or APPLY2 ' 00000001 or 00000010=> 00000011 = &h03 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>")
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>")
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>")
    response.Write("<br>step3: remove apply1<br>")
    Obj = Obj And Not APPLY1 ' not 00000001=> 11111110; 00000011 and 11111110=> 00000010 = &h02 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>")
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>")
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>")
    response.Write("<br>step4: invert apply3<br>")
    Obj = Obj Xor APPLY3 ' 00000011 = &h03 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>")
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>")
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>")
    response.Write("<br>step5: add apply3<br>")
    obj = obj or APPLY3
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>")
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>")
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>")
    j'ai fait un petit example en espérant que ce soit pas trop du chinois et que ca corresponde à ce que tu cherches

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 58
    Points : 62
    Points
    62
    Par défaut
    Merci pour la réponse et merci pour l'exemple et c'est bien ce que je cherchais et ce que je faisais par la même occasion non ?


    Mais le problème c'est quand on passe à plus de 8 la ça marche plus...
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        Const APPLY1 = &h1
        Const APPLY2 = &h2
        Const APPLY3 = &h4
        Const APPLY4 = &h8
        Const APPLY5 = &h16
        Const APPLY6 = &h32
        Const APPLY7 = &h64
        Const APPLY8 = &h128
        Const APPLY9 = &h256
        Const APPLY10 = &h512
        Const APPLY11 = &h1024
        Const APPLY12 = &h2048
    Du coup à step 2 par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        step2: add apply2
        text has got appliance1
        text has got appliance2
        text hasn't got appliance3
        text hasn't got appliance4
        ERREUR ------->text has got appliance5
        ERREUR ------->text has got appliance6
        text hasn't got appliance7
        text hasn't got appliance8
        ERREUR ------->text has got appliance9
        ERREUR ------->text has got appliance10
        text hasn't got appliance11
        text hasn't got appliance12

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Points : 38
    Points
    38
    Par défaut
    hmm effectivement... je pensais avoir 'raison' si on peut dire ca comme ça (=>je pensais que ca marchait quand même) donc j'ai changé un peu mon example pour l'adapter avec ce que tu as dit:




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <%
    Const APPLY1 = &h1 '00000001
    Const APPLY2 = &h2 '00000010
    Const APPLY3 = &h4 '00000100
    Const APPLY4 = &h8 '00001000
    Const APPLY5 = &h16 '00010000
    Const APPLY6 = &h32 '00100000
     
    Dim Obj 
    Obj = 0 
    response.Write("<br><br><br><-- start here with binary numbers [0;x] where x<8 -->")
    response.Write("step1: add apply1<br>") 
    Obj = Obj Or APPLY1 ' 00000000 or 00000001=> 00000001 = &h01 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>") 
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") 
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>") 
    response.Write("<br>step2: add apply2<br>") 
    Obj = Obj Or APPLY2 ' 00000001 or 00000010=> 00000011 = &h03 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>") 
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") 
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>") 
    response.Write("<br>step3: remove apply1<br>") 
    Obj = Obj And Not APPLY1 ' not 00000001=> 11111110; 00000011 and 11111110=> 00000010 = &h02 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>") 
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") 
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>") 
    response.Write("<br>step4: invert apply3<br>") 
    Obj = Obj Xor APPLY3 ' 00000011 = &h03 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>") 
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") 
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>") 
    response.Write("<br>step5: add apply3<br>") 
    obj = obj or APPLY3 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>") 
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") 
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>")
    response.Write("<br><br><br><-- start again with binary numbers [0;x] where x>=8 -->")
    obj = 0
    response.Write("<br>step1: add apply4<br>") 
    obj = obj or APPLY4 '00000000 or 00001000=>00001000
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") '00001000 and 00000010=>00000000
    IF obj and APPLY4 then response.Write("text has got appliance4<br>") ELSE response.Write("text hasn't got appliance4<br>") '00001000 and 00001000=>00001000
    IF obj and APPLY5 then response.Write("text has got appliance5<br>") ELSE response.Write("text hasn't got appliance5<br>") '00001000 and 00010000=>00000000
    response.Write("<br>step2: add apply5<br>") 
    obj = obj or APPLY5 '00001000 or 00010000=>00011000
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") '00011000 and 00000010=>00000000
    IF obj and APPLY4 then response.Write("text has got appliance4<br>") ELSE response.Write("text hasn't got appliance4<br>") '00011000 and 00001000=>00001000
    IF obj and APPLY5 then response.Write("text has got appliance5<br>") ELSE response.Write("text hasn't got appliance5<br>") '00011000 and 00010000=>00010000
    response.Write("<br>step3: add apply2<br>") 
    obj = obj or APPLY2 '00011000 or 00000010=>00011010
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>")  '00011010 and 00000010=>00000010
    IF obj and APPLY4 then response.Write("text has got appliance4<br>") ELSE response.Write("text hasn't got appliance4<br>") '00011010 and 00001000=>00001000
    IF obj and APPLY5 then response.Write("text has got appliance5<br>") ELSE response.Write("text hasn't got appliance5<br>") '00011010 and 00010000=>00010000
    response.Write("<br>step4: remove apply2<br>") 
    obj = obj and not APPLY2 'not 00000010=>11111101; 00011010 and 11111101=>00011000
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>")  '00011010 and 00000010=>00000010
    IF obj and APPLY4 then response.Write("text has got appliance4<br>") ELSE response.Write("text hasn't got appliance4<br>") '00011010 and 00001000=>00001000
    IF obj and APPLY5 then response.Write("text has got appliance5<br>") ELSE response.Write("text hasn't got appliance5<br>") '00011010 and 00010000=>00010000
    et ça, ça me retournait ceci:
    <-- start here with binary numbers [0;x] where x<8 -->step1: add apply1
    text has got appliance1
    text hasn't got appliance2
    text hasn't got appliance3

    step2: add apply2
    text has got appliance1
    text has got appliance2
    text hasn't got appliance3

    step3: remove apply1
    text hasn't got appliance1
    text has got appliance2
    text hasn't got appliance3

    step4: invert apply3
    text hasn't got appliance1
    text has got appliance2
    text has got appliance3

    step5: add apply3
    text hasn't got appliance1
    text has got appliance2
    text has got appliance3



    <-- start again with binary numbers [0;x] where x>=8 -->
    step1: add apply4
    text hasn't got appliance2
    text has got appliance4
    text hasn't got appliance5

    step2: add apply5
    text has got appliance2
    text has got appliance4
    text has got appliance5

    step3: add apply2
    text has got appliance2
    text has got appliance4
    text has got appliance5

    step4: remove apply2
    text hasn't got appliance2
    text has got appliance4
    text has got appliance5



    et la je me suis dit qu'effectivement il y avait un problème. Donc j'ai essayé de regarder ce que valaient mes variables... et j'ai changé le script comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    <%
    Const APPLY1 = 1 '00000001
    Const APPLY2 = 2 '00000010
    Const APPLY3 = 4 '00000100
    Const APPLY4 = 8 '00001000
    Const APPLY5 = 16 '00010000
    Const APPLY6 = 32 '00100000
     
    Dim Obj 
    Obj = 0 
    response.Write("<br><br><br><-- start here with binary numbers [0;x] where x<8 -->")
    response.Write("step1: add apply1<br>") 
    Obj = Obj Or APPLY1 ' 00000000 or 00000001=> 00000001 = &h01 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>") 
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") 
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>") 
    response.Write("<br>step2: add apply2<br>") 
    Obj = Obj Or APPLY2 ' 00000001 or 00000010=> 00000011 = &h03 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>") 
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") 
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>") 
    response.Write("<br>step3: remove apply1<br>") 
    Obj = Obj And Not APPLY1 ' not 00000001=> 11111110; 00000011 and 11111110=> 00000010 = &h02 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>") 
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") 
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>") 
    response.Write("<br>step4: invert apply3<br>") 
    Obj = Obj Xor APPLY3 ' 00000011 = &h03 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>") 
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") 
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>") 
    response.Write("<br>step5: add apply3<br>") 
    obj = obj or APPLY3 
    IF obj and APPLY1 then response.Write("text has got appliance1<br>") ELSE response.Write("text hasn't got appliance1<br>") 
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") 
    IF obj and APPLY3 then response.Write("text has got appliance3<br>") ELSE response.Write("text hasn't got appliance3<br>")
    response.Write("<br><br><br><-- start again with binary numbers [0;x] where x>=8 -->")
    obj = 0
    response.Write("<br>step1: add apply4<br>") 
    obj = obj or APPLY4 '00000000 or 00001000=>00001000
    response.Write("obj="&obj&"; APPLY5="&APPLY5&"; apply2="&APPLY2&"; APPLY4="&APPLY4&"<br>")
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") '00001000 and 00000010=>00000000
    IF obj and APPLY4 then response.Write("text has got appliance4<br>") ELSE response.Write("text hasn't got appliance4<br>") '00001000 and 00001000=>00001000
    IF obj and APPLY5 then response.Write("text has got appliance5<br>") ELSE response.Write("text hasn't got appliance5<br>") '00001000 and 00010000=>00000000
    response.Write("<br>step2: add apply5<br>") 
    obj = obj or APPLY5 '00001000 or 00010000=>00011000
    response.Write("obj="&obj&"; APPLY5="&APPLY5&"; apply2="&APPLY2&"; APPLY4="&APPLY4&"<br>")
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>") '00011000 and 00000010=>00000000
    IF obj and APPLY4 then response.Write("text has got appliance4<br>") ELSE response.Write("text hasn't got appliance4<br>") '00011000 and 00001000=>00001000
    IF obj and APPLY5 then response.Write("text has got appliance5<br>") ELSE response.Write("text hasn't got appliance5<br>") '00011000 and 00010000=>00010000
    response.Write("<br>step3: add apply2<br>") 
    obj = obj or APPLY2 '00011000 or 00000010=>00011010
    response.Write("obj="&obj&"; APPLY5="&APPLY5&"; apply2="&APPLY2&"; APPLY4="&APPLY4&"<br>")
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>")  '00011010 and 00000010=>00000010
    IF obj and APPLY4 then response.Write("text has got appliance4<br>") ELSE response.Write("text hasn't got appliance4<br>") '00011010 and 00001000=>00001000
    IF obj and APPLY5 then response.Write("text has got appliance5<br>") ELSE response.Write("text hasn't got appliance5<br>") '00011010 and 00010000=>00010000
    response.Write("<br>step4: remove apply2<br>") 
    obj = obj and not APPLY2 'not 00000010=>11111101; 00011010 and 11111101=>00011000
    response.Write("obj="&obj&"; APPLY5="&APPLY5&"; apply2="&APPLY2&"; APPLY4="&APPLY4&"<br>")
    IF obj and APPLY2 then response.Write("text has got appliance2<br>") ELSE response.Write("text hasn't got appliance2<br>")  '00011010 and 00000010=>00000010
    IF obj and APPLY4 then response.Write("text has got appliance4<br>") ELSE response.Write("text hasn't got appliance4<br>") '00011010 and 00001000=>00001000
    IF obj and APPLY5 then response.Write("text has got appliance5<br>") ELSE response.Write("text hasn't got appliance5<br>") '00011010 and 00010000=>00010000
     
    %>
    et elle est belle semblerait qu'il ne faille pas mettre les &h devant, car les valeurs obtenues étaient en fait héxadécimales, et c'est pas ce qu'on veut ici; les valeurs comparées n'étaient pas vraiment les bonnes du coup.. enfin j'espère que je suis pas en train de me planter dans mes explications :o ya-t'il un expert ? ;D

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 58
    Points : 62
    Points
    62
    Par défaut
    Effectivement ça à l'air de fonctionner
    j'ai refait mes tests avec des constantes qui montent à 2048 et ça passe bien
    J'avais pris exemple sur un tuto en VB....
    J'avais testé d'autres choses mais pas le fait de les passer en entiers "simples"
    Enfin bizarre Il faudrait effectivement un expert

    En tout cas merci beaucoup d'avoir pris du temps pour ça

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Points : 38
    Points
    38
    Par défaut
    pas de problème

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PL SQL] opérations binaires
    Par Alain B. dans le forum Oracle
    Réponses: 2
    Dernier message: 26/10/2006, 13h54
  2. [Réaction] Opérations binaires
    Par nicØB dans le forum Contribuez
    Réponses: 1
    Dernier message: 01/09/2006, 12h37
  3. [c#] Opération binaire
    Par transistor49 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 10/05/2006, 12h19
  4. Opérations binaires, équivalent du >> et du <<
    Par méphistopheles dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/12/2005, 22h28
  5. opérations binaires (shift)
    Par jacquesberger dans le forum Langage
    Réponses: 1
    Dernier message: 26/07/2005, 22h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo