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

AJAX Discussion :

AJAX inter domaines possible avec les nouvelles générations de navigateurs [News]


Sujet :

AJAX

  1. #1
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut AJAX inter domaines possible avec les nouvelles générations de navigateurs
    AJAX a depuis ses débuts été cantonné à des requête sur un même domaine.
    Cette limitation était due à la politique de même origine (same origin policy) de JavaScript.
    Mais avec l'émergence de nouveaux concepts d'internet (réseaux sociaux, widgets, web services), cette politique est désormais plus handicapante que protectrice pour les développeurs d'applications internet riches.

    Avec la sortie récente des dernières versions des navigateurs (IE8, FF3.5, Safari 4), cette limitation commence à être levée et des solutions d'AJAX inter domaines sont désormais fournies.

    Bien évidemment, on regrettera encore une fois que IE8 se démarque avec une méthode différente des autres navigateurs.

    Pour en savoir plus :
    Same Origin Policy
    cross-site xmlhttprequest with CORS
    HTTP access control

    Que pensez-vous de cette évolution ?
    Va-t-elle selon vous dans le sens d'une évolution souhaitable ou au contraire fragilise-t-elle un peu plus la sécurité des apllications Web ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    niveau securité .. faut voir les limitations du crossdomain
    c'est sur que ça faciliterait la tache de recupérer juste du texte ou du xml ..
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 136
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    3
    Par défaut
    Concrètement il y a déjà des navigateurs qui autorisent cela ?

    Par exemple, sous Firefox 3.5 ou XulRunner je peux faire des requêtes ajax sur plusieurs domaines ?
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

  4. #4
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Pfff, dire que je m'étais galéré à en comprendre les tenants et les aboutissants de cette fameuse SOP...

    En tout cas, vu le nombre de messages sur le forum ajax à propos de ce genre de problèmes... ça va quand même faciliter la tâche à pas mal de monde je suppose

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  5. #5
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    c'est une tres bonne nouvelle : et dans le contexte de la généralisation des web services de type REST/ et rest like (xml over http) : le navigateur va devenir la plate forme de mashup.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par stailer
    Concrètement il y a déjà des navigateurs qui autorisent cela ?
    Oui, c'est précisément l'intérêt de la chose, voici un exemple (fourni dans le second lien du premier post) d'implémentation :
    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
    var url = "http://bar.other/publicNotaries/"
    if(XMLHttpRequest)
    {
      var request = new XMLHttpRequest();
      if("withCredentials" in request)
      {
       // Firefox 3.5 and Safari 4
       request.open('GET', url, true);
       request.onreadystatechange = handler;
       request.send();
      }
      else if (XDomainRequest)
      {
       // IE8
       var xdr = new XDomainRequest();
       xdr.open("get", url);
       xdr.send();
     
       // handle XDR responses -- not shown here :-)
      }
     
     // This version of XHR does not support CORS  
     // Handle accordingly
    }
    On notera comme souvent que IE8 ne gère pas cela comme les autres...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Pour une fois, je prefere l'approche de IE qui consiste à implémenter un objet différent que d'ajouter une propriété à l'objet XmlHTTPRequest car autant, avant FF3.5 et IE8 l'objet XHR ne présentait pas de risque (on maitrisait le serveur et le client), autant avec XDR, on ne doit avoir aucune confiance en la réponse du serveur.

    Avoir un objet différent permet de faire prendre conscience au développeur qu'il manipule un objet potentiellement dangereux. Cela permet également de restreindre l'utilisation dudit objet en cas de besoin administratif.

  8. #8
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    Pour une fois, je prefere l'approche de IE qui consiste à implémenter un objet différent que d'ajouter une propriété à l'objet XmlHTTPRequest car autant, avant FF3.5 et IE8 l'objet XHR ne présentait pas de risque (on maitrisait le serveur et le client), autant avec XDR, on ne doit avoir aucune confiance en la réponse du serveur.
    +1; d'autant plus qu'on se demande bien dans ces cas là à quoi sert la notion d'héritage
    Avoir un objet différent permet de faire prendre conscience au développeur qu'il manipule un objet potentiellement dangereux. Cela permet également de restreindre l'utilisation dudit objet en cas de besoin administratif.
    Encore une fois d'accord avec toi. Mais je tempérerais un peu car si on regarde les codes de base pour créer un objet xhr (dont celui de la FAQ) on s'aperçoit que cela passe quasiment à chaque fois par une fonction type (extrait de la faq):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function getXMLHTTP(){
    var xhr=null;
    ...
     
    return xhr;
    }
    Donc on peut imaginer voir fleurir prochainement des fonctions similaires comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function getXDomainRequest() {
       var xdr = null;
       if (window.XDomainRequest) {
          xdr = new XDomainRequest(); 
       } else if (window.XMLHttpRequest) {
         xdr = new XMLHttpRequest(); 
       } else {
          alert("Pas de cross-domain avec ce navigateur !");
       }
       return xdr;	
    }
    Finalement les développeurs sauront toujours ce qu'ils appellent. Mais que cela aurait été plus simple si une nouvelle class avait été créée...

    ERE
    Quand une tête pense seule, elle devient folle.

  9. #9
    Membre régulier
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Points : 120
    Points
    120
    Par défaut
    En tous les cas c'est plutôt une bonne nouvelle !
    Parce que sincèrement, les <iframe>, les proxies, les services, ....
    Un peu lourd à gérer à force ;-)
    JL

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Ah oui, ça ça serait une bonne nouvelle, et désolé pour ce post...
    Ca doit être redondant...

  11. #11
    Membre averti

    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 379
    Points
    379
    Par défaut
    Désolé si ce que je vais dire est une absurdité, mais n'étais-ce pas l'adage des Web Service de permettre ce genre de chose (par SOAP) : on envoie une request à un service Web pour une information et il nous retourne la réponse dans un fichier XML ?

    Pour ma part, je suis de l'avis de SpaceFrog, à savoir les limitations concernant le crossdomain.

    Y'a quelqu'un qui peut dire ce que cela implique ?!?
    ______________
    Never underestimated the browser
    Ne jamais sous-estimé le navigateur
    Vic Gundotra, Google IO 2009

  12. #12
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    ben, si sauf que un web service, c'est pas forcement Soap, mais aussi d'autres protocoles moins deb... plus simples (xml over http, Rest, protocol buffer, json etc...)

    et du coup, le navigateur peut devenir la plate forme d'utilisation de ces web services, plutot que de passer par une couche applicative serveur

  13. #13
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par CIFQ_Drew Voir le message
    Désolé si ce que je vais dire est une absurdité, mais n'étais-ce pas l'adage des Web Service de permettre ce genre de chose (par SOAP) : on envoie une request à un service Web pour une information et il nous retourne la réponse dans un fichier XML ?
    Tu ne peux pas le faire directement avec AJAX... Il te faut une couche serveur pour parer la Same Origin Policy !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  14. #14
    Membre averti

    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 379
    Points
    379
    Par défaut
    Alors si je comprends bien, on ne peut pas appeler un Web Service par JavaScript si le Web Service en question est sur un autre domaine ? Est-ce que j'ai mal compris vos commentaire ?
    ______________
    Never underestimated the browser
    Ne jamais sous-estimé le navigateur
    Vic Gundotra, Google IO 2009

  15. #15
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 136
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    3
    Par défaut
    Je pense que tu confonds Webs Services et Ajax.

    Les Webs Services via SOAP permettent de communiquer "entre langages" en passant par le protocole XML.

    Exemple : je peux développer un web service en DotNet C# qui me renvoie des clients de ma base de données SQL Server.
    Je vais pouvoir alors, en Java par exemple, me récupérer d'une manière très simplifiée, cette fonction sur mon serveur DotNet pour afficher dans une page JSP la liste de ces clients, donc grâce à la WSDL.

    Je fais un bouton sur ma page JSP, la page se relance, le code serveur va chercher le web service et enfin la page affiche ces informations.

    Maintenant, je veux afficher cette liste dans ma page JSP, mais en Ajax. Quand je vais cliquer sur mon bouton je ne veux pas que la page se recharge, mais affiche dans une balise <div id="content"></div> le résultat directement.

    Il va donc falloir passer par du Javascript. Les navigateurs ne pouvaient pas jusqu'à aujourd'hui me donner cette autorisation.

    Et bien maintenant, grâce à Ajax "inter domaines" , c'est possible..

    En espérant avoir été à peu près clair..
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

  16. #16
    Membre averti

    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 379
    Points
    379
    Par défaut
    Oui merci stailer, ton exemple ma éclaircie un peu!!!
    ______________
    Never underestimated the browser
    Ne jamais sous-estimé le navigateur
    Vic Gundotra, Google IO 2009

  17. #17
    Membre éprouvé Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Points : 1 241
    Points
    1 241
    Par défaut
    Bonjour,

    Désolé de déterrer ce post 2 mois apres, mais je n'ai pas tout compris...

    Citation Envoyé par stailer Voir le message
    Je fais un bouton sur ma page JSP, la page se relance, le code serveur va chercher le web service et enfin la page affiche ces informations.

    Maintenant, je veux afficher cette liste dans ma page JSP, mais en Ajax. Quand je vais cliquer sur mon bouton je ne veux pas que la page se recharge, mais affiche dans une balise <div id="content"></div> le résultat directement.

    Il va donc falloir passer par du Javascript. Les navigateurs ne pouvaient pas jusqu'à aujourd'hui me donner cette autorisation.
    Pourquoi n'était-ce pas possible avant en AJAX ?
    L'objet XHR va communiquer avec une page 'serveur' qui, elle, aura tout lieu d'invoquer le web service, récupérer les infos et les renvoyer vers le client via XHR... non ?
    L'avantage est qu'on peut faire une requete inter-domaine directement ?
    merci de vos lumieres

  18. #18
    Membre confirmé
    Avatar de Jcpan
    Inscrit en
    Août 2008
    Messages
    542
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 542
    Points : 475
    Points
    475
    Par défaut
    Bonjour

    je detere ce post. Je viens d'essayer ça marche pas chez moi ça donne

    Objet non trouvé!

    L'URL requise n'a pu etre trouvée sur ce serveur. La référence sur la page citée semble être erronée ou perimée. Nous vous prions d'informer l'auteur de cette page de cette erreur.

    Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le gestionnaire du site.
    Error 404
    localhost
    19/02/2010 17:27:04
    Apache/2.2.12 (Win32) DAV/2 mod_ssl/2.2.12 OpenSSL/0.9.8k mod_autoindex_color PHP/5.3.0 mod_perl/2.0.4 Perl/v5.10.0


    Edit : avec Firefox/3.5.7

    ça nécessite un traitement sur le serveur ?

  19. #19
    Membre confirmé
    Avatar de Jcpan
    Inscrit en
    Août 2008
    Messages
    542
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 542
    Points : 475
    Points
    475
    Par défaut
    ok d'apres cette page il faut une autorisation sur le serveur distant.


    #

    William Edney wrote on July 6th, 2009 at 4:41 pm:

    Arun -

    Thanks for the excellent example. I grabbed the ‘Simple Example’ page, saved it to my file system, reloaded that page into another window using the ‘file:///’ URL and tried to invoke the cross-site query. This failed in both Firefox 3.5 (Mac) and Safari 4 (Mac).

    Is there some reason this isn’t working? Given that the W3 defines ‘file:///’ URLs as a valid origin, this should work IMHO.

    Cheers,

    - Bill

    Reply
    #

    William Edney wrote on July 6th, 2009 at 4:48 pm:

    Arun -

    Ok, so maybe I’m being an idiot and your server is only authorizing the domain that you’re calling from in your example and not ‘*’.

    Hmmm…

    Cheers,
    Mais comment je crée cette autorisation ?

  20. #20
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    740
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 740
    Points : 805
    Points
    805
    Par défaut
    Citation Envoyé par Bovino Voir le message
    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
     
    var url = "http://bar.other/publicNotaries/"
    if(XMLHttpRequest)
    {
      var request = new XMLHttpRequest();
      if("withCredentials" in request)
      {
       // Firefox 3.5 and Safari 4
       request.open('GET', url, true);
       request.onreadystatechange = handler;
       request.send();
      }
      else if (XDomainRequest)
      {
       // IE8
       var xdr = new XDomainRequest();
       xdr.open("get", url);
       xdr.send();
     
       // handle XDR responses -- not shown here :-)
      }
     
     // This version of XHR does not support CORS  
     // Handle accordingly
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // Selon les spécifications W3C
    request.onload=handler;
    Même Microsoft a fait l'effort...


    Citation Envoyé par Bovino Voir le message
    On notera comme souvent que IE8 ne gère pas cela comme les autres...
    Un exemple?
    Afin d'obtenir plus facilement de l'aide, n'hésitez pas à poster votre code de carte bancaire

    Mon GitHub

    Une alternative à jQuery, Angular, Vue.js, React, ... ? Testez anticore, en quelques secondes à peine !
    (Contributions bienvenues)

Discussions similaires

  1. [PHP/JS] controle d'accès possible avec les entêtes
    Par SpaceFrog dans le forum Langage
    Réponses: 2
    Dernier message: 03/08/2010, 15h45
  2. [RegExp] Est-ce possible avec les expressions régulières ?
    Par Difré91 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 10/06/2010, 13h09
  3. Réponses: 0
    Dernier message: 07/07/2009, 14h16
  4. Réponses: 18
    Dernier message: 17/03/2009, 18h25
  5. Réponses: 8
    Dernier message: 13/12/2005, 15h02

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