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

Bases de données Delphi Discussion :

FDQuery - SQLite - erreur eArgumentOutOfRangeException


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 200
    Points : 79
    Points
    79
    Par défaut FDQuery - SQLite - erreur eArgumentOutOfRangeException
    Bonjour,

    j'ai besoin d'une aide concernant une petite application en cours de développement.

    j'ai tout simplement qq tables (SQLite) liées à un FDConnection. ces tables sont saisies via des Grid.

    lorsque je valide des données, (peu importe la table) j'ai une erreur :

    Nom : Capture2.PNG
Affichages : 105
Taille : 6,7 Ko

    merci pour vos retours

    bonne journée

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    13 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 13 112
    Points : 35 671
    Points
    35 671
    Billets dans le blog
    54
    Par défaut
    Bonjour,

    manque d'information criant.
    IL faudrait la structure de la table concernée et le code utilisée pour la mise à jour/insertion
    voir aussi si la grille affiche toutes les données ou pas etc...
    savoir si c'est FDtable qui est utilisé ou FDQuery etc...
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    12 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2006
    Messages : 12 232
    Points : 21 578
    Points
    21 578
    Par défaut
    Déjà la forme du message d'erreur 'Index de ligne, %d, hors limites' c'est du FMX, donc LiveBindings, ce qui doit changer la réflexion très différente de la VCL avec le TDataSource.
    En VCL, la traduction étant 'Indice de ligne, %d, hors limites';

    L'erreur n'est pas lié à la DB mais plutôt à la grille par exemple lors du TStringGrid.GetCells si FMX sinon TGridPanel.

    Mais comme l'exception est une EArgumentOutOfRangeException, c'est donc forcément du TStringGrid.GetCells\SetCells de FMX, seul endroit où cette exception est combiné avec ce message d'erreur

    Il faudrait donc comprendre pourquoi cela tente d'utiliser GetCells\SetCells avec un indice à -1, comme si par exemple la grille était vidée à un moment inapproprié.
    Cela peut-être une mauvaise configuration du LiveBindings qui n'irait pas lire ce qu'il faut.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 200
    Points : 79
    Points
    79
    Par défaut
    Bonjour et merci pour vos retours.

    pour répondre à vous deux, voici qq infos :

    toutes les tables sont bâties de la même façon et sont reliées à des Grids reliés en livebindings, je bosse en FMX.

    les tables de la BDD SQLite sont chargées dans des FDQuery.

    voici les liens :
    Nom : Capture3.PNG
