Faits: Faits: A. La société X._ (la société) est propriétaire de la parcelle n° 7 du registre foncier de la commune d'A._. Le bâtiment de laiterie y est édifié, ainsi qu'une porcherie désaffectée - partiellement située sur la parcelle voisine n° 8 et au bénéfice d'un droit de superficie - dans laquelle se trouve une citerne à mazout d'une contenance de 13'500 litres, hors service depuis 1996. Après avoir requis en vain un assainissement de l'immeuble et procédé à des inspections locales, l'Office fribourgeois de la protection de l'environnement (OPEN) a chargé l'entreprise B._ SA de procéder à des forages, lesquels ont permis de déceler un important écoulement d'hydrocarbures, notamment sur la parcelle n° 8 propriété de C._ et D._. Une étude complémentaire, destinée à déterminer la quantité de mazout écoulé, a été devisée à 20'121 fr. 85. Après avoir requis en vain un assainissement de l'immeuble et procédé à des inspections locales, l'Office fribourgeois de la protection de l'environnement (OPEN) a chargé l'entreprise B._ SA de procéder à des forages, lesquels ont permis de déceler un important écoulement d'hydrocarbures, notamment sur la parcelle n° 8 propriété de C._ et D._. Une étude complémentaire, destinée à déterminer la quantité de mazout écoulé, a été devisée à 20'121 fr. 85. B. Par décision du 22 août 2001, la Direction des travaux publics du canton de Fribourg (DTP) a imparti à la société un délai de trente jours pour faire établir l'ampleur de la pollution; passé ce délai, l'OPEN ferait exécuter l'étude aux frais de la société. Les frais d'investigations préalables, soit 19'157,80 fr. au total, ont été mis à la charge de la société: celle-ci n'était pas propriétaire du site pollué, mais son comportement, soit le défaut de surveillance de la citerne, pouvait être à l'origine de la pollution. B. Par décision du 22 août 2001, la Direction des travaux publics du canton de Fribourg (DTP) a imparti à la société un délai de trente jours pour faire établir l'ampleur de la pollution; passé ce délai, l'OPEN ferait exécuter l'étude aux frais de la société. Les frais d'investigations préalables, soit 19'157,80 fr. au total, ont été mis à la charge de la société: celle-ci n'était pas propriétaire du site pollué, mais son comportement, soit le défaut de surveillance de la citerne, pouvait être à l'origine de la pollution. C. Par arrêt du 21 novembre 2002, le Tribunal administratif du canton de Fribourg a rejeté le recours formé par la société. Les frais d'assainissement, à la charge de l'auteur de la pollution (art. 32d LPE), devaient être distingués des frais d'investigation (art. 20 OSites), mis provisoirement à la charge du détenteur du site pollué. Des investigations complémentaires avaient été ordonnées par le Tribunal administratif, et confiées à B._ SA; selon son rapport du 11 septembre 2001, la citerne de la porcherie restait la seule source possible de pollution. La nappe de mazout s'étendait non seulement sur la parcelle des époux C._ et D._, mais aussi sur celle de la recourante; cette dernière, propriétaire de l'installation à l'origine de la pollution, n'était donc pas un tiers au sens de l'art. 20 al. 2 OSites, mais le détenteur au sens de l'art. 20 al. 1 OSites. Il n'était pas contesté que les investigations effectuées étaient nécessaires, et leur coût proportionné. Le Tribunal administratif a par ailleurs constaté que l'expertise judiciaire faisait aussi partie des mesures d'investigation et en a mis les frais, par 20'480,95 fr., à la charge de la société. C. Par arrêt du 21 novembre 2002, le Tribunal administratif du canton de Fribourg a rejeté le recours formé par la société. Les frais d'assainissement, à la charge de l'auteur de la pollution (art. 32d LPE), devaient être distingués des frais d'investigation (art. 20 OSites), mis provisoirement à la charge du détenteur du site pollué. Des investigations complémentaires avaient été ordonnées par le Tribunal administratif, et confiées à B._ SA; selon son rapport du 11 septembre 2001, la citerne de la porcherie restait la seule source possible de pollution. La nappe de mazout s'étendait non seulement sur la parcelle des époux C._ et D._, mais aussi sur celle de la recourante; cette dernière, propriétaire de l'installation à l'origine de la pollution, n'était donc pas un tiers au sens de l'art. 20 al. 2 OSites, mais le détenteur au sens de l'art. 20 al. 1 OSites. Il n'était pas contesté que les investigations effectuées étaient nécessaires, et leur coût proportionné. Le Tribunal administratif a par ailleurs constaté que l'expertise judiciaire faisait aussi partie des mesures d'investigation et en a mis les frais, par 20'480,95 fr., à la charge de la société. D. Cette dernière forme un recours de droit administratif par lequel elle conclut à l'annulation de l'arrêt cantonal et de la décision du 22 août 2001.