Depuis quelques années, la manière de programmer des applications complexes subit d'importants bouleversements induits essentiellement par cette nouvelle informatique présente partout, dite ubiquitaire. Ces bouleversements imposent de concevoir de nouvelles approches pour le développement logiciel avec comme objectif d'obtenir des applications plus ouvertes et adaptables. Des concepts comme la programmation par composants (comme les EJB ou les Web Services), par séparations des préoccupations (la programmation par aspects), la programmation générative ou encore par transformation de modèle (l'approche MDA proposée par l'OMG) ont été proposées pour essayer de répondre partiellement à ces nouveaux défis. Notre contribution est de montrer que ces différents concepts peuvent être unifiés dans la notion de fabrique logicielle basée sur la programmation générative. Intuitivement, cette notion de fabrique logicielle permet, en faisant le parallèle à une chaîne de production, d'automatiser le plus possible, le développement logiciel pour une famille d'applications (de produits). Cette automatisation assure une plus grande fiabilité, réutisabilité et évolutivité des applications. La fabrique logicielle essaie de capitaliser les savoirs-faire des divers métiers sous-jacents à la chaîne de fabrication. Il est essentiel que le développement logiciel soit guidé par le domaine de l'application (Domain-Driven Development). Les concepts généraux des langages de programmation (classique) ne permettent pas de capturer aisément ces divers savoirs-faire. Plus précisément, nous monterons comment les concepts comme la programmations par composants, par transformations de modèle et par séparations de préoccupation sont instanciés et revisités dans notre démarche. Finalement, nous défendons l'idée que les langages de programmation actuels ont peu évolués face à ces bouleversements et sont en fin de compte, le vrai goulet d'étranglement de l'informatique. Lors de la présentation, nous insisterons plus sur les motivations, les objectifs et les concepts que sur les aspects purement techniques. Précisons tout de même que cette démarche a été validée dans la conception et la réalisation d'un générateur de fabrique logicielle, dénommé SmartTools. En effet, ce prototype de recherche permet de ce faire une idée précise et de matérialiser concrètement, cette nouvelle approche. De plus, cela montre très clairement que cette nouvelle approche du développement logiciel est envisageable à très court terme.