Faits :
A.
A.a. En 1987, en vue de la reconstruction complète de sa piscine, la Commune d'Yverdon-les-Bains (ci-après: la Commune ou la demanderesse) a chargé l'ingénieur chimiste D._ de la direction générale des études en tant que mandataire principal et de l'étude générale d'un projet. Celui-ci a établi un projet. En 1989, la Commune l'a chargé de la direction générale des travaux en tant que mandataire principal.
A.b. Le 18 août 1987, puis le 13 février 1989, la Commune a conclu deux contrats d'ingénieur civil avec C._ SA (ci-après: C._ ou l'ingénieur civil ou la défenderesse) pour la reconstruction de sa piscine. La Commune a confié l'étude géotechnique de la faisabilité du projet à B._ SA (ci-après: B._ ou le géotechnicien).
L'ingénieur civil a considéré que la longueur de pieux de 35 m proposée par le géotechnicien était démesurément grande et que les valeurs de charges indiquées étaient trop pessimistes, de sorte qu'il a proposé à la commune de ne pas suivre son avis.
Après des essais de battage de pieux effectués par deux entreprises, la Commune a adjugé la fourniture et le battage des pieux à la société E._ SA en 1989.
La piscine, soit les bassins et le terrain entourant les constructions, ont été construits sur plus de 200 pieux identiques de 12 m de long, qui ont été battus.
A.c. La piscine a été mise en service en 1991. Des tassements différentiels sont apparus en 1992 déjà, de sorte que l'eau du bassin olympique s'écoulait plus d'un côté. Par la suite, des fissures et d'autres indices d'instabilité sont apparus, de même que des problèmes de régénération de l'eau, avec la formation d'algues.
A.d. Ultérieurement, la commune a fait construire une piscine couverte, pour laquelle une solution avec un radier sur pieux de 7 à 10 m, forés et non battus, a été choisie, la pointe se situant pour tous les pieux à la cote de 421.0 m dans les alluvions deltaïques, et avec des goulottes réglables.
Pour l'arteplage d'Expo.02, des pieux longs de 48 m ont été implantés.
B.
Le 16 décembre 1999, la Commune a ouvert action contre l'ingénieur civil C._ et contre le géotechnicien B._ devant la Cour civile du Tribunal cantonal vaudois, concluant à ce que les deux soient condamnés à lui payer solidairement (ou subsidiairement dans la proportion que justice dira) le montant de 3'500'000 fr., conclusions qu'elle a réduites finalement à 801'398 fr. 65 avec intérêts à 5% l'an dès le 16 décembre 1999.
En 1994, une expertise avait été effectuée par le Prof. F._ de l'EPFL, puis d'autres l'ont été par la suite.
Un expert judiciaire a été désigné en la personne de G._ en 2005. Celui-ci a rendu son rapport d'expertise le 29 juillet 2005, un complément d'expertise le 14 juillet 2006, un rapport d'expertise après réforme le 30 janvier 2009, un rapport d'expertise sur nova le 15 novembre 2010 et un complètement d'expertise après audience le 27 août 2012.
Il a estimé les travaux de remise en état à 801'399 fr. 65 (au jour de l'expertise en 2005).
Par jugement du 14 juin 2013, la Cour civile a partiellement admis la demande et condamné la défenderesse C._ à payer à la demanderesse la somme de 378'947 fr. 85 avec intérêts à 5% l'an dès le 3 janvier 2012 et la somme de 168'150 fr. sans intérêts, correspondant la première aux frais de remise en état et la seconde aux frais de contrôles futurs, déduction faite des frais de goulottes réglables qui auraient dû être posées. La Cour civile a estimé qu'il y avait eu violation de son devoir de diligence par l'ingénieur civil et causalité adéquate puisque si l'ingénieur civil avait respecté son obligation de diligence dans le choix des fondations et dans le suivi de la procédure de battage des pieux, la piscine n'aurait pas subi les tassements survenus et la commune n'aurait pas subi de dommage.
Elle a rejeté la demande dirigée contre le géotechnicien B._.
Statuant le 23 juin 2014, la Cour d'appel civile du Tribunal cantonal vaudois a admis l'appel de la défenderesse C._ et, réformant le jugement de première instance, a rejeté la demande dirigée contre C._, le jugement étant confirmé pour le surplus.
C.
Contre cet arrêt, la Commune a interjeté un recours en matière civile au Tribunal fédéral le 15 septembre 2014. Elle conclut à sa réforme en ce sens que sa demande est partiellement admise et la défenderesse C._ condamnée à lui payer la somme de 378'947 fr. 85 avec intérêts à 5% l'an dès le 3 janvier 2012 et la somme de 168'150 fr. sans intérêts, comme l'avait fait l'autorité de première instance. Subsidiairement, elle conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à l'instance précédente pour nouveau jugement dans le sens des considérants. Elle déclare invoquer la mauvaise application du CO en matière de responsabilité civile de l'ingénieur (art. 95 al. 1 let. a et 97 LTF).
L'intimée conclut à l'irrecevabilité du recours, subsidiairement à son rejet.
L'effet suspensif a été attribué au recours, la partie adverse ne s'y étant pas opposée.

