Citation: 4A_505/2023 E. A

A.a. Par contrat de travail conclu à une date inconnue, A.________ SA (ci-après: A.________) a employé C.________ en tant qu'"ingénieur système IT" dès le 1er juin 2006. Dans le cadre de cette collaboration, le supérieur hiérarchique de C.________ était D.________, lequel était notamment en charge du budget informatique de A.________. La collaboration entre les deux hommes se déroulait très bien, le second étant satisfait du travail du premier. Les certificats de travail remis à C.________ en 2012 et janvier 2014 relevaient notamment que ses compétences techniques et ses connaissances avaient joué un rôle stratégique dans l'amélioration de la structure informatique de l'entreprise, permettant à celle-ci de s'aligner sur les exigences informatiques d'une société internationale. Le 31 octobre 2013, A.________ a fait part à C.________ de sa décision d'externaliser la gestion de son infrastructure informatique pour des raisons économiques. A.________ a alors résilié son contrat de travail pour le 31 décembre 2013. A.b. A partir du 1er janvier 2014, C.________ a fourni ses services en matière informatique à A.________ par le biais de B.________ Sàrl (ci-après: B.________), dont il a été l'associé-gérant de janvier 2014 à décembre 2016. Le contrat entre les deux sociétés a été conclu pour une durée d'une année. En substance, B.________ devait fournir à A.________, contre rémunération, les services suivants: maintenance du serveur " hardware " et " software "; maintenance et support des postes de travail; maintenance des infrastructures de stockage; maintenance de l'équipement du réseau (interrupteur, pare-feu et autres dispositifs du réseau existants); maintenance de la reproduction/copie entre la production et le site distant; maintenance de l'infrastructure du site distant; assistance pour tout autre service lié à l'infrastructure maintenue par des sociétés tierces, incluant notamment la communication (fax, voix, vidéos), l'impression, le scanner, la gestion des droits d'accès et la protection de l'infrastructure physique tant interne qu'externe. Elle devait, en outre, fournir un centre d'assistance et remettre à A.________ des rapports mensuels la première semaine de chaque mois. B.________ n'a pas systématiquement respecté cette dernière obligation. A.c. Le 5 janvier 2015, D.________ s'étant déclaré satisfait du travail effectué par B.________, les deux sociétés ont conclu un nouveau contrat intitulé " Enterprise Agreement for Operations and Maintenance ". En substance, B.________ continuerait de procurer les mêmes services, sous réserve du centre d'assistance et des rapports mensuels qui devraient désormais être fournis sur demande uniquement, au vu de la communication fluide entre les parties. En contrepartie, A.________ s'engageait à verser à B.________ des honoraires mensuels de 20'500 fr., TVA en sus. Une réduction de 15% était convenue pour l'année 2015. Le contrat, conclu pour une durée de trois ans courant du 1er janvier 2015 au 31 décembre 2017, prévoyait sa reconduction automatique pour une durée d'un an, sauf dénonciation par l'une des parties moyennant un préavis écrit donné trois mois à l'avance. Le contrat prévoyait également un régime de résiliation anticipée. Ainsi, si une partie en enfreignait une "condition importante" et n'y remédiait pas dans un délai de trente jours suivant la réception de la mise en demeure, l'autre partie pouvait résilier le contrat par écrit. En cas d'impossibilité de remédier à la violation dans le délai de trente jours, un délai raisonnable supplémentaire, n'excédant pas soixante jours dès réception de l'avis, devait être octroyé à la partie responsable afin de lui permettre de remédier à la violation de manière prompte et diligente. En outre, chaque partie pouvait résilier le contrat avec effet immédiat en cas d'inexécution des obligations contractuelles ou en cas d'entrave à la bonne exécution desdites obligations en raison d'un comportement fautif intentionnel ou d'une négligence grave. A.d. Par courriel du 26 mars 2015 adressé à l'administrateur-président de A.________, C.________ s'est plaint du retard dans le renouvellement de certains contrats, D.________ n'ayant pas validé l'offre qui lui avait été soumise. Il s'est dit préoccupé par ce retard qui impactait considérablement "l'ensemble des fonctions du département". Il a précisé qu'il continuerait à faire le maximum d'efforts pour fournir un service de qualité dans les conditions données, tout en spécifiant qu'il refuserait d'endosser une quelconque responsabilité causée par un retard, une négligence ou un manque de gestion, non seulement en ce qui concernait l'aspect administratif, mais aussi l'aspect opérationnel de l'infrastructure informatique. A.e. Le 19 mars 2015, D.________ a résilié le contrat qui le liait à A.________ pour la fin du mois. Quelques mois plus tard, il a fondé la société E.________ SA (ci-après: E.________), active dans la commercialisation de logiciels et produits informatiques. Cette dernière a conclu, le 1er juillet 2015, un contrat de services avec A.________. D.________ était chargé de superviser l'activité de C.________, y compris après la création de E.________. Dès la fin de l'année 2015, la relation entre C.________ et D.________ s'est dégradée. C.________ s'est opposé à rendre des comptes à E.________; il communiquait alors directement avec l'administrateur-président de A.________. A.f. A.________ faisait chaque année l'objet d'un audit externe et d'un audit interne, lesquels portaient notamment sur son service informatique. Ces audits ont rarement relevé des problèmes concernant ce service, sous réserve de quelques recommandations qui ont toujours été suivies. Aucun incident, problème de sécurité ou panne due à une attaque du réseau informatique ne sont survenus durant la collaboration avec C.________ puis B.________. A.g. Par courriel envoyé courant novembre 2015, A.________ a demandé à ses employés, sur une base volontaire, de réduire leur temps de travail de 20% en raison des difficultés financières de la société. A.________ n'a pas versé à B.________ les honoraires du mois de mars 2016. A.h. Le 1er avril 2016, A.________ a engagé F.________ en qualité de chef du département informatique. A ce titre, il devait superviser les activités menées par ce département, notamment celles effectuées par B.________. La relation entre F.________ et B.________ a immédiatement été tendue. Par courriel du 12 avril 2016, B.________ a répondu à la requête de F.________ relative au statut actuel de l'infrastructure informatique. B.________ lui a notamment transmis une liste des problèmes du moment, dont l'obsolescence du matériel. Au vu des éléments constatés par F.________, A.________ a confié à la société G.________ SA (ci-après: G.________) la mission d'effectuer une analyse rapide de son système informatique. Dans son rapport remis le 29 avril 2016, G.________ lui a fait part de divers prétendus problèmes affectant son système informatique, les performances de celui-ci ne correspondant pas aux standards actuels. Selon G.________, il était ainsi recommandé de discuter des possibilités d'amélioration. Le rapport indiquait également de prétendues failles de sécurité. Concernant l'équipement, il faisait état d'une grande disparité dans les appareils utilisés, ce qui aurait augmenté la complexité du réseau et aurait pu conduire à des problèmes. Globalement, d'après G.________, le matériel était désuet et aurait dû être remplacé. Enfin, toujours selon son rapport, certains produits n'étaient plus commercialisés, voire étaient "en fin de vie" de sorte qu'ils devraient être remplacés prochainement. A.i. Par courrier du 29 avril 2016, soit le jour même de la réception du rapport précité, A.________ a résilié le contrat qui la liait à B.________ avec effet immédiat pour négligence grave. En substance, A.________ reprochait à B.________ de nombreuses violations du contrat et des bonnes pratiques admises dans le domaine de l'informatique, lesquelles auraient selon elle entraîné des brèches de sécurité majeures. Il se serait notamment agi du non-respect des standards et normes de sécurité, de lacunes et omissions en relation avec les services et la maintenance et d'une absence caractérisée d'informations sur les lacunes qui avaient été ou auraient dû être constatées. Le 12 mai 2016, B.________, qui avait proposé ses services à A.________ malgré la résiliation, a contesté celle-ci. Elle a mis A.________ en demeure de lui verser les deux mensualités de 20'500 fr. dues pour les mois de mars et avril 2016, TVA en sus. Elle a, en outre, "réservé tous ses droits découlant de cette résiliation". Le 10 juin 2016, B.________ a à nouveau mis A.________ en demeure de lui payer les honoraires de mars et avril 2016, auxquels s'ajoutaient 143'000 fr. équivalant au solde des mensualités de l'année 2016, 246'000 fr. correspondant au solde des mensualités pour l'année 2017 et 39'900 fr. à titre de remboursement du rabais de 15% octroyé à la prétendue condition que le contrat dure trois ans. Le 27 octobre 2016, B.________ a fait notifier à A.________ un commandement de payer portant sur un montant de 526'932 fr., lequel a été frappé d'opposition. A.j. Suite à la résiliation du contrat, A.________ a fait intervenir plusieurs sociétés, d'une part pour effectuer de nouvelles expertises de son système informatique, d'autre part pour procéder à des modifications et au remplacement d'une partie de son matériel informatique. Les sociétés mandatées ont fait état de divers problèmes affectant l'infrastructure informatique.