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

 Delphi Discussion :

Besoin de conseils


Sujet :

Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Besoin de conseils
    Salut à tous,
    j'ai décidé de me lancer dans la programmation de logiciel pour faire face à un nouveau projet. Bien que j'ai étudié seul la programmation des micro controlleur et l'électronique avant de faire un graduat pour rien, l'utilisation des logiciel de CAO électronique, je penssais que delphi ne serait pas trops compliqué comme pour le reste de mon apprentissage autodidacte! Et bien là, je me foure le doight bien profond dans l'oeil, j'ai jamais vu aussi dur que ca pour apprendre delphi par le manuel de F. Beaulieu.

    Mon projet qui semble pourtant simple est destinée pour une commande de feux d'artifice. En gros, l'écrant du pc représente simplement le terrain, en bas, j'ai une série de boutons : "Rack" qui me permet d'ouvrir une librairie pour choisir le type de rack de tir , je dois aussi pouvoir créer des petites image de rack puisqu'il y aurait plus d'une centaine de modèle, un bouton "Load Prog" pour recharger un ancien chantier de tir et qui reprend tous les racks et paramètres d'adresse + nom des rack, un bouton "NEW PROG" pour effacer l'écrant et vider toute la mémoire des valeurs de l'ancien programme, voir comme un bouton "CLEAR", un bouton "SAVE PROG" pour enregistrer la configuration du spectacle, "DEL PROG" pour effacer un programme d'un chantier dans la base de donnée concerné, un bouton "BACKUP" pour transferer sur CDROM et "RESTOR" du cd rom vers le DD du pC pour des mises à jour et/ou des configurations de chantier à retélécharger , bouton "LINE" pour la configuration du port sur le pc, d'un bouton d'arret d'urgence, test de dialogue avec les boitier de tir et une entrée aux pour déclanchement des tir depuis un autre pupitre, bouton" SETUP" pour configurer des temps d'intervale entre chaque tir si par exemple je dois réaliser une sequence de tir en cascade et le bouton "QUIT" pour quiter le programme.

    Ma communication est en RS232 ( j'ai un boitier pour convertir en RS485)

    A chaque placement d'un rack de tir sélectionner dans la librairie et placé sur le terrain ( écrant ) je dois attribuer une adresse de 1 à 256 ( soit un octet ) et pouvoir aussi lui donner un nom pour reconnaitre les effets de tir.

    Quand un tir à lieu, j'ai comme communication en sortie le 1octet pour l'adresse du rack suivit du 2ème octet pour le numéro de tir (puisqu'un rack peu avoir jusque 16 tir), ensuite interruption du signal jusqu'au prochain tir.Déjà là, je suis à 80% de mon problème.

    Quelqu'un pourrait-il m'aider sur ce problème ( conseil truc, astuce, exemples pour certaines fonction, histoir de voir déjà le programme prendre un peu le jour. Ca fait 1 semaine que je relis en boucle les 60 premières pages du manuel de F. Beaulieu, et fini par prendre le bouillon temps les explications sont différentes ou mal interpreté.

    Merci de votre aide,

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 444
    Points : 5 864
    Points
    5 864
    Par défaut
    salut

    avant de penser a l'interface il faut définir ce qu'est pour toi un rack de tir
    je parle au niveau information

    parce que créer un bouton il n'y a rien de bien compliquer
    je pense que ton nombre de rack n'est pas defini a l'avance
    donc il te faudra aussi penser a une instruction pour creer un nouveau rack

    peut tu lui indiquer une valeur par defaut
    exemple de definition de rack


    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
     
    TRackProperties = Class(TCollectionItem)
    Private
      fNumero     : integer  ;
      FNom         : String;
      FPosition    : TPoint;// Position Phisique sur le terrain 
      Function GetNumero : integer;
      Procedure SetNumero(value : integer);
    ....
    Public  
      property Editor: TRackEditor read FEditor write SetEditor;
      Property Numero : integer read   GetNumero write  SetNumero;
      Property Nom  : string read   GetNom  write  SetNom ;
      Property Position : TPoint read   GetPosition write  SetPosition;
    end;
    ...
    TRacks = Class(TCollection)
      ...
    Public
      Constructor Create;
      Function Add : TRackProperties;
      Property Items[Index: Integer] : TRackProperties read   GetRack write  SetRack;
    end;
    donc il faut deja te poser différente question avant de voir comment tu vas les placer a l'ecran
    une fois l'analyse faites il est assez facile d'en faire une implémentation

    @+ Phil

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Salut Phil,
    merci de te pencher sur mon cas.
    Ce que j'entends par rack de tir, c'est tous simplement des cassier (comme les bouteilles par exemple )et on place les tubes de dans.
    il y aurait des formats style 1*1, 1*3, 1*4, 1*5, 1*6, 1*8, 2*3, 2*4, 2*5, 2*6, 2*8, 3*3, 3*4, 3*5 et 4*4.

    Peut être qu'une simple instruction qui demande le nombre de ligne et collone suffit pour simplifier la conception des images ???
    ily aurait aussi des batteries, ( ceci est un kit complet style comme une boite à carton avec toute les fusées à l'intérieur, ca c'est repris comme un rack de 1*1 puisqu' il y a qu'un seul allumage.

    Pour le placer sur l'écrant, je penssait ceci : on ouvre la libraire avec les racks, on sélectionne par un double clic le rack et celui ci est placé au milieu de l'écrant. On ferme la libraire si c'est souhaiter et avec la souris on glisse le rack à l'endroit voulu sur l'ecrant. C'est une simple idée.

    Pour ce qui est de la fabrication des images de rack, je penssais avoir une fonction dans les boutons style "NEW RACK" et quand on clic dessus, une fenetre demande le nombre de ligne en X et Y et le nombre de tir est fixé. En suite le programme c'est de combien de tir est fait ce rack.une fois le rack placé sur l'écrant on aurait à droit de l'image
    0/4
    0/4
    0/4.

    A chaque tir réaliser sur une des 3 lignes le compteur passe à+1: exemple si j'ai fait uniquement deux tirs sur la deuxième ligne j'aurais :
    0/4
    2/4
    0/4

    maintenant si c'est plus facile de faire passé la couleur d'un tir du verre au rouge à la place des compteurs, c'est la même chose por moi, tant qu'ily a un repaire visuel sur les tir effecuter,...

    pour ce qui est des batteries, on aurait un seul tir 1*1 donc 0/1

    Pour ce qui est de l'adresse du rack et des tir, si ont donne une adresse par exemple 10, alors le premier tir est à 10 le suivant à 11 .. 14
    puis sur la deuxième ligne à 15,16,17,18, troisième ligne 19,20,21,22

    En annexe j'ai joint un exempe de rack, soit les chiffres à droit sont supprimé et remplacer par une couleur sur les tir ou l'inverse.

    Pour ce qui est de la page de programmation avec les tirs et le chorno,je suis toujours dessu pour trouver une solution très simple

    Merci de ton aide, ca fait encore plaisir de voir des personnes ouvert dans ce bas monde
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 444
    Points : 5 864
    Points
    5 864
    Par défaut
    salut

    j'ai encore des question pour m'éclairer dans ce que tu veut faire
    pourquoi tu commence a 10 ?
    tu veut dire qu'il commence a la 10 seconde minute ou c'est un nombre abritaire

    tu peut avoir plusieurs rack a l'écran ?
    ou un seul avec c'est differentes ligne et colonne

    le lancement de chaque case doit dépendre d'un chronos

    la difficulte n'est pas dans l'interface graphique je le répète
    a la limite on pourrait faire un programme fonctionnant en mode console ou sous windows en ne changeant que l'a représentation graphique de ton appli

    il faut vraiment faire la différence entre les donne et sa rerepresentation
    je pourrait avoir une donne de type bouleen (vrai ou faux) et afficher selon l'etat la donnée la couleur rouge ou une image de sens interdit si elle est faux

    tu te focalise sur la representation graphique alors que le plus important reste les données et le traitement a leur apporter

    @+ Phil

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Hi,
    Citation Envoyé par anapurna
    "j'ai encore des question pour m'éclairer dans ce que tu veut faire
    pourquoi tu commence a 10 ?
    tu veut dire qu'il commence a la 10 seconde minute ou c'est un nombre abritaire"
    La valeur 10 est une adresse de départ à titre d'exemple, elle est comprise entre 1 et 255, je dois depuis le pc pourvoir choisir un numéro de rack et lui donner le numéro de tir dans le rack pour provoquer l'allumage.
    Donc pour une adresse sur 1 octet je peux piloter 255 rack de 16 tirs soit un total de 4080 tirs. Donc 10 n'est pas une valeur de timing. Cette procédure de timing je dois la réaliser dans une autre page pour la programmation des séquences.

    Citation Envoyé par anapurna
    "tu peut avoir plusieurs rack a l'écran ?
    ou un seul avec c'est differentes ligne et colonne"
    Je dois pouvoir installer autant de rack que nécessaire à l'écran suivant la prestation puisqu'il existe plus d'une centaire d'effet final à l'explosion. D'ou ma nécessité d'avoir une libraire pour stocker les versions des rack et ceux que je fabriquerais en cours d'année.

    Citation Envoyé par anapurna
    "le lancement de chaque case doit dépendre d'un chronos "
    Oui et non : dans le cas de plusieurs lancement synchroniser , oui j'ai besoin d'un chrono programmable entre chaque tir.
    Si par exemple j'ai 5 tirs avec un interval de 2 secondes, j'aurais 4 chronos : entre le 1er et 2eme tir, entre le 2eme et 3eme tir, ... jusqu'au 5eme tir, après mon cycle ( ma séquence est terminé )

    Citation Envoyé par anapurna
    "la difficulté n'est pas dans l'interface graphique je le répète
    a la limite on pourrait faire un programme fonctionnant en mode console ou sous windows en ne changeant que l'a représentation graphique de ton appli"
    Je doute que le problème du graphisme pour une personne comme toi n'est nullement un obstacle vu la facilité comme tu répondes pour pouvoir faire
    Tu as certe toute les compétences en programmation, mais de mon coté la programmation en Windows je ne suis nulle part donc je dois rester pied sur terre et réaliste dans mes capacités d'apprend la programmation

    Citation Envoyé par anapurna
    "il faut vraiment faire la différence entre les donne et sa rerepresentation
    je pourrait avoir une donne de type bouleen (vrai ou faux) et afficher selon l'etat la donnée la couleur rouge ou une image de sens interdit si elle est faux "
    Tu veux dire quoi entre les données et sa représentation : si une condition à été exécuter il y a un changement de couleur par exemple ?
    Vrai ou faux c'est False et true dans delphi?Dans mon cas ce serait plus compréhensible d'avoir un "V" dans le cercle vert pour dire que le tir n'est pas encore fait et un "X" dans le cercle rouge pour dire que le tir est fait. je dois rester dans quelques chose de simple pour une raison de sécurité, mais bon , je me doute que c'est la cerise sur le gateau ce détail

    Citation Envoyé par anapurna
    "tu te focalise sur la representation graphique alors que le plus important reste les données et le traitement a leur apporter
    "
    tout à fait d'accord avec toi, mais je pensais que pour commencer à réaliser les commandes derrière , il fallait d'abord que tout soit en place au niveau graphisme, bouton, libraire avec ascenseur,...
    Je vais voir un ami qui lui aussi à quelques petites notions en Delphi pour avoir une idée de comment je peux m'organiser.

    Autres renseignements : tu as apris delphi comment. As tu des références dans les livres d'apprentissage que tu aurais utulisé. Dans mon cas, je ne sais pas comment m'y prendre pour l'étudier temps j'ai eu dur et décus du manuel télécharger sur le net.
    Je sais pas vraiment comment m'yprendre

    A+, Fab

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    Et bien là, je me foure le doight bien profond dans l'oeil,
    Je prend que cette phrase parce que ça m'a choqué


    Delphi c'est le langage le plus facile d'accès que j'ai eu^^
    Enfin...chacun son approche des choses

    Ceci dit, pour commencer l'aprentissage d'un langage, tu t'attaque déjà à un gros morceau qu'est ton projet, c'est pas la bonne démarche à mon avis.
    Faudrait déjà voir les tutos simples et bien faits qui existent sur le net et sur ce site en particulier, et quand tu sera à l'aise avec les fenêtres, boutons, évennements, propriètés, Composants simples, tu peux envisager autre chose..
    Sérieusement, tu devrais mettre ton projet en sourdine juste le temps d'être plus à l'aise avec Delphi

    Déjà rien que là je comprend pas :
    Ce que j'entends par rack de tir, c'est tous simplement des cassier (comme les bouteilles par exemple )et on place les tubes de dans.
    il y aurait des formats style 1*1, 1*3, 1*4, 1*5, 1*6, 1*8, 2*3, 2*4, 2*5, 2*6, 2*8, 3*3, 3*4, 3*5 et 4*4.
    Edit : ce que dis Anapurna est vraiment important à mon avis (la représentation graphique du projet) (une bonne analyse d'abord^^)

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    Cette page pour commencer :
    http://laurent-dardenne.developpez.c...DebuterDelphi/

    Ensuite un cours complet et bien détaillé (pourtant celui de beaulieu est bien fait, j'ai appris avec et aussi sur celui de Paul Thot.)
    http://delphi.developpez.com/cours/complet/

    Des bouts de codes ensuite :
    http://delphi.developpez.com/sources/

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Salut Dragono,
    L'apprentissage de l'un n'est pas forcement le même pour l'autre, mais bon, tous le monde n'est pas parfait

    pour ce qui est du projet commencé par la case de départ et mettre mon projet en sourdine, c'est pas la meilleur solution pour moi. je préfère attaquer sur un projet que de commencer affaire un truc puis l'autre. je retiens plus facilement sur le terrain en temps réel que par des petits morceau, ce qui m'a couté de me casser la G-----E en VB au cours du soir: petit bout de programma par petit bout de programme, j'ai tous oublier sur deux semaine de congés
    J'apprend sur le tas sans trops chipoter avec des petits truc,

    j'ai une personne qui m'a expliquer comme fermer avec un bouton "Quitte" et ca à été plus facile de me l'expliquer directement que de commencer à comprendre c'est quoi un bloc, les var, ... par exemple début du cour de F. Beaulieu qui explique comment stocker un résultat dans une var en 4 Ligne avec des termes non pas simple dans certain cas, .... ... alors qu'il suffit de dire que le résulsta est stocker dans la var comme ceci Var = resultat et dire simplement que la variable "VAr" recoit "=" le résultat " result " par exemple.


    Mais bon, là je ne sais rien dire sauf que ce manuel n'est pas vraiment très clair et manque de schéma, image, ... bref des dessins qui explique mieux.

    je ne critique pas le cours de F. Beaulieu, mais sa mérite réflexion vis à vis d'un débutant comme moi et des autres qui commence
    des unité dans des uniié, ceci dans cela, ... ... un simple dessin commenté et c'est bien plus simple

    Le principe des Rack, c'est très simple, imagine un cassier de Bierre , il est formé de 4 rangés de 6 bouiteilles donc un rack de 4X6 tirs , 4 pour les lignes si tu préfères et 6 pour les collones J'ai joint dans le précédent email un fichier exel qui montre un rack de 3X4.

    "Je prend que cette phrase parce que ça m'a choqué" je vois pas ce qui est choquant et dans quel sens du terme

    Merci pour les liens, Fab

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    Choqué^^ juste parce que c'est simple delphi voilà^^

    Ton rack est composé de N lignes et N colonnes, mais comment tu l'actionne, tu envoie tes octets pour chaque emplacement bouteille l'un aprés l'autre ou bien juste pour le rack lui-même ?

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Si delphi est simple pour toi, ce ne l'est pas forcément pour les autres !!!

    Sais tu faires des schéma électronique et programmer les micro controlleur. Si oui temps mieux pour toi sinon, te voila au même problème que moi mais avec delphi

    Si je dois par exemple faire 4 tirs ( 4 +5+ 9 +16) du rack 7, j'envois comme 1er octet 00001001 ( rack7 )
    2eme octet 00011000 ( Tir 4 et 5 ) le 2eme octet est pour la
    1er carte électronique de 8 sorties
    3 eme octet 00001001 ( rack 8)
    4 eme octet 10000001 Tir ( 9 et 16 ) le 4eme octet est pour la
    2eme carte électronique de 8 sorties

    Et paf, la tu ne comprend plus rien ????

    C'est pourtant si simple comme delphi ! :
    Quand je donne une adresse de départ au boitier électronique sur le rack, il prendra toujours deux adresses au total : la première attribué (7) et la suivant +1donc (8).
    Pourquoi?
    Parce que le 2eme et 4eme octet est divisé en 8 ordres d'ou 8 tir et comme j'ai jusque 16 tirs, il me faut donc 2 octets. Je ne peux pas faire un tir sur une valeur Binaire réel exemple 7 c'est 01000000 et non 00000111.Chaque Byte représente une sortie ( un tir ), et comme j'en ais 16 il me faut deux octets. Comme il s'agit de tir de feux, le troisième octet est comme le 1er : avertir le boitier électronique " qui est Exclave " ( occupé la ligne avec ce rack )et lui envoyé le reste pour le deuxième étage de tir. J'ai donc dans le micro controlleur un compteur : une fois que je dialogue avec lui, il doit recevoir 4 octets impérativement même si je ne fait pas de tir de 9 à 16 et que donc le 4eme octect est vide.
    Je pourrais très bien envoyé un octet pour l'adresse et en suite balancé les deux octets de tir , mais en cas de perturbation de la ligne je préfère avoir une sécurité de sélection du rack pour ne pas avoir d'autre tir imprévus.
    Et si le micro controlleur n'a pas reçu les 4 octets dans un temps défini, il annule le dialogue et libert la ligne.

    Pour ce qui est de N ligne et N colonne, c'est juste une question de cablage au racke et de l'option d'un patching dans le soft du pic. Je dois juste faire en sorte que quand je réalise un rack sous delphi N ligne et N colonne , que Delphi donne toujours les numéro de tir de gauche à droit et de haut en bas dans l'ordre croissant à partir d'un numéro de départ donnée par l'opérateur. Et si j'ai un rack avec 1x6 tir?? Delphi doit simplement attribuée les 6 numéros de tir et les 10 autres ne sont pas pris pour ce rack, mais si je place d'autre racks et que j'ai besoin de continuer les tir avec les 10 numéro restant sur un autre rack pour une question de logique , je dois pouvoir le faire sans problème.

    les explications doivent te sembler lourd à ton goût mais pour moi, c'est du gueuleton en gestion électronique Fab
    Si tu as besoin d'autres infos ???

    Fab

  11. #11
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    En gros ta juste besoin d'envoyer 4 octets l'un après l'autre au port série ?

    (j'essaie de comprendre pour t'aider vu que moi aussi je suis électronicien de longue date (1981) et autodidacte^^ mais c'est vrai que ça me semble lourd ton explication, ça doit venir du fait que je ne connais ni les micro-controleurs ni l'activation des feux d'artifices).
    Je pense que dés qu'on aura établi exactement ce que l'on veut, le traduire graphiquement à l'écran sera très simple.

    EDIT :

    Regarde en attendant ce que tu peux faire avec ça :

    Exemple imaginaire d'une action en ligne et colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure action()
    var N,J:integer;
    begin
      for i:= 1 to 10 do
        for j:= 1 to 10 do
        begin
           {actions de ma boucle
             par exemple envoi de données sur le port série.
           }
        end; // fin de la boucle j
      end; //fin de la boucle i
    end;
    Pour la commande du port série : peut-etre que c'est mieux de le faire en assembleur puisque tu maitrise l'assembleur, et tu commande le sous-programme par delphi, mais là je saurais pas t'aider à part te donner des liens, ce que je ferais^^
    Tiens regarde le chapitre 12 du document indiqué ci-dessous^^

    Et pour ce qui est de la simplicité de delphi, voilà pour te convaincre et t'aidera à entrer plein pied dans ce langage :
    http://serfop.ac-reims.fr/web/Documents/delphi.pdf

    En voilà un autre aussi bien bien bien de plus que bien ^^
    http://delphipage.free.fr/debuter.html

    Tiens encore un lien trés complet (electronique) pour la gestion du port série :
    http://delphipage.free.fr/portserie.html

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/05/2005, 14h30
  2. .htaccess - url rewriting, besoin de conseils
    Par giminik dans le forum Apache
    Réponses: 2
    Dernier message: 25/04/2005, 21h18
  3. [C#] [ADO.NET] Besoin de conseil
    Par djsbens dans le forum Accès aux données
    Réponses: 8
    Dernier message: 01/04/2005, 16h04
  4. Réponses: 3
    Dernier message: 24/12/2004, 13h21
  5. Réponses: 1
    Dernier message: 06/01/2003, 08h55

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