Faits :
A.
La Commune de A._ s'était liée le 17 janvier 2008 au bureau d'architecture B._ AG par un contrat d'architecte portant sur la réalisation de l'ouvrage («...») à A._.
Le 16 juin 2014, la commune a saisi le Président du Tribunal civil de l'arrondissement de la Sarine d'une demande en reddition de compte (<ref-law>) dirigée contre le bureau d'architecture. Elle concluait à ce que ledit bureau soit astreint à lui livrer sans délai «l'entier de la correspondance écrite, postale ou électronique, échangée avec les ingénieurs et entreprises engagés dans la réalisation de l'ouvrage».
A l'audience du 9 septembre 2015, les parties ont conclu la transaction suivante:
«B._ AG accorde l'accès aux archives du projet de l'ouvrage '...' à la Commune de A._ selon les modalités suivantes:
a. La Commune de A._ mandate, à ses frais, une entreprise, de son choix, spécialisée de la copie qui sera chargée de copier les archives sous contrôles quotidiens de B._ AG. (...);
b. Pour ce contrôle, la Commune de A._ paiera à B._ AG un montant forfaitaire de Fr. 2'160.-, TVA comprise, payable d'avance, fin septembre 2015, sur présentation d'une facture établie par B._ AG à l'intention de la Commune de A._ (...);
c. Les archives sous forme électronique seront compilées par B._ AG et stockées sur un disque dur externe qui sera remis à la Commune de A._;
d. Pour cette compilation et ce stockage, la Commune de A._ paiera à B._ AG un montant forfaitaire de Fr. 2'160.-, TVA comprise, payable d'avance, fin septembre 2015, sur présentation d'une facture établie par B._ AG à l'intention de la Commune de A._ (...);
e. Les archives physiques et électroniques devront être remises par B._ AG à la Commune de A._ au plus tard d'ici le 18 décembre 2015.»
Le Président du Tribunal d'arrondissement a pris acte de cette transaction et a rayé la cause du rôle par décision du 10 septembre 2015. Celle-ci a ensuite été attestée définitive et exécutoire dès le 11 septembre 2015.
Après avoir payé les montants prévus aux lettres b et d de la transaction, la commune a fait scanner par une entreprise les archives physiques que le bureau d'architecture avait mises à sa disposition. Celui-ci lui a en outre remis le 17 décembre 2015 une clé USB en précisant qu'elle contenait «l'ensemble de la correspondance électronique échangée par [s]es collaborateurs [...] en relation avec le projet...».
Le 18 décembre 2015, la commune a écrit au bureau d'architecture que leur accord prévoyait de transmettre les archives sous forme électronique, et pas seulement certaines correspondances échangées par les collaborateurs du bureau. Celui-ci a répondu que l'action en reddition de compte portait sur l'entier de la correspondance écrite, postale ou électronique échangée avec les ingénieurs et entreprises engagés dans la réalisation de l'ouvrage; à l'audience du 9 septembre 2015, les parties avaient parlé d'«archives» plutôt que de «correspondance archivée», par souci de simplification.
B.
B.a. Le 4 février 2016, la commune a saisi le Président du Tribunal civil de l'arrondissement de la Sarine d'une requête en exécution de la transaction judiciaire. Dans leur dernière teneur, ses conclusions étaient les suivantes:
«1. Il est constaté que la défenderesse n'a pas livré à la requérante de copie du dossier électronique d'archives.
2. Il est constaté que la défenderesse n'a pas exécuté complètement la transaction judiciaire du 9 septembre 2015 validée par le jugement du 10 septembre 2015.
3. Ordre est donné à B._ AG de livrer à la requérante, sans délai et à ses frais, l'ensemble des archives électroniques qu'elle ne lui a pas encore livré en violation de la transaction du 9 septembre 2015, notamment une copie de l'intégralité du dossier électronique désigné 'X._' et de tout autre dossier contenant les archives électroniques du projet sous la menace des peines de l'<ref-law>, qui réprime l'insoumission à une décision d'autorité.
4. Faute d'exécution complète dès l'entrée en force de la décision, B._ AG est condamnée à verser une amende de CHF 1'000.00 au plus, par jour d'inexécution.
(...) »
A l'appui de sa requête, la commune reprochait au bureau d'architecture de lui avoir livré une partie seulement de la correspondance électronique échangée par ses collaborateurs, et pas la totalité des archives électroniques, dont les plans établis au fur et à mesure du projet ou d'autres documents. Elle déplorait que le contenu du serveur central intitulé 'X._' n'ait pas été livré alors qu'il contenait les archives électroniques du projet, notamment l'ensemble des plans établis au cours du projet et les listes d'heures de travail établies par les collaborateurs du bureau.
Le bureau d'architecture a notamment répondu qu'il n'avait jamais été question de livrer autre chose que l'entier de la correspondance, comme cela ressortait de la procédure en reddition de compte introduite le 16 juin 2014.
B.b. Par décision du 22 juin 2016, le Président du Tribunal d'arrondissement a rejeté la requête en exécution dans la mesure où elle était recevable. Plus précisément, il a déclaré irrecevables les conclusions 1 et 2 au motif que le juge chargé de l'exécution n'était pas compétent pour statuer sur des conclusions constatatoires. Quant aux conclusions 3 et 4, il les a rejetées après avoir constaté un désaccord manifeste des parties sur le sens du mot «archives» employé dans la transaction. Or, à défaut d'accord sur le type de documentation visé par le terme précité, le Président ne pouvait ordonner l'exécution de la transaction. Le cas échéant, il appartiendrait aux parties de déposer une requête d'interprétation de la décision du 10 septembre 2015 afin d'en clarifier les termes. Le Président précisait d'ores et déjà que s'il devait être saisi d'une telle requête, il aboutirait vraisemblablement à la conclusion que les parties visaient uniquement la correspondance archivée, qui seule faisait l'objet de l'action en reddition de compte introduite le 16 juin 2014.
B.c. Saisi d'un recours stricto sensu interjeté par la commune, le Tribunal cantonal fribourgeois a confirmé que le mot «archives» utilisé dans la transaction judiciaire devait être interprété et qu'une telle tâche excédait la compétence du juge de l'exécution (cf. au surplus consid. 2.3 infra). Aussi le Tribunal cantonal a-t-il rejeté le recours par arrêt du 6 octobre 2016.
C.
La commune a saisi le Tribunal fédéral d'un recours en matière civile et d'un recours constitutionnel subsidiaire visant à ce que le bureau d'architecture soit astreint à lui livrer sans délai et à ses frais l'ensemble des archives électroniques qui n'avaient pas encore été livrées en violation de la transaction, sous la menace des peines de l'<ref-law>; à défaut d'exécution complète dès l'entrée en force de la décision, le bureau d'architecture devrait être condamné à payer une amende de 1'000 fr. au plus par jour d'inexécution.
Le bureau d'architecture intimé a conclu à l'irrecevabilité des recours, subsidiairement à leur rejet. L'autorité précédente a renoncé à se déterminer.