Considérant en droit :
1. Interjeté en temps utile (art. 100 al. 1, 46 al. 1 let. b et et 45 al. 1 LTF) par la demanderesse qui a succombé dans ses conclusions (<ref-law>) et dirigé contre une décision finale (<ref-law>) rendue sur appel par un tribunal cantonal supérieur (<ref-law>) dans une action en responsabilité contre l'ingénieur civil (<ref-law>) dont la valeur litigieuse atteint le seuil de 30'000 fr. (<ref-law>), le recours en matière civile est recevable au regard de ces dispositions.
En tant qu'elle conclut à ce que l'arrêt entrepris soit réformé en ce sens que l'appel formé par la défenderesse est rejeté et le jugement rendu par la Cour civile confirmé, la recourante conclut en réalité à la réforme de l'arrêt entrepris en ce sens que sa demande est admise et la défenderesse condamnée à lui payer les montants de 378'947 fr. 85 avec intérêts à 5% l'an dès le 3 janvier 2012 et de 168'150 fr. sans intérêts. L'état de fait du présent arrêt a été modifié dans ce sens.
La codéfenderesse B._ a été libérée de toute responsabilité par les deux instances cantonales. La demanderesse recourante ne prend pas de conclusions à son encontre, de sorte que B._ n'est plus partie à la présente procédure devant le Tribunal fédéral. En tant qu'il est formellement dirigé contre celle-ci, le présent recours est irrecevable.
2.
Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>). Lorsque le recourant soutient que les faits ont été constatés de manière arbitraire, que les preuves ont été appréciées de manière insoutenable, le Tribunal fédéral se montre réservé dans son contrôle, vu le large pouvoir qu'il reconnaît en ce domaine aux autorités cantonales (<ref-ruling> consid. 4b; <ref-ruling> consid. 9 et les références). Il n'intervient, du chef de l'art. 9 Cst., que si le juge du fait n'a manifestement pas compris le sens et la portée d'un moyen de preuve, a omis sans raisons objectives de tenir compte des preuves pertinentes ou a effectué, sur la base des éléments recueillis, des déductions insoutenables (<ref-ruling> consid. 4.2; <ref-ruling> consid. 4.2).
Il appartient au recourant de soulever expressément le grief d'arbitraire et d'exposer celui-ci de manière claire et détaillée (<ref-ruling> consid. 1.2). Pour chaque constatation de fait incriminée, il doit démontrer comment les preuves administrées auraient dû, selon lui, être correctement appréciées et en quoi leur appréciation par l'autorité cantonale est insoutenable (arrêt 5A_621/2013 du 20 novembre 2014 consid. 2.1).
3.
En bref et en substance, la cour cantonale a considéré que la défenderesse a reçu un mandat d'ingénieur civil et que sa responsabilité de mandataire est soumise aux quatre conditions cumulatives du préjudice, de la violation de son obligation de diligence, de sa faute et du rapport de causalité. Elle a retenu que l'ingénieur civil a violé son obligation de diligence à plusieurs égards et qu'il n'a pas démontré qu'il n'aurait pas commis de faute. Examinant ensuite les deux conditions du préjudice et de la causalité adéquate, elle a nié la réalisation de la première et, traitant de celle de la seconde par surabondance, elle l'a aussi niée, de sorte que la responsabilité de l'ingénieur n'est pas engagée pour deux motifs, chacun suffisant à lui seul pour entraîner le rejet de la demande.
3.1. En ce qui concerne le préjudice, elle a considéré que la commune subissait un dommage de 378'947 fr. 85 (soit 528'947 fr. 85 pour frais de remise en état, frais de géomètre et frais d'études, sous déduction du prix des goulottes réglables de 150'000 fr.), car la solution de fondations avec des pieux qui avaient tous 12 m de long, était à l'origine des tassements. Toutefois, elle a estimé que la commune devait se laisser imputer ce qu'aurait coûté des fondations plus profondes avec des pieux de 35 m comme proposé par le géotechnicien, solution adéquate selon l'expert, mais plus chère de 500'000 fr.
3.2. Quant au rapport de causalité, la cour cantonale a rappelé tout d'abord qu'elle avait admis que l'ingénieur avait manqué à son devoir de diligence en ne menant pas de réflexion sur le type de fondations à envisager, en s'écartant de la solution de pieux de 35 m préconisée par le géotechnicien, en ne procédant pas à l'adaptation de la longueur des pieux en fonction des charges des ouvrages et du terrain et en ne suivant pas la méthode de battage préconisée par le géotechnicien.
Ensuite, elle a considéré que les tassements seraient également survenus avec une solution de pieux plus longs, le système de fondations par pieux n'ayant pas été remis en question par l'expert et ayant été admis par les premiers juges. En effet, il ressort de l'expertise qu'il est illusoire d'assurer une stabilité parfaite dans de tels terrains et qu'il n'est pas possible d'affirmer que la longueur précise des pieux aurait suffi à y garantir une horizontalité parfaite.
Quant au fait que l'expert F._ a indiqué qu'on aurait pu uniformiser les tassements en prévoyant des longueurs de pieux différentes sous les bassins et sous le terrain, il ne suffit pas à rendre vraisemblable que le dommage ne serait pas survenu, ce d'autant moins que l'expert F._ avait fait preuve de la plus grande réserve lors de son audition, expliquant que la situation dans cette zone était pire que tout ce qui était prévisible et que, même avec des pieux plus longs, qui auraient entraîné un surcoût de l'ordre de 1 million de francs, aucune garantie supérieure n'aurait pu être accordée. L'expert a précisé qu'il faudrait, dans le cadre de l'Expo.01, prévoir des pieux d'une longueur d'au minimum 45 m engendrant des coûts particulièrement élevés. Il a également relevé que la variation de certains paramètres et les constructions voisines ultérieures pouvaient avoir eu une influence sur les résultats à analyser.
La cour cantonale en a ainsi conclu qu'on ne saurait considérer que le dommage ne serait pas survenu si l'ingénieur avait prévu des pieux d'une longueur minimale de 35 m ou s'il avait adapté la longueur des pieux aux charges des ouvrages et du terrain. Même s'il avait choisi la méthode adéquate, les tassements seraient quand même survenus, peut-être dans une moindre mesure, mais cela reste de l'ordre de l'hypothèse, compte tenu de la nature du terrain et du manque d'expérience sur celui-ci; la butte et les remblais supplémentaires à proximité ont eu une incidence sur les tassements, ce qui ajoute à l'incertitude, et les constructions voisines ultérieures pouvaient avoir eu aussi une influence.
La cour cantonale a relevé en outre que, selon l'expert judiciaire, la seule solution technique qui aurait pu empêcher les tassements est celle utilisée dans le cadre de la construction de la nouvelle piscine couverte, ouvrage qui a toutefois bénéficié des expériences faites avec la piscine en plein air litigieuse et de la technique de mise en oeuvre des pieux. On ne saurait toutefois en tirer argument dès lors que cette technique résulte des expériences liées à la piscine litigieuse, ce que les premiers juges ont admis.
4.
La recourante formule trois griefs.
4.1.
4.1.1. Sous ch. 2, la Commune s'en prend à l'imputation de 500'000 fr. résultant de l'économie réalisée par rapport à une exécution conforme au contrat et donc à la condition du dommage, semblant soutenir que la solution de fondations superficielles aurait été préférable du point de vue économique ou encore, semble-t-il, que si tous les pieux avaient été battus à la cote 417.50, il n'y aurait pas eu de surcoût, la prolongation des pieux du bassin nageur étant compensée par le raccourcissement de ceux du bassin plongeur, solution plus satisfaisante.
Ce faisant, elle ne s'en prend pas véritablement à la condition du dommage et à l'imputation des coûts économisés par rapport à la solution de pieux plus longs, de 35 m, telle qu'examinée par la cour cantonale au consid. 3.3. p. 46 ss, de sorte qu'il n'y a pas lieu de considérer que le recours serait irrecevable faute de s'en prendre au dommage et au rapport de causalité, comme le soutient l'intimée.
En réalité, la recourante conteste la solution de pieux de 35 m sur laquelle s'est fondée la cour, soutenant que deux autres solutions moins chères étaient préférables, à savoir celle de fondations superficielles et celle consistant à enfoncer tous les pieux jusqu'à la cote 417.50, ce d'autant qu'elle n'aurait pas poursuivi le projet de construction d'une piscine si elle avait su que les travaux coûteraient 500'000 fr. à 1'000'000 fr. de plus. Il ne s'agit pas là d'une question de droit, mais d'une question de fait.
4.1.2. L'expert judiciaire n'a pas remis en cause le système de fondation sur pieux, seul ce système permettant de maîtriser les tassements, et il a considéré que le géotechnicien qui avait préconisé des pieux de 35 m avait donné un avis adéquat. En examinant la causalité, la cour a suivi l'avis de l'expert et a retenu que la solution de fondations superficielles aurait été préférable à celle de pieux de 12 m en ce sens que les tassements différentiels auraient probablement été inférieurs à ceux mesurés, mais elle l'a écartée dans la mesure où le système de fondations sur pieux n'a pas été remis en cause et qu'à dire d'expert, seul ce système permettait de maîtriser les tassements - ce qui est admis. La recourante ne s'en prend pas à cette motivation.
La cour cantonale a aussi écarté la solution consistant en ce que tous les pieux soient enfoncés à la cote 417.50 invoquée expressément par la commune, en d'autres termes la solution de pieux de longueurs différentes en fonction des charges des ouvrages et du terrain. Elle a considéré, en se fondant sur les déclarations du Prof. F._ en audience, que cette solution n'aurait pas permis d'empêcher la survenance du dommage, la situation dans cette zone étant pire que tout ce qui était prévisible et qu'il faudrait prévoir des pieux d'au minimum 45 m, sans même qu'une garantie puisse être accordée. En tant qu'elle se réfère à la réponse à l'allégué 121 du rapport de l'expert G._ du 29 juillet 2005 p. 11, où l'expert se prononce sur la violation de l'obligation de l'ingénieur, que la cour a précisément admise, et à la réponse à l'allégué 120 du complément d'expertise du même expert du 27 août 2012 p. 19, où l'expert admet que l'adoption d'un système de pieux de longueurs différentes en fonction des charges des ouvrages et du terrain dont l'extrémité se trouverait pour tous à la cote 417.50 dans la même couche de terrain, n'aurait pas entraîné de surcoût, la recourante ne s'en prend pas à la motivation de la cour cantonale et ne démontre pas en quoi l'appréciation de celle-ci serait arbitraire. Il s'ensuit que sa critique est irrecevable.
La recourante se borne enfin à affirmer qu'elle n'aurait pas poursuivi son projet de construction s'il avait coûté 500'000 fr. de plus. Il s'agit là d'une pure affirmation, qui n'est étayée par aucun élément ressortant de l'arrêt, ce d'autant que la facture finale des travaux s'élevait à 6'337'834 fr. 15.
4.2. Sous ch. 4, subsidiairement, pour le cas où la solution de pieux de 35 m serait retenue, la Commune estime que cette constatation est dépourvue de fondement, qu'il y a arbitraire car la cour a retenu cette solution sans justification.
Ainsi que cela résulte du résumé de la motivation de l'arrêt sur le rapport de causalité reproduit ci-dessus, la cour cantonale a examiné l'hypothèse de pieux de 35 m et celle de pieux de longueurs différentes (enfoncés à la cote 417.50) et a apprécié leur incidence sur la survenance des tassements et, partant, du dommage selon le degré de la vraisemblance prépondérante applicable en cas de causalité hypothétique. Le grief est donc infondé.
4.3. Sous ch. 3 enfin, la Commune semble soutenir que la solution de pieux forés ne lui a pas été proposée et qu'on ne saurait lui reprocher de n'avoir pas contesté l'utilisation de pieux battus.
Ce grief n'est pas motivé et on ne voit pas en quoi il changerait quoi que ce soit à l'appréciation du lien de causalité faite par la cour cantonale. D'ailleurs, comme celle-ci l'a relevé, la solution adoptée pour la construction de la nouvelle piscine couverte - avec un radier et des pieux forés - n'a pu être mise en oeuvre qu'en raison des expériences faites avec la piscine litigieuse et ne saurait être invoquée pour dire que l'ingénieur aurait déjà dû la préconiser pour la piscine litigieuse.
4.4. Le recours doit donc être rejeté dans la faible mesure de sa recevabilité. Il n'y a donc pas lieu d'examiner les griefs propres soulevés par l'intimée dans sa réponse.
5.
L'intérêt patrimonial de la commune étant ici en cause, l'<ref-law> n'est pas applicable et les frais de la procédure doivent être mis à la charge de la recourante qui succombe (<ref-law>). Celle-ci devra également verser une indemnité de dépens à l'intimée C._ (art. 68 al. 1 et 2 LTF). Il n'y a pas lieu d'allouer de dépens à l'intimée B._, contre laquelle la recourante n'a pas pris de conclusions.

Par ces motifs, le Tribunal fédéral prononce :
1. Le recours, en tant qu'il est dirigé contre B._ SA, est irrecevable.
2. Le recours, en tant qu'il est dirigé contre C._ SA, est rejeté dans la mesure où il est recevable.
3.
Les frais judiciaires, arrêtés à 8'000 fr., sont mis à la charge de la recourante.
4.
La recourante versera à l'intimée C._ SA, une indemnité de 9'000 fr. à titre de dépens.
5.
Il n'est pas alloué de dépens à B._ SA.
6.
Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton de Vaud, Cour d'appel civile.
Lausanne, le 1er avril 2015
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
Le Greffier : Piaget