The aim of this paper is to develop a crowd motion model designed to handle highly packed situations. The model we propose rests on two principles: we first define a spontaneous velocity which corresponds to the velocity each individual would like to have in the absence of other people. The actual velocity is then computed as the projection of the spontaneous velocity onto the set of admissible velocities (i.e. velocities which do not violate the non-overlapping constraint). We describe here the underlying mathematical framework, and we explain how recent results by J.F. Edmond and L. Thibault on the sweeping process by uniformly prox-regular sets can be adapted to handle this situation in terms of well-posedness. We propose a numerical scheme for this contact dynamics model, based on a prediction-correction algorithm. Numerical illustrations are finally presented and discussed.