Faits :
A.
A.a. Le 23 décembre 2013, la Direction générale des finances publiques françaises (ci-après: l'autorité requérante) a adressé à l'Administration fédérale des contributions (ci-après: l'Administration fédérale) une demande d'assistance administrative concernant des contribuables figurant dans des listes annexées, en lien avec l'impôt sur le revenu et l'impôt sur les bénéfices des années 2010 et 2011, ainsi qu'avec l'impôt sur la fortune des années 2010, 2011 et 2012. L'autorité requérante y exposait que les contribuables visés faisaient l'objet d'un contrôle fiscal ouvert sur la base d'informations que lui avaient transmises les autorités judiciaires françaises. Il en ressortait qu'ils avaient été en relation d'affaires avec la banque C._ et que des transferts d'argent avaient été effectués sur des comptes bancaires ouverts en Suisse et non déclarés en France. Or, les résidents fiscaux français avaient l'obligation de déclarer les comptes bancaires ouverts à l'étranger, ceux sur lesquels ils détenaient une procuration, ainsi que les revenus de source française ou étrangère et le patrimoine situé en France et à l'étranger; quant aux non-résidents, ils étaient tenus de déclarer les revenus de source française.
L'autorité requérante souhaitait dès lors obtenir des renseignements au sujet des comptes bancaires ouverts auprès de la banque C._ en Suisse (ci-après: la Banque), dont les contribuables mentionnés dans ces listes étaient directement ou indirectement titulaires, quelles que soient les structures interposées, ou ayants droit économiques, ainsi que ceux pour lesquels ils disposaient d'une procuration (à savoir les formulaires A, les relevés de fortune et les relevés de compte faisant apparaître tous les mouvements). S'agissant des personnes non-résidentes fiscales en France au cours des périodes visées, la communication des informations bancaires pouvait être limitée aux seuls flux de source française.
A.b. A._ fait partie des personnes visées par la demande d'assistance administrative du 23 décembre 2013.
Déférant à deux ordonnances de production successives de l'Administration fédérale, la Banque a transmis les renseignements requis les 4 février et 17 mars 2014. Il en ressortait notamment que A._ était ayant droit économique d'une relation bancaire dont le titulaire était B._, enregistrée à U._.
A._ et B._ ont fait savoir à l'Administration fédérale qu'ils s'opposaient à la transmission de toute information les concernant.
B.
B.a. Par décision finale du 24 septembre 2014, l'Administration fédérale a accordé l'assistance administrative à la France s'agissant de A._ et décidé de lui transmettre les renseignements suivants, précisant avoir effectué le caviardage des informations non couvertes par la demande ou portant sur des tiers non concernés:
- Durant la période concernée, [A._] a été titulaire et ayant droit économique de la relation bancaire n° 1 auprès de [la Banque]. Ce compte a été clôturé le 12 janvier 2010.
- Durant la période concernée, [A._] a été ayant droit économique de la relation bancaire n° 2 dont le titulaire était [B._]. Ce compte a été clôturé le 6 janvier 2010.
- Les copies des formulaires A relatifs aux relations bancaires n° 1 et n° 2.
- Les relevés de comptes relatifs aux relations bancaires n° 1 et n° 2 pour la période du 1er janvier 2010 jusqu'à la clôture des comptes concernés.
Le 27 octobre 2014, A._ et B._ ont recouru contre la décision du 24 septembre 2014 en concluant à son annulation.
B.b. Dans un arrêt A-6843/2014 du 15 septembre 2015, le Tribunal administratif fédéral a conclu à l'irrecevabilité de la demande d'assistance administrative du 23 décembre 2013 dans une procédure qui concernait un autre contribuable figurant sur l'une des listes qui y étaient jointes.
Le 7 octobre 2015, l'Administration fédérale a demandé au Tribunal administratif fédéral de suspendre toutes les procédures pendantes fondées sur la demande d'assistance administrative du 23 décembre 2013 jusqu'à droit connu sur le recours qu'elle avait déposé auprès du Tribunal fédéral contre l'arrêt A-6843/2014.
B.c. Par arrêt du 2 novembre 2015, le Tribunal administratif fédéral a rejeté la requête de suspension de procédure (ch. 1 du dispositif), admis le recours et annulé la décision de l'Administration fédérale du 24 septembre 2014 (ch. 2 du dispositif) et dit qu'il n'est pas entré en matière sur la demande d'assistance administrative du 23 décembre 2013 dirigée à l'encontre de A._ et de B._ (ch. 3 du dispositif), sous suite de frais et dépens (cf. ch. 4 et 5 du dispositif).
Les juges précédents ont retenu en substance, en se référant au raisonnement développé dans l'arrêt A-6843/2014 précité, que la demande d'assistance administrative du 23 décembre 2013 était irrecevable, en vertu de l'art. 7 let. c de la loi fédérale sur l'assistance administrative internationale en matière fiscale [LAAF; RS 651.1], car elle était fondée sur des actes punissables au regard du droit suisse. Dans ces circonstances, les autres questions soulevées par les intéressés pour s'opposer à la transmission de renseignements à la France pouvaient rester ouvertes.
C.
A l'encontre de l'arrêt du 2 novembre 2015, l'Administration fédérale interjette un recours en matière de droit public au Tribunal fédéral en concluant principalement à l'admission du recours et à l'annulation de l'arrêt attaqué, avec suite de frais et dépens; subsidiairement, à l'annulation de l'arrêt attaqué et au renvoi de la cause au Tribunal administratif fédéral pour nouvel examen dans le sens des considérants.
Le Tribunal administratif fédéral a renoncé à prendre position. A._ et B._ se sont déterminés sur le recours et ont conclu, à la forme, à son irrecevabilité, au fond, à son rejet; en tout état, à la confirmation de l'arrêt entrepris, sous suite de frais et dépens. L'Administration fédérale a déposé une réplique, à laquelle les intimés ont dupliqué. L'Administration fédérale a encore déposé des observations complémentaires, sur lesquelles les intimés se sont déterminés.
Considérant en droit :
1.
1.1. L'arrêt attaqué est une décision finale (art. 90 LTF), rendue dans une cause de droit public (art. 82 let. a LTF) émanant du Tribunal administratif fédéral (art. 86 al. 1 let. a LTF). Seul un recours en matière de droit public est donc envisageable (cf. art. 113 LTF a contrario).
Contre les décisions en matière d'assistance administrative en matière fiscale, le recours en matière de droit public n'est recevable que lorsqu'une question juridique de principe se pose ou lorsqu'il s'agit pour d'autres motifs d'un cas particulièrement important au sens de l'art. 84 al. 2 LTF (cf. art. 83 let. h et 84a LTF; ATF 139 II 404 consid. 1.3 p. 410; arrêts 2C_1174/2014 du 24 septembre 2015 consid. 1.2 non publié in ATF 142 II 161 mais in RDAF 2016 II 28 et Pra 2016/79 p. 727; 2C_963/2014 du même jour consid. 1.3 non publié in ATF 141 II 436 mais traduit in RDAF 2016 II 374).
La recourante soutient que la présente cause soulève trois questions juridiques de principe. La première a trait au champ d'application de l'art. 7 let. c LAAF. L'Administration fédérale conteste que cette disposition ait vocation à s'appliquer, comme le considèrent les juges précédents, si l'acte punissable au sens de cette disposition n'a pas été commis en Suisse. Cette question, qui revêt les caractéristiques d'une question de principe, a été tranchée dans l'arrêt 2C_893/2015 du 16 février 2017 destiné à la publication. Comme elle était encore ouverte au moment du dépôt du présent recours, il se justifie toutefois d'entrer en matière en l'espèce (arrêt 2C_527/2015 du 3 juin 2016 consid. 1.2.2 et les références). Dans ces circonstances, il n'est pas nécessaire de déterminer si les autres questions soulevées par la recourante auraient également justifié une entrée en matière (cf. arrêt 2C_1174/2014 précité consid. 1.2 non publié; arrêt 2C_511/2013 du 27 août 2013 consid. 1.3 non publié in ATF 139 II 451).
Lorsqu'il entre en matière en raison de l'existence d'une question juridique de principe, le Tribunal fédéral examine l'affaire en application des art. 95 ss et 105 ss LTF dans son ensemble, sans se limiter aux seules questions juridiques de principe qu'elle pose (ATF 141 II 14 consid. 1.2.2.4 p. 22 s. et les références citées; arrêt 2C_289/2015 du 5 avril 2016 consid. 1.2.1 non publié in ATF 142 II 218 mais in RF 71/2016 p. 710).
1.2. La recourante conclut à titre principal uniquement à l'annulation de l'arrêt attaqué, alors que des conclusions purement cassatoires ne sont en principe pas suffisantes (art. 107 al. 2 LTF), comme le relèvent également les intimés. Dès lors toutefois que l'on comprend qu'elle entend obtenir la confirmation de sa décision finale du 24 septembre 2014, il convient de ne pas se montrer trop formaliste (cf. ATF 137 II 313 consid. 1.3 p. 317; 133 II 409 consid. 1.4.1 p. 414 s.; dans le contexte de l'assistance administrative en matière fiscale: arrêt 2C_289/2015 du 5 avril 2016 consid. 1.4 non publié in ATF 142 II 218, mais in RF 71/2016 p. 710) et de ne pas déclarer le recours irrecevable pour ce motif. Dans ces circonstances, il n'est pas nécessaire de trancher le point de savoir si les précisions que la recourante fournit dans ses observations complémentaires quant à l'interprétation qu'il convient d'avoir de sa conclusion principale constituent en réalité une conclusion nouvelle irrecevable, comme le soutiennent les intimés dans leur ultime écriture.
1.3. Le recours a au surplus été formé en temps utile (art. 100 al. 2 let. b LTF) et en la forme prescrite (art. 42 LTF) par l'Administration fédérale, qui a qualité pour recourir au sens de l'art. 89 al. 2 let. a LTF (cf. arrêt 2C_1174/2014 précité consid. 1.3 non publié). Il convient donc d'entrer en matière.
2.
S'agissant du droit applicable, l'échange de renseignements est en l'espèce réglé à l'art. 28 de la Convention du 9 septembre 1966 entre la Suisse et la France en vue d'éliminer les doubles impositions en matière d'impôts sur le revenu et sur la fortune et de prévenir la fraude et l'évasion fiscales (ci-après: CDI CH-FR; RS 0.672.934.91) dans sa version actuelle, qui résulte de l'art. 7 de l'Avenant à la Convention conclu le 27 août 2009 (RO 2010 5683; ci-après: l'Avenant), ainsi que par le chiffre XI du Protocole additionnel, introduit par l'art. 10 de l'Avenant.
La question de savoir si la demande d'assistance litigieuse doit être examinée à la lumière des dispositions du ch. XI du Protocole additionnel modifiées, en vigueur depuis le 30 mars 2016 (RO 2016 1195; cf. arrêt 2C_904/2015 du 8 décembre 2016 consid. 3.1) peut rester indécise, puisque ces modifications concernent des points qui n'ont pas de lien avec les aspects litigieux du cas d'espèce ni d'incidence sur le sort du recours (arrêt 2C_893/2015 précité consid. 4).
Au plan interne, la LAAF est applicable (cf. art. 24 LAAF; ATF 139 II 404 consid. 1.1 p. 408).
3.
Le premier point litigieux concerne la question de savoir si c'est à bon droit que les juges précédents ont retenu que la demande d'assistance administrative du 23 décembre 2013 devait être déclarée irrecevable en application de l'art. 7 let. c LAAF.
3.1. Selon cette disposition, il n'est pas entré en matière lorsque la demande viole le principe de la bonne foi, notamment lorsqu'elle se fonde sur des renseignements obtenus par des actes punissables au regard du droit suisse.
3.2. Dans son arrêt A-6843/2014 du 15 septembre 2015, le Tribunal administratif fédéral a conclu que l'autorité requérante s'était fondée sur des renseignements obtenus par des actes ayant constitué une violation du secret bancaire (art. 47 LB) et du secret commercial (art. 162 CP) pour former la demande d'assistance administrative du 23 décembre 2013, de sorte que celle-ci devait être déclarée irrecevable en application de l'art. 7 let. c LAAF. Appliquant cette jurisprudence à la présente cause, il en a déduit, dans l'arrêt attaqué, que la demande d'assistance administrative du 23 décembre 2013 était également irrecevable en tant qu'elle visait A._.
3.3. L'approche développée dans l'arrêt A-6843/2014 n'a pas été suivie par le Tribunal fédéral. Dans l'arrêt de principe 2C_893/2015 précité, destiné à la publication, la Cour de céans a retenu qu'il n'y avait pas lieu d'examiner si l'art. 7 let. c LAAF pouvait à lui seul fonder l'irrecevabilité de la demande d'assistance administrative du 23 décembre 2013, dès lors que cette disposition, à supposer qu'elle soit opposable à une demande d'assistance administrative, point qui pouvait rester ouvert, ne visait pas ce cas d'espèce. En effet, contrairement à ce que soutenait le Tribunal administratif fédéral, l'expression "actes punissables au regard du droit suisse " qui y figurait renvoyait à des actes effectivement punissables en Suisse (consid. 8.5 à 8.5.6). Or, la demande d'assistance administrative du 23 décembre 2013 - qui pouvait être qualifiée de demande d'assistance administrative collective en tant qu'elle visait un nombre important de personnes identifiées, cf. consid. 12.1 - ne reposait sur aucun acte susceptible de poursuite pénale en Suisse. Cette demande ne tombait donc pas dans le champ d'application de l'art. 7 let. c LAAF (consid. 8.6 à 8.6.4).
3.4. Le nom de A._ apparaissant également dans la demande d'assistance administrative du 23 décembre 2013, cette jurisprudence s'applique au cas d'espèce. Il s'ensuit que c'est à tort que les juges précédents ont déclaré irrecevable pour violation de l'art. 7 let. c LAAF la demande d'assistance administrative litigieuse.
4.
Comme le Tribunal administratif fédéral a jugé la demande d'assistance administrative du 23 décembre 2013 irrecevable, il n'a pas examiné si la communication de l'ensemble des renseignements telle que décidée par l'Administration fédérale remplissait toutes les autres conditions de l'assistance administrative, ni ne s'est prononcé sur tous les griefs soulevés par les intimés.
Il convient dès lors de renvoyer le dossier de la cause aux juges précédents pour nouvelle décision (art. 107 al. 2 LTF; cf. arrêt 2C_988/2015 du 29 mars 2017consid. 5.2).
5.
Au vu de ce qui précède, le recours est admis. Les ch. 2 à 5 du dispositif sont annulés et la cause est renvoyée au Tribunal administratif fédéral pour nouvelle décision dans le sens des considérants. Le ch. 1 du dispositif, qui refuse de donner suite à la demande de suspension de procédure, est confirmé, dans la mesure où la présente procédure ne l'a pas rendu sans objet.
Compte tenu de l'issue du litige, les frais seront mis à la charge des intimés qui succombent, solidairement entre eux (art. 66 al. 1 et 5 LTF). Il n'est pas alloué de dépens (art. 68 al. 3 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis.
2.
L'arrêt attaqué est partiellement annulé en ce sens que les ch. 2 à 5 du dispositif sont annulés et que la cause est renvoyée au Tribunal administratif fédéral pour nouvelle décision dans le sens des considérants. Le ch. 1 du dispositif de l'arrêt attaqué est confirmé dans la mesure où il n'est pas devenu sans objet.
3.
Les frais judiciaires, arrêtés à 5'000 fr., sont mis à la charge des intimés, solidairement entre eux.
4.
Le présent arrêt est communiqué à la recourante, au mandataire des intimés et au Tribunal administratif fédéral, Cour I.
Lausanne, le 29 mars 2017
Au nom de la IIe Cour de droit public
du Tribunal fédéral suisse
Le Président : Seiler
La Greffière : Vuadens