Nous définissons un langage de programmation mixte impératif / déclaratif : des contrats déclaratifs sont imposés sur des comportements décrits impérativement. La définition du langage fait appel à la synthèse de contrôleurs discrets (SCD), une technique formelle issue de l'automatique des systèmes à événements discrets. Nous visons le domaine d'application des systèmes de calcul adaptatifs et reconfigurables: notre langage permet de programmer des contrôleurs d'adaptation en boucle fermée, pour une exécution flexible des fonctionnalités, en réponse à des changements dans l'environnement ou les ressources de calcul. Nous faisons une présentation synthétique du langage, de sa sémantique et de sa compilation, et nous illustrons son utilisation par un exemple de système robotique. ABSTRACT. We define a mixed imperative/declarative programming language: declarative contracts are enforced upon imperatively described behaviors. We rely on the notion of Discrete Controller Synthesis (DCS), a formal technique stemming from control theory and the supervisory control of discrete event systems. We target the application domain of adaptive and reconfigurable computing systems: our language can serve programming closed-loop adaptation controllers, enabling flexible execution of functionalities w.r.t. changing resource and environment conditions. We give a synthetic presentation of the language, its semantics and compilation, and we illustrate its use with the example of a robot system.