This paper presents a computational macroeconomic model which closely associates Keynesian thinking and an agent-based approach. This model is original because we do not introduce any causality between macroeconomic variables. Instead of postulate macroeconomic properties, we want to understand them by the methodic reconstruction of the conditions of their emergence, starting from their most elementary foundations: the interactions between individual agents. This model is the model of a dynamic out-of-equilibrium economy composed of two principal sets of agents (firms and households) associated with two main functions (production and consumption). The agents are not representative agents or aggregates but autonomous individuals in direct and indirect interactions, each of them pursuing its own purposes, acting according to their individual state and their local environment, without worrying about the general equilibrium of the system and without any overriding control.