static async Task Main(string[] args)
        {
            // Initialize BankingSDK
            Setup();

            // Fetch UserID
            string userId = GetUserId();

            // Initialize Connector
            IBankingConnector bankConnector = BankingFactory.GetConnector(ConnectorType.BE_BNP);

            try
            {
                // Fetch UserContext
                string userContext = FetchUserContext(userId);
                if (userContext == null)
                {
                    Console.Write("Je suis rentré la");

                    // No context found, initialize a new one
                    await bankConnector.RegisterUserAsync(userId);

                    Console.Write("Je suis rentré la aussi ");


                    // Assume the user didn't gave access to his accounts yet

                    await RequestAccountsAccessAsync(bankConnector);

                    Console.Write("Je suis rentré laaaaaaaaaaaaaaaaaaaaaaaaaaaa ");
                }
                else
                {
                    // Existing context found
                    // Assume valid account access granted
                    bankConnector.UserContext = userContext;
                    Console.Write("Je suis rentré ici");
                }

                // Fetch account list and display their balances
                Console.Write("Display");
                await DisplayAccountBalancesAsync(bankConnector);
            }
            finally
            {
                // Always save the user context
                if (bankConnector.UserContextChanged)
                {
                    SaveUserContext(userId, bankConnector.UserContext);
                }
            }
        }