Une équation fonctionnelle

(cet exercice est issu de l’oral Mines-Ponts Psi 2012)
Trouver les {f:\mathbb{R}\rightarrow\mathbb{R}} dérivables en 0 telles que:
{\forall (x,y)\in\mathbb{R}^2},\;{f(x+y)=e^x \, f(y)+ e^y \, f(x)\quad(\star)}

Il existe au moins une solution : la fonction nulle.
Si {f} est solution, alors f(0)=0 (choisir {x=y=0} dans (\star)).
Si {f} est solution, et si {a\in\mathbb{R}}, alors, pour tout réel h :
{\begin{array}{rl}f(a+h)&=\text{e}^{a}f(h)+\text{e}^{h}f(a)\\\\&=\text{e}^{a}\bigl(hf'(0)+{\text{o}}(h)\bigr)+(1+h+{\text{o}}(h))f(a)\\\\&=1+(\text{e}^{a}f'(0)+f(a))h+{\text{o}}(h)\end{array}}Ainsi {f} possède un DL d’ordre {1} (donc est dérivable) en tout point {a}.
Plus précisément : {\forall\, a\in\mathbb{R},\;f'(a)=f(a)+\text{e}^{a}f'(0)}.
Ainsi {f} est solution de l’équation différentielle {y'(x)-y(x)=\lambda\text{e}^{x}}, avec {\lambda =f'(0)}.
La solution générale est : {y(x)=\lambda x\text{e}^{x}+\mu\text{e}^{x}}, avec {(\lambda,\mu)\in\mathbb{R}^{2}}.
On se souvient de la condition {f(0)=0} qui impose ici {\mu=0}.
Il ne reste plus que les fonctions {x\mapsto f_{\lambda}(x)=\lambda x\text{e}^{x}}.
Réciproquement, ces fonctions sont solutions du problème.