Faits: A. Le 30 mars 2004, le Conseil communal de Lausanne a adopté un règlement communal sur les conditions d'occupation des logements construits ou rénovés avec l'appui financier de la Commune de Lausanne (ci-après: RCO). Il a pour objet de favoriser la stabilité et la mixité dans le parc des immeubles à loyers subventionnés et sociaux, et s'applique à tous les logements construits ou rénovés avec un appui financier des pouvoirs publics communaux et dont le loyer est soumis au contrôle des autorités cantonales ou communales (art. 1). Il prévoit notamment que les logements peuvent être loués à des personnes majeures, suisses ou titulaires d'un permis B ou C, qui exercent leur activité professionnelle principalement sur le territoire de la commune de Lausanne ou qui y sont domiciliées depuis trois ans, ou qui font des études ou un apprentissage, avec activité professionnelle accessoire ou disposant d'une bourse. Le règlement fixe des limites de revenu et de fortune (en renvoyant au règlement cantonal du 24 juillet 1991 sur les conditions d'occupation des logements construits ou rénovés avec l'appui financier des pouvoirs publics - ci-après: RCOL), et certaines conditions de résiliation et de prolongation du bail (art. 5-8). Les articles 11 à 13 de ce règlement ont la teneur suivante: Chapitre III. Dispositions spéciales pour les autorités et pour le propriétaire Attribution de logements Mixité et stabilité Art. 11- 1 Le choix des locataires dans un immeuble est réservé aux autorités compétentes pour 15% du nombre total de logements ou de pièces de chaque immeuble. 2 Le propriétaire peut, en contrepartie et dans la même proportion de 15%, conserver des locataires ne répondant pas ou plus aux conditions d'occupation sous réserve des articles 8, 9 et 10 du présent règlement. Cellule logement Art. 12- 1 Les locataires choisis par les autorités peuvent être pris en charge par la cellule logement constituée au sein de la Direction de la sécurité sociale et de l'environnement qui peut être appelée à intervenir, tant sur le plan social que sur tous les aspects financiers du bail. 2 L'organisation de la cellule logement est réglée par voie de directives. Chapitre IV. Dispositions d'assouplissement - Dérogations Dérogations - mesures d'assouplissement Art. 13- 1 Dans les cas où le locataire est choisi en application de l'art. 11 ou dans d'autres cas justifiés, des dérogations peuvent être appliquées aux réglementations sur les conditions d'occupation en fonction notamment de la situation du logement dans le quartier, de sa qualité, de sa surface, de son loyer, de la durée du bail, de la situation personnelle et familiale du locataire. 2 Les assouplissements portent sur les règles relatives à la résiliation du bail et au montant des suppléments de loyers. 3 Les modalités et conditions de dérogations spécifiques seront fixées par voie de directives. 4 Les normes cantonales relatives aux logements construits en application de la Loi du 9 septembre 1975 sur le logement demeurent réservées. Le même jour, le Conseil communal a adopté un règlement sur l'allocation communale au logement, destiné à permettre aux ménages à revenus modestes d'habiter ou de conserver un logement adapté à leurs besoins; l'allocation personnalisée doit servir à réduire le loyer à un niveau supportable, et s'applique aux locataires de logements construits ou rénovés avec l'appui des pouvoirs publics et à ceux du marché libre (art. 1). Le Conseil communal a également accepté le financement de cette allocation par une subvention annuelle pouvant aller jusqu'à 2'075'000 fr. Dans son rapport-préavis du 25 septembre 2003, la Municipalité de Lausanne expliquait que les cantons et les communes étaient appelés à devenir les acteurs principaux en matière de logements sociaux. La commune contrôlait et subventionnait plus de 10% de l'ensemble des logements lausannois. La politique communale en matière de logement tendait à faciliter le maintien des ménages bien intégrés et actifs dans les logements occupés depuis un certain nombre d'années (en supprimant les résiliations et en modérant les suppléments de loyers), tout en améliorant l'intégration des ménages financièrement et socialement défavorisés. Les gérances acceptaient déjà 600 ménages au bénéfice d'une garantie de loyer du Service social, et il convenait de porter ce nombre à 900. Les gérances acceptant d'attribuer des logements à des ménages défavorisés, recommandés par le Service de l'environnement, de l'hygiène et du logement (SEHL), pourraient bénéficier de dérogations en faveur de ménages ne respectant pas certaines conditions d'occupation. B. Par acte du 14 mai 2003, la Société coopérative d'habitation Lausanne déclare recourir contre le RCO, ainsi que contre toute décision d'approbation du Conseil d'Etat vaudois. Elle demande principalement l'annulation de ce règlement, subsidiairement de son seul art. 11. L'instruction de la cause a été suspendue jusqu'à ce que le Conseil d'Etat vaudois ait statué à propos de l'approbation du règlement. Celle-ci est intervenue, sans modification, par décision du 8 septembre 2004. La procédure a été reprise par ordonnance du 22 septembre 2004. La Commune de Lausanne conclut au rejet du recours. Les parties ont répliqué et dupliqué en maintenant leurs conclusions.