diff --git a/quad.h b/quad.h
index 048319e851f8a8b4c24690efbbac4fe401a9f473..51ff31e367fb58d186f02f850ee79f45a172d438 100644
--- a/quad.h
+++ b/quad.h
@@ -60,7 +60,7 @@ class Quad : public Shape
 };
 
 	/*!
-	* \brief Opérateur d'affichage du centre
+	* \brief Opérateur d'affichage des paramètres du Quad
 	*/
 std::ostream & operator<<(std::ostream & st, const Quad & q);
 
diff --git a/shape.h b/shape.h
index ed9450d1b90bd1eb8e71174d0d2187bed7a536f7..4f6acb769b480ba132dc685170b4552cf3f0f090 100644
--- a/shape.h
+++ b/shape.h
@@ -1,21 +1,56 @@
 #ifndef SHAPE_H
 #define SHAPE_H
 
+/*!
+ * \file shapes.h
+ * \brief Implémentation abstraite des formes 3d
+ */
+
 #include "ray3f.h"
 #include "material.h"
 
+/*!
+ * \class Shape
+ * \brief Classe abstraite des formes 3d
+ *
+ * Classe abstraite pure dont héritent les autres formes géométriques
+ */
 
 class Shape
 {
 	protected:
-		Material matter_;
+		Material matter_;          /*!< Le matériau en quoi est fait la forme */
 
 	public:
+	/*!
+	 * \brief Constructeur de Shape
+	 *
+	 * Constructeur de la classe abstraite Shape, appelé par les classes filles
+	 */
 		Shape(Material matter) : matter_(matter) {}
 
+
+	/*!
+	 * \brief Test d'intersection 
+	 *
+	 * Methode permetant de savoir si le rayon touche l'objet ou non
+	 * \param ray Le rayon de lumière que l'on doit vérifier s'il touche l'objet ou non
+	 * \return bool 
+	 */
 		virtual bool is_hit(const Ray3f ray) = 0;
+
+	/*!
+	 * \brief  Récuperation du rayon réfléchi 
+	 *
+	 * Methode permetant de savoir le point d'origine du rayon réfléchi et ça direction
+	 * \param ray Le rayon de lumière qui doit traverser l'objet
+	 * \return Ray3f 
+	 */
 		virtual Ray3f reflect(const Ray3f ray) const = 0;
 
+	/*!
+	 * \brief Getter pour le materiau du Shape
+	 */	
 		Material matter() const {return matter_;}
 };
 
diff --git a/sphere.h b/sphere.h
index 1e26e5d03a621bfb244baac682c552f613c90d96..a2e7c2c62cbeb6dd9142c8e4b5a63b88b39dd263 100644
--- a/sphere.h
+++ b/sphere.h
@@ -1,26 +1,54 @@
 #ifndef SPHERE_H
 #define SPHERE_H
 
+/*!
+ * \file sphere.h
+ * \brief Implementation des spheres
+ */
+
 #include "shape.h"
 
+/*!
+ * \class Sphere
+ * \brief Classe representant une sphere
+ *
+ * Sphere representee dans l'espace par son centre et son rayon
+ */
 
 class Sphere : public Shape
 {
 	private:
-		Vector3f origin_;
-		float radius_;
+		Vector3f origin_;           /*!< Centre de la sphere */
+		float radius_;              /*!< Rayon de la sphere */
 
 	public:
+	/*!
+	 * \brief Constructeur
+	 *
+	 * Constructeur de la classe Sphere
+	 * \param <matter> le materiau dont la sphere est composee
+	 * \param <origin> le centre de la sphere
+	 * \param <radius> le rayon de la sphere
+	 */
 		Sphere(Material matter, Vector3f origin, float radius);
 
 		bool is_hit(const Ray3f ray);
 		Ray3f reflect(const Ray3f ray) const;
 
+	/*!
+	 * \brief Getter pour le centre de la Sphere
+	 */	
 		Vector3f origin() const;
+	/*!
+	 * \brief Getter pour le rayon de la Sphere
+	 */	
 		float radius() const;
 };
 
 
+	/*!
+	* \brief Opérateur d'affichage des paramètres de la Sphere
+	*/
 std::ostream & operator<<(std::ostream & st, const Sphere & s);
 
 
diff --git a/vector3f.h b/vector3f.h
index 9179c1607c91259505c32f06dccf2f956369e5d6..b6ba1e3045bf52b45cdab965399061b76d95fde6 100644
--- a/vector3f.h
+++ b/vector3f.h
@@ -1,29 +1,74 @@
 #ifndef VECTOR3F_H
 #define VECTOR3F_H
 
+
+/*!
+ * \file vector3f.h
+ * \brief Implémentation des vecteurs 3D
+ */
 #include <ostream>
 
 
 
+
+
+/*!
+ * \class Vector3f
+ * \brief Classe représentant un vecteur dans l'espace
+ *
+ * La classe permet de générer des vecteur et de réaliser des calculs sur ceux-ci
+ */
 class Vector3f
 {
 	private:
-		float x_;
-		float y_;
-		float z_;
+		float x_;      /*!< coordonnée sur l'axe X*/
+		float y_;      /*!< coordonnée sur l'axe Y*/
+		float z_;      /*!< coordonnée sur l'axe Z*/
 
 	public:
+
+	/*!
+	 * \brief Constructeur
+	 *
+	 * Constructeur de la classe Vector3f
+	 * \param <x> coordonnée du vecteur sur l'axe X
+	 * \param <y> coordonnée du vecteur sur l'axe Y
+	 * \param <z> coordonnée du vecteur sur l'axe Z
+	 */
 		Vector3f(float x, float y, float z);
+
+	/*!
+	 * \brief Constructeur de copie
+	 *
+	 * Constructeur de copie de la classe Vector3f
+	 * \param v le vecteur àcopier dans this
+	 */
 		Vector3f(const Vector3f & v);
 		Vector3f();
 
 		Vector3f & operator=(const Vector3f & v);
 
+		/*!
+		 * \brief Getter de la coordonnée sur l'axe X
+		 */
 		float x() const;
+		/*!
+		 * \brief Getter de la coordonnée sur l'axe Y
+		 */
 		float y() const;
+		/*!
+		 * \brief Getter de la coordonnée sur l'axe Z
+		 */
 		float z() const;
 
+		/*!
+		 * \brief calcul de la norme du vecteur
+		 */
 		float norm() const;
+
+		/*!
+		 * \brief normalise le vecteur en divisant tous les paramètres par la norme
+		 */		
 		void normalize();
 };