Affichages : 84
Taille : 33,5 Ko

    et une table : elle sont ouvertes par FDQuery.open(...);

    et bâties ainsi :

    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
     
        // Table Cables
        BDE_CABLES = 'CREATE TABLE IF NOT EXISTS %s '+
                       '(CABLES_GUID VARCHAR(40) NOT NULL PRIMARY KEY,'+     
                        'CABLES_Nom VARCHAR(40) NOT NULL,'+             
                        'CABLES_CableType_GUID VARCHAR(40),'+           
                        'CABLES_Centre_Origine VARCHAR(40),'+           
                        'CABLES_Centre_Origine_Rac VARCHAR(15),'+       
                        'CABLES_Centre_Destination VARCHAR(40),'+       
                        'CABLES_Centre_Destination_Rac VARCHAR(15),'+   
                        'CABLES_Voie VARCHAR(15),'+                     
                        'CABLES_Km REAL,'+                             
                        'CABLES_Neuf_Vieux Integer,'+                   
                        'CABLES_Schemas VARCHAR(40),'+                 
                        'CABLES_Meteo1 VARCHAR(20),'+                   
                        'CABLES_Meteo2 VARCHAR(20),'+                   
                        'CABLES_Date VARCHAR(10),'+                    
                        'CABLES_Isol_Entre_Fil VARCHAR(20),'+          
                        'CABLES_Isol_Terre VARCHAR(20),'+               
                        'CABLES_Paire_Temoin VARCHAR(20),'+            
                        'CABLES_AgentVT VARCHAR(40),'+                  
                        'CABLES_Entite VARCHAR(40),'+                  
                        'CABLES_Longueur REAL)';

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 200
    Points : 79
    Points
    79
    Par défaut
    re,

    afin de suivre les infos de ShaiLeTroll, je me suis "amusé" à mettre deux edit en liaison avec des champs de ma table (au lieu de saisir dans le Grid) lorsque je saisie des donnés dans ces Edit, aucun soucis.

    on dirait que le soucis vient effectivement des Grids, je trouve cela étonnant car j'ai déjà utilisé ces genres de liaisons avec des tables similaires et avec de la saisie !

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    13 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 13 112
    Points : 35 671
    Points
    35 671
    Billets dans le blog
    54
    Par défaut
    Qui dit requête dit nécessité d'un FDUpdateSQL associé est-ce le cas ?
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 200
    Points : 79
    Points
    79
    Par défaut
    je ne connais pas ce composant mais je viens de lire l'aide, il ne parait pas obligatoire pour un FDQuery.

  8. #8
    Membre habitué
    Homme Profil pro
    Responsable associatif
    Inscrit en
    octobre 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Responsable associatif

    Informations forums :
    Inscription : octobre 2005
    Messages : 228
    Points : 162
    Points
    162
    Par défaut
    Citation Envoyé par Georges P Voir le message
    je ne connais pas ce composant mais je viens de lire l'aide, il ne parait pas obligatoire pour un FDQuery.
    peut être que si en livebindings...

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    13 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 13 112
    Points : 35 671
    Points
    35 671
    Billets dans le blog
    54
    Par défaut
    Bonjour,
    Citation Envoyé par Georges P Voir le message
    je ne connais pas ce composant mais je viens de lire l'aide, il ne parait pas obligatoire pour un FDQuery.
    C'est peut-être une habitude que j'ai prise car mes requêtes sont souvent à base d'union mais j'ai toujours compris qu'une Query était en mode unidirectionnel et que pour pouvoir modifier les données il fallait y adjoindre un UpdateSQL.
    Je dirais que cela "ne mange pas de pain" et j'ai toujours préféré indiqué les divers SQL nécessaires, a minima pour les INSERT,UPDATE et DELETE, et en cas de jointures le REFRESH

    ,
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 200
    Points : 79
    Points
    79
    Par défaut
    bonjour à vous,

    comment fonctionne ce composant sinon, je peux tenter de l'utiliser.

    comme je ne le connais pas je suis preneur de qq infos.

    notez aussi que j'utilise déjà cette forme dans un autre programme et qui fonctionne bien.

  11. #11
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    13 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 13 112
    Points : 35 671
    Points
    35 671
    Billets dans le blog
    54
    Par défaut
    Bonjour,

    relativement simple puisqu'il y a une sorte de helper.
    On pose un fdupdateSQL
    On indique que le FDQuery est lié à ce composant (propriété UpdateObject)
    On double-clic alors sur le fdupdateSQL pour obtenir ce dialogue

    Nom : Capture.PNG
Affichages : 63
Taille : 32,8 Ko

    on sélectionne les diverses colonnes en fonction du besoin (bien faire attention au 3 groupboxs)
    Nom : Capture_1.PNG
