Rewrite rule can’t get the ID from rewrited

Ok, you need to add the id param to the list of public query variables :

add_filter('query_vars', 'query_vars');
function query_vars($public_query_vars)
{
    $public_query_vars[] = 'id';
    return $public_query_vars;
}

Thanks to this plugin for the help : https://wordpress.org/plugins/monkeyman-rewrite-analyzer/#reviews