How to put a node in a menu using an URL parameter? While creating a new node, I'd like to pass a parameter in the URL: node/add/page?plid=123 in order to put the newly created node in this menu item as its child.

I tried to hook_form_alter() the node form but I couldn't populate the menu part, also I'd like to hide this part to the end user as they shouldn't alter it.

Should this be done in a hook_node_insert() with something like this answer: How to enable menu link when creating a new node ?
hook_node_insert() is probably the best place to do this. You'll want to call menu_link_save() to create the menu item, using the $_GET superglobal to retrieve the plid parameter:

mymodule_node_insert($node) {
  $item = array(
    'link_path' =&gt; 'node/' . $node-&gt;nid,
    'link_title' =&gt; $node-&gt;title,
    'plid' =&gt; $_GET['plid'],
  );
  if (!menu_link_save($item)) {
    // menu_link_save() returns the mlid of the new item. Handle a failure here,
    // which will occur if the plid supplied is invalid.
  }
}