Citation: 4D_7/2020 E. A

B.________ est titulaire de la raison individuelle C.________, dont le but est l'importation et l'exportation de fruits et légumes. Le 18 novembre 2015, en exécution d'un contrat de vente conclu la même année avec A.________ SA (ci-après: l'acheteuse), B.________ (ci-après: le vendeur) a livré trente-trois palettes d'oranges d'un poids total de 21'000 kg. Le prix convenu était de 69 centimes par kilogramme, soit 14'490 fr. au total. Après le déchargement de deux ou trois palettes d'oranges, l'acheteuse a décidé d'effectuer un premier contrôle par sondage de leur qualité à l'aide d'un réfractomètre, en présence du vendeur. Puis, son chef des achats a goûté les oranges livrées et constaté qu'elles étaient très acides. Estimant que la qualité des fruits ne correspondait pas à celle qui avait été convenue, il a fait cesser le déchargement et a refusé la livraison. Aucun bulletin de livraison n'a été signé par les parties. Comme le vendeur n'avait pas de dépôt, l'acheteuse a accepté, à bien plaire, de stocker les agrumes pour une courte durée, mais au plus tard jusqu'au 30 novembre 2015. Le vendeur pouvait accéder en tout temps au local pour disposer de sa marchandise. Le 18 novembre 2015, le vendeur s'est rendu auprès de l'acheteuse pour prélever un échantillon des fruits litigieux en vue d'une analyse. Celle-ci a révélé que le taux de sucre correspondait à 10,1 g pour 100 g de jus d'oranges ( rapport de D.________ AG). Le 9 décembre 2015, par l'intermédiaire de son assurance de protection juridique, l'acheteuse a imparti au vendeur un délai jusqu'au 11 décembre pour venir chercher les oranges encore stockées dans ses locaux, à défaut de quoi elle se réservait le droit de lui réclamer les frais de stockage et/ou de destruction de la marchandise. Le 22 décembre 2015, elle lui a adressé une facture d'un montant de 3'240 fr., dont le libellé était le suivant: «stockage 30 jours, évacuation de 30 palettes d'oranges & manutention». Cette facture est restée impayée malgré une mise en demeure.