Bonjour bonjour !
Je suis en train de suivre le tuto sur les zones membre et lors de la validation pour mail, j'ai un petit soucis.
Donc, voici l'action du controller :
function signup(){
    if($this->request->is("post")){
      $d = $this->request->data;
      $d"User"]"id"] = null;
      if(!empty($d"User"]"password"])){
        $d"User"]"password"] = Security::hash($d"User"]"password"]);
      }
      if($this->User->save($d,true,array("username","password","mail"))){
        $link = array("controller"=>"users","action"=>"activate",$d"User"]"username"]."-".md5($d"User"]"password"]));
        App::uses("CakeEmail","Network/Email");
        $mail = new CakeEmail();
        $mail->from("no-reply@studart.be")
             ->to($d"User"]"mail"])
             ->subject("Votre inscription sur StudArt")
             ->emailFormat("html")
             ->template("signup")
             ->viewVars(array("username"=>$d"User"]"username"],"link"=>$link))
             ->send();
        $this->Session->setFlash("Votre compt a bien été créé","notif",array("type" => "alert-success"));
      }else{
        $this->Session->setFlash("Il y a des erreurs dans le formualaire","notif",array("type" => "alert-error"));
      }
    }
  }
Et le formulaire :
<?php
      echo $this->Form->create("User",array("class" => "form-horizontal"));
        echo $this->Form->input("username",array(
          "div" => "control-group",
          "label" => array(
            "class" => "control-label",
            "text" => "Login : "
          ),
          "between" => "<div class='controls'>",
          "after" => "</div>"
        ));
        echo $this->Form->input("mail",array(
          "div" => "control-group",
          "label" => array(
            "class" => "control-label",
            "text" => "Email : "
          ),
          "between" => "<div class='controls'>",
          "after" => "</div>"
        ));
        echo $this->Form->input("password",array(
          "div" => "control-group",
          "label" => array(
            "class" => "control-label",
            "text" => "Mot de passe : "
          ),
          "between" => "<div class='controls'>",
          "after" => "</div>"
        ));
    ?>
    <div class="controls">
      <?php
        echo $this->Form->end(
          array(
            "label" => "S'enregistrer",
            "class" => "btn"
          )
        );
      ?>
    </div>
Et voici l'erreur que j'ai (enfin, LES erreurs si on compte la notice) :
Voilà, merci d'avance pour celui ou ceux qui m'aideront :)
  Bonjour bonjour,
Merci de ta réponse, mais ce n'était pas ça. J'ai trouvé en fouillant la doc et SO. En fait, apparemment depuis une des dernière mise-à-jour, il faut tout le temps préciser la config à utiliser pour CakeEmail, même si on en a qu'une d'enregistrée, ce qui n'est pas des plus claire dans la doc...
Et donc, simplement mettre :
$mail = new CakeEmail("default");
Résout le problème.
  Bonjour,
Je pense que ton tableau "$d" ne contient pas de valeur pour "$d'User']'mail']" (la première notice), ce qui fait que Cake considère ça comme un "null".
Ainsi l'appel à CakeEmail::to ne renvoie pas une instance de CakeEmail (permettant le chainage des appels), mais la valeur actuelle de "to". C'est ce qui genère l'erreur suivante.  
Vérifie donc le contenu de $d et tout devrait rentrer dans l'ordre.