Faits : Faits : A. A._ Sàrl (ci-après : A._) compte depuis sa fondation en 1996 cinq associés, dont Y._ SA et l'architecte B._. Ce dernier a été l'unique associé gérant, avec signature individuelle, de la société jusqu'en juin 2001, date à laquelle il a été remplacé par Z._, par ailleurs directeur de Y._ SA. A._ a réalisé dès 1997 une opération de promotion immobilière portant sur la construction de huit villas à .... Les travaux de maçonnerie ont été confiés à Y._ SA. Par contrat du 10 novembre 1997, A._ a confié à X._ SA (ci-après: X._) l'exécution des travaux d'électricité dans quatre des huit villas(E, F, G et H), pour un prix forfaitaire, selon offre, de 47'500 fr. TTC. Selon l'art. 7.4.5 de ce contrat, aucun supplément ou bon de régie ne devait être payé s'il n'avait pas été accepté par écrit avant l'exécution des travaux par le maître de l'ouvrage lui-même; la direction des travaux n'avait pas qualité pour ordonner ou accepter des travaux donnant lieu à facturation supplémentaire, de sorte que l'entrepreneur qui les exécuterait le ferait à ses risques et périls. A._ a encore confié à X._ la réalisation des travaux d'électricité dans les quatre villas restantes (A, B, C et D). A._ a encore confié à X._ la réalisation des travaux d'électricité dans les quatre villas restantes (A, B, C et D). B. Après avoir adjugé les travaux des futures villas, A._ les a mises en vente sur plan et a trouvé des acquéreurs pour chacune d'elles. Les modifications souhaitées par les acquéreurs ont fait l'objet de devis, puis d'adjudications complémentaires, villa par villa. Chaque acheteur a dû verser un montant correspondant à l'adjudication complémentaire. L'acquéreur de la villa H, dont la construction avait commencé, s'étant désisté, Y._ SA a racheté la parcelle concernée et a conclu le 5 mars 1998 avec A._ un contrat d'entreprise générale à prix forfaitaire. Selon l'avenant signé le même jour, Y._ SA se réservait cependant d'effectuer elle-même, sous le contrôle et avec l'accord de l'entrepreneur général, l'isolation périphérique, la gypserie-peinture, les carrelages et faïences et les aménagements extérieurs, pour un montant convenu qui serait déduit du prix forfaitaire. À teneur du contrat, seul l'entrepreneur général (A._), à l'exclusion du maître de l'ouvrage (Y._ SA), était autorisé à donner des instructions aux sous-traitants; les modifications désirées par le maître de l'ouvrage devaient faire l'objet de devis complémentaires acceptés par écrit par les deux parties avant le début des travaux concernés. À teneur du contrat, seul l'entrepreneur général (A._), à l'exclusion du maître de l'ouvrage (Y._ SA), était autorisé à donner des instructions aux sous-traitants; les modifications désirées par le maître de l'ouvrage devaient faire l'objet de devis complémentaires acceptés par écrit par les deux parties avant le début des travaux concernés. C. Après la conclusion de ce contrat, MM. B._ et Z._ ont informé M. C._, technicien de X._, que celle-ci devait suspendre ses travaux car le projet initial de la villa H devait être adapté. Les plans de la villa H ont été modifiés, notamment en ce qui concerne l'emplacement des cloisons, et des prises électriques et des points lumineux supplémentaires ont été requis. Le gros oeuvre étant alors achevé, ces modifications ont obligé X._, qui avait déjà disposé selon les premiers plans les tubes électriques dans les dalles et les murs porteurs, à reprendre ces travaux pour positionner les tubes conformément au nouveau plan. D'autres prestations, non prévues dans le forfait initial, ont aussi été réalisées. L'exécution de ces travaux a été surveillée par l'architecte B._ et suivie par Z._ si l'on s'en rapporte au témoignage de M. D._, électricien employé de X._; en revanche, B._ a indiqué qu'il n'avait suivi que les travaux de base, mais ne s'était pas occupé des travaux d'électricité complémentaires. Ces modifications et prestations supplémentaires n'ont pas fait l'objet de commandes et de devis écrits. Elles ont été demandées, sur le chantier, par Z._, qui a déclaré en comparution personnelle avoir agi non pas à titre personnel ou pour le compte de A._, mais comme directeur de Y._ SA. Ces modifications et prestations supplémentaires n'ont pas fait l'objet de commandes et de devis écrits. Elles ont été demandées, sur le chantier, par Z._, qui a déclaré en comparution personnelle avoir agi non pas à titre personnel ou pour le compte de A._, mais comme directeur de Y._ SA. D. X._ a adressé toutes les factures concernant les travaux d'électricité des huit villas à A._, qui n'en a contesté aucune. Pour les villas E, F, G et H, X._ a établi une facture le 3 décembre 1998 et 6 factures le 16 mars 1999, pour un montant total de 88'898 fr. 45. La facture n° 90'859 de 31'465 fr. 60, adressée elle aussi à A._ et qui concernait uniquement les travaux accomplis dans la villa H, mentionnait en exergue «travaux exécutés suite au changement complet des installations initiales. Exécution de ceux-ci selon la demande de M. Z._ et de vous-même». Pour les villas A, B, C et D, X._ a envoyé deux factures à A._, pour un montant total de 79'192 fr. 25. L'ensemble de ses prestations s'est ainsi monté à 168'090 fr. 70, dont A._ n'a cependant payé que 128'906 fr. Pour les villas A, B, C et D, X._ a envoyé deux factures à A._, pour un montant total de 79'192 fr. 25. L'ensemble de ses prestations s'est ainsi monté à 168'090 fr. 70, dont A._ n'a cependant payé que 128'906 fr. E. X._ ayant ouvert action contre A._ le 29 août 2003 en paiement du solde impayé de 39'184 fr. 70, des pourparlers ont eu lieu dans ce contexte entre X._ et MM. B._ et Z._, lequel avait racheté au 1er janvier 2003 la villa H à Y._ SA. Z._ aurait offert de verser à X._, pour solder les travaux exécutés dans sa villa, une somme de 5'000 fr. et A._ une somme de l'ordre de 11'000 fr., propositions rejetées par X._. Le 25 février 2004, X._ et A._ sont cependant parvenues à un accord et ont conclu une transaction extrajudiciaire mettant fin au litige. A._ s'est ainsi engagée à verser 18'000 fr. à X._, qui a accepté ce montant «pour solde de tous comptes et prétentions envers A._ Sàrl, pour tous les travaux d'électricité effectués dans les 8 villas selon contrat d'entreprise du 10 novembre 1997 et les divers travaux complémentaires effectués dans les villas A, B, C, D, E, F et G, tous droits étant réservés pour les travaux supplémentaires effectués dans la villa H détaillés dans la facture n° 90'859». Le 25 février 2004, X._ et A._ sont cependant parvenues à un accord et ont conclu une transaction extrajudiciaire mettant fin au litige. A._ s'est ainsi engagée à verser 18'000 fr. à X._, qui a accepté ce montant «pour solde de tous comptes et prétentions envers A._ Sàrl, pour tous les travaux d'électricité effectués dans les 8 villas selon contrat d'entreprise du 10 novembre 1997 et les divers travaux complémentaires effectués dans les villas A, B, C, D, E, F et G, tous droits étant réservés pour les travaux supplémentaires effectués dans la villa H détaillés dans la facture n° 90'859». F. Le 1er avril 2004, X._ a mis Z._ et/ou Y._ SA en demeure de s'acquitter du montant de cette facture de 31'465 fr. 60, sur laquelle elle avait cependant imputé la somme de 11'874 fr. 75 TTC représentant la valeur des travaux d'électricité à forfait que A._ lui avait réglée, si bien qu'il subsistait un solde de 19'590 fr. 85. Y._ SA a répondu en substance qu'elle n'avait pas directement commandé de travaux à X._ et que celle-ci devait s'adresser à A._, conformément au contrat qui la liait à l'entrepreneur général. X._ a alors fait notifier à Z._ et à Y._ SA des commandements de payer portant sur 19'590 fr. 85, plus intérêt à 5% l'an, et sur un montant de 3'000 fr. à titre de frais de recouvrement selon l'art. 106 CO, auxquels les poursuivis ont fait opposition. X._ a alors fait notifier à Z._ et à Y._ SA des commandements de payer portant sur 19'590 fr. 85, plus intérêt à 5% l'an, et sur un montant de 3'000 fr. à titre de frais de recouvrement selon l'art. 106 CO, auxquels les poursuivis ont fait opposition. G. Le 13 août 2004, X._ a actionné Z._ et Y._ SA, pris conjointement et solidairement, devant le Tribunal de première instance du canton de Genève, en concluant au paiement par les défendeurs de la somme de 19'590 fr. 85, plus intérêt à 5% l'an dès le 16 mars 1999, et à la mainlevée définitive des oppositions formées par les défendeurs aux commandements de payer susmentionnés. Les défendeurs ont d'entrée de cause contesté leur légitimation passive, considérant n'avoir pas commandé de travaux à X._. Par jugement du 16 mars 2006, le Tribunal de première instance a débouté X._ de ses conclusions contre Z._. Il a en revanche condamné Y._ SA à payer à X._ la somme de 19'590 fr. 85, plus intérêt à 5% l'an dès le 16 avril 1999, et a prononcé à due concurrence la mainlevée définitive de l'opposition formée par Y._ SA. Par jugement du 16 mars 2006, le Tribunal de première instance a débouté X._ de ses conclusions contre Z._. Il a en revanche condamné Y._ SA à payer à X._ la somme de 19'590 fr. 85, plus intérêt à 5% l'an dès le 16 avril 1999, et a prononcé à due concurrence la mainlevée définitive de l'opposition formée par Y._ SA. H. Statuant par arrêt du 17 novembre 2006 sur appel de Y._ SA, la Chambre civile de la Cour de justice du canton de Genève a partiellement annulé le jugement de première instance et a débouté X._ de ses conclusions contre Y._ SA avec suite de dépens des deux instances. La motivation de cet arrêt, dans ce qu'elle a d'utile à retenir pour l'examen du recours, est en substance la suivante : H.a Conformément à l'art. 8 CC, il incombe à la demanderesse de prouver les faits qu'elle allègue pour fonder sa prétention, à commencer par ceux dont elle déduit la conclusion d'un contrat d'entreprise avec Y._ SA. En l'espèce, le contrat litigieux reposerait sur une ou plusieurs commandes orales formulées sur le chantier par Z._ agissant en qualité d'organe de Y._ SA, alors propriétaire de la villa H, qui devait bénéficier des ouvrages commandés. Y._ SA ne conteste pas avoir requis des modifications du plan original de la villa, comportant des modifications des installations électriques que la demanderesse avait commencé à mettre en place; elle fait toutefois valoir qu'elle a demandé ces adaptations à la demanderesse en sa qualité d'associée de A._ et qu'elle les a faites avaliser par B._ pour le compte de A._ car elle-même n'avait pas le pouvoir d'engager cette société. H.b Il s'agit donc d'examiner si la demanderesse, qui a la charge de la preuve, a démontré avoir conclu un contrat avec Y._ SA plutôt qu'avec A._, comme le soutient sa partie adverse. À cet égard, les mesures probatoires accomplies n'ont apporté aucun élément déterminant. En effet, les déclarations des principaux témoins entendus ne peuvent être prises en compte qu'avec retenue car leurs auteurs ne pouvaient être impartiaux. Deux d'entre eux étaient des employés de la demanderesse, à son service depuis plus de vingt ans et donc fidèles à leur employeur. Quant à l'architecte B._, il était à la fois l'ex-organe de A._ et l'associé de Y._ SA au sein de A._, de sorte que sa déposition pouvait avoir des conséquences directes sur sa situation. Dans la mesure où Y._ SA, qui admet avoir requis des travaux complémentaires, explique n'avoir pas eu la volonté de contracter directement avec la demanderesse, il appartenait à cette dernière de démontrer que les circonstances lui permettaient de considérer de bonne foi, en application du principe de la confiance, que les travaux lui avaient été commandés par Y._ SA et non par A._. H.c La demanderesse savait parfaitement que A._ agissait comme entreprise générale dans le cadre de cette promotion immobilière. Le contrat qu'elle avait signé avec A._ désignait cette dernière comme maître de l'ouvrage et spécifiait que celle-ci avait seule qualité pour demander des modifications de l'ouvrage. Compte tenu de l'obligation ainsi contractée envers A._, la demanderesse ne pouvait pas recevoir d'instructions de tiers portant modification de l'ouvrage, ce qu'elle n'ignorait pas; il est du reste établi que plusieurs acquéreurs ont requis des modifications, relayées par A._, que la demanderesse a effectuées puis facturées en supplément à A._. Au demeurant, la demanderesse a aussi procédé de la sorte pour la villa de Y._ SA, puisqu'elle a dans un premier temps adressé sa facture de travaux complémentaires à A._ comme celle-ci le lui avait demandé, prenant encore soin de mentionner que ces travaux avaient été requis par A._ et Z._. La demanderesse a même persisté à considérer que sa débitrice n'était autre que A._, car c'est contre celle-ci uniquement qu'elle a ouvert action en vue de recouvrer le solde impayé de l'ensemble de ses factures, parmi lesquelles la facture litigieuse relative aux prestations complémentaires fournies dans la villa H. Ce n'est qu'après avoir transigé avec A._ et obtenu un paiement partiel qu'elle s'est retournée contre Y._ SA pour lui réclamer la différence. H.d Compte tenu du contexte dans lequel la demanderesse a accompli ses prestations et du comportement qu'elle a adopté ultérieurement, on ne peut considérer, selon le principe de la confiance, qu'elle ait pu raisonnablement et de bonne foi comprendre que Y._ SA, qui demandait des modifications et des prestations complémentaires pour sa villa, ait entendu contracter directement avec elle, contrairement au système instauré par l'entrepreneur général A._. Les auxiliaires de la demanderesse qui ont recueilli sur le chantier les demandes orales de modifications exprimées par Z._, en présence de l'architecte B._ incarnant le maître de l'ouvrage A._, devaient bien plutôt considérer que celles-ci étaient par actes concluants ratifiées et reprises à son compte par A._. La demanderesse invoque en vain le fait que Y._ SA, par la voix de son directeur, aurait proposé de lui verser la somme de 5'000 fr. dans le cadre des pourparlers engagés en marge de la procédure dirigée contre A._. En effet, l'offre formulée dans la perspective d'une conciliation ne saurait être invoquée ultérieurement, dans un procès, comme un aveu de son auteur. H.e En définitive, la demanderesse n'a pas démontré que Y._ SA était sa cocontractante et doit pour ce motif être déboutée de ses conclusions en paiement. Cela étant, il est inutile d'examiner si le montant réclamé par la demanderesse et contesté par Y._ SA était justifié au regard de l'art. 374 CO, ce dont on peut douter compte tenu de l'insuffisance des preuves recueillies à cet effet. H.e En définitive, la demanderesse n'a pas démontré que Y._ SA était sa cocontractante et doit pour ce motif être déboutée de ses conclusions en paiement. Cela étant, il est inutile d'examiner si le montant réclamé par la demanderesse et contesté par Y._ SA était justifié au regard de l'art. 374 CO, ce dont on peut douter compte tenu de l'insuffisance des preuves recueillies à cet effet. I. Parallèlement à un recours de droit public, qui a été rejeté dans la mesure de sa recevabilité par arrêt de ce jour, la demanderesse exerce un recours en réforme au Tribunal fédéral contre l'arrêt cantonal. Elle conclut, avec suite de dépens de toutes instances, à la réforme de l'arrêt attaqué dans le sens de l'admission des conclusions de sa demande. Les défendeurs concluent avec suite de dépens au rejet du recours en réforme.