web-dev-qa-db-fra.com

Est-ce que Django est mis à l'échelle?

Je construis une application web avec Django. Les raisons pour lesquelles j'ai choisi Django étaient:

  • Je voulais travailler avec des outils libres/open-source.
  • J'aime Python et je pense que c'est un langage à long terme, alors qu'en ce qui concerne Ruby je n'étais pas sûr et PHP semblait être un énorme problème à apprendre.
  • Je construis un prototype pour une idée et je ne pensais pas trop à l'avenir. La vitesse de développement était le facteur principal, et je connaissais déjà Python.
  • Je savais que la migration vers Google App Engine serait plus facile si je décidais de le faire à l'avenir.
  • J'ai entendu que Django était "gentil".

Maintenant que je pense de plus près à la publication de mon travail, je commence à me préoccuper de l’échelle. La seule information que j'ai trouvée sur les capacités de mise à l'échelle de Django est fournie par l'équipe Django (je ne dis rien pour les ignorer, mais ce n'est clairement pas une information objective ... ).

Mes questions:

  • Quel est le "plus grand" site construit sur Django aujourd'hui? (Je mesure la taille principalement par le trafic de l'utilisateur)
  • Est-ce que Django peut traiter 100 000 utilisateurs par jour , chacun visitant le site pendant quelques heures?
  • Un site comme Stack Overflow pourrait-il fonctionner sur Django?
1073
Roee Adler
  1. "Quels sont les plus grands sites construits sur Django aujourd'hui?"

    Il n'y a pas un seul endroit qui recueille des informations sur le trafic sur Django sites construits, je vais donc devoir essayer de l'utiliser en utilisant des données provenant de divers emplacements. Premièrement, nous avons une liste de Django sites sur la page de couverture de la page principale du projet Django , puis une liste de Django construit des sites à djangosites.org . En parcourant les listes et en sélectionnant certaines personnes qui, je le sais, ont un trafic décent, nous voyons:

  2. "Django peut-il traiter avec 100 000 utilisateurs quotidiens, chacun visitant le site pendant quelques heures?"

    Oui, voir ci-dessus.

  3. "Un site comme Stack Overflow peut-il être exécuté sur Django?"

    Mon instinct est oui mais, comme d'autres l'ont répondu et que Mike Malone a mentionné dans sa présentation, la conception de la base de données est essentielle. Une preuve solide peut également être trouvée sur www.cnprog.com si nous pouvons trouver des statistiques de trafic fiables. Quoi qu’il en soit, ce n’est pas simplement quelque chose qui se produira en rassemblant un groupe de Django modèles :)

Il y a bien sûr beaucoup plus de sites et de blogueurs intéressants, mais je dois m'arrêter quelque part!


Article de blog à propos de tiliser Django pour construire le site à fort trafic michaelmoore.com décrit comme un top 10 000 sites Web . stats Quantcast et stats.com.com .


(*) L'auteur de la modification, y compris cette référence, travaillait comme développeur externalisé dans ce projet.

877
Van Gale

Nous faisons des tests de charge maintenant. Nous pensons pouvoir prendre en charge 240 demandes simultanées (un taux soutenu de 120 hits par seconde 24x7) sans dégradation significative des performances du serveur. Ce serait 432 000 hits par heure. Les temps de réponse ne sont pas courts (nos transactions sont importantes), mais nos performances de base ne se dégradent pas lorsque la charge augmente.

Nous utilisons Apache Django et MySQL. Le système d'exploitation est Red Hat Enterprise Linux (RHEL). 64 bits. Nous utilisons mod_wsgi en mode démon pour Django. Nous n'avons pas optimisé le cache ou la base de données, si ce n'est d'accepter les valeurs par défaut.

Nous sommes tous dans un VM sur un Dell 64 bits avec (je pense) 32 Go de RAM.

Étant donné que les performances sont presque identiques pour 20 ou 200 utilisateurs simultanés, nous n'avons pas besoin de perdre beaucoup de temps à "peaufiner". Au lieu de cela, nous devons simplement maintenir nos performances de base grâce à des améliorations de performances SSL ordinaires, à la conception et à la mise en œuvre de bases de données ordinaires (indexation, etc.), aux améliorations de performances de pare-feu ordinaires, etc.

