How add menu to my node programmatically?
After look into the database and some test, this is how i add a menu to my node on the creation or on node update :

For this example, i load a node :

  $nodeEntity=\Drupal::entityTypeManager()
            -&gt;getStorage('node')
            -&gt;load(312);



  After you create the link :


$menu_link = MenuLinkContent::create([
    'title' =&gt; 'name of your menu',
    'link' =&gt; ['uri' =&gt; 'internal:/node/' . $nodeEntity-&gt;id()],
    'menu_name' =&gt; 'main',
    'expanded' =&gt; TRUE,
]);

$menu_link-&gt;save();


If you want add a parent to your menu just add this in $menu_link :


  $menu parent is the uuid of the parent menu


'parent' =&gt; 'menu_link_content:' . $menuParent,



  Then you need to update menu_link_content_data


  $this-&gt;database-&gt;update('menu_link_content_data')
            -&gt;fields([
                'link__uri' =&gt; 'entity:node/'.$nodeEntity-&gt;id(),
            ])
            -&gt;condition('id', $menu_link-&gt;id())
            -&gt;execute();


The link between the menu and the node is the link__uri, you need to tell him to reference the entity node.

After that, you ll see your menu link on your node.

I haven't find better solution with Drupal API for now.