Je peut te détailler la preuve dans le cas affine si tu veut :
Le premier truc à montrer c'est que l'ensemble
)
des points fixe d'une application affine

est,
s'il n'est pas vide un sous-espace affine de

:
On suppose donc qu'il n'est pas vide et on prend
)
. Pour tout point
)
on a alors
\ \Leftrightarrow\ f(M)=M\ \Leftrightarrow\ \vec{f(A)f(M)}=\vec{AM}\ \ \)
(car
=A)
)
=\vec{AM}\ \ \)
où

est l'application linéaire associée à

\ \)
qui est un s.e.v. de E.
Donc
=A+\ker(\vec{f}-Id_{E})\)
qui est bien un sous espace affine de

.
Remarque : )
peut être vide : c'est par exemple clairement le cas si

est une translation de vecteur non nul (qui est non seulement une application affine, mais même une isométrie)
Considérons maintenant une isométrie

de

.
Si

il n'y a rien à démontrer (elle est la composée de zéro symétrie orthogonale par rapport à des hyperplans).
Sinon, il existe au moins un point

tel que
\not=A)
.
On note

l'hyperplan médiateur du segment
])
c'est à dire l'hyperplan passant par le milieu de
])
et de vecteur normal
})
qui est aussi l'ensemble des points

tels que
=d(M,f(A)))
.
On note aussi

la symétrie orthogonale par rapport à cet hyperplan. Par construction,

échange

et
)
donc
)=A)
c'est à dire
)
.
D'un autre coté, si
)
alors
=M)
donc
)=d(f(M),f(A))=d(M,A))
vu que

est une isométrie. Cela prouve que

donc que
)=s(M)=M)
c'est à dire que
)
.
Bilan : \subset\text{fix}(s\circ f))
mais
\not=\text{fix}(s\circ f))
(car
)
mais
)
)
Donc, si
)
est vide alors
)
est un sous espace affine (donc de dimension au moins 0) et, si
)
est un s.e.a. de dimension

alors
)
est un sous espace affine de dimension au moins

.
Si

(c'est à dire si
\not=\mathcal E)
), on réitère le procédé en partant de

de façon à de nouveau augmenter la dimension de l'ensemble des points fixes.
Au bout d'un certain nombre

étapes, on aura donc

où les

sont des symétries orthogonales par rapport à des hyperplans, donc vérifient en particulier

ce qui prouve que

.
Remarques :1) La preuve est exactement la même dans le cas vectoriel sauf que, l'ensemble des "vecteurs fixes" de f est toujours un s.e.v. de E (il ne peut pas être vide) donc le nombre d'étapes est majoré par n et pas par n+1.
2) La preuve est non seulement très simple, mais elle donne explicitement un algorithme de construction de symétries orthogonales dont la composée donne f et on peut parfaitement suivre cet algorithme pour trouver comment décomposer une isométrie donnée (essaye de le faire par exemple pour une translation du plan)
3) Le théorème en question permet aussi de "classer" les isométries (affines ou vectorielles) en fonction du nombre de symétries orthogonales qu'il faut pour les décomposer. Par exemple, en dimension 3 on a :
0 symétries orthogonales par rapport à des plans => Id
1 symétries orthogonales par rapport à des plans => Symétrie orthogonale
2 symétries orthogonales par rapport à des plans => Translation si les 2 plans sont parallèles et rotation autours de la droite intersection des deux plans sinon.
3 symétries orthogonales par rapport à des plans => Symétrie glissée (= composée d'une symétrie par rapport à un plan et d'une translation de vecteur "parallèle" au plan) ou bien composée d'une rotation suivant une droite et d'une symétrie par rapport à un plan orthogonal à la droite (avec comme cas particulier les symétries centrales si la rotation est un demi tour)
4 symétries orthogonales par rapport à des plans => Vissage (= composée d'une rotation par rapport à une droite et d'une translation de vecteur "parallèle" à la droite)