Faits: Faits: A. A.a K._, née en 1957, a travaillé auprès de l'Office A._ du 1er janvier 1989 au 31 juillet 1991. Elle a travaillé ensuite comme traductrice à raison de 50 % pour A._ et de 50 % auprès de l'Office L._. A ce titre, elle était affiliée à la Caisse fédérale de pensions (CFP). Le 4 juillet 1992, elle a été victime d'une congestion cérébrale qui a entraîné une incapacité de travail de 100 %, puis de 50 % dès le 4 août 1992. A partir du 1er septembre 1993, elle n'a plus travaillé qu'à 50 % pour l'Office L._. Par décision du 14 décembre 1995, l'Office AI du canton de Soleure lui a alloué une demi-rente d'invalidité à compter du 1er juillet 1993, après avoir constaté un degré d'invalidité de 50 %. La CFP lui a octroyé également une demi-rente d'invalidité à partir du 1er septembre 1995. A.b Faisant valoir une détérioration de son état de santé, K._ a sollicité le 3 mars 1998 l'octroi d'une rente entière. Par décision du 25 novembre 1998, l'Office AI rejeté cette demande. L'intéressée a cessé son activité auprès de L._ le 30 novembre 1998. Dès le 1er janvier 1999, elle a travaillé en tant que traductrice auprès de V._ à raison de 30 %. Elle a dès lors été affiliée à la Caisse d'assurance du personnel de la Commune municipale de Bienne (depuis le 1er janvier 2000, Caisse de pension de la Ville de Bienne, en abrégé CP Bienne). Suite à une nouvelle demande de l'assurée, l'Office AI du canton de Soleure lui a alloué une rente entière à compter du 1er mai 1999, sur la base d'une degré d'invalidité de 74 % dès le 1er février 1999 (décision du 10 août 2000). Les demandes successives d'octroi d'une rente plus étendue de la prévoyance professionnelle se sont heurtées aux refus de la CFP et de la CP Bienne. Les demandes successives d'octroi d'une rente plus étendue de la prévoyance professionnelle se sont heurtées aux refus de la CFP et de la CP Bienne. B. Par mémoire du 12 novembre 2001, K._ a ouvert action devant le Tribunal administratif du canton de Berne tant à l'encontre de la CFP et que de la CP Bienne. Elle concluait principalement à la condamnation de la CFP au paiement d'une deuxième demi-rente d'invalidité et d'une demi-rente complémentaire pour enfant et subsidiairement au paiement par la CP Bienne d'une demi-rente d'invalidité et d'une demi-rente pour enfant, le tout sous suite de dépens. La CP Bienne a conclu au rejet de la demande au motif que l'assurée était affiliée à la CFP au moment déterminant. Pour sa part, la CFP a conclu principalement au rejet de la demande en faisant valoir que l'affiliation avait pris fin au moment de la nouvelle incapacité de travail, subsidiairement au paiement d'une rente supplémentaire de 24 %. Par jugement du 21 mars 2003, le Tribunal administratif a rejeté la demande, sans frais ni dépens. Par jugement du 21 mars 2003, le Tribunal administratif a rejeté la demande, sans frais ni dépens. C. K._ interjette recours de droit administratif contre ce jugement dont elle demande l'annulation. Sous suite de frais et dépens, elle conclut principalement au paiement par la CFP d'une deuxième demi-rente invalidité mensuelle de 1'005 fr plus une demi-rente complémentaire pour enfant de 402 fr., subsidiairement au paiement par la CP Bienne d'une demi-rente d'invalidité de 1'000 fr. au moins et d'une demi-rente complémentaire pour enfant de 400 fr, ainsi que les suppléments d'adaptation à l'évolution des prix. La CP Bienne a conclu au rejet du recours sous suite de frais et dépens. Avant toute réponse au fond, l'Administration fédérale des finances a demandé que la Publica lui soit substituée comme partie. Celle-ci a déposé le 18 juillet 2003 une requête de suspension de procédure jusqu'à droit connu sur la nature et les conséquences matérielles du transfert des rapports de prévoyance au 1er juin 2003 de la Caisse fédérale de pensions CFP à la nouvelle Caisse fédérale de pensions Publica. Par décision du 11 mai 2004, le président de la Chambre a rejeté aussi bien la requête de la Confédération suisse tendant à une substitution de parties que la requête de suspension, les frais suivant le sort de la cause au fond. Publica a été appelée en cause. Au fond, la Confédération suisse a conclu au rejet du recours avec suite de frais et la Publica s'est jointe à ces conclusions. 