Faits:
Faits:
A. A.a En 1992, A._ a décidé d'entreprendre d'importantes transformations et rénovations dans un chalet dont elle est propriétaire à Crans (Valais). Elle a confié les travaux de ferblanterie, de couverture, d'installations sanitaires et de chauffage à B._ qui exploite une entreprise spécialisée dans ces domaines.
Pour des raisons budgétaires, A._ a voulu réaliser ces rénovations par étapes sur plusieurs années. B._ a exécuté les travaux convenus de 1992 à fin 1996, sous réserve de travaux de réfection qui se sont prolongés durant l'année 1997 et une partie de l'année 1998.
A.b Au cours de l'exécution des travaux, A._ s'est plainte de plusieurs malfaçons qui ont causé des dégâts au chalet. Elle a notamment imputé les malfaçons suivantes à B._:
- Le 3 septembre 1997, A._ a informé le prénommé que les radiateurs de deux chambres à coucher et d'une salle de bains ne fonctionnaient pas. Après dix jours de recherches avec un collaborateur, B._ a déterminé, en janvier 1998, que le dysfonctionnement provenait du fait que les tubes d'arrivée et de départ d'eau de l'ancienne installation de chauffage avaient été inversés lors de la construction du chalet. Comme A._ avait informé B._ que des locataires devaient occuper le chalet à partir du 20 janvier 1998, celui-ci a mis à disposition des radiateurs électriques. L'entrepreneur a dû casser la chape de béton de deux chambres à coucher et démonter le plafond de l'étage inférieur pour remédier au problème. Le 12 janvier 1998, l'intéressé a informé la propriétaire que l'installation de chauffage fonctionnait normalement. B._ n'a pas facturé son intervention.
- Le 29 mai 1998, B._ a annoncé à A._ que la vanne d'un radiateur était fissurée. Cela a provoqué une inondation tant dans la chambre concernée que sur le plafond et le plancher de la chambre de l'étage inférieur. Il n'a pas été établi si cette fissure avait pour origine un défaut du radiateur lui-même ou si elle était apparue au cours de l'installation de l'appareil ou postérieurement, en raison du fait d'un tiers.
B._ a payé une partie des frais de remise en état; le solde a été payé par l'assurance de A._.
A.c Au fur et à mesure de l'avancement des travaux, soit entre le 18 août 1992 et le 6 février 1997, B._ a adressé à A._ toute une série de factures pour un montant total, après rabais, arrêté à 137'429 fr. 75. Jusqu'au 29 avril 1996, A._ a versé à B._, par acomptes, un montant total de 108'000 fr.
A.d Au printemps 1997, A._ a cherché à louer son chalet à un couple, qui y a renoncé en raison du prix demandé.
Le 12 février 1998, B._ a adressé à A._ un décompte duquel ressortait un solde impayé de 29'429 fr. 75. Malgré de nombreux rappels, A._ a refusé de s'acquitter de ce montant.
Le 12 février 1998, B._ a adressé à A._ un décompte duquel ressortait un solde impayé de 29'429 fr. 75. Malgré de nombreux rappels, A._ a refusé de s'acquitter de ce montant.
B. Après lui avoir fait notifier une poursuite, frappée d'opposition, B._ a assigné le 19 février 1999 A._ en paiement de 29'429 fr. 75 avec suite d'intérêts.
Dans ses dernières conclusions, la défenderesse a émis des prétentions reconventionnelles en paiement d'un total de 173'000 fr., soit 128'000 fr. à titre de dédommagement pour la perte locative du chalet, 25'000 fr. pour la remise en état de salles de bains et 20'000 fr. d'indemnité forfaitaire pour le travail facturé à double par B._. Elle a conclu à ce que "la somme ainsi que les intérêts réclamés par (le demandeur soient) purement annulées" et a encore invoqué la compensation.
Par jugement du 24 septembre 2003, la IIe Cour civile du Tribunal cantonal valaisan a condamné la défenderesse à verser au demandeur la somme de 29'429 fr. 75 avec intérêts à 5% sur 16'000 fr. dès le 25 février 1998 et sur 13'429 fr. 75 dès le 20 mai 1998; la cour cantonale a prononcé la mainlevée définitive de l'opposition au commandement de payer notifié à la défenderesse et déclaré irrecevables les prétentions reconventionnelles formées par celle-ci.
En substance, l'autorité cantonale a retenu que la créance de l'entrepreneur pour le solde de ses travaux était établie. Si la défenderesse - pour des motifs liés aux règles de la procédure cantonale - n'était pas en droit d'émettre des prétentions reconventionnelles, elle pouvait en revanche opposer en compensation la perte de gain qu'elle prétendait avoir subie du fait des défauts de l'ouvrage; cependant, d'une part, le dommage invoqué n'était pas consécutif à un défaut imputable à une faute de l'entrepreneur; d'autre part, le maître n'avait pas établi l'existence d'un préjudice. Enfin, les magistrats valaisans ont retenu que le demandeur n'avait pas été en demeure par sa faute d'exécuter des travaux ou de remédier à des défauts.
En substance, l'autorité cantonale a retenu que la créance de l'entrepreneur pour le solde de ses travaux était établie. Si la défenderesse - pour des motifs liés aux règles de la procédure cantonale - n'était pas en droit d'émettre des prétentions reconventionnelles, elle pouvait en revanche opposer en compensation la perte de gain qu'elle prétendait avoir subie du fait des défauts de l'ouvrage; cependant, d'une part, le dommage invoqué n'était pas consécutif à un défaut imputable à une faute de l'entrepreneur; d'autre part, le maître n'avait pas établi l'existence d'un préjudice. Enfin, les magistrats valaisans ont retenu que le demandeur n'avait pas été en demeure par sa faute d'exécuter des travaux ou de remédier à des défauts.
C. Parallèlement à un recours en réforme, A._ forme un recours de droit public au Tribunal fédéral contre le jugement précité. Reprochant à la cour cantonale d'avoir violé les art. 4, 8 et 9 de la Constitution fédérale, elle conclut à l'annulation du jugement.
L'intimé conclut au rejet du recours.
L'autorité cantonale ne formule pas de déterminations.
Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. Conformément à la règle générale de l'art. 57 al. 5 OJ, il y a lieu de statuer d'abord sur le recours de droit public.
Le Tribunal fédéral contrôle d'office et librement la recevabilité des recours qui lui sont soumis (ATF 129 I 302 consid. 1; 129 II 453 consid. 2; 129 III 415 consid. 2.1; 129 IV 216 consid. 1).
Saisi d'un recours de droit public, le Tribunal fédéral n'examine que les moyens d'ordre constitutionnel invoqués et suffisamment motivés dans l'acte de recours (art. 90 al. 1 lit. b OJ; ATF 129 I 113 consid. 2.1; 128 III 50 consid. 1c et les arrêts cités, p. 53/54).
Saisi d'un recours de droit public, le Tribunal fédéral n'examine que les moyens d'ordre constitutionnel invoqués et suffisamment motivés dans l'acte de recours (art. 90 al. 1 lit. b OJ; ATF 129 I 113 consid. 2.1; 128 III 50 consid. 1c et les arrêts cités, p. 53/54).
2. Comme principal grief, la recourante reproche à l'autorité cantonale d'avoir estimé de façon arbitraire que l'intimé n'avait pas commis de faute dans l'exécution de son travail. Mais l'appréciation d'une faute constitue une question de droit (ATF 115 Il 283 consid. la), qui relève de l'instance de réforme et ne peut pas être invoquée dans le cadre d'un recours de droit public, vu la subsidiarité absolue de cette voie de droit (art. 84 al. 2 OJ). Le moyen est irrecevable.
2. Comme principal grief, la recourante reproche à l'autorité cantonale d'avoir estimé de façon arbitraire que l'intimé n'avait pas commis de faute dans l'exécution de son travail. Mais l'appréciation d'une faute constitue une question de droit (ATF 115 Il 283 consid. la), qui relève de l'instance de réforme et ne peut pas être invoquée dans le cadre d'un recours de droit public, vu la subsidiarité absolue de cette voie de droit (art. 84 al. 2 OJ). Le moyen est irrecevable.
3. La recourante prétend également que la cour cantonale a apprécié arbitrairement les preuves.
3.1 D'après l'art. 90 al. 1 let. b OJ, l'acte de recours doit, sous peine d'irrecevabilité, contenir un exposé succinct des droits constitutionnels ou des principes juridiques violés, précisant en quoi consiste la violation. Celui qui forme un recours de droit public pour arbitraire doit ainsi démontrer, par une argumentation précise, que la décision attaquée repose sur une application de la loi ou une appréciation des preuves manifestement insoutenables (ATF 120 Ia 369 consid. 3a; 117 Ia 412 consid. 1c; 110 Ia 1 consid. 2a). Il ne peut donc se borner à critiquer la décision attaquée comme il le ferait en procédure d'appel (ATF 117 Ia 10 consid. 4b; 110 Ia 1 consid. 2a), ni se contenter d'opposer sa thèse à celle de l'autorité cantonale (ATF 120 Ia 369 consid. 3a; 116 Ia 85 consid. 2b).
En matière d'appréciation des preuves, domaine dans lequel le Tribunal fédéral reconnaît au juge du fait un large pouvoir d'appréciation (ATF 120 Ia 31 consid. 4b), il incombe au recourant de démontrer précisément, pour chaque constatation de fait incriminée, comment les preuves administrées auraient dû, à ses yeux, être correctement appréciées, et en quoi leur appréciation par l'autorité cantonale enfreint l'art. 9 Cst. (cf. ATF 118 Ia 28 consid. 1b et les arrêts cités).
3.2 La recourante fait grief à la cour cantonale d'avoir ignoré qu'elle était désireuse de louer son chalet.
Les juges cantonaux ont pourtant expressément retenu que la défenderesse désirait louer cet immeuble dès le printemps 1997.
3.3 La recourante fait valoir que ce sont les problèmes de chauffage qui ont dissuadé les locataires potentiels et non - comme l'a relevé la cour cantonale - le montant excessif du loyer.
A lire attentivement son mémoire, il apparaît qu'elle se réfère à des témoignages. Toutefois, sur ce point précis, l'un desdits témoins (l'agent immobilier C._) a déclaré que le couple intéressé avait spécifiquement renoncé à louer le chalet en raison du prix de location trop élevé (p. 394 du dossier cantonal). La recourante ne démontre absolument pas en quoi il était arbitraire de retenir ce témoignage plutôt qu'un autre, de sorte que ce grief n'est pas suffisamment motivé.
3.4 La défenderesse soutient que la Cour civile a ignoré qu'elle a été empêchée de longs mois de mettre en location son chalet.
La recourante se limite à ce propos à des considérations purement appellatoires, ce qui n'est pas admissible dans un recours de droit public.
La recourante se limite à ce propos à des considérations purement appellatoires, ce qui n'est pas admissible dans un recours de droit public.
4. Dans ces conditions, le recours de droit public doit être déclaré irrecevable pour défaut de motivation.
Compte tenu de l'issue de la cause, la recourante supportera l'émolument de justice et versera à l'intimé une indemnité de dépens (art. 156 al. 1 et 159 al. 1 OJ).
Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est irrecevable.
1. Le recours est irrecevable.
2. Un émolument judiciaire de 2'000 fr. est mis à la charge de la recourante.
2. Un émolument judiciaire de 2'000 fr. est mis à la charge de la recourante.
3. La recourante versera à l'intimé une indemnité de 2'500 fr. à titre de dépens.
4. Le présent arrêt est communiqué en copie aux mandataires des parties et à la IIe Cour civile du Tribunal cantonal du canton du Valais.
Lausanne, le 20 février 2004
Au nom de la Ire Cour civile
du Tribunal fédéral suisse
Le président: Le greffier: