Contact problems lead to quasi-variational inequalities and their numerical solution is a challenge. We shall present the problem and discuss its finite element approximation. Numerical solution will proceed through a sequence of constrained saddle-point problems. We introduce a Sequential Quadratic Programming algorithm specially adapted to the non linear constraints that we have to consider.