Ce que nous mesurons, c’est nos ordinateurs portables de test de charge qui luttent sous la charge de travail insensée de 15 processus exécutant 16 threads simultanés de demandes.

258
S.Lott

Quel est le "plus grand" site construit sur Django aujourd'hui? (Je mesure la taille principalement par le trafic de l'utilisateur)

Aux États-Unis, c'était Mahalo . On me dit qu'ils traitent environ 10 millions de visiteurs uniques par mois. Maintenant, en 2019, Mahalo est propulsé par Ruby sur Rails.

À l’étranger, le réseau Globo (réseau de sites d’information, de sport et de divertissement au Brésil); Alexa les classe dans le top 100 mondial (environ 80% actuellement).

Parmi les autres utilisateurs Django notables, on peut citer PBS, National Geographic, Discovery, la NASA (plusieurs divisions au sein de la NASA) et la Library of Congress.

Django peut-il traiter quotidiennement avec 100 000 utilisateurs, chacun visitant le site pendant quelques heures?

Oui, mais seulement si vous avez bien écrit votre application et si vous avez suffisamment de matériel. Django n'est pas une solution miracle.

Un site comme StackOverflow pourrait-il fonctionner sur Django?

Oui (mais voir ci-dessus).

Du point de vue technologique, facilement: voir soclone pour une tentative. En ce qui concerne le trafic, StackOverflow est inférieur à 1 million de visiteurs uniques par mois. Je peux nommer au moins une douzaine de sites Django avec davantage de trafic que SO.

102
jacobian

La mise à l'échelle d'applications Web ne concerne pas les infrastructures Web ni les langages, mais votre architecture. Il s'agit de la manière dont vous gérez le cache de votre navigateur, de votre base de données, comment vous utilisez des fournisseurs de persistance non standard (comme CouchDB ), de la précision de votre base de données et de nombreux autres éléments ...

85
razenha

Jouant un peu l'avocat du diable:

Vous devriez vérifier le DjangoCon 2008 Keynote , livré par Cal Henderson , intitulé "Pourquoi je déteste Django" où il passe à peu près tout ce qui manque Django pourrait vouloir faire dans un site Web à fort trafic. À la fin de la journée, vous devez prendre tout cela avec un esprit ouvert car il est parfaitement parfaitement possible d'écrire Django des applications à l'échelle, mais j’ai pensé que c’était une bonne présentation et qui répondait à votre question.

78
Paolo Bergantino

Le plus grand Django site que je connaisse est le Washington Post , ce qui indiquerait certainement qu'il peut échelle bien.

Les bonnes décisions de conception ont probablement un impact plus important sur les performances que toute autre chose. Twitter est souvent cité comme un site qui incarne les problèmes de performances dans un autre framework Web basé sur un langage interprété dynamique, Ruby sur Rails - mais les ingénieurs de Twitter ont déclaré que le framework était moins utile. un problème comme certains des choix de conception de base de données qu'ils ont faits au début.

Django fonctionne très bien avec memcached et fournit quelques classes pour la gestion du cache, qui vous permettront de résoudre la majorité de vos problèmes de performances. En réalité, ce que vous fournissez sur le réseau est presque plus important que votre système - l'utilisation d'un outil tel que yslow est essentielle pour une application Web hautes performances. Vous pouvez toujours ajouter plus de matériel à votre serveur, mais vous ne pouvez pas modifier la bande passante de vos utilisateurs.

51
Bayard Randel

