Automatic code generation and optimization of multi-dimensional stencil computations on distributed-memory architectures. (Génération automatique de code et optimisation de calculs stencils sur des architectures à mémoire distribuée)