Movement script doesn't move my model

Hi every one,
I try to make a side scrolling game in 3D and I want the player only move left and right
(it’s the x axis in my scene). I made a move script but the player (my model) doesn’t move left or right, it just can jump ! So I’ve tried the script on a cube and it works …
I really don’t understant what happend, I hope someone can help me !

Here’s the script :

using UnityEngine;
using System.Collections;

public class Basic2D : MonoBehaviour {
	public float speed = 6.0F;
	public float jumpSpeed = 8.0F;
	public float gravity = 20.0F;
	private Vector2 moveDirection = Vector2.zero;
	void Update() {
		CharacterController controller = GetComponent<CharacterController>();
		if (controller.isGrounded) {
			moveDirection = new Vector2(Input.GetAxis("Horizontal"), 0);
			moveDirection = transform.TransformDirection(moveDirection);
			moveDirection *= speed;
			if (Input.GetButton("Jump"))
				moveDirection.y = jumpSpeed;
			
		}
		moveDirection.y -= gravity * Time.deltaTime;
		controller.Move(moveDirection * Time.deltaTime);
	}
}

Try removing this
moveDirection = transform.TransformDirection(moveDirection);