Faits : A. Le 6 juin 2014, le Procureur général du Portugal a adressé à la Suisse une demande d'extradition de A._, ressortissante portugaise condamnée le 26 janvier 2011 à un an et huit mois d'emprisonnement pour vol avec violence. L'autorité requérante exposait que la peine avait été commuée en 480 heures de travail d'intérêt général. N'ayant pas été exécutée, la mesure d'intérêt général avait été révoquée le 21 juin 2013 et l'extradition était demandée pour l'exécution de la peine d'emprisonnement. Arrêtée et entendue le 14 août 2014, A._ s'est opposée à son extradition, indiquant qu'elle travaillait en Suisse au bénéfice d'un permis B et que son fils de quatre ans avait commencé l'école à Collombey. Elle s'était présentée en été 2014 pour effectuer ses heures de travaux d'intérêt général mais les administrations étaient alors fermées. Elle n'avait pas eu connaissance de l'ordonnance de révocation. Elle invoquait aussi ses attaches avec la Suisse. Le 4 septembre 2014, l'Office fédéral de la justice (OFJ) a ordonné la libération provisoire de l'intéressée, moyennant notamment le versement d'une caution de 25'000 fr. et le dépôt de ses documents d'identité. B. Par décision du 3 décembre 2014, l'OFJ a accordé l'extradition de A._ pour les faits figurant dans la demande. La condition de la double incrimination était satisfaite. L'intéressée avait été entendue et convoquée à plusieurs reprises afin d'effectuer ses heures de travail d'intérêt général, de sorte qu'elle ne pouvait arguer de son ignorance. Une exécution de la peine en Suisse n'était pas possible, faute d'attaches suffisantes avec ce pays. C. Par arrêt du 12 mars 2015, la Cour des plaintes du Tribunal pénal fédéral a rejeté le recours formé par A._. La CEExtr. n'exigeait pas de preuve de la notification de la décision de révocation, cette question - qui ne relevait pas de la double incrimination - devant être soumise au juge de l'Etat requérant. Ce dernier avait entrepris diverses démarches afin de faire exécuter les heures de travail d'intérêt général, mais la recourante n'avait pas coopéré et devait en subir les conséquences. Un refus d'extradition fondé sur l'art. 85 al. 2 EIMP (meilleur reclassement social) ne se justifiait pas à l'égard d'un Etat partie à la CEExtr. En outre, les faits n'avaient pas été commis en Suisse et les autorités portugaises avaient requis l'extradition. D.