Faits :
A.
A.a. La société A._ Sàrl est inscrite au Registre du commerce depuis ... décembre 2005. Son but statutaire comprend notamment la gérance d'établissements publics tels que bars et cafés-restaurants. C._ en est l'associée gérante présidente avec signature individuelle. D._, compagnon de la précitée depuis de nombreuses années, est associé gérant depuis le 31 juillet 2008, sans pouvoir de signature.
A.b. Le 3 septembre 2008, l'associée présidente a rempli et signé pour le compte de la société une proposition d'assurance de voitures automobiles concernant un véhicule de la marque BMW (série M5). Le lendemain 4 septembre 2008, elle a signé un nouveau formulaire expurgé d'une erreur concernant son statut à l'état-civil.
L'associée a répondu ainsi à cette question:
"Avez-vous eu des sinistres ou vous êtes-vous fait retirer votre permis au cours des 5 dernières années? Ou cela a-t-il été le cas pour un (e) conducteur/trice habituel (le) de vos véhicules?
- Cas de sinistres non
- Retrait du permis non"
A la question " Qui conduit le véhicule déclaré le plus fréquemment? ", elle a donné son propre nom (C._).
Le 3 septembre 2008 au soir, alors qu'elle circulait au volant d'une autre voiture, l'associée présidente a eu un accident impliquant une conductrice de scooter; victime d'une fracture de l'épaule, celle-ci a été hospitalisée. L'associée a averti le courtier le 4 septembre 2008 lorsqu'il est venu lui faire signer la proposition rectifiée; il lui a dit de ne pas signaler le sinistre. Le rapport de police a tenu l'associée pour partiellement responsable de l'accident.
L'assureur B._ SA a établi le 18 septembre 2008 une police en faveur de A._ Sàrl. Valable du 1 er août 2008 au 31 juillet 2013, le contrat comprenait notamment une assurance responsabilité civile et une assurance casco couvrant les fautes graves.
A.c. Dans la nuit du 10 avril 2009, l'associé gérant D._ a eu un accident avec le véhicule assuré, qui a été transféré dans une carrosserie. Informée du sinistre par cette entreprise le 14 avril 2009, la compagnie d'assurance a dépêché un expert technique qui a jugé le véhicule réparable. La carrosserie a effectué les travaux nécessaires pour un montant de 51'470 fr. 50 et a remplacé deux pneus à la demande de A._ Sàrl, la facture totale s'élevant ainsi à 52'864 fr. 10.
Par courriers des 14 avril, 10 juillet, 6 août et 2 septembre 2009, la compagnie d'assurance a invité la société cocontractante à remplir une déclaration de sinistre, ce que C._, pour le compte de la société, et D._, en tant que conducteur, ont finalement fait le 30 septembre 2009.
Le 6 novembre 2009, la compagnie d'assurance a fait auditionner l'associé précité par un de ses inspecteurs afin de clarifier les circonstances de l'accident. L'intéressé a expliqué avoir perdu la maîtrise de son véhicule et heurté un mur alors qu'il était en train de manipuler l'autoradio; il avait quitté les lieux car il avait bu un verre et craignait pour son permis de conduire. Il a par ailleurs déclaré conduire le véhicule assuré à titre privé et professionnel depuis le mois d'août 2008, précisant l'utiliser plus fréquemment que l'associée C._.
Interpellé par la compagnie d'assurance le 6 novembre 2009, le Service des automobiles et de la navigation a indiqué que l'associé gérant avait fait l'objet d'un avertissement en juin 2007 pour conduite en état d'ébriété non qualifié.
Par courrier daté du 2 décembre 2009, la compagnie d'assurance a déclaré annuler la police la liant à A._ Sàrl en invoquant l'<ref-law> relatif à la réticence (loi fédérale sur le contrat d'assurance; RS 221.229.1). Elle relevait en particulier ce qui suit:
" (...) vous avez mentionné, dans la proposition d'assurance signée le 4 septembre 2008, 'non' à la question suivante:
' Avez-vous eu des sinistres ou vous êtes-vous fait retirer votre permis au cours des 5 dernières années?
Ou cela a-t-il été le cas pour un (e) conducteur/trice habituel (le) de vos véhicules?'
Or, nous avons appris en date du 12 novembre 2009 que vous aviez eu 4 sinistres responsabilité civile et un sinistre casco collision pour lesquels une assurance était intervenue. (...) "
La compagnie d'assurance a encore reproché à sa cocontractante d'avoir répondu que le conducteur le plus fréquent était C._ alors qu'il s'agissait de D._; enfin, le kilométrage annuel moyen n'était pas inférieur à 10'000 comme déclaré, mais plutôt de l'ordre de 30'000.
De fait, l'associé D._ avait été impliqué comme conducteur dans un accident survenu le 20 avril 2004, ayant entraîné des frais de réparation de 6'846 francs. Il a reconnu être fautif en raison d'un manque d'attention. Il avait en outre été impliqué comme preneur d'assurance dans un sinistre survenu le 14 avril 2005, ayant occasionné 3'107 fr. de frais de réparation. Quant à l'associée présidente, elle avait été impliquée comme preneuse d'assurance dans un accident survenu le 5 août 2007 alors que son fils était au volant du véhicule; les frais de réparation ascendaient à 1'065 fr. 25. Enfin, elle avait été impliquée comme conductrice dans le sinistre du 3 septembre 2008 évoqué ci-dessus.
B.
B.a. Le 5 juillet 2012, la preneuse d'assurance A._ Sàrl a déposé une demande contre la compagnie d'assurance par-devant le Tribunal civil de l'arrondissement de Lausanne. Elle concluait au paiement de 52'864 fr. 10, intérêts en sus.
Le Tribunal civil a jugé que la preneuse avait commis une réticence en s'abstenant d'annoncer les accidents des 3 septembre 2008, 14 avril 2005 et 20 avril 2004, respectivement en désignant l'associée présidente comme conducteur le plus fréquent alors qu'il s'agissait de l'associé gérant, et en estimant le kilométrage annuel à 10'000. La compagnie d'assurance avait résilié le contrat dans le délai de quatre semaines prescrit par l'<ref-law>. Par ailleurs, l'objet de la réticence, soit l'implication de l'associé gérant dans plusieurs sinistres et le fait qu'il était le conducteur le plus fréquent du véhicule assuré, étaient en lien de causalité direct avec la survenance du sinistre. Par conséquent, l'obligation d'accorder la prestation convenue en raison du sinistre du 10 avril 2009 était éteinte, conformément à l'<ref-law>.
B.b. Statuant le 17 novembre 2014 sur appel de la preneuse d'assurance, le Tribunal cantonal du canton de Vaud a confirmé la décision attaquée. Toutefois, cette autorité a retenu une réticence uniquement quant au fait d'avoir passé sous silence plusieurs sinistres survenus dans les cinq années précédentes; cette réticence était de nature à influer sur l'appréciation du risque assuré. Il existait un lien de causalité entre les accidents de 2004 et 2005, objets de la réticence, et le nouveau sinistre survenu le 10 avril 2009; D._ était en effet impliqué dans ces trois accidents, en particulier comme conducteur dans les accidents de 2004 et de 2009. La compagnie d'assurance n'aurait pas apprécié le risque assuré de la même manière si elle avait connu ces antécédents; partant, elle était en droit de refuser ses prestations.
C.
La preneuse d'assurance saisit le Tribunal fédéral d'un recours en matière civile tendant à faire condamner la compagnie d'assurance au paiement de 52'864 fr. 10, intérêts en sus.
La compagnie d'assurance conclut au rejet du recours dans la mesure où il est recevable. L'autorité précédente se réfère à son arrêt.

Considérant en droit :
1.
1.1. La valeur litigieuse minimale de 30'000 fr. requise par l'<ref-law> est manifestement atteinte; les autres conditions de recevabilité du recours en matière civile sont également réalisées sur le principe.
1.2. Le recours peut être formé pour violation du droit fédéral, notion qui inclut le droit constitutionnel (<ref-law>; <ref-ruling> consid. 2.1).
Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>) et de ceux retenus par la juridiction inférieure, dans la mesure où ces faits sont repris implicitement dans la décision attaquée (arrêt 4A_247/2013 du 14 octobre 2013 consid. 1.1; sous l'OJ, <ref-ruling> consid. 1). L'autorité de céans peut toutefois rectifier ou compléter l'état de fait de l'arrêt attaqué lorsqu'il a été établi en violation du droit au sens de l'<ref-law>, ou de façon manifestement inexacte, c'est-à-dire arbitraire, ce qu'il incombe en principe au recourant de dénoncer par une argumentation circonstanciée (art. 97 al. 1 et art. 105 al. 2 LTF; <ref-ruling> consid. 6.2).
Au vu de ce qui précède, la cour de céans n'a pas à tenir compte du "bref rappel des faits" présenté en préambule du recours, en tant qu'il s'écarterait de la version retenue dans l'arrêt attaqué.
2.
2.1. La recourante dénonce une violation de son droit d'être entendue (art. 29 al. 2 Cst.), plus précisément de son droit d'obtenir une décision motivée. Elle reproche à la Cour d'appel civile d'avoir "avalisé purement et simplement la thèse" des premiers juges selon laquelle l'assureur a eu connaissance de la réticence le 12 novembre 2009, alors même que la Cour disait ignorer l'origine de cette date.
2.2. L'autorité précédente a exposé de manière adéquate, sous l'angle de l'art. 29 al. 2 Cst., pour quels motifs elle jugeait infondé le grief relatif à la date précitée (consid. 3.3.1 et 4.3.2 de l'arrêt attaqué). En réalité, la recourante conteste le rejet même du grief, ce qui ne relève pas du droit d'être entendu (cf. infra consid. 6).
3.
3.1. La recourante fait grief aux juges vaudois d'avoir constaté certains faits de façon manifestement inexacte, notamment d'avoir indûment retenu que le questionnaire d'assurance était clairement formulé.
3.2. Relève du fait le point de savoir quelles questions ont été posées dans le formulaire d'assurance, quelles réponses ont été données et quelle était la situation réelle. En revanche, déterminer si l'assureur a posé des questions précises et sans ambiguïté, respectivement si le preneur d'assurance a répondu correctement à la question telle qu'il pouvait la comprendre de bonne foi est une opération qui relève du droit. Or, l'argumentation de la recourante s'en prend exclusivement à des questions de droit; elle plaide en substance avoir répondu correctement à la question posée telle qu'elle pouvait de bonne foi la comprendre.
4.
La recourante conteste avoir commis une réticence autorisant la compagnie d'assurance à refuser de l'indemniser pour le sinistre du 10 avril 2009. Il sied de rappeler au préalable les dispositions topiques de la LCA et certains éléments de jurisprudence.
L'<ref-law> impose au proposant/preneur d'assurance une obligation de renseigner au moment où il s'apprête à conclure un contrat d'assurance. Sa teneur est la suivante:
" 1 Le proposant doit déclarer par écrit à l'assureur suivant un questionnaire ou en réponse à toutes autres questions écrites, tous les faits qui sont importants pour l'appréciation du risque [dans la version allemande: alle für die Beurteilung der Gefahr erheblichen Tatsachen ], tels qu'ils lui sont ou doivent être connus lors de la conclusion du contrat.
2 Sont importants tous les faits [ Gefahrstatsachen ] de nature à influer sur la détermination de l'assureur de conclure le contrat ou de le conclure aux conditions convenues.
3 Sont réputés importants les faits [ Gefahrstatsachen ] au sujet desquels l'assureur a posé par écrit des questions précises, non équivoques."
L'<ref-law> énonce les conséquences de la violation de l'obligation de renseigner, c'est-à-dire de la réticence:
" 1 Si celui qui avait l'obligation de déclarer a, lors de la conclusion du contrat, omis de déclarer ou inexactement déclaré un fait important [ eine erhebliche Gefahrstatsache ] qu'il connaissait ou devait connaître (réticence), et sur lequel il a été questionné par écrit, l'assureur est en droit de résilier le contrat; il doit le faire par écrit. La résiliation prend effet lorsqu'elle parvient au preneur d'assurance.
2 Le droit de résiliation s'éteint quatre semaines après que l'assureur a eu connaissance de la réticence.
3 Si le contrat prend fin par résiliation en vertu de l'al. 1, l'obligation de l'assureur d'accorder sa prestation s'éteint également pour les sinistres déjà survenus lorsque le fait qui a été l'objet de la réticence [ die nicht oder unrichtig angezeigte erhebliche Gefahrstatsache ] a influé sur la survenance ou l'étendue du sinistre. Dans la mesure où il a déjà accordé une prestation pour un tel sinistre, l'assureur a droit à son remboursement.
4 (...)."
Selon la jurisprudence, les faits sur lesquels porte l'obligation de renseigner (Gefahrstatsachen) comprennent tous les faits qui entrent en considération pour l'appréciation du risque, soit tous ceux qui peuvent éclairer l'assureur quant à l'étendue du risque à couvrir. Sont visés non seulement les faits qui sont la cause du risque ( Tatsachen, welche die Gefahr verursachen ), mais aussi ceux qui permettent de tirer des déductions quant à l'existence de ces sources de risque (<ref-ruling> consid. 4c; 55 II 55 p. 58; plus récemment, 134 III 511 consid. 3.3.2 p. 513), en d'autres termes, "toutes les circonstances permettant de conclure à l'existence de facteurs de risque" (<ref-ruling> consid. 2.4 p. 337; <ref-ruling> consid. 2a p. 336). En matière d'assurance-accident, est pertinent pour l'appréciation du risque le fait que le proposant ait déjà subi des accidents, respectivement ait déjà touché des prestations d'assurance; un tel fait peut être l'indice d'une situation favorisant la survenance d'accidents ou d'une imprudence de l'assuré, et partant d'un risque plus élevé (ATF 68 II 328 consid. 1 p. 331).
Le devoir de renseigner incombant au preneur d'assurance porte uniquement sur les faits (importants pour l'appréciation du risque) au sujet desquels la compagnie d'assurance a posé des questions expresses et non équivoques; le preneur n'a pas à renseigner spontanément sur les risques dont il a connaissance (<ref-ruling> consid. 3.3.2 p. 513; <ref-ruling> consid. 5a). L'<ref-law> présume que le fait est important si l'assureur a posé une question écrite à son sujet. Il ne s'agit cependant que d'une présomption, susceptible d'être renversée. Pour ce faire, aucune preuve particulière n'est requise; il suffit par exemple que le contraire ressortisse à l'évidence. La présomption est ainsi renversée s'il apparaît que le proposant a omis un fait qui, considéré objectivement, apparaît totalement insignifiant. Tel est le cas d'une consommation de joints de cannabis à quelques reprises uniquement, plus de dix ans avant la conclusion du contrat d'assurance. En tenant compte de toutes les circonstances du cas concret et en se livrant à une appréciation objective fondée sur le principe de la bonne foi, il faut se demander si l'assureur, dans l'hypothèse où la vérité lui aurait été dite, n'aurait pas conclu le contrat, ou ne l'aurait pas conclu aux mêmes conditions. Il s'agit de déterminer la volonté hypothétique de l'assureur, question de droit que le Tribunal fédéral revoit librement (<ref-ruling> consid. 2.4).
Pour qu'il y ait violation de l'obligation de déclarer, et partant réticence selon l'<ref-law>, il faut que la réponse donnée à la question de l'assureur ne soit pas conforme à la vérité, par omission ou inexactitude. La réticence réside dans une divergence entre la vérité et ce qui a été déclaré. I l s'agit au préalable de déterminer si la question formulée par l'assureur était précise et non équivoque; en effet, il ne saurait y avoir de réticence si la réponse donnée à une question ambiguë apparaît véridique, eu égard à la manière dont la question pouvait être comprise de bonne foi par son destinataire. Il faut rechercher si, en fonction des faits qu'il connaissait ou devait connaître, le proposant était en mesure de donner une réponse véridique (<ref-ruling> consid. 2.3).
5.
5.1. La recourante plaide que la question "avez-vous eu des sinistres..." laissait penser que l'assureur était préoccupé uniquement par les sinistres présentant un lien avec elle, en tant que personne morale preneuse d'assurance. L'assureur n'aurait pas fait clairement comprendre qu'il voulait être renseigné sur tous les sinistres concernant les conducteurs potentiels du véhicule d'entreprise, y compris sur les sinistres sans lien avec la gestion et l'exploitation de la société, et même antérieurs à sa fondation en décembre 2005. De son point de vue, les sinistres d'avril 2004 et d'avril 2005 concernant D._ n'avaient pas à être mentionnés dès lors qu'ils étaient antérieurs à sa fondation, et sans lien avec elle.
Un second motif aurait dispensé la recourante de les annoncer. L'associé D._ n'était impliqué dans le sinistre du 20 avril 2004 que comme conducteur du véhicule d'un tiers, de sorte que cet événement n'affectait pas l'assurance qu'il avait éventuellement contractée. En outre, il n'était impliqué dans le sinistre du 14 avril 2005 que comme preneur d'assurance, n'endossant dès lors aucune responsabilité du fait de cet accident.
5.2. Il est opportun de replacer la question litigieuse dans son contexte. Celle-ci s'inscrit dans une rubrique intitulée "Questions sur la personne". Elle est précédée par deux autres questions:
- "Avez-vous - ou avez-vous déjà eu - une assurance véhicules automobiles?
- La conclusion d'une assurance responsabilité civile ou casco automobile vous a-t-elle ja mais été refusée ou l'acceptation ou la continuation d'une telle assurance a-t-elle été subordonnée à des conditions aggravantes?"
Survient alors la question litigieuse:
- "Avez-vous eu des sinistres ou vous êtes-vous fait retirer votre permis au cours des 5 dernières années? Ou cela a-t-il été le cas pour un (e) conducteur/trice habituel (le) de vos véhicules?
- Cas de sinistres
- Retrait du permis "
Il est ensuite demandé:
- "Qui conduit le véhicule déclaré le plus fréquemment?"
5.3. L'on peut donner acte à la recourante de ce que le formulaire préimprimé n'est pas totalement adapté au cas où le preneur d'assurance est une personne morale. Les questions posées à la deuxième personne du pluriel (forme de politesse) sont destinées au preneur d'assurance/proposant. Or, si la société preneuse d'assurance était susceptible d'avoir une autre assurance véhicules automobiles ou d'avoir essuyé un refus ou un "malus" de la part d'un autre assureur, elle ne pouvait clairement pas avoir subi un retrait de permis dans les cinq dernières années. Cela étant, la question "avez-vous eu des sinistres [ou des retraits de permis]" s'adresse aussi aux conducteurs habituels de (s) véhicule (s) de la preneuse d'assurance, soit nécessairement des personnes physiques amenées à conduire fréquemment le (s) véhicule (s) d'entreprise pour le (s) quel (s) une assurance est demandée. Il s'agit de mesurer le risque encouru en contractant une assurance RC et casco sur un véhicule automobile, risque qui dépend en particulier de la personne et du comportement des conducteurs et peut être mesuré notamment au regard de leurs antécédents. L'assureur a demandé des renseignements sur les utilisateurs habituels du véhicule et défini la période de prospection à cinq ans. Eu égard au but évident d'une telle question, l'associée qui s'est chargée de remplir le questionnaire pour la société devait comprendre que la période de prospection ne pouvait pas se réduire aux années d'existence de la société (un peu moins de trois ans) et aux seuls antécédents liés à l'exploitation de celle-ci. Une telle interprétation restrictive serait d'autant plus incongrue que sous rubrique "emploi du véhicule", l'associée a répondu "privé, avec trajets réguliers pour se rendre au travail". En bref, la société recourante ne saurait de bonne foi exciper que seuls des antécédents liés à son activité commerciale devaient être déclarés.
5.4. La recourante reproche à l'assureur de ne pas avoir fait clairement comprendre qu'il entendait être renseigné sur tous les conducteurs amenés à conduire le véhicule.
En réalité, la question "avez-vous eu des sinistres..." s'adresse aux conducteurs habituels du véhicule, et non à tous les conducteurs potentiels. Il est ensuite demandé qui conduit le plus fréquemment le véhicule, ce qui n'exclut pas que d'autres personnes soient aussi amenées à le conduire fréquemment. L'on ne saurait donc considérer que la question "avez-vous eu des sinistres..." visait uniquement le conducteur le plus fréquent du véhicule. La recourante ne le prétend du reste pas. La question concerne toutes les personnes physiques conduisant fréquemment le véhicule assuré par la société.
La cour cantonale a constaté que D._ était associé gérant de la société preneuse d'assurance depuis le 31 juillet 2008 et qu'il avait l'habitude de conduire ses véhicules au moment de la signature de la proposition d'assurance. La recourante ne conteste pas ces faits, en particulier l'élément central selon lequel le prénommé, lorsque la proposition d'assurance a été signée, avait l'habitude de conduire le véhicule BMW à raison duquel la société entendait obtenir une assurance; elle ne remet pas en cause la déduction qui en est faite, à savoir que le prénommé était un "conducteur habituel" du véhicule assuré, et partant visé par la question "avez-vous eu des sinistres...". Ce point est dès lors acquis.
5.5. La recourante objecte que la question "avez-vous eu des sinistres..." ne visait pas les sinistres dans lesquels le conducteur habituel était impliqué comme conducteur au volant du véhicule assuré par un tiers; elle relève que dans une telle hypothèse, le conducteur ne causait aucun frais à son propre assureur.
La définition du mot "sinistre" varie d'un dictionnaire à l'autre. Pour le Petit Larousse illustré, il s'agit d'un "fait dommageable pour soi-même ou pour autrui, de nature à mettre en jeu la garantie d'un assureur". Selon le Petit Robert, il s'agit des "dommages ou pertes subis par des objets assurés". Le Dictionnaire Littré évoque des "pertes et dommages qui arrivent aux assurés, surtout en cas d'incendie et, dans les assurances maritimes, de naufrage."
Pour déterminer le sens du mot sinistre, il faut replacer la question dans son contexte. Elle vise manifestement à renseigner l'assureur sur le comportement routier des conducteurs habituels du véhicule d'entreprise, en fonction de leurs antécédents. Doivent être indiqués d'éventuels retraits de permis. Dans ces circonstances, le terme "sinistres" couvre en tout cas les accidents causés par le conducteur habituel qui ont entraîné l'intervention d'un assureur. Dans la mesure où il s'agit de mesurer le danger lié au mode de conduite des conducteurs habituels, peu importe que l'assureur soit celui du conducteur ou celui du tiers détenteur du véhicule. L'on observe au demeurant qu'aucun lien n'est établi entre la première et la troisième question, du type: "avez-vous (eu) une assurance véhicules automobiles; si oui, avez-vous eu des sinistres au cours des cinq dernières années?". La question "avez-vous eu des sinistres..." conserve son sens même en l'absence d'assurance antérieure ou concomitante. Elle s'étend aux conducteurs habituels du véhicule, qui ne sont pas nécessairement visés par les deux précédentes questions relatives à des assurances. Pour le surplus, l'on ne saurait nier qu'elle porte sur un fait pertinent pour l'appréciation du risque (Gefahrstatsache), s'agissant d'une assurance RC et casco liée à un véhicule automobile. Enfin, la recourante ne conteste pas qu'elle devait connaître un sinistre ayant impliqué l'associé gérant, qui était le compagnon de longue date de l'associée ayant rempli la proposition.
5.6. La recourante plaide qu'elle n'avait pas à déclarer un sinistre dans lequel le conducteur visé par la question n'était impliqué que comme preneur d'assurance, étant donné qu'il n'avait aucune responsabilité dans l'accident.
Force est d'admettre que l'implication dans un accident en tant que preneur d'assurance et détenteur du véhicule conduit par un tiers ne renseigne pas sur la "dangerosité" du conducteur et sur les risques liés à sa manière de conduire. Le preneur peut certes avoir de mauvais conducteurs dans son entourage, et cet élément peut en soi représenter un risque; toutefois l'assureur a ici limité l'appréciation des risques aux conducteurs habituels du véhicule d'entreprise. Prima facie, la question ne semble pas avoir été formulée de façon suffisamment précise pour que sa destinataire ait dû comprendre qu'elle visait aussi de précédents accidents dans lesquels le conducteur habituel avait été impliqué comme preneur d'assurance. Quoi qu'il en soit, pour que l'assureur puisse refuser sa prestation, il faut que le fait occulté présente un lien de causalité avec le sinistre (<ref-law>; infra, consid. 7). Or, le sinistre du 14 avril 2005, dans lequel l'associé D._ n'était impliqué que comme preneur d'assurance, ne présente de toute façon pas un tel lien avec le sinistre du 10 avril 2009, qu'il a occasionné au volant du véhicule assuré.
5.7. En définitive, la recourante n'a pas répondu au questionnaire de façon conforme à la vérité en passant notamment sous silence un sinistre remontant à moins de cinq ans (20 avril 2004) dont la responsabilité incombait à son associé gérant, lequel était visé par la question en tant que conducteur habituel du véhicule assuré.
5.8. L'<ref-law> présume que les faits au sujet desquels l'assureur a posé par écrit des questions précises, non équivoques, sont importants, à savoir qu'ils sont de nature à influer sur la détermination de l'assureur de conclure le contrat, ou de le conclure aux conditions convenues (<ref-law>; cf. supra consid. 4).
La recourante a plaidé à tort que l'assureur n'avait pas posé une question précise, respectivement qu'elle pouvait de bonne foi s'abstenir de mentionner notamment le sinistre du 20 avril 2004. Elle n'a pas développé d'argumentation subsidiaire visant à contester l'importance de ce fait occulté. Le sinistre, antérieur d'un peu plus de quatre ans à la signature de la proposition, a occasionné quelque 6'840 fr. de frais de réparation. Il faut admettre, eu égard au montant en cause, que ce fait n'est pas anodin au point d'appeler la conclusion indiscutable et manifeste que l'assureur aurait contracté un contrat aux mêmes conditions que celles convenues s'il avait eu connaissance de ce fait. Pour le surplus, la recourante ne prétend pas avoir rapporté la preuve d'éléments démontrant que dans les circonstances concrètes, l'on pouvait de bonne foi pronostiquer que l'assureur aurait contracté aux mêmes conditions s'il avait eu connaissance de ce fait.
6.
6.1. La recourante conteste la validité de la résiliation du contrat, au motif que l'assureur n'aurait pas démontré avoir exercé son droit dans le délai de quatre semaines imparti par l'<ref-law>. Elle reproche à la Cour d'appel d'avoir retenu la date du 12 novembre 2009 comme point de départ dudit délai. Ce faisant, la Cour aurait renversé le fardeau de la preuve en se fondant sur une date qui n'était prouvée par aucune pièce et en exigeant de la partie adverse qu'elle démontre en quoi cette date était erronée.
6.2. L'importance du fait objet de la réticence étant acquise, tout comme la divergence entre la déclaration et la vérité, il faut admettre que l'assureur était en droit de résilier le contrat moyennant respect des conditions posées à l'art. 6 al. 1 et 2 LCA. Le grief de la recourante porte uniquement sur l'exigence du délai.
6.3. En vertu de l'<ref-law>, chaque partie doit, si la loi ne prescrit le contraire, prouver les faits qu'elle allègue pour en déduire son droit. Cette disposition règle, pour tout le domaine du droit civil fédéral, la répartition du fardeau de la preuve; elle détermine quelle partie supporte les conséquences de l'absence de preuve. Le juge viole l'<ref-law> lorsqu'il tient pour exactes les allégations non prouvées d'une partie, nonobstant leur contestation par la partie adverse (<ref-ruling> consid. 5.4).
Depuis le 1 er janvier 2006, l'<ref-law> énonce que le droit de résiliation s'éteint quatre semaines après que l'assureur a eu connaissance de la réticence. Dans sa teneur antérieure, l'<ref-law> disposait qu'en cas de réticence, "l'assureur n'[étai]t pas lié par le contrat, à condition qu'il s'en soit départi dans les quatre semaines à partir du moment où il a[vait] eu connaissance de la réticence". Selon la jurisprudence, il incombait à l'assureur de rapporter la preuve du respect de ce délai de péremption (ATF <ref-ruling> consid. 3 p. 338).
Comme le fait observer un auteur, le respect du délai était autrefois une condition d'efficacité du retrait déclaré par l'assureur, tandis qu'actuellement, l'expiration du délai est une circonstance conduisant à l'extinction du droit de résiliation non exercé. Il n'en demeure pas moins qu'il s'agit toujours d'un délai de péremption ( PETER GAUCH, Das Kündigungsrecht des Versicherers bei verletzter Anzeigepflicht des Antragstellers, in RSJB 2006 p. 366 s.). Force est d'admettre que la nouvelle formulation légale ne modifie pas le fardeau de la preuve quant au respect du délai de péremption. L'assureur dispose d'un droit formateur qu'il ne peut exercer que dans un certain délai; il lui incombe de prouver qu'il a agi en temps utile (cf. HANS PETER WALTER, in Berner Kommentar, 2012, n° 624 ad <ref-law>).
6.4. Plusieurs auteurs sont d'avis que la déclaration de résiliation doit parvenir au preneur d'assurance avant l'expiration du délai de péremption ( GAUCH, op. cit., p. 367; URS CH. NEF, in Basler Kommentar, Bundesgesetz über den Versicherungsvertrag, 2001, n° 16 ad <ref-law> et les réf.; NEF/VON ZEDTWITZ, in Basler Kommentar, Nachführungsband, 2012, p. 63 et les réf.; ROELLI/KELLER, Kommentar zum Schweizerischen Bundesgesetz über den Versicherungsvertrag, vol. I, 2 e éd. 1968, p. 140). L'on trouve aussi l'opinion selon laquelle il suffit que la déclaration soit postée dans le délai de péremption ( EVA POUGET-HÄNSELER, Anzeigepflichtverletzung: Auswirkungen der Revision auf die Praxis, REAS 2006 p. 28 s.).
Dans certains arrêts, le Tribunal fédéral se réfère à la date de la déclaration de résiliation, sans qu'il apparaisse nettement que l'issue eût été différente si l'on s'était fondé sur la date de réception (<ref-ruling> consid. 2.1; <ref-ruling> p. 504 i.f.; arrêts 5C.5/2005 du 23 juin 2005 consid. 3.3 i.f. et 3.4; 5C.229/1993 du 18 mars 1994 consid. 4b i.f.). La question posée par la doctrine reste dès lors sujette à discussion.
Le délai de quatre semaines ne commence à courir que lorsque l'assureur est complètement orienté sur tous les points concernant la réticence et qu'il en a une connaissance effective complète, de simples doutes à cet égard étant insuffisants (ATF <ref-ruling> consid. 3a p. 340).
6.5. Les premiers juges ont retenu que la compagnie d'assurance avait appris par courrier du 12 novembre 2009 la réticence relative aux sinistres d'avril 2004 et d'avril 2005. Pour sa part, l'autorité d'appel a dit ignorer à quoi correspondait cette date, en ajoutant ce qui suit:
"S'il est vrai que la preuve du respect du délai incombe à l'assureur (...), encore faudrait-il, pour qu'il y ait lieu de charger l'assureur du fardeau de cette preuve, qu'il y ait contestation au sujet du délai auquel il s'est référé. Or, l'appelante n'allègue pas que l'intimée [réd.: la compagnie d'assurance] aurait eu connaissance de ces faits antérieurement. En revanche, sans qu'il soit nécessaire de connaître le canal d'information de l'intimée, celle-ci a établi qu'elle s'était prévalue de la réticence dans un délai de quatre semaines ayant couru depuis une date qu'elle a indiquée comme étant celle à laquelle les informations décisives lui étaient parvenues. Dès lors qu'il ne suffit pas à l'appelante d'invoquer uniquement le fait que le moment où l'intimée a été renseignée n'est pas établi, il se justifie de s'en tenir à la déclaration de l'intimée sur ce moment (...) ".
6.6. L'assureur doit établir par pièces ou autres moyens de preuve le moment où il a eu connaissance de la réticence. Il est dispensé de rapporter une telle preuve uniquement si la partie adverse a admis ses allégations, ce qui n'est pas le cas en l'occurrence: l'assureur s'est contenté d'alléguer qu'il s'était prévalu d'une réticence par courrier du 2 décembre 2009 (all. 118), "soit dans le délai de 4 semaines prévu à l'<ref-law>" (all. 119, "allégué de droit laissé sans preuve"). La recourante a contesté ces allégués. Comme elle le fait observer, la date litigieuse apparaît dans le courrier du 2 décembre 2009, par lequel l'assureur a déclaré résilier le contrat. La cour cantonale ne prétend pas que la déclaration faite dans ce document soit propre à établir le moment où l'assureur a eu connaissance de la réticence. Elle semble plutôt avoir considéré à tort que le fait n'était pas contesté.
Quoi qu'il en soit, la proposition d'assurance mentionnait uniquement le nom de C._ comme conductrice la plus fréquente du véhicule; il n'en ressortait pas que D._ était un conducteur habituel. Après que la carrosserie lui eut annoncé le sinistre du 10 avril 2009, l'assureur a invité plusieurs fois la preneuse d'assurance à remplir une déclaration de sinistre, ce qui n'a été fait que le 30 septembre 2009 (date de la déclaration); D._ était désigné comme le conducteur du véhicule au moment de l'accident. Celui-ci a été interrogé par un inspecteur des sinistres le 6 novembre 2009. Il a expliqué à cette occasion qu'il conduisait le véhicule assuré à titre privé et professionnel depuis août 2008, et qu'il le conduisait plus souvent que C._.
Rien n'indique que l'assureur ait eu connaissance avant cet entretien du fait que D._ était un "conducteur habituel du véhicule". Si l'assureur pouvait connaître les associés de la société en consultant le Registre du commerce, cela ne signifiait pas encore que ces associés conduisaient fréquemment le véhicule. Lors de l'entretien du 6 novembre 2009, l'assureur a interrogé l'associé sur l'utilisation qu'il faisait du véhicule assuré, ce à quoi l'associé a répondu qu'il le conduisait depuis août 2008, soit avant la signature de la proposition d'assurance. C'est du reste ce même 6 novembre 2009, manifestement à l'issue de l'entretien, que l'assureur a interpellé le Service des automobiles pour être renseigné sur l'associé. Au vu de l'état de fait qui lie la cour de céans, l'assureur a pu identifier le 6 novembre 2009 que l'auteur du sinistre était un conducteur habituel du véhicule, et qu'il était donc visé par la question du formulaire relative aux sinistres et retraits de permis dans les cinq dernières années. Il ressort du dossier que l'assureur a posté le 3 décembre 2009 sa déclaration de résiliation datée du jour précédent. En appel, la preneuse d'assurance a elle-même admis que le pli avait été reçu au plus tôt le 4 décembre 2009 (ch. 62b de son appel). Or, cette date correspondait à un vendredi, exactement quatre semaines après le vendredi 6 novembre 2009. Il faut ainsi conclure que le délai de l'<ref-law> a été respecté, même si l'on devait suivre la thèse doctrinale selon laquelle la date de réception de la déclaration fait foi (cf. supra consid. 6.4).
Le grief se révèle infondé.
7.
7.1. La recourante reproche enfin à la Cour d'appel d'avoir violé l'<ref-law> en retenant indûment un lien de causalité entre les faits occultés et le sinistre du 10 avril 2009. La cour aurait méconnu la distinction fondamentale entre le sort du contrat, qui dépend de l'existence d'une réticence, et le sort des prestations, qui dépend d'un lien de causalité.
7.2. L'on rappelle que l'<ref-law> règle les conséquences de la violation de l'obligation de déclarer (réticence). Dans sa teneur initiale (consid. 6.3 supra), cette disposition permettait à l'assureur de résoudre le contrat avec effet rétroactif (ex tunc), et donc de refuser ses prestations pour un sinistre déjà survenu même s'il était sans rapport avec le fait objet de la réticence (<ref-ruling> consid. 6.1; <ref-ruling> consid. 2.2; NEF, op. cit., n° 31 ad <ref-law>; ROELLI/KELLER, op. cit., p. 128 et 133). A titre d'exemple, un renseignement erroné sur la santé cardiaque de l'assuré pouvait conduire à refuser une prestation d'assurance pour une incapacité de travail causée par des dorsolombalgies. Cette règle étant jugée trop sévère, le Conseil fédéral a proposé de remplacer le droit de se départir du contrat par un droit de résiliation sans effet rétroactif (ex nunc) et de permettre à l'assureur de refuser sa prestation uniquement s'il existe un lien de causalité entre le fait non déclaré ou inexactement déclaré et le sinistre survenu par la suite (Message du 9 mai 2003, FF 2003 3369 s.; <ref-ruling> consid. 6.1; <ref-ruling> consid. 2.2). Dans le projet conçu par le Conseil fédéral, l'exigence du lien de causalité était formulée telle qu'actuellement (FF 2003 3474, art. 6 al. 3 du projet), à savoir que " (...) l'obligation de l'assureur d'accorder sa prestation s'éteint également pour les sinistres déjà survenus lorsque le fait qui a été l'objet de la réticence a influé sur la survenance ou l'étendue du sinistre".
La commission du Conseil des Etats a jugé que cette réglementation sur le lien de causalité ignorait la problématique des indices permettant de tirer des déductions sur le risque (circonstances indicatives, indizierende Umstände); en effet, selon une jurisprudence constante, ces circonstances sont aussi pertinentes pour l'appréciation du risque, et partant soumises à l'obligation de déclarer. Aussi la commission a-t-elle proposé de compléter l'art. 6 du projet à deux égards: d'une part, en ajoutant que les faits importants soumis à déclaration obligatoire comprennent aussi "les circonstances qui permettent de conclure à l'existence d'un fait important" (al. 1); d'autre part, en précisant que l'assureur est dispensé de fournir sa prestation non seulement pour les sinistres dont la survenance ou l'étendue a été influencée par le fait objet de la réticence, mais aussi pour les sinistres "qui sont considérés comme étant la réalisation d'un risque que l'assureur n'a pas pu apprécier avec fiabilité en raison d'un manquement à l'obligation de déclarer" (al. 3). Le rapporteur de la commission et le représentant du Conseil fédéral ont insisté sur le fait qu'il s'agissait uniquement de codifier la jurisprudence relative aux faits pertinents pour l'appréciation du risque (Gefahrstatsachen). Des exemples concrets de circonstances indicatives ont été donnés: antécédents d'accidents, condamnations pour conduite en état d'ébriété, retraits de permis de conduire, médecins consultés dans le passé.
Si le Conseil des Etats a suivi sa commission (BOCE 2003 1235-1238), le Conseil national a jugé que la contre-proposition allait trop loin (BOCN 2004 405-407). En substance, les opposants ne voulaient pas étendre au détriment des assurés la notion de fait pertinent pour l'évaluation du risque; ils critiquaient l'imprécision du concept de circonstances indicatives et le fait qu'il serait ainsi laissé à l'appréciation des tribunaux. L'on affaiblissait l'exigence du lien de causalité en permettant à l'assureur de refuser sa prestation lorsque l'assuré avait donné de faux renseignements dépourvus de lien avec la survenance du sinistre, mais ayant empêché l'assureur d'évaluer correctement le risque (intervention des parlementaires Sommaruga et Leutenegger Oberholzer, BOCE 2003 1237 et BOCN 2004 406).
En deuxième lecture, la commission du Conseil des Etats a proposé de suivre le Conseil national et d'adhérer au texte du Conseil fédéral, estimant que l'<ref-law> et la jurisprudence relative aux Gefahrstatsachen étaient finalement suffisants. Le représentant du Conseil fédéral a souligné que le groupe d'experts oeuvrant à la révision totale de la LCA allait examiner de près la notion de circonstances indicatives, qui était très difficile à appréhender; il attendait de la pratique judiciaire qu'elle continue à contribuer à la prise en compte adéquate de ces circonstances, désormais dans le cadre modifié de l'<ref-law>. En fin de compte, l'art. 6 al. 3 du projet a été adopté tel quel (BOCE 2004 336-337).
En septembre 2011, le Conseil fédéral a présenté un projet de révision totale de la LCA; sur la question du lien de causalité, il maintenait la formulation selon laquelle la survenance ou l'étendue du sinistre devait avoir été influencée par les faits importants déclarés inexactement (FF 2011 7128 s. et 7204 ad art. 19). Le parlement a renvoyé le projet au Conseil fédéral en l'invitant à limiter la révision à des points précis.
7.3. Au sein de la doctrine, d'aucuns prônent une interprétation large de l'<ref-law>, permettant à l'assureur de refuser sa prestation y compris lorsque la violation du devoir de déclarer porte sur des indices qui ne sont pas la cause du sinistre, mais qui permettent de déduire l'existence d'un risque qui s'est finalement réalisé. Est cité comme exemple le cas de l'assuré ayant occulté de précédents accidents ( VINCENT BRULHART, Droit des assurances privées, 2008, p. 226 s. note 524; POUGET-HÄNSELER, op. cit., REAS 2006 30, qui tire toutefois argument du fait que la réticence influence l'étendue de la prestation due par l'assureur). STEPHAN FUHRER préconise de s'inspirer de la jurisprudence allemande et de retenir un lien de causalité lorsque les circonstances indicatives, si elles avaient été déclarées correctement, auraient permis de constater l'existence d'un facteur de risque qui est la cause du sinistre. L'auteur évoque le cas d'un assuré qui, interrogé sur d'éventuels traitements en milieu hospitalier, passe sous silence un séjour en hôpital dû à un infarctus, séjour qui, s'il avait été révélé, aurait conduit l'assureur à faire remplir un questionnaire complémentaire dans lequel il posait expressément la question d'éventuelles maladies cardiaques ( FUHRER, Schweizerisches Privatversicherungsrecht, 2011, nn. 6.162 et s.; pour le droit allemand, cf. PRÖLSS/MARTIN, Versicherungsvertragsgesetz, 29 e éd. 2015, n° 38 ad § 21 VVG).
D'autres auteurs, sans s'étendre sur la question, semblent interpréter à la lettre l'<ref-law>, en ce sens que la prestation ne peut être refusée que si le fait objet de la réticence a joué un rôle dans la survenance ou l'étendue du sinistre ( ANDREA EISNER-KIEFER, Kausalität und Verschulden im VVG und VE-VVG, REAS 2008 217; GAUCH, op. cit., p. 370; GROSS/OVERNEY, in REAS 2012 53 ad arrêt 4A_303/2010 cité infra). Pour le Commentaire bâlois, l'on doit pouvoir pronostiquer que le sinistre ne serait pas survenu ou pas dans la même ampleur, en adoptant la prémisse que les fausses indications données par l'assuré correspondaient à la réalité. Le commentaire reconnaît qu'avec cette interprétation stricte, bon nombre de circonstances pertinentes pour l'estimation du risque ne répondent pas à l'exigence de causalité ( NEF/VON ZEDTWITZ, op. cit., p. 57 ad n. 5).
7.4. La cour de céans a déjà été saisie d'un recours constitutionnel dans lequel l'assuré dénonçait une application arbitraire de l'<ref-law>. Son assureur avait refusé de l'indemniser pour des actes de vandalisme commis sur son véhicule stationné sur la voie publique, l'assuré ayant caché avoir déjà obtenu des prestations d'assurance consécutives à des actes de vol et de vandalisme sur son véhicule. Les deux instances cantonales avaient rejeté son action en paiement. La cour de céans a jugé qu'il n'était pas arbitraire d'admettre qu'un refus de prestation était légalement possible, au vu des opinions émises lors des débats parlementaires et dans la doctrine. Elle précisait que si l'on retenait une notion large de la causalité, encore fallait-il que le fait important passé sous silence se rapporte au risque qui s'était réalisé. Ainsi, un assureur ne saurait refuser d'indemniser l'assuré dont le véhicule parqué a été endommagé en invoquant le fait que l'assuré a occulté des condamnations pour conduite en état d'ébriété ou vitesse excessive (arrêt 4A_303/2010 du 11 août 2010 spéc. consid. 2.4).
7.5. Ce long, mais nécessaire tour d'horizon appelle les réflexions suivantes.
Le parlement a refusé le contre-projet de modifier la formulation de l'<ref-law> quant au lien de causalité, alors même que la problématique des circonstances indicatives avait été évoquée. Les opposants au contre-projet craignaient d'étendre la notion des Gefahrstatsachen et d'affaiblir l'exigence de la causalité. Concernant le premier point, force est de constater que la définition donnée par la jurisprudence (supra consid. 4) découle de la loi elle-même. L'<ref-law> impose en effet de renseigner sur "tous les faits qui sont importants pour l'appréciation du risque". Cette disposition doit permettre à l'assureur d'évaluer correctement le risque qu'il est appelé à couvrir ( FUHRER, op. cit., n. 6.116; NEF, op. cit., n° 1 ad <ref-law>; cf. <ref-ruling> consid. 3c p. 64); en conséquence, il doit pouvoir interroger l'assuré sur tous les éléments qui permettent, directement ou indirectement, de mesurer le risque susceptible de se réaliser. Il s'ensuit que la jurisprudence fondée sur l'<ref-law>, non modifié par la réforme, est toujours valable; le refus du parlement de la codifier dans la loi n'y change rien. L'assuré doit aussi renseigner l'assureur s'il est questionné sur des indices permettant de tirer des déductions sur l'existence d'un risque. Subsiste la question de savoir si l'assureur peut refuser sa prestation lorsque l'assuré a donné des réponses inexactes sur ces indices.
Selon le type d'assurance en cause, le risque est évalué au moyen de faits qui pourront être la cause même du potentiel sinistre, et/ou au moyen d'indices qui ne pourront pas être la cause de l'éventuel sinistre. Typiquement, une affection préexistante de la santé est un facteur de risque qui peut être la cause même du sinistre (incapacité de travail; décès). Dans certaines assurances, l'évaluation du risque dépendra essentiellement d'indices. Ainsi, en matière d'assurance RC et casco liée à un véhicule automobile, le risque d'accident peut se mesurer en fonction de statistiques générales tenant compte notamment de l'âge et du sexe du conducteur, mais aussi en fonction de ses antécédents en matière de circulation routière. Des condamnations ou accidents dus à des excès de vitesse, à l'inattention ou à la conduite sous l'influence de l'alcool peuvent renseigner sur le risque d'accident; ce ne sont pas en soi ces antécédents qui seront la cause du nouvel accident, mais un mauvais comportement, une inaptitude à conduire correctement qui s'est déjà manifestée par le passé. Les cas où un fait pertinent pour l'appréciation du risque peut lui-même avoir un rapport de cause à effet avec un accident de voiture semblent peu fréquents; l'on peut envisager une affection de l'état de santé, sur lequel l'assureur ne pose pas nécessairement des questions.
Si l'on s'en tient strictement à la lettre de l'<ref-law>, l'on en arrive à la conséquence suivante: lorsque l'assurance contractée couvre un risque (par ex. l'incapacité de travail, le décès) constitué par des facteurs pouvant être la cause directe du sinistre (maladie), l'assureur peut refuser sa prestation si l'assuré a répondu de façon erronée aux questions portant sur ces facteurs. En revanche, lorsque le risque couvert (par ex. accident de la circulation) s'évalue essentiellement au moyen d'indices qui ne peuvent être directement la cause du sinistre (antécédents concernant de précédents accidents, retraits de permis, sanctions pour conduite en état d'ébriété), l'assureur doit servir sa prestation en cas de nouvel accident fondé sur un même type de comportement du conducteur. Or, dans un cas comme dans l'autre, le problème est identique, à savoir que l'assureur a été mal renseigné par l'assuré pour l'appréciation d'un risque qui s'est réalisé, la réticence présentant un rapport avec le sinistre. Il apparaît inéquitable de libérer l'assureur dans le premier cas et de l'obliger à fournir sa prestation dans le second, au motif que l'appréciation du risque dépend dans un cas de facteurs qui sont directement la cause du sinistre, alors que dans l'autre, elle doit se fonder principalement sur des facteurs indirects. La formulation légale, typique des cas où une maladie est la cause d'un sinistre (cf. ATF 47 II 476 consid. 2b p. 482), n'est pas adaptée à toutes les situations. Devant le parlement, il a été souligné qu'il n'est pas équitable de faire supporter à l'assureur, et partant aux autres assurés payeurs de primes, les conséquences d'un sinistre dont l'assureur n'a pas pu évaluer correctement la probabilité en raison de renseignements inexacts du preneur d'assurance (cf. intervention du Conseiller fédéral VILLIGER in BOCE 2003 1238; dans ce sens aussi BRULHART, op. cit., p. 227 note 524 in fine). Cet argument fait sens dans le cas présent.
Il est vrai que le parlement a refusé d'adapter la loi bien que l'exemple précis des antécédents en matière de circulation routière ait été invoqué; cet élément n'est toutefois pas déterminant. Le refus d'insérer une règle générale et abstraite permettant d'assouplir le lien de causalité pour toute circonstance indicative dans quelque situation que ce soit, n'exprime pas nécessairement un refus pour la situation particulière des antécédents en matière de circulation routière. De fait, la problématique des circonstances indicatives est variée, comme le montre l'exemple cité par Stephan Fuhrer, qui pose une autre question, soit celle de savoir si l'assureur doit pâtir du fait qu'il n'a pas posé une question précise sur l'état de santé de l'assuré, mais l'a interrogé sur l'existence de séjours hospitaliers, ce qui l'aurait conduit à se renseigner plus avant sur son état de santé en cas de réponse positive. Par ailleurs, la commission du Conseil des Etats et le représentant du Conseil fédéral ont jugé qu'ils pouvaient renoncer à l'adjonction proposée, partant du principe que la jurisprudence relative aux Gefahrstatsachen pouvait être maintenue - ce qui est exact - et que la pratique tiendrait compte de celle-ci dans l'application de l'<ref-law> modifié.
En bref, dans cette situation bien précise de l'assurance RC et casco liée à un véhicule automobile, où la lettre de la loi conduirait à une conséquence inéquitable que le législateur n'a pas pu vouloir, il faut admettre qu'une réticence sur des antécédents du conducteur peut justifier un refus de l'assureur d'accorder sa prestation, pour autant que les antécédents sur lesquels l'assuré a été interrogé donnent des informations sur la probabilité du type de risque qui s'est effectivement réalisé. L'on ne saurait tirer de ce cas particulier une règle générale valant pour toutes les circonstances indicatives.
7.6. En l'occurrence, la preneuse d'assurance a occulté un accident survenu le 20 avril 2004 en raison d'un manque d'attention du conducteur D._. Or, le prénommé a causé le 10 avril 2009 un nouvel accident dû à son inattention, alors qu'il était occupé à manipuler son autoradio. Le fait occulté n'est pas - et ne peut pas être - la cause de l'accident; toutefois, dans un cas comme dans l'autre, l'accident est causé par une violation des règles de la circulation routière due à l'inattention du conducteur. La réticence porte sur un type de risque qui s'est effectivement réalisé - étant entendu que cette question concernant la causalité (<ref-law>) doit être distinguée de celle portant sur le caractère important ou non de (s) antécédent (s) occulté (s) (<ref-law>; supra, consid. 5.8).
En définitive, la cour cantonale n'a pas enfreint l'<ref-law> en considérant que l'assureur pouvait refuser sa prestation.
Dans la mesure où la réticence sur le sinistre d'avril 2004 autorisait déjà l'assureur à rejeter la prétention de la recourante, point n'est besoin d'examiner ses griefs relatifs à l'omission de mentionner le sinistre du 3 septembre 2008.
8.
Au vu de ce qui précède, le recours doit être rejeté. En conséquence, la recourante supportera les frais de la présente procédure et versera une indemnité de dépens à la partie adverse (art. 66 al. 1 et art. 68 al. 1 et 2 LTF).

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