La semaine dernière, j'étais à la conférence EuroDjangoCon, qui a fait l'objet de plusieurs entretiens, notamment de la part des fondateurs de Pownce, le plus grand site basé sur Django (diapositives d'un exposé ici ) . Le message principal est que ce n’est pas Django que vous devez vous inquiéter, mais des choses comme la mise en cache appropriée, l’équilibrage de la charge, l’optimisation de la base de données, etc.

Django a en fait des crochets pour la plupart de ces choses - la mise en cache, en particulier, est très facile.

32
Daniel Roseman

Je suis sûr que vous recherchez une réponse plus solide, mais la validation objective la plus évidente à laquelle je puisse penser est que Google pousse Django à être utilisé avec son framework App Engine . Si quelqu'un connaît et gère régulièrement l'évolutivité, c'est bien Google. D'après ce que j'ai lu, le facteur le plus limitatif semble être le back-end de la base de données, c'est pourquoi Google utilise ses propres ...

24
jess

Comme indiqué dans High Performance Django Book et passez par ceci Cal Henderson

Voir plus de détails comme mentionné ci-dessous:

Il n’est pas rare d’entendre les gens dire "Django n’a pas d’échelle" . Selon votre point de vue, l'énoncé est complètement vrai ou manifestement faux. Django, à lui seul, n’a pas l’échelle.

La même chose peut être dite de Ruby sur Rails, Flask, PHP ou tout autre langage utilisé par un site Web dynamique basé sur une base de données.

La bonne nouvelle, cependant, est que Django interagit à merveille avec une suite d’outils de mise en cache et d’équilibrage de la charge qui lui permettront de s’adapter à autant de trafic que vous le pouvez.

Contrairement à ce que vous avez pu lire en ligne, il peut le faire sans remplacer les composants principaux souvent qualifiés de "trop lents", tels que l'ORM de la base de données ou la couche de modèle.

Disqus sert plus de 8 milliards de pages vues par mois. Ce sont des chiffres énormes.

Ces équipes ont prouvé que Django évolue très certainement. Notre expérience ici à Lincoln Loop le confirme.

Nous avons construit de gros sites Django capables de passer la journée sur la page d'accueil de Reddit sans craquer.

Les exemples de réussite de Django en matière de dimensionnement sont presque trop nombreux pour être énumérés à ce stade.

Il soutient Disqus, Instagram et Pinterest. Vous voulez plus de preuves? Instagram a réussi à maintenir plus de 30 millions d'utilisateurs sur Django avec seulement 3 ingénieurs (dont 2 n'ont pas de développement back-end

17
Mushahid Khan

Aujourd'hui, nous utilisons de nombreuses applications et sites Web pour nos besoins. La plupart d'entre eux sont très utiles. Je vais vous en montrer quelques-unes utilisées par python ou Django.

Washington Post

Le site Web du Washington Post est une source d’informations en ligne extrêmement populaire pour accompagner son quotidien. Son énorme nombre de vues et de trafic peut être facilement géré par le framework web Django. Washington Post - 52.2 million unique visitors (March, 2015)

NASA

Le site Web officiel de l’administration nationale de l’aéronautique et de l’espace est l’endroit où trouver des informations, des images et des vidéos sur l’exploration spatiale en cours. Ce site Web Django peut facilement gérer d'énormes quantités de vues et de trafic. 2 million visitors monthly

Le gardien

The Guardian est un site Web d'actualités et de médias britannique appartenant au groupe de médias Guardian. Il contient presque tout le contenu des journaux The Guardian et The Observer. Ces énormes données sont gérées par Django. The Guardian (commenting system) - 41,6 million unique visitors (October, 2014)

YouTube

Nous savons tous que YouTube est le lieu idéal pour télécharger des vidéos de chats et échoue. En tant que l'un des sites Web les plus populaires, il nous offre d'innombrables heures de divertissement vidéo. Le langage de programmation Python l’alimente et les fonctionnalités que nous aimons.

DropBox

DropBox a lancé la révolution du stockage de documents en ligne qui fait désormais partie du quotidien. Nous stockons maintenant presque tout dans le cloud. Dropbox nous permet de stocker, synchroniser et partager presque tout en utilisant la puissance de Python.

Survey Monkey

Survey Monkey est la plus grande société de sondage en ligne. Ils peuvent traiter plus d'un million de réponses chaque jour sur leur site Web Python réécrit.

Quora

Quora est le numéro un des sites en ligne pour poser une question et recevoir les réponses d’une communauté de personnes. Sur leur Python site Web, les résultats pertinents sont traités, modifiés et organisés par ces membres de la communauté.

Bitly

La majorité du code pour les services et les analyses de réduction d’URL Bitly est entièrement construite avec Python. Leur service peut gérer des centaines de millions d'événements par jour.

Reddit

Reddit est connu comme la page d'accueil d'Internet. C'est le lieu en ligne pour trouver des informations ou des divertissements basés sur des milliers de catégories différentes. Les messages et les liens sont générés par l'utilisateur et sont promus au sommet par des votes. De nombreuses fonctionnalités de Reddit reposent sur Python pour leurs fonctionnalités.

hipmunk

Hipmunk est un site de voyage en ligne qui compare les meilleurs sites de voyage pour vous trouver les meilleures offres. Les outils de ce site WebPython vous permettent de trouver les hôtels et les vols les moins chers pour votre destination.

Cliquez ici pour en savoir plus: 25 sites Web parmi les plus populaires de python et de Django , Qu'est-ce que certains sites sont bien connus en cours d'exécution sur Django

16
Simplans

Je pense que nous pourrions aussi bien ajouter l'application de l'année 2011 d'Apple, Instagram , à la liste qui utilise Django de manière intensive.

15
Milind

Oui il peut. Cela pourrait être Django avec Python ou Ruby sur Rails. Il sera toujours à l'échelle.

Il y a peu de techniques différentes. Tout d'abord, la mise en cache n'est pas mise à l'échelle. Vous pouvez avoir plusieurs serveurs d'applications équilibrés avec nginx comme serveur principal en plus du ou des équilibreurs matériels. Pour faire évoluer la base de données, vous pouvez aller assez loin avec l'esclave lu dans MySQL/PostgreSQL si vous utilisez le SGBDR.

Quelques bons exemples de sites Web à trafic intense dans Django pourraient être:

  • Pownce quand ils étaient toujours là.
  • Discus (gestionnaire générique de commentaires partagés)
  • Tous les sites liés au journal: Washington Post et autres.

Vous pouvez vous sentir en sécurité.

12
coulix

Voici une liste d'éléments relativement connus construits dans Django:

  1. L'application " enquête sur les dépenses de votre député " du Guardian

  2. Politifact.com (voici un billet de blog parlant de l'expérience (positive). Le site a remporté un Pulitzer.

  3. NY Times ' Représenter app

  4. EveryBlock

  5. Peter Harkins, l’un des programmeurs chez WaPo, liste tout ce qu’ils ont construit avec Django sur son blog

  6. C'est un peu vieux, mais quelqu'un du LA Times donne un aperçu général des raisons pour lesquelles ils sont partis avec Django.

  7. Le club AV de Onion a récemment été transféré de (je pense que Drupal) à Django.

J'imagine qu'un certain nombre de ces sites reçoivent probablement plus de 100 000 visites par jour. Django peut certainement faire 100 000 hits/jour et plus. Mais YMMV pour obtenir votre site particulier en fonction de ce que vous construisez.

Il existe des options de mise en cache au niveau Django (par exemple, la mise en cache de requêtes et de vues dans memcached peut faire des merveilles) et au-delà (caches en amont comme Squid ). Les spécifications du serveur de base de données seront également un facteur (et généralement l'endroit idéal pour faire des folies), tout comme votre réglage. Ne supposez pas, par exemple, que Django va configurer correctement les index. Ne supposez pas que la configuration par défaut PostgreSQL ou MySQL est la bonne.

De plus, vous avez toujours la possibilité d’avoir plusieurs serveurs d’application exécutant Django s’il s’agit d’un point lent, avec un équilibreur de charge logiciel ou matériel en premier.

Enfin, servez-vous du contenu statique sur le même serveur que Django? Utilisez-vous Apache ou quelque chose comme nginx ou lighttpd ? Pouvez-vous vous permettre d'utiliser un CDN pour le contenu statique? Ce sont des choses à penser, mais tout est très spéculatif. 100k hits/jour n'est pas la seule variable: combien voulez-vous dépenser? Quelle expertise avez-vous dans la gestion de tous ces composants? Combien de temps avez-vous pour tout rassembler?

9
mazelife

Le défenseur des développeurs pour YouTube a donné un discussion sur la mise à l'échelle Python à PyCon 2012 , ce qui est également pertinent pour la mise à l'échelle de Django.

YouTube a plus d'un milliard d'utilisateurs , et YouTube est basé sur Python.

8
orokusaki

J'utilise Django depuis plus d'un an maintenant et je suis très impressionné par la manière dont il parvient à combiner modularité, évolutivité et rapidité de développement. Comme avec n'importe quelle technologie, elle nécessite une courbe d'apprentissage. Cependant, l’excellente documentation de la communauté Django rend la courbe d’apprentissage beaucoup moins prononcée. Django a été capable de gérer tout ce que j'ai jeté à fond. Il semble qu'il sera capable d'évoluer dans le futur.

BidRodeo Penny Auctions est un site Web de taille moyenne Django. C'est un site Web très dynamique qui gère un bon nombre de pages vues par jour.

7
Krystian Cybulski

Notez que si vous attendez 100 000 utilisateurs par jour, actifs plusieurs heures à la fois (soit un maximum de 20 000 utilisateurs simultanés), vous aurez besoin de BEAUCOUP de serveurs. SO compte environ 15 000 utilisateurs enregistrés, et la plupart d'entre eux ne sont probablement pas actifs quotidiennement. Alors que la majeure partie du trafic provient d’utilisateurs non enregistrés, j’imagine que très peu d’entre eux restent sur le site plus de quelques minutes (c’est-à-dire qu’ils suivent les résultats de la recherche sur Google puis partent).

Pour ce volume, attendez au moins 30 serveurs ... ce qui représente encore 1 000 utilisateurs simultanés plutôt lourds par serveur.

6
Beep beep

Quel est le "plus grand" site construit sur Django aujourd'hui? (Je mesure la taille principalement par le trafic utilisateur) Pinterest
disqus.com
Plus ici https://www.shuup.com/en/blog/25-of-the-most-most-popular-python-and-Django-websites/

Django peut-il traiter avec 100 000 utilisateurs quotidiens, chacun visitant le site pendant quelques heures?
Oui, mais utilisez une architecture, une conception de base de données et un cache appropriés, utilisez des équilibres de charge et plusieurs serveurs/nœuds.

Un site comme Stack Overflow peut-il être exécuté sur Django?
Oui, il suffit de suivre la réponse mentionnée à la 2e question

5
Ranju R

Rasp.yandex.ru, le service russe d'horaires de transport, est un autre exemple. Sa présence répond à vos exigences.

5
Glader

Si vous avez un site avec du contenu statique, placer un serveur Varnish à l'avant augmentera considérablement vos performances. Même une seule boîte peut alors facilement cracher 100 Mbit/s de trafic.

Notez qu'avec un contenu dynamique, utiliser quelque chose comme Varnish devient beaucoup plus délicat.

5
Anders Rune Jensen

Je développe des sites très fréquentés avec Django pour le diffuseur national irlandais. Cela fonctionne bien pour nous. Développer un site hautes performances ne se limite pas à choisir un framework. Un cadre ne sera qu'une partie d'un système aussi fort que son maillon le plus faible. L'utilisation de la dernière structure 'X' ne résoudra pas vos problèmes de performances si le problème est lié à des requêtes de base de données lentes ou à un serveur ou un réseau mal configuré.

5
redsnapper

Mon expérience avec Django est minime, mais je me souviens que, dans The Django Book, il interroge des personnes qui exécutent certaines des plus grandes applications Django. Voici un lien. Je suppose que cela pourrait fournir quelques indications.

Curse.com est l’une des plus grandes applications Django avec environ 60 à 90 millions de pages vues en un mois.

5
tomeedee

Même s'il y a eu beaucoup d'excellentes réponses ici, j'ai juste envie de souligner que personne n'a mis l'accent sur ..

Cela dépend de l'application

Si votre application est légère en écriture, comme dans le cas où vous lisez beaucoup plus de données de la base de données que vous n’écrivez. Ensuite, la mise à l'échelle de Django devrait être assez triviale, heck, elle est livrée avec une mise en cache de sortie/vue assez décente, tout de suite. Tirez parti de cela et dites: redis en tant que fournisseur de cache, placez-y un équilibreur de charge, multipliez les instances n et vous devriez être en mesure de gérer un TRÈS volume de trafic important.

Maintenant, si vous devez faire des milliers de complexes écrit une seconde? Histoire différente. Est-ce que Django sera un mauvais choix? Eh bien, pas nécessairement, cela dépend de la façon dont vous concevez votre solution, mais aussi de vos besoins.

Juste mes deux cents :-)

4
JustDanyul

Le problème n'est pas de savoir si Django peut ou non évoluer.

La bonne façon est de comprendre et de savoir quels sont les modèles de conception de réseau et les outils à mettre dans le cadre de votre projet Django/symfony/Rails pour bien s’adapter.

Certaines idées peuvent être:

  • Multiplexage.
  • Proxy inversé. Ex: Nginx, Vernis
  • Session Memcache. Ex: Redis
  • Mise en cluster de votre projet et de la base de données pour l'équilibrage de la charge et la tolérance aux pannes: Ex: Docker
  • Utilisez une tierce partie pour stocker des actifs. Ex: Amazon S3

J'espère que ça aide un peu. Ceci est mon petit rocher à la montagne.

3
gmourier

Je ne pense pas que le problème concerne vraiment Django la mise à l'échelle.

Je suggère vraiment que vous examiniez dans votre architecture ce qui vous aiderait à répondre à vos besoins en matière de dimensionnement. Si vous vous trompez, il est inutile de savoir comment Django fonctionne correctement. Performance! = Échelle. Vous pouvez avoir un système aux performances étonnantes, mais non évolutif et inversement.

Votre base de données d'application est-elle liée? Si tel est le cas, vos problèmes d'échelle sont également présents. Comment envisagez-vous d'interagir avec la base de données de Django? Que se passe-t-il lorsque votre base de données ne peut pas traiter les demandes aussi rapidement que Django les accepte? Que se passe-t-il lorsque vos données dépassent une machine physique? Vous devez tenir compte de la manière dont vous envisagez de gérer ces circonstances.

De plus, que se passe-t-il lorsque votre trafic dépasse un serveur d'applications? La façon dont vous gérez les sessions dans ce cas peut être délicate. Le plus souvent, vous auriez probablement besoin d'une architecture sans partage. Encore une fois, cela dépend de votre application.

En bref, les langues ne déterminent pas l’échelle, c’est une langue qui est responsable des performances (encore une fois, en fonction de vos applications, différentes langues fonctionnent différemment). C'est votre conception et votre architecture qui font de la mise à l'échelle une réalité.

J'espère que cela aide, je serais heureux d'aider davantage si vous avez des questions.

3
Anand Davis

Découvrez cet agrégateur de micro nouvelles appelé EveryBlock .

C'est entièrement écrit en Django. En fait, ce sont les personnes qui ont développé le cadreDjango lui-même.

3
siddu

Vous pouvez certainement exécuter un site à fort trafic à Django. Découvrez cette publication antérieure à Django 1.0 mais toujours pertinente ici: http://menendez.com/blog/launching-high-performance-Django-site/

3
Ed Menendez

Si vous voulez utiliser Open source, il existe de nombreuses options pour vous. Mais python est le meilleur parmi eux. Il possède de nombreuses bibliothèques et une communauté géniale. Ce sont des raisons qui pourraient vous faire changer d’avis:

  • Python est très bon mais c'est un langage interprété qui le ralentit. Mais il existe de nombreux services d'accélération et de mise en cache qui permettent de résoudre partiellement ce problème.

  • Si vous songez au développement rapide, alors Ruby sur Rails est le meilleur parmi tous. La devise principale de ce cadre (ROR) est de donner une expérience confortable aux développeurs. Si vous comparez Ruby et Python, les syntaxes sont presque identiques.

  • Google App Engine est un très bon service mais il vous liera dans son champ d'application, vous n'aurez pas la chance d'expérimenter de nouvelles choses. Au lieu de cela, vous pouvez utiliser Digital Ocean cloud qui ne facturera que 5 $/mois pour sa gouttelette la plus simple. Herok est un autre service gratuit où vous pouvez déployer votre produit.

  • Oui! Oui! Ce que vous avez entendu est totalement correct, mais voici quelques exemples utilisant d'autres technologies.

    • Rails: Github, Twitter (auparavant), Shopify, Airbnb, Slideshare, Heroku, etc.
    • PHP: Facebook, Wikipedia, Flickr, Yahoo, Tumbler, Mailchimp, etc.

La conclusion est un cadre ou un langage ne fera pas tout pour vous. Une meilleure architecture, conception et stratégie vous donneront un site Web évolutif. Instagram est le meilleur exemple, cette petite équipe gère de telles données. En voici un blog sur son architecture doit le lire.

3
pulkit

Il est nécessaire de répartir les tâches de manière homogène, en optimisant chaque aspect, y compris les bases de données, les fichiers, les images, les CSS, etc. OR vous faites plus de place pour qu'il grandisse. La mise en œuvre des dernières technologies telles que CDN, Cloud sont incontournables dans les sites de grande taille. Le simple fait de modifier et d’améliorer une application ne vous donnera pas la satisfaction à cent pour cent, d’autres composants jouent également un rôle important.

2
Ashwin