Développement connecteur Generali


#1

Bonjour à tous !

J’ai déjà contacté la cozy team via IRC pour prévenir que je développais un connecteur pour la mutuelle Generali.
Je pense que ce n’est pas inutile d’en parler sur le forum également, histoire que deux connecteurs similaires ne se lancent pas en même temps. Ce serait du gâchis de temps de dev… Y’a tellement de connecteurs à faire encore :wink:

N’hésitez pas à me contacter si ce connecteur vous intéresse, ou si vous voulez participer à son développement.
Je pense qu’il est bientôt mature !
Je préviendrais ici quand il sera terminé selon moi.

(Promis je vais nettoyer le code ET l’historique :smile:)


#2

Excellente nouvelle ! N’hésites pas à interpeller @doubleface si tu as besoin d’aide :slight_smile:

–Tristan


#3

Petite question.

J’aimerai tester manuellement mon application dans la version actuelle qui me semble convenablement fonctionner (reste à gérer des cas d’erreur etc.)

Pour ça, je voudrais lancer le konnector en mode dev.
Est-ce possible sans installer une instance propre de Cozy ?
Je peux utiliser mon cloud perso en mycozy.cloud ?
Est-ce que c’est pas un peu cavalier de faire des tests avec mon compte de production ?

Quels sont vos conseils pour faire ce genre de tests manuels ?
Merci pour vos aiguillages.

EDIT: Je pense avoir trouvé les pistes que je cherchais
https://cozy.github.io/cozy-stack/INSTALL.html
Je vais voir si je peux trouver un bin pour Mac. Sinon je vais suivre la procédure pour utiliser les sources pour faire ma stack :wink:


#4

Bonjour @carrieje et bienvenue!

Désolé, j’ai beaucoup de mal à suivre IRC.

Ce connecteur est une super nouvelle! Je n’ai pas de compte pour pouvoir le tester mais je n’ai rien à redire sur le code et il semble pouvoir aussi fonctionner en mode dev.

Les connecteurs santé sont un peu particulier et on besoin d’un peu plus de données que les autres. Tu peux trouver des infos ici

Pour ce qui est des tests en mode dev, c’est sûrement un peu cavalier des faire les tests avec une instance en production. Pour les fichiers, ils seront téléchargés à la racine, donc séparés de tes fichiers dans le dossier “Administratif”. Par contre, les documents seront mélangés dans io.cozy.bills. Il y a sûrement quelque chose à faire pour faciliter les tests sur une instance de production.

Je pense qu’on pourra si nécessaire te fournir une instance cozy “staging” qui sera plus à jour pour que tu puisses tester le rapprochement des remboursements de santé avec les opérations bancaires correspondantes.

Bon courage et tiens nous au courant quand tu estimes que ton connecteur est prêt (tu n’as pas l’air loin), on devrait pouvoir assez rapidement le déployer sur l’application collect.


#5

J’ai réussi à compiler la branche master de cozy-stack
Je me connecte sans souci sur le cozy
Par contre, je n’ai pas de moyen de mettre l’application banks sur ma stack

Et lorsque j’essaie de connecter mon compte Banque Populaire, j’obtiens une erreur


#6

Hello,

Nous allons très rapidement réfléchir en interne au moyen de t fournir une instance de test disposant de l’application Banque afin que tu puisses tester plus avant ton connecteur. Merci !!!


#7

Hello !

Pour moi le konnector est terminé de développer. (Plus que quelques tests unitaires, mais je suis confiant sur le fonctionnement. Ils serviront pour la non régression).
Pour être certain que tout fonctionne comme prévu, j’aimerai donc tester l’intégration avec Banks.

Je vous laisse me dire quand votre solution est disponible :slight_smile:
Je me lancerai sur d’autres connecteurs quand celui-ci sera validé avec cette intégration :smiley:

Plusieurs points de retour après mon dev :

  • Avec la lib, on n’a pas accès aux types erreur de request-promise
  • Les erreurs de la lib sont de type Error, ce qui complique leur gestion

#8

Bonjour, @carrieje !

Ce connecteur me semble nickel. Je n’ai malheureusement pas de compte pour le tester mais il semble échouer proprement si le login ou le mot de passe sont mauvais :slight_smile:

Est-ce que tu vois une objection à ce que ton connecteur soit ajouté dans l’organisation konnectors ? Cela permet à l’équipe cozy de faire de la maintenance dessus, même quand tu n’es pas disponible, et ça permet aussi d’ajouter à ton connecteur le build automatique à chaque nouveau commit ainsi que la mise à jour automatique des dépendances. Tu auras bien sûr tous les droits d’administrateur sur ce repo.

En tous cas, ce n’est pas une obligation. Dès que j’ai ta réponse, je pourrai ajouter ton connecteur dans cozy-collect.

Au passage, la documentation des connecteurs vient d’être mise à jour. Tes retours sont plus que bienvenus!

Merci pour cette contribution!


#9

Je n’y vois absolument pas de souci !
Au contraire, c’est une consécration ahah

Je trouve ça bizarre qu’il n’échoue pas de manière correcte…
J’ai pourtant bien fait en sorte de lever une LOGIN_FAILED il me semble.

C’est à la lecture du code que tu vois ça ou après l’avoir essayé ?

EDIT: J’avais mal lu ta phrase :smiley:

Je jette un œil à la documentation :wink:


#10

requestFactory

Check “debug” option in requestFactory

https://github.com/cozy/cozy-konnector-libs/blob/master/docs/api.md#requestFactory
Cette page n’a pas de catégorie requestFactory. Mais une request qui semble dépréciée.

Cozy Stack

Those variables are used by the BaseKonnector and the cozy-client to configure the connection to the Cozy Stack with the right permissions as defined in your manifest.konnector.

Je rajouterai que la connexion à la Cozy Stack est pas obligatoire pour faire ses premiers pas.
Cela enlève une barrière pour que les développeurs se lancent :wink:
On parle du standalone quelques lignes plus bas. En parler très rapidement ici pourrait en plus aider à savoir ce qu’est ce standalone mentionné après.

Connector structure

Basically, a connector is just a function passed to the BaseKonnector constructor, and which returns a promise:

Et l’exemple ne retourne pas de Promise :slight_smile:

Fetch operations

Apparemment la mise en page de la liste à point a foiré.
Je rajouterai l’étape de connexion en début des étapes typiques.

Errors

J’aurais suggéré d’utiliser le module errors requireable depuis la lib.

Permissions

Il n’y a pas un endroit qui saute aux yeux qui nous dit quelles permissions utiliser suivant les méthodes appelées (saveBills, saveFiles…)
Si je ne me trompe pas, chacune d’elle en implique directement des précises.

How do I scrap a website

Apparemment, ici la version dépréciée request est utilisée en exemple.

s/automaticall/automatically


#11

Une partie des remarques prise en compte. Le reste se passe dans cozy-konnector-libs : https://github.com/cozy/cozy-docs-v3/pull/38

Merci @carrieje :thumbsup:


#12

C’est un plaisir :wink:
C’est souvent plus simple de faire une revue quand on a pas eu le nez dans le guidon ! (Proverbe grenoblois)