the code : ```go
func Learning(w http.ResponseWriter, r *http.Request) {
user := RetrieveUserFromContext(r)
learn := RetreiveLearningFromContext(r)
if learn == nil {
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
return
}
wd, err := user.RetrieveLearningAndWord(r)
if err != nil {
slog.Error("Erreur lors de la récupération de l'apprentissage", "détail", err)
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
return
}
fmt.Printf("%#+v", learn)
switch {
case !learn.ProposeDejaVu && !learn.DejaVu:
RenderTurbo(w, r, "dejavu", wd)
case !learn.View:
RenderTurbo(w, r, "view", wd)
case !learn.Write:
RenderTurbo(w, r, "write", wd)
case !learn.Composition:
RenderTurbo(w, r, "compose", wd)
case !learn.Inverse:
RenderTurbo(w, r, "inverse", wd)
default:
http.Error(w, "État d'apprentissage inconnu", http.StatusInternalServerError)
}
}