Gestion des connecteurs depuis les applications


Contexte

Une majorité de nos applications manipulent des données provenant de nos connecteurs. Elles sont donc directement en lien avec nos connecteurs. Ce paper a pour but d’étudier les cas d’usages au sein des applications où l’on manipule des connecteurs afin de proposer une solution à ces applications.

Attention : l’inter-apps n’est pas disponible dans le cadre des applications mobiles pour le moment. Cela signifie, par exemple, que nous ne pourrions pas proposer une file d’attente des connecteurs gérer par la cozy-barre et Cozy Collect qui  fonctionnerait dans les apps mobiles.

Cas d’usages

Liste des connecteurs disponibles d’un certain type

Problématique :
  • Afin de proposer des CTA autours des connecteurs dans nos différentes applications, ces dernières doivent avoir accès à la liste des connecteurs disponibles dans notre Store, non configurés.
Exemples :
  • Cozy-Contacts : Lorsque l’utilisateur cherche un contact, nous souhaitons lui proposer dans l’interface d’auto-complétion, la liste des connecteurs de type contacts disponible dans le Store.
  • Cozy-Banks : Lorsqu’un utilisateur a une ligne bancaire correspondant à un connecteur disponible dans le Store, nous souhaitons lui proposer de configurer ce dernier.

Liste des connecteurs connectés d’un certain type

Problématique :
  • Il s’agit du miroir du problème précédent, à savoir lister les connecteurs disponibles d’un certain type. En effet l’application peut vouloir afficher un CTA différent en fonction de si le connecteur est connecté ou pas.

Exemples :
  • Cozy-Contacts : Lorsque l’utilisateur cherche un contact, nous souhaitons lui proposer dans l’interface d’auto-complétion, la liste des connecteurs de type contacts disponible dans le Store. Si le connecteur est déjà connecté, alors il n’est pas utile de pousser ce CTA
  • Cozy-Banks : Lorsqu’un utilisateur a une ligne bancaire correspondant à un connecteur disponible dans le Store, nous souhaitons lui proposer de configurer ce dernier. Si le connecteur est déjà connecté, alors on peut lui proposer plutôt une modale pour forcer la synchro des factures.

Configuration & suivi de la progression de l’exécution d’un connecteur

Problématique : 
  • Lorsqu’un connecteur s’exécute, il se passe de temps entre le début de son exécution et l’arrivée des données dans le Cozy de l’utilisateur. L’utilisateur doit donc comprendre que c’est normal que les données ne soient pas visible directement, en particulier, lorsqu’il est dans un contexte où il souhaite utiliser les données récupérées par le connecteur.
Exemples : 
  • Configurer un connecteur : 
  • Cozy-Banks : Lorsque je crée un nouveau compte bancaire, si je retourne dans l’application Cozy-banks, je souhaite avoir l’information que les données sont en train d’être importées.
  • Cozy-Banks : Lorsque l’application me propose de connecter un nouveau connecteur pour mes facture, je souhaite comprendre pourquoi le lien vers la facture n’est pas directement accessible.
  • Cozy-banks : lorsque je prends connaissance du soldes de mes comptes je veux connaitre la date de fraicheur de la donnée (quand le connecteur a tourné)
  • Cozy-Drive : Lorsque je connecte un nouveau connecteur pour récupérer mes factures associées, je souhaite voir la progression de mon connecteur pour comprendre pourquoi je n’accède pas à mes factures directement.
  • Cozy-Contacts : Lorsque je cherche un contact dans ma liste, si je n’ai aucune réponse à ma recherche, l’application me propose de connecter un des connecteurs disponible. Je dois alors suivre leur progression dans le cas où je souhaite en configurer un.
  • Forcer une synchronisation :
  • Cozy-Banks : Lorsqu’il me manque mes dernière ligne de compte, je souhaite forcer une synchronisation depuis l’application et voir la progression de cette dernière.
  • Cozy-Drive : Lorsque je navigue dans mon dossier de factures, si je souhaite récupérer mes dernières factures, je peux forcer une synchronisation, je dois alors avoir une vision sur la progression de mon connecteur pour comprendre pourquoi mes factures ne sont pas encore disponible dans mon Drive.

Suppression d’un connecteur

Problématique :
Lorsqu’un utilisateur souhaite supprimer un compte et les données associées, il doit actuellement passer par l’app et collect. Nous souhaiterions lui permettre de le faire en une action.
Exemples :
  • Cozy-Banks : Lorsque je souhaite supprimer un compte bancaire, lorsque je passe par l’interface de banks pour supprimer ce compte, je m’attends à ce qu’il supprime les données du compte mais également le connecteur pour ne pas tout récupérer le lendemain.

Type de connecteurs actuellement

Par docTypes

Les connecteurs récupèrent des données qui correspondent à certains docType. Une façon de définir le type d’un connecteur peut se faire par le type de docType qu’il récupère.
Par exemple : 
  • Cozy-Drive propose à l’utilisateur de configurer l’ensemble des connecteurs proposant de récupérer des io.cozy.files.
  • Cozy-Banks propose à l’utilisateur de configurer l’ensemble des connecteurs proposant de récupérer des io.cozy.banks.account.
  • Cozy-Banks propose à l’utilisateur de configurer des connecteurs ramenant des io.cozy.bills.
  • Cozy-Contacts propose à l’utilisateur de configurer des connecteurs ramenant des io.cozy.contacts.