Considérant en droit :
1.
La présente affaire, relative à l'exécution forcée d'une transaction judiciaire ressortissant à la matière civile (cf. art. 72 al. 1 et al. 2 let. b ch. 1 LTF), est pécuniaire (cf. <ref-ruling> consid. 3b p. 446), et partant soumise à l'exigence d'une valeur litigieuse minimale de 30'000 fr. (<ref-law>). L'autorité précédente a jugé cette condition réalisée, eu égard à la prestation dont l'exécution était requise et à l'amende prévue en cas d'inexécution. La partie intimée conteste cette appréciation au motif que le coût d'exécution de la prestation requise est moindre et que la sanction demandée ne saurait être prise en considération.
La transaction dont l'exécution est requise, qui prévoit en substance la production d'archives afférentes à l'exécution d'un contrat d'architecte, a mis fin à une procédure en reddition de compte fondée sur l'<ref-law>. En ce domaine, la pratique est d'apprécier la valeur litigieuse en fonction des prétentions pécuniaires auxquelles les renseignements ou documents requis peuvent servir de fondement (cf. <ref-ruling> consid. 3b p. 446; arrêts 4A_38/2011 du 6 avril 2011 consid. 1 et 4A_413/2007 du 10 décembre 2007 consid. 1.2). Or, il ressort du dossier que la commune entend s'appuyer sur les documents requis notamment pour contester des honoraires supplémentaires réclamés par le bureau d'architecture, qui a intenté contre elle un procès en paiement. Elle a demandé la suspension dudit procès jusqu'à droit connu sur sa propre demande en reddition de compte, en expliquant qu'elle contestait la réalité, l'ampleur et l'utilité des prestations pour lesquelles le bureau d'architecture réclame des honoraires supplémentaires supérieurs à 2 millions de francs (requête du 28 janvier 2014, p. 2). Force est d'admettre que la valeur litigieuse minimale de 30'000 fr. est dépassée.
Les autres conditions de recevabilité du recours en matière civile, notamment celle afférente au délai pour recourir (<ref-law>), sont réalisées sur le principe. Il s'ensuit l'irrecevabilité du recours constitutionnel subsidiaire (<ref-law>).
2.
2.1. La commune requiert l'exécution forcée de la transaction judiciaire conclue le 9 septembre 2015, en vertu de laquelle le bureau d'architecture doit lui «accorde[r] l'accès aux archives du projet de l'ouvrage» et en particulier lui remettre un disque dur externe contenant «les archives sous forme électronique».
2.2. Selon l'<ref-law>, la transaction judiciaire a les effets d'une décision entrée en force. Elle est revêtue de l'autorité de chose jugée, et l'exécution forcée s'effectue comme pour un jugement (arrêt 4A_254/2016 du 10 juillet 2017 consid. 4.1.1; DENIS TAPPY, in Code de procédure civile commenté, 2011, n° 29 ad <ref-law>). A teneur de l'<ref-law>, une décision - respectivement une transaction judiciaire (arrêt 4A_269/2012 du 7 décembre 2012 consid. 3.1 in RSPC 2013 p. 150) - est exécutoire lorsqu'elle est entrée en force et que le tribunal n'a pas suspendu l'exécution. La jurisprudence a précisé que pour être exécutoire au sens de l'<ref-law>, la décision doit décrire l'obligation à exécuter avec une précision suffisante sous l'angle matériel, local et temporel, de façon à ce que le juge chargé de l'exécution n'ait pas à élucider lui-même ces questions (arrêt précité 4A_269/2012 consid. 3.2 et arrêt 5A_880/2015 du 3 juin 2016 consid. 2 in fine). Une décision peu claire doit faire l'objet d'une interprétation ou d'une rectification (<ref-law>). Si le vice ne peut pas être levé par cette voie et que la décision n'est donc toujours pas exécutoire, une nouvelle action doit être intentée. Le principe de l'autorité de chose jugée ne s'y oppose pas, puisqu'une décision non exécutable ne déploie pas d'autorité de chose jugée (LORENZ DROESE, in Basler Kommentar, 3 e éd. 2017, n os 16-18 ad <ref-law>; FRANCESCO TREZZINI, in Commentario pratico al Codice di diritto processuale civile svizzero, 2 e éd. 2017, n° 6 ad <ref-law>; MAX GULDENER, Schweizerisches Zivilprozessrecht, 3 e éd. 1979, p. 536).
2.3. En l'occurrence, le Tribunal cantonal a jugé que la notion d'«archives» utilisée dans la transaction devait faire l'objet d'une interprétation, contrairement à ce qu'affirmait la commune pour qui cette notion était claire. Le dossier contenait en effet de nombreux courriers échangés entre les parties dans lesquels la commune demandait production de la seule correspondance, et non pas de toutes les archives en possession du bureau d'architecture; dans un courrier du 4 mars 2013, elle précisait même ne pas viser l'entier de la documentation du projet, mais tout au plus l'entier de la correspondance avec les planificateurs et les entreprises. Ainsi, la position du bureau d'architecture ne pouvait être d'emblée écartée, et on ne pouvait s'arrêter au texte de la transaction judiciaire, laquelle devait être interprétée. Il ne s'agissait pas de modifier le contenu matériel de la transaction, auquel cas il eût fallu procéder par voie de révision, mais bien de résoudre un problème d'interprétation. Or, une telle tâche excédait la compétence du juge chargé de l'exécution.
2.4. La commune ne s'astreint pas à démontrer en quoi l'autorité précédente aurait enfreint le droit fédéral en constatant une dissension entre les parties quant au mot «archives». En particulier, la recourante ne conteste pas avoir requis dans de nombreux courriers que soit produite uniquement la correspondance, et pas toutes les archives en possession du bureau d'architecture. Sur cette base, l'autorité précédente était fondée à constater un désaccord sur un mot central utilisé dans la transaction et à considérer qu'il convenait de procéder à son interprétation, sans s'arrêter au sens littéral.
2.5. Les juges fribourgeois ont précisé qu'il convenait de déposer une requête d'interprétation (arrêt attaqué, consid. 2c p. 6; décision du Président du Tribunal civil, p. 7).
Il est vrai qu'avant l'unification de la procédure civile, la voie prévue pour l'interprétation des jugements était aussi utilisable, selon certaines pratiques cantonales, pour l'interprétation des transactions judiciaires (cf. TAPPY, op. cit., n° 32 ad <ref-law>; favorable à cette solution, FRANÇOIS GILLARD, La transaction judiciaire en procédure civile, 2003, p. 258 s.). Cette pratique doit être reliée au fait que dans certains cantons, la procédure prenait fin non pas ipso jure par la transaction judiciaire elle-même, comme dans le modèle dit bernois, mais par la décision judiciaire consécutive de rayer la cause du rôle (modèle dit zurichois; sur ces deux modèles, cf. entre autres BAECKERT/WALLMÜLLER, Rechtsmittel bei Beendigung des Verfahrens durch Entscheidsurrogat [Art. 241 ZPO], in ZZZ 2014/2015 p. 15 s.; ERNST PLATZ, Der Vergleich im schweizerischen Recht, 2014, p. 152 ss). L'accent était ainsi mis sur la décision judiciaire plutôt que sur la convention des parties.
Depuis lors, le CPC est entré en vigueur, adoptant le modèle bernois en tant que le procès prend fin ipso jure par la transaction judiciaire, qui a les effets d'une décision entrée en force (<ref-law>; PLATZ, op. cit., p. 154). Le juge se borne à en prendre acte et à rayer formellement la cause du rôle (<ref-law>). Cette décision judiciaire n'a qu'une portée déclaratoire (<ref-ruling> consid. 1.2; arrêts 4A_254/2016 précité consid. 4.1.1, et 5A_348/2014 du 24 juillet 2014 consid. 3.1 et 3.2).
La jurisprudence a récemment précisé que la voie de l'interprétation prévue par l'<ref-law> permet au juge de clarifier le contenu d'une décision peu claire en révélant quelle était sa volonté réelle initiale. Il s'ensuit que le juge peut renseigner sur le contenu réel d'une décision uniquement lorsqu'elle contient ses propres injonctions, qui sont le fruit de sa propre volonté. Ne sont dès lors pas sujettes à interprétation (ou à rectification) au sens de l'<ref-law> les décisions par lesquelles le juge raye la cause du rôle sur la base d'une transaction judiciaire ou d'un autre substitut aux décisions judiciaires, dans la mesure où ce n'est pas la décision même de rayer la cause ou la décision relative aux frais qui nécessite un éclaircissement. Une réserve doit être faite pour les conventions relatives aux effets accessoires du divorce, que le juge ratifie aux conditions de l'<ref-law> (arrêt 5A_510/2016 du 31 août 2017 consid. 6.2, destiné à la publication).
Il s'ensuit que les parties ne pourront pas procéder par la voie de l'<ref-law>, dans la mesure où la question d'interprétation porte sur la transaction même qu'elles ont convenue.
2.6. La commune objecte que la partie adverse aurait dû agir par la voie de la révision dans un délai de 90 jours; ayant laissé échoir ce délai, elle serait forclose à faire valoir un sens restrictif du mot «archives».
Selon l'<ref-law>, une partie peut former une demande de révision en faisant valoir que la transaction judiciaire n'est pas valable (al. 1 let. c; <ref-ruling> consid. 1.3), dans un délai relatif de 90 jours et un délai absolu de dix ans (<ref-law>). Entrent principalement en considération les vices de la volonté (arrêt précité 4A_254/2016 consid. 4.1.1 in fine).
En l'occurrence, le motif de révision n'est pas réalisé, puisque ce n'est pas la validité de la transaction qui est mise en cause. Il existe une incertitude quant à la portée précise du mot archives, qui doit faire l'objet d'une interprétation. Cette incertitude s'oppose à l'exécutabilité de la transaction judiciaire et prive celle-ci de l'effet d'autorité de chose jugée dont elle est normalement revêtue (cf. consid. 2.2 supra). Il conviendra cas échéant d'introduire un nouveau procès portant sur l'interprétation de la transaction judiciaire, afin d'obtenir un jugement matériel complétant ladite transaction (cf. <ref-ruling> p. 75; PASCAL LEUMANN LIEBSTER, in Kommentar zur Schweizerischen Zivilprozessordnung, [SUTTER-SOMM ET ALII éd.] 3 e éd. 2016, n° 8 ad <ref-law>; LAURENT KILLIAS, in Berner Kommentar, 2012, n° 15 ad <ref-law>; cf. aussi TAPPY, op. cit., n° 32 ad <ref-law>).
Pour le surplus, la commune ne prétend à juste titre pas que sa demande d'exécution forcée aurait pu être convertie en une demande portant sur l'interprétation de la transaction judiciaire.
2.7. En définitive, les juges fribourgeois n'ont pas enfreint le droit fédéral en rejetant les conclusions en exécution de la transaction. Le recours en matière civile doit donc être rejeté.
3.
L a commune recourante succombe. En conséquence, elle supportera les frais de la présente procédure (<ref-law>). Les conditions d'exonération prévues par l'<ref-law> ne sont pas réalisées dans la mesure où la commune poursuit un intérêt patrimonial en cherchant à obtenir les données litigieuses (cf. consid. 1 supra). Elle versera en outre une indemnité de dépens au bureau d'architecture pour ses frais d'avocat (art. 68 al. 1 et 2 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours constitutionnel subsidiaire est irrecevable.
2.
Le recours en matière civile est rejeté.
3.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge de la recourante.
4.
La recourante versera à l'intimée une indemnité de 2'500 fr. à titre de dépens.
5.
Le présent arrêt est communiqué aux mandataires des parties et à la I re Cour d'appel civil du Tribunal cantonal du canton de Fribourg.
Lausanne, le 25 septembre 2017
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente: Kiss
La Greffière: Monti