[Cozy Banks] Développement connecteur Boursorama

L’installation semble fonctionner en ligne de commande :

cozy-stack konnectors install --domain oupsman.moncloudprive.eu boursorama git://github.com/orandin/cozy-konnector-bank-boursorama.git#master

Salut @oupsman !

Tu as en effet le moyen d’installer le konnector en ligne de commandes, mais tu as installé le konnector en utilisant l’ancien dépôt. Depuis, cela a été migré vers le github konnectors.

D’ailleurs, depuis cette migration, le Konnector Boursorama est disponible officiellement sur cozy store. Je te conseille de l’installer depuis le store. Tu bénéficieras des mises à jour automatique. :wink:

1 Like

Bonjour Orandin,

merci de ton retour, mais l’installation depuis le Store me renvoit le message “Something went wrong when installing the application on your Cozy. Reason: Error when installing the application”, à priori pour un problème de checksum

Hello @orandin !

J’ai le même problème que @Oupsman quand j’essaie d’installer le connecteur :

Error: Application checksum does not match

Une idée d’où cela pourrait venir ? Ou @doubleface peut-être ?

Hello,

Désolé du délai de réponse. Je me suis rendu compte que mon Konnector était basé sur git://github.com/konnectors/boursorama.git#build au lieu du registry. Si j’essaie de me baser sur la registry, j’ai également le même problème.

J’ignore d’où vient le problème. Je vais regarder pour faire une nouvelle release avec les dernières mises à jour. Peut-être que cela débloquera le problème.

Merci pour le retour !

Merci @orandin !

Tant que j’y suis, et vu que tu prévois de faire une nouvelle version, que penses-tu de réduire la fréquence de récupération des données de tes connecteurs bancaires ? Une fois par heure, ça me semble un peu trop fréquent, pas sûr que les banques ne mettent à jour leurs données plus d’une fois par jour.

1 Like

Une fois par heure permet d’avoir peu de décalage entre les informations de ta banque et le cozy (notamment dans le cas d’un virement). De plus, avec le déploiement progressif de la double authentification (exigée par la directive DSP2) au niveau des banques, réduire la fréquence admet le risque de louper la demande de confirmation de connexion et avoir des jours de décalages entre les infos.

Pour autant, je ne suis pas satisfait de cette fréquence car elle est imposée et l’utilisateur ne peut pas la définir. Je souhaite donner le contrôle à l’utilisateur sur cette fréquence d’actualisation.

J’aimerai donc intégrer un champ paramétrable pour définir des intervalles d’actualisation : "toutes les heures, tous les 2 heures, tous les 4 heures, etc… Le Konnector s’exécuterait certes toutes les heures, mais selon le paramétrage définie par l’utilisateur, il fera ou non l’actualisation. Et même aller plus loin en demandant au Konnector de ne rien actualiser la nuit (la période serait définissable). Cela me semble important surtout avec la double authentification à présent.

À défaut de pouvoir définir la fréquence dans l’interface de Collect, il serait peut-être utile de disposer d’une commande cozy-stack pour définir la fréquence d’exécution d’un connecteur. Soit cozy-stack konnectors schedule [hourly|daily|weekly|monthly], soit pour définir exactement la fréquence de la tâche périodique (cette seconde option me semble bien plus naturelle, mais je ne suis peut-être pas représentatif :wink: )

@doubleface @poupotte qu’en pensez-vous ?

1 Like

Je viens de reproduire le problème d’installation sur un cozy auto-hébergé.

Du coup, j’ai publié une nouvelle version du connecteur et celui-ci peut maintenant être installé normalement. Sûrement un problème passager de build.

Je vous invite donc tous a essayer d’installer ce connecteur de nouveau. Désolé pour le dérangement.

3 Likes

Oui, ça fonctionne maintenat, merci @doubleface !

hello
j’ai l’impression que ce serait bien plus simple en utilisant le portail developpeur de boursorama et les API maintenant ouvertes, je suis en train de lire la doc



2 Likes

Bonjour @thibault-ketterer,

Bienvenue à bord de ce forum :smile:

Voilà une excellente nouvelle ! Un banque se met à proposer des API ouvertes et à les documenter. Que de chemin parcouru !

Merci de nous avoir signalé cette documentation :slight_smile:

Bonjour @thibault-ketterer

Merci pour le partage ! Je m’étais intéressé aux APIs fournis par la directive DSP2, car comme tu le soulignes à juste titre, ce serait bien plus simple ! Cela m’aurait fait gagné des heures de code… Mais cela ne semble pas possible. Je te cite ma réponse faite à ce sujet dans le topic du connecteur Fortuneo :

Peut-être que Boursorama est allé plus loin. Je n’ai pas creusé l’implémentation DSP2 de chaque banque. Si tu trouves des éléments permettant d’utiliser une API sur Boursorama, je suis preneur ! :slight_smile:

1 Like

Plop @Clochix @doubleface

