Bonjour,
J'ai paramétré une source de données "navigation internet" pour le login Wise et surtout pour passer le MFA à l'intérieur de CEF. une fois la session ouverte, le MFA n'est pas redemandé.
J'importe ensuite les opérations individuellement pour chaque balance/compte Wise (1 import par monnaie).
J'ai joint le format et les deux sources utilisées.
Cela fonctionne assez bien, à la manière de "boursorama membre"
Il faut aussi penser à se déconnecter avant de quitter le logiciel. Si on sort de Gesfine en ayant une session toujours ouverte, alors cette session reste ouverte sans MFA. (Bug a priori de Wise qui gère le timeout de déconnexion du côté client et non du côté serveur - mais peut être qu'il y a deux timeouts...)
Pour mettre à jour plusieurs comptes avec MFA avec cette approche, cela suppose de déverrouiller tous les comptes avec MFA avant de demander une mise à jour de toutes les écritures...
Existe-t-il une manière plus élégante pour gérer le MFA de Wise et l'approbation sur l'appli téléphone ?
Cordialement
Philippe
Wise et MFA
Modérateur : Patrice15220
Re: Wise et MFA
Avec les fichiers source et format pour Wise
- Fichiers joints
-
- GesSource_Wise.xml
- (2.68 Kio) Téléchargé 97 fois
-
- GesSource_Wise csv.xml
- (9.82 Kio) Téléchargé 93 fois
-
- GesFormat_Format csv Wise.xml
- (3.69 Kio) Téléchargé 105 fois
-
- Administrateur
- Messages : 6931
- Enregistré le : 04 janvier 2010, 20:03
- Localisation : France (Yvelines 78)
- Contact :
Re: Wise et MFA
Bonjour,
Non il n'y a pas de méthode particulière pour passer la double authentification surtout si elle est systématique.
Voilà comment je procède habituellement, après la connexion mais toujours dans les items de connexion, j'ajoute un évènement sur un item présent sur la page qui succède à la connexion (en général la page d'accueil), si cet item n'est pas présent, je suppose que le site à ouvert la page dédiée au MFA, GesFine rend alors la main à l'utilisateur pour qu'il valide manuellement la deuxième authentification puis pour qu'il clique sur le bouton "Poursuivre" de la navigation afin que la source termine son processus (enchainement sur les items de "Navigation").
Si la double authentification est systématique (session très courte) et pas périodique, alors il est préférable de mettre un item "Stop" en fin des items de "Connexion" pour rendre la main systématiquement.
Concernant tes sources, je ne comprends pas comment fonctionne ta source "GesSource_Wise csv" car je ne vois aucun item de téléchargement en fin de navigation. Si le dernier "click" télécharge le fichier csv, alors tu dois indiquer "clicksave"
Ainsi GesFine intégrera automatiquement le fichier csv téléchargé et te le proposera dans le formulaire d'importation.
Concernant la déconnection, si elle est souhaitée par rapport au MFA, tu dois renseigner les items de l'onglet "Déconnexion"
Non il n'y a pas de méthode particulière pour passer la double authentification surtout si elle est systématique.
Voilà comment je procède habituellement, après la connexion mais toujours dans les items de connexion, j'ajoute un évènement sur un item présent sur la page qui succède à la connexion (en général la page d'accueil), si cet item n'est pas présent, je suppose que le site à ouvert la page dédiée au MFA, GesFine rend alors la main à l'utilisateur pour qu'il valide manuellement la deuxième authentification puis pour qu'il clique sur le bouton "Poursuivre" de la navigation afin que la source termine son processus (enchainement sur les items de "Navigation").
Si la double authentification est systématique (session très courte) et pas périodique, alors il est préférable de mettre un item "Stop" en fin des items de "Connexion" pour rendre la main systématiquement.
Concernant tes sources, je ne comprends pas comment fonctionne ta source "GesSource_Wise csv" car je ne vois aucun item de téléchargement en fin de navigation. Si le dernier "click" télécharge le fichier csv, alors tu dois indiquer "clicksave"
Ainsi GesFine intégrera automatiquement le fichier csv téléchargé et te le proposera dans le formulaire d'importation.
Concernant la déconnection, si elle est souhaitée par rapport au MFA, tu dois renseigner les items de l'onglet "Déconnexion"
Re: Wise et MFA
Bonjour Jacques,
Merci beaucoup pour les recommandations. Je comprends l'approche et c'est bien mieux que ce que je fais pour l'instant. Le fait de stopper pour attendre le MFA plutôt que de couper en deux le processus est beaucoup plus pertinent - surtout si c'est uniquement lorsque cela est nécessaire. Je vais intégrer la phase de connexion dans la source de chargement pour les opérations courantes.
J'ai en général 4 balances wise (1 par monnaie) à charger. Seule le premier chargement demande le MFA donc l'approche serait parfaite. A priori je ne dois pas me déconnecter car sinon les chargements suivants redemandent le MFA - ou alors il faudrait une déconnexion conditionnelle sur la dernière balance du type "Si USD alors déconnecte".
Pour click vs clicksave, c'est une erreur à l'export qui vient de ma manière de travailler. Je travaille d'abord en mode "Navigation internet" pour tester rapidement, puis j'exporte la source de données et je copie/colle le morceau correspondant à la navigation dans l'xml de la source pour les opérations.
J'ai refait l'export de ma source pour les opérations pour être sur qu'il n'y a pas d'autres modifications faites à la main manquante dans l'xml.
Sinon, j'utilise aussi en parallèle un navigateur car je ne sais pas utiliser de mode debug dans CEF pour récupérer les éléments de la page web.
Ce qu'il me manque le plus est une documentation des commandes pour les scripts de connexion et de navigation.
J'ai utilisé dans le passé Selenium et la documentation CEF est bien - mais il me manque le mapping fait dans le code.
Du coup je tâtonne un peu et c'est empirique mais c'est usuel avec le scrapping.
Par exemple je voulais envoyer "enter" pour éviter de trouver des éléments variables dans la page et sortir d'une fenêtre de calendrier. Cela m'aurait permet de reculer la date d'importation jour pour jour de 3 mois. au lieu de cela j'ai pris la 15ième pour être sur d'être sur une case active du calendrier....
Je découvre aussi au fur et à mesure le potentiel de Gesfine.
Dans les choses que j'ai envisagé, c'est l'appel de Python pour développer à l'extérieur de Gesfine, en invoquant des scripts python depuis la connexion et/ou la navigation. C'est intéressant pour des traitements plus complexes et pour la vitesse de développement et de debug avec Visual Studio Code. La capacité de python à mapper et manipuler des données rapidement est attractive. L'idée ici serait soit d'avoir un node.js soit directement des notebook python avec Jupyter.
Mais le travail fait dans Gesfine est énorme et avec les années d'expérience cumulées dans le logiciel, je pense qu'exploiter correctement déjà ce qu'il est possible de faire avec le logiciel doit pouvoir couvrir mes besoins sans devoir maintenir du code externe.
Mon prochain challenge est sur Linxo. L'import manuel de fichiers fonctionne et je dois maintenant automatiser. Pour l'instant je split le fichier CSV linxo en aval de l'import (avec python). Je dois arriver à exporter l'historique compte par compte en amont directement depuis Linxo. Seul le format CSV contient la classification faite par Linxo.
Merci encore pour l'aide apportée
Cordialement
Philippe
Merci beaucoup pour les recommandations. Je comprends l'approche et c'est bien mieux que ce que je fais pour l'instant. Le fait de stopper pour attendre le MFA plutôt que de couper en deux le processus est beaucoup plus pertinent - surtout si c'est uniquement lorsque cela est nécessaire. Je vais intégrer la phase de connexion dans la source de chargement pour les opérations courantes.
J'ai en général 4 balances wise (1 par monnaie) à charger. Seule le premier chargement demande le MFA donc l'approche serait parfaite. A priori je ne dois pas me déconnecter car sinon les chargements suivants redemandent le MFA - ou alors il faudrait une déconnexion conditionnelle sur la dernière balance du type "Si USD alors déconnecte".
Pour click vs clicksave, c'est une erreur à l'export qui vient de ma manière de travailler. Je travaille d'abord en mode "Navigation internet" pour tester rapidement, puis j'exporte la source de données et je copie/colle le morceau correspondant à la navigation dans l'xml de la source pour les opérations.
J'ai refait l'export de ma source pour les opérations pour être sur qu'il n'y a pas d'autres modifications faites à la main manquante dans l'xml.
Sinon, j'utilise aussi en parallèle un navigateur car je ne sais pas utiliser de mode debug dans CEF pour récupérer les éléments de la page web.
Ce qu'il me manque le plus est une documentation des commandes pour les scripts de connexion et de navigation.
J'ai utilisé dans le passé Selenium et la documentation CEF est bien - mais il me manque le mapping fait dans le code.
Du coup je tâtonne un peu et c'est empirique mais c'est usuel avec le scrapping.
Par exemple je voulais envoyer "enter" pour éviter de trouver des éléments variables dans la page et sortir d'une fenêtre de calendrier. Cela m'aurait permet de reculer la date d'importation jour pour jour de 3 mois. au lieu de cela j'ai pris la 15ième pour être sur d'être sur une case active du calendrier....
Je découvre aussi au fur et à mesure le potentiel de Gesfine.
Dans les choses que j'ai envisagé, c'est l'appel de Python pour développer à l'extérieur de Gesfine, en invoquant des scripts python depuis la connexion et/ou la navigation. C'est intéressant pour des traitements plus complexes et pour la vitesse de développement et de debug avec Visual Studio Code. La capacité de python à mapper et manipuler des données rapidement est attractive. L'idée ici serait soit d'avoir un node.js soit directement des notebook python avec Jupyter.
Mais le travail fait dans Gesfine est énorme et avec les années d'expérience cumulées dans le logiciel, je pense qu'exploiter correctement déjà ce qu'il est possible de faire avec le logiciel doit pouvoir couvrir mes besoins sans devoir maintenir du code externe.
Mon prochain challenge est sur Linxo. L'import manuel de fichiers fonctionne et je dois maintenant automatiser. Pour l'instant je split le fichier CSV linxo en aval de l'import (avec python). Je dois arriver à exporter l'historique compte par compte en amont directement depuis Linxo. Seul le format CSV contient la classification faite par Linxo.
Merci encore pour l'aide apportée
Cordialement
Philippe
- Fichiers joints
-
- GesSource_Wise csv.xml
- (9.82 Kio) Téléchargé 97 fois
-
- Administrateur
- Messages : 6931
- Enregistré le : 04 janvier 2010, 20:03
- Localisation : France (Yvelines 78)
- Contact :
Re: Wise et MFA
Pourquoi utilises-tu une source d'importation des opérations courantes ? Ce sont des opérations de trésorerie ou ou valorisation que tu récupères.
Dans le deuxième cas il faut créer un titre par monnaie et utiliser une source pour l'importation des cours (=la valorisation de chaque monnaie).
Le code de référence dans la source correspond au compte pour une source dédiée aux opérations courantes, et au titre pour une source dédiée aux cours, et dans ce dernier cas, tu peux avoir plusieurs titres dans un compte titre, donc la source boucle sur chaque titre.
Si tu veux ouvrir la console de développement de Chromium, ajoute l'item de navigation "ExecuteJavascript" et passe la valeur "showdevtools" (sans guillemet)
Si tu veux simuler un Enter, ajoute un item "SetTextBySendKey" et passe la valeur "{ENTER}". Les valeurs suivantes fonctionnent aussi {TAB} {DEL} {HOME} {END} {BACK}
Mais attention si tu interagis avec l'interface de Chromium en même temps cela peut créer des conflits, ca simule une touche clavier telle que tu pourrais la faire. On est pas sur un script dans la page.
Globalement il faut préférer les items "SetAttribut" ou "SetOption" et n'utiliser "SetTextBySendKey" que si les précédents ne fonctionnent pas
Dans le deuxième cas il faut créer un titre par monnaie et utiliser une source pour l'importation des cours (=la valorisation de chaque monnaie).
Si la source est correctement réalisée, la déconnection ne s'effectuera qu'à la fin de tous les téléchargements. Mais si tu utilises une source pour les opérations courantes, cela ne marche que si tu importes une monnaie par compte (pas plusieurs sur un même compte) et que tu demandes l'importation via le menu F8 (traitement de tous les comptes à la suite) et pas directement depuis le livre d'1 compte car dans ce cas tu ne peux importer que pour ce compte.Fifi a écrit : 20 février 2025, 14:09
Seul le premier chargement demande le MFA donc l'approche serait parfaite. A priori je ne dois pas me déconnecter car sinon les chargements suivants redemandent le MFA - ou alors il faudrait une déconnexion conditionnelle sur la dernière balance du type "Si USD alors déconnecte".
Le code de référence dans la source correspond au compte pour une source dédiée aux opérations courantes, et au titre pour une source dédiée aux cours, et dans ce dernier cas, tu peux avoir plusieurs titres dans un compte titre, donc la source boucle sur chaque titre.
Si tu veux ouvrir la console de développement de Chromium, ajoute l'item de navigation "ExecuteJavascript" et passe la valeur "showdevtools" (sans guillemet)
Si tu veux simuler un Enter, ajoute un item "SetTextBySendKey" et passe la valeur "{ENTER}". Les valeurs suivantes fonctionnent aussi {TAB} {DEL} {HOME} {END} {BACK}
Mais attention si tu interagis avec l'interface de Chromium en même temps cela peut créer des conflits, ca simule une touche clavier telle que tu pourrais la faire. On est pas sur un script dans la page.
Globalement il faut préférer les items "SetAttribut" ou "SetOption" et n'utiliser "SetTextBySendKey" que si les précédents ne fonctionnent pas
Re: Wise et MFA
Jacques Leblond a écrit : 20 février 2025, 15:03 Pourquoi utilises-tu une source d'importation des opérations courantes ? Ce sont des opérations de trésorerie ou ou valorisation que tu récupères.
Dans le deuxième cas il faut créer un titre par monnaie et utiliser une source pour l'importation des cours (=la valorisation de chaque monnaie).
Ce sont bien des opérations de trésorerie, avec une monnaie différente pour chaque compte. C'est une des premières choses que j'ai testé avec Gesfine : la capacité de valoriser des comptes tenus dans différentes monnaies en consolidant les soldes dans la monnaie de référence (EUR). Très peu d'outils le font. La plupart demande de convertir les opérations en euro d'abord.
J'ai bien un compte pour la balance Wise EUR, un pour USD, un pour GBP et un pour CHF...
En pratique, une balance Wise correspond à un compte avec une tenue dans la monnaie de la balance. Le compte Wise principal (EUR) est en Belgique avec un IBAN Belge.
Pour USD et GBP, on dispose également de coordonnés bancaires complètes aux US et en Angleterre (donc un sort code anglais et ACH US, ce qui évite d'utiliser swift. cela permet d'être gratuit). Pour CHF ou SEK, c'est uniquement une tenue de compte sans coordonnées bancaires locales. Les coordonnées internationales Swift doivent alors être utilisées.
Enfin, les avoirs sur les comptes EUR, GBP et USD sont aussi rémunérés de manière décente.
Nickel. c'est exactement ce qu'il me faut - surtout si avec F8 j'évite de passer en revue les comptes un par an. Pour l'instant je fais encore un pointage manuel à l'importation pour les vérifier.Jacques Leblond a écrit : 20 février 2025, 15:03 Si la source est correctement réalisée, la déconnection ne s'effectuera qu'à la fin de tous les téléchargements.
Vraiment top. C'est parfait et cela va me faire gagner beaucoup de temps.Jacques Leblond a écrit : 20 février 2025, 15:03 Si tu veux ouvrir la console de développement de Chromium, ajoute l'item de navigation "ExecuteJavascript" et passe la valeur "showdevtools" (sans guillemet)
J'avais essayé {ENTER} à l'instinct après avoir vu d'autres sources utilisant {DEL}. Mon souci devait être ailleurs. J'ai encore parfois du mal, en particulier entre GetElementByXPath et GetElementsByXPath - du coup je teste d'abord le premier, puis en cas de difficulté le second.Jacques Leblond a écrit : 20 février 2025, 15:03 Si tu veux simuler un Enter, ajoute un item "SetTextBySendKey" et passe la valeur "{ENTER}". Les valeurs suivantes fonctionnent aussi {TAB} {DEL} {HOME} {END} {BACK}
Je soupçonne aussi certains sites d'utiliser du mouseover en amont des clics pour éviter les robots.
Les framework web ne simplifient pas toujours l'analyse des pages web à ce niveau....
Merci encore pour les précieux conseils !