diff --git a/doc/main.hh.in b/doc/main.hh.in
index 123903505464a6e9f12523c790861abd4ba29eba..530785a2a1f28cfc0eacfb8f82aba694a02399c8 100644
--- a/doc/main.hh.in
+++ b/doc/main.hh.in
@@ -1,3 +1,5 @@
+namespace hpp {
+  namespace manipulation {
 /**
  \mainpage hpp-manipulation documentation
  \anchor hpp_manipulation_documentation
@@ -17,24 +19,24 @@
  \par Constraint graph
  The graph of constraint, also referred to as constraint graph, represents the
  rules of a manipulation problem.  The component of the graph are:
- \li State represents a state of the Robot with constraints,
- \li Edge represents a transition between two State with parametric constraints.
+ \li graph::State represents a state of the Robot with constraints,
+ \li graph::Edge represents a transition between two graph::State with parametric constraints.
 
- State contains a set of \LHPP{core,Constraint} that a configuration of the
+ graph::State contains a set of \LHPP{core,Constraint} that a configuration of the
  Robot should satisfy to be in the represented state. To ensure that a
- configuration is in only one state, the State are ordered in a StateSelector.
- The method StateSelector::getState(ConfigurationIn_t) const returns a pointer to
- the first State for which State::contains(ConfigurationIn_t) const returns true.
+ configuration is in only one state, the graph::State are ordered in a graph::StateSelector.
+ The method graph::StateSelector::getState(ConfigurationIn_t) const returns a pointer to
+ the first graph::State for which graph::State::contains(ConfigurationIn_t) const returns true.
  For optimization only, another set of \LHPP{core,Constraint} is used for
- \LHPP{core,StraightPath} lying in this State.
+ \LHPP{core,StraightPath} lying in this graph::State.
 
- Edge has methods Edge::state() to tell in which State a corresponding path lyes
- Edge also contains two sets of \LHPP{core,Constraint}:
- \li Edge::configConstraint() returns a \LHPP{core,ConstraintSet} used to
-     generate a configuration lying in Edge::to() and respecting the
+ graph::Edge has methods graph::Edge::state() to tell in which graph::State a corresponding path lyes
+ graph::Edge also contains two sets of \LHPP{core,Constraint}:
+ \li graph::Edge::configConstraint() returns a \LHPP{core,ConstraintSet} used to
+     generate a configuration lying in graph::Edge::to() and respecting the
      \LHPP{core,ConfigProjector::rightHandSide},
- \li Edge::pathConstraint() returns a \LHPP{core,ConstraintSet} to be inserted
-     in \LHPP{core,Path} represented by this Edge.
+ \li graph::Edge::pathConstraint() returns a \LHPP{core,ConstraintSet} to be inserted
+     in \LHPP{core,Path} represented by this graph::Edge.
 
  \note
    For implementation details, see graph::Graph.
@@ -48,3 +50,5 @@
  thesis</a> for details about the algorithm.
 
  **/
+  } // namespace manipulation
+} // namespace hpp