/**
  * action pour enregistrer en bdd les données du formulaire
  * la classe Request permet de receptionner les données en POST de manière sécurisée
  * @param $id (facultatif), valeur null par defaut
  */
 public function store(Request $request, $id = null)
 {
     if (!empty($id)) {
         $categorie = Categories::find($id);
     } else {
         $categorie = new Categories();
     }
     if (!empty($request->title)) {
         $categorie->title = $request->title;
     }
     $categorie->description = $request->description;
     /**
      * traitement de l'upload de l'image
      */
     $filename = "";
     // si j'ai un fichier image
     if ($request->hasFile('image')) {
         //recuperation de l'image
         $file = $request->file('image');
         //recuperation du nom du fichier
         $filename = $file->getClientOriginalName();
         //stockage du chemin vers lequel l'image va etre envoyée
         $destinationPath = public_path() . '/uploads/categories';
         //deplacement de l'image uploadée
         $file->move($destinationPath, $filename);
         //mise à jour de la propriété de l'objet Categories
         $categorie->image = asset('/uploads/categories/' . $filename);
     }
     if (!empty($categorie->title)) {
         // mise à jour de la propriété slug, reprise du title en minuscule, sans espace
         $categorie->slug = str_replace(" ", "-", strtolower($request->title));
     }
     //sauvegarde de l'objet Categories en base
     $categorie->save();
     //creer un messsage flash de type success
     if (!empty($id)) {
         Session::flash('success', "La catégorie {$categorie->title} a bien été modifiée.");
     } else {
         Session::flash('success', "La catégorie {$categorie->title} a bien été créée.");
     }
     //redirection vers la liste des catégories
     return Redirect::route('categories_index');
 }