public function __invoke(ServerRequestInterface $request, ResponseInterface $response, $args)
 {
     // Contrôle de connexion pour toute requête modifiant les données
     if ($request->getMethod() == "POST" || $request->getMethod() == "PUT" || $request->getMethod() == "DELETE") {
         $auth = new WebAuth($this->getManager());
         // Vérification si le client a déjà envoyé les informations de connexion
         if (isset($_SERVER['PHP_AUTH_USER'])) {
             $user = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : "";
             $mdp = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_PW'] : "";
             $utilisateur = $auth->login($user, $mdp);
             // Utilisateur identifié et autorisé à exécuter des requêtes POST
             if ($utilisateur !== false && $utilisateur->canPost()) {
                 $response = $args($request, $response);
             } else {
                 $response = Reponse::auth($response, "Le nom d'utilisateur ou le mot de passe renseigné ne correspondent pas.");
             }
         } else {
             $response = Reponse::auth($response);
         }
     } else {
         $response = $args($request, $response);
     }
     return $response;
 }