Après avoir mis à jour ma branche master puis les dépendances, il m’est impossible de lancer mes Konnectors. J’ai systématiquement cette erreur en lançant la commande yarn dev :

create-cli-client: debug : Using saved credentials in boursorama/.token.json
ReferenceError: Headers is not defined
    at Object.<anonymous> (boursorama/node_modules/pouchdb-browser/lib/index.js:2863:9)
    at Module._compile (internal/modules/cjs/loader.js:1133:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
    at Module.load (internal/modules/cjs/loader.js:977:32)
    at Function.Module._load (internal/modules/cjs/loader.js:877:14)
    at Module.require (internal/modules/cjs/loader.js:1019:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (boursorama/node_modules/cozy-client-js/dist/cozy-client.node.js:3944:18)
    at __webpack_require__ (boursorama/node_modules/cozy-client-js/dist/cozy-client.node.js:20:30)
    at Object.<anonymous> (boursorama/node_modules/cozy-client-js/dist/cozy-client.node.js:3621:23)
    at __webpack_require__ (boursorama/node_modules/cozy-client-js/dist/cozy-client.node.js:20:30)
    at Object.<anonymous> (boursorama/node_modules/cozy-client-js/dist/cozy-client.node.js:1367:16)
    at __webpack_require__ (boursorama/node_modules/cozy-client-js/dist/cozy-client.node.js:20:30)
    at boursorama/node_modules/cozy-client-js/dist/cozy-client.node.js:63:18
    at Object.<anonymous> (boursorama/node_modules/cozy-client-js/dist/cozy-client.node.js:66:10)
    at Module._compile (internal/modules/cjs/loader.js:1133:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
    at Module.load (internal/modules/cjs/loader.js:977:32)
    at Function.Module._load (internal/modules/cjs/loader.js:877:14)
    at Module.require (internal/modules/cjs/loader.js:1019:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (boursorama/node_modules/cozy-jobs-cli/node_modules/cozy-konnector-libs/dist/libs/cozyclient.js:12:5)

Voici le diff avant ma mise à jour (où tout fonctionnait) à maintenant :

   "dependencies": {
-    "cozy-doctypes": "1.72.2",
-    "cozy-konnector-libs": "4.34.5",
-    "moment": "2.27.0"
+    "cozy-doctypes": "1.75.1",
+    "cozy-konnector-libs": "4.38.1",
+    "moment": "2.29.1"
   },
   "devDependencies": {
-    "copy-webpack-plugin": "6.0.3",
-    "cozy-app-publish": "0.22.3",
-    "cozy-jobs-cli": "1.13.6",
-    "eslint-config-cozy-app": "1.5.0",
-    "git-directory-deploy": "1.5.1",
-    "husky": "4.2.5",
-    "jsdoc": "3.6.4",
-    "konitor": "0.10.3",
-    "svgo": "1.3.2",
-    "webpack": "4.43.0",
-    "webpack-cli": "3.3.12"
+    "cozy-jobs-cli": "1.15.4",
+    "cozy-konnector-build": "1.1.4",
+    "jsdoc": "3.6.6"
   }
 }

Dans le doute, j’avais fait un rm -fr node_modules puis un yarn mais le problème est toujours présent. Savez-vous à quoi cela est dû ?


EDIT: le problème viendrait de la dépendance cozy-jobs-cli. En retournant à la précédente version (1.13.6), je ne rencontre plus le problème.

Bonsoir @orandin,

Je me renseigne, mais crains de ne pas avoir de réponse avant lundi matin.

Apparemment @lucas est déjà au courant de ce problème, cf. ce sujet.

1 Like

Merci à vous deux @Clochix & @dohseven pour votre rapidité.
Étant donné que ce n’est qu’une dépendance de dev, le downgrade est acceptable et ne m’a pas empêché de sortir la v1.8.1 pour Boursorama à l’instant. :slight_smile:

En revanche, la CI a planté au moment du déploiement de l’application et cela n’a pas publié sur la registry :confused:

Ping @doubleface ou @lucas est-ce que vous pourriez regarder pourquoi le déploiement planta ?

Le problème avec ‘yarn dev’ est normalement réglé dans les libs publiées hier si les dépendances sont à jour.
Notamment cozy-jobs-cli et cozy-konnector-lib.

Si le problème persiste, n’hésitez pas à reposter un message ici.

2 Likes

Merci @lucas ! J’essayerai de vérifier que tout fonctionne ce week-end :slight_smile:

J’aurai une petite question à propos du doctype io.cozy.bank.accounts. Dans le cas d’une carte de crédit, il est possible de la relier au compte courant via le champ checkingsAccount :

checkingsAccount: {HasOne<io.cozy.bank.accounts>} - In case of a credit card account, links to the bankaccount on which all the transactions will be debited at the end of the month

Faut-il que l’objet se trouvant dans le champ provienne absolument de la DB de cozy — c’est-à-dire avec le champ _id — ou un objet construit à la volée — lors du scrapping — est aussi tolérée ?