Affichages : 62
Taille : 11,5 Ko
    puis on génére (avec le bouton) les diverses commandes

    Puis ensuite on va sur les diverses commandes générées (que l'on peut modifier comme souhaité)
    Nom : Capture_2.PNG
Affichages : 62
Taille : 10,8 Ko

    Bon, bien sûr, ci dessus il s'agit d'un exemple simple sans union.

    Idem je n'ai jamais utilisé la possibilité d'ajouter plus d'une commande, en théorie c'est possible. Un jour si j'ai le temps je testerai

    @shailetroll
    Mais comme l'exception est une EArgumentOutOfRangeException, c'est donc forcément du TStringGrid.GetCells\SetCells de FMX, seul endroit où cette exception est combiné avec ce message d'erreur
    bien vu. Je n'aurais jamais songé vérifier le texte du message pour distinguer FMX de VCL
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 200
    Points : 79
    Points
    79
    Par défaut
    Merci Sergio,

    je vais essayer ça et reviens vers toi.

    bonne journée.

  13. #13
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    12 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2006
    Messages : 12 232
    Points : 21 578
    Points
    21 578
    Par défaut
    Citation Envoyé par Georges P Voir le message
    notez aussi que j'utilise déjà cette forme dans un autre programme et qui fonctionne bien.
    Si cela fonctionne ailleurs, je vérifierais des ajouts comme Evènements ou l'inverse une omission
    Un petit Debug avec les DCU de Débogage permettrait de comprendre pourquoi le GetCells\SetCells est invoqué à -1
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 200
    Points : 79
    Points
    79
    Par défaut
    Bonjour,

    je viens de refaire un mini programme test, toujours en FMX bien sûr et toujours le même problème.

    je ne comprends pas c'est tellement simple pourtant !

  15. #15
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    13 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 13 112
    Points : 35 671
    Points
    35 671
    Billets dans le blog
    54
    Par défaut
    Avant que je fasse un test pour me "détendre" il s'agit de quelle version de Delphi.
    Si tu peux partager la bdd et le source du programme test c'est encore mieux
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 200
    Points : 79
    Points
    79
    Par défaut
    je suis sous Delphi Sydney 10.4

    en PJ le test
    Fichiers attachés Fichiers attachés

  17. #17
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    13 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 13 112
    Points : 35 671
    Points
    35 671
    Billets dans le blog
    54
    Par défaut
    Alors il faut m'expliquer les étapes pour avoir l'erreur parce que (à part une petite modification sur le chemin de la BDD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      FDConnection1.Params.Database:= '..\..\Test Cables.dbk';
    je n'ai rien fait et pas d'erreur
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 200
    Points : 79
    Points
    79
    Par défaut
    Merci de ton retour Sergio.

    je pense avoir une piste :

    dans le prog de test :

    je crée un nouvel enregistrement avec + du Navigateur .
    je saisie une valeur par exemple dans la cellule de la 2ème colonne, si cette cellule reste en mode édition et que je valide mes données par le navigateur, bug.
    si je valide les données de cette cellule par la touche Enter (sortie du mode Edition, la cellule reste sélectionnée bien sûr) puis validation des données par le Navigateur pas de bug !

    en débuggant je vois que je suis ici : (unit FMX.Grid.Style)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function TStyledGrid.CellRect(const ACol, ARow: Integer): TRect;
    var
      I, X, Y: Integer;
      HiddenFound: Boolean;
    begin
      if (ACol < 0) or (ACol > ColumnCount) then
        raise EArgumentOutOfRangeException.CreateResFmt(@SInvalidColumnIndex, [ACol]);
      if (ARow < 0) or (ARow > RowCount) then
        raise EArgumentOutOfRangeException.CreateResFmt(@SInvalidRowIndex, [ARow]);
        ....
        ....
    et constate que cette exception est déclenchée parce que ARow = -1

    mais ensuite, je reste bouche bée en voyant que Sergio lui n'a pas d'erreur.

  19. #19
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    12 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2006
    Messages : 12 232
    Points : 21 578
    Points
    21 578
    Par défaut
    Euh, c'est un peu ce que je dis depuis le début en me basant uniquement sur le code de D10 Seattle même si cette version ne proposant pas TStyledGrid (dispo depuis Rio ?), en trouvant l'endroit de l'exception c'est un début pour la recherche
    TStringGrid.CellRect est apparu en Rio

    Citation Envoyé par ShaiLeTroll Voir le message
    Mais comme l'exception est une EArgumentOutOfRangeException, c'est donc forcément du TStringGrid.GetCells\SetCells de FMX, seul endroit où cette exception est combiné avec ce message d'erreur

    Il faudrait donc comprendre pourquoi cela tente d'utiliser GetCells\SetCells avec un indice à -1, comme si par exemple la grille était vidée à un moment inapproprié.
    Cela peut-être une mauvaise configuration du LiveBindings qui n'irait pas lire ce qu'il faut.
    faut maintenant remonter la pile d'appel pour trouver l'origine du -1
    Pourquoi ne pas passer ControleStyle à Platform !

    D'ailleurs, chacun devrait indiquer sa version de Delphi, y compris le Patch, FMX évoluant beaucoup entre les versions.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 200
    Points : 79
    Points
    79
    Par défaut
    Merci de ton retour ShaiLeTroll :

    oui j'avoue c'est bien la bonne piste.

    je vois seulement ControlType à mettre sur Platform -> c'est ça?

    si oui pas mieux....

Discussions similaires

  1. [SQLite] Erreur Index 0 requested with a size of 0
    Par TZoaldiek dans le forum Android
    Réponses: 7
    Dernier message: 20/02/2014, 11h28
  2. sqlite, Erreur de segmentation
    Par panthere noire dans le forum C++
    Réponses: 0
    Dernier message: 11/12/2011, 16h07
  3. [SQLite] Erreur "database disk is malformed"
    Par eric-m dans le forum Android
    Réponses: 2
    Dernier message: 09/11/2011, 21h35
  4. SQLite : erreur "database not open"
    Par hodhodeni dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/05/2009, 23h36
  5. [SQLite] Erreur lors de la connexion
    Par Mil17 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/04/2008, 15h04

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