This paper presents a synthesis on the mathematical work done on level crossings of stationary Gaussian processes, with some extensions. The main results [(factorial) moments, representation into the Wiener Chaos, asymptotic results, rate of convergence, local time and number of crossings] are described, as well as the different approaches [normal comparison method, Rice method, Stein-Chen method, a general m-dependent method] used to obtain them; these methods are also very useful in the general context of Gaussian fields. Finally some extensions [time occupation functionals, number of maxima in an interval, process indexed by a bidimensional set] are proposed, illustrating the generality of the methods. A large inventory of papers and books on the subject ends the survey.