API, nocode : quelle solution technique pour connecter deux applications ?

par | 23 Sep 2021 | Expertise Web

Comme on l’a vu dans deux précédents articles (ici et ici), développer des ponts entre logiciels ou applications est souvent nécessaire, pour gagner en fiabilité et automatiser des processus. Si se poser les bonnes questions en amont est une première étape indispensable, vient ensuite la question technique. Intégrations natives, outils nocode, connecteurs sur mesure… Faisons le point sur les solutions à votre disposition.

Concevoir un connecteur : les contraintes à prendre en compte

Pour connecter des applications entre elles, il faut d’abord pouvoir communiquer avec. 

Cette communication peut se faire de différentes façons : flux XML, API, webhooks (événements émis sur une url), etc. 

Si les moyens sont nombreux, il faut qu’au moins qu’un de ces moyens existe et permette de transmettre les données nécessaires à votre connecteur.

Si vous êtes éditeur de votre logiciel, cela peut nécessiter de concevoir votre plateforme en fonction de ce besoin (architecture micro-service plutôt que monolithe, etc.), ou de développer les briques nécessaires.

Si vous utilisez une application ou logiciel en ligne, vous pouvez avoir accès ou non aux APIs de cette application, ou aux intégrations déjà existantes : en fonction de l’outil lui-même (propose-t-il une API ou des intégrations ?), de votre abonnement, ou même du type d’hébergement choisi (sur l’infrastructure de l’éditeur ou sur votre propre serveur).

Il est fondamental de faire une première étude de votre environnement pour choisir la bonne solution technique, et/ou mettre en place les bonnes actions. 

Malheureusement, de cette phase peut ressortir une impossibilité de réaliser le connecteur. Mais il ne faut pas oublier que le web est un écosystème en constante évolution : la vérité du jour n’est pas celle du lendemain et la conception initiale ne sera pas perdue.

En se penchant sur les contraintes techniques, on peut aussi découvrir des moyens détournés, permettant d’adresser le besoin de façon temporaire en attendant des évolutions prévues. Cette étude peut également mettre en lumière l’inadéquation de l’outil avec vos besoins : si le connecteur est nécessaire pour votre activité, et que l’outil ne le permet pas, alors ce n’est pas forcément le bon outil. pour votre entreprise.

Toutefois, on vous rassure : de plus en plus d’éditeurs ont compris depuis longtemps qu’ils ont un intérêt à ouvrir leur plateforme sur l’extérieur, et les nouvelles technologies et méthodes de développement simplifient la tâche : il est loin, le temps où on ne pouvait communiquer avec des logiciels que par export de fichiers à plat pendant la nuit !

Solution 1 : Les extensions du marché

Aujourd’hui, devant la demande croissante d’interconnexion, de nombreuses plateformes proposent leur propre marketplace d’extensions (ou d’intégrations, c’est selon). Votre logiciel de comptabilité ou votre CRM propose sans doute des connecteurs “standard” avec des logiciels partenaires.

La marketplace Hubspot

Capture d’écran : la marketplace Hubspot

Certains connecteurs sont développés et maintenus par l’éditeur lui-même, d’autres par des tiers. Certaines entreprises se sont même spécialisées dans le développement de ces extensions pour certains outils.

Par exemple, Piesync, récemment rachetée par Hubspot, était spécialisée dans la synchronisation de données entre des applications et ce CRM. Des agences ont également fait des connecteurs leur centre d’expertise. 

Plutôt que d’envisager du développement sur-mesure, de telles extensions peuvent être très pertinentes si elles couvrent le besoin identifié. Elles ont pour certaines plusieurs années d’existence et donc d’améliorations, un support adapté, et une polyvalence permettant de travailler par itérations.

Sur le plan budgétaire, beaucoup de ces services fonctionnent sur un principe d’abonnement, dont le prix dépend du nombre d’utilisateurs. Si le prix d’entrée est plus faible qu’un développement sur mesure, nous vous recommandons de faire la projection sur plusieurs années, en fonction de votre croissance prévisionnelle, pour choisir la meilleure solution.

Ces extensions demandent tout de même pour la plupart un temps de configuration et de test non négligeable, qui est notamment une conséquence de leur polyvalence : il faut les adapter à son propre besoin.

Si votre logiciel CRM propose un connecteur standard avec votre logiciel de comptabilité, c’est une bonne nouvelle, mais prenez garde : vérifiez que ce connecteur couvre bien vos besoins car parfois, les fonctionnalités couvertes sont limitées ! 

Par exemple, au moment de l’écriture de cet article, le connecteur entre le CRM Hubspot et le logiciel de comptabilité Quickbooks permet de créer des factures directement dans Hubspot et de les transmettre à Quickbooks, mais il ne permet pas de visualiser dans Hubspot les factures créées dans Quickbooks… ce qui ne répond pas à tous les besoins.

Solution 2 : Les plateformes d’intégration “nocode”

Le “no-code” a le vent en poupe : on appelle “no-code” les applications ne nécessitant pas de développement au sens traditionnel du terme (écriture du code source etc.).

De nombreuses plateformes nocode permettent aujourd’hui de créer des outils en quelques jours à partir de briques plus ou moins macro, déjà codées et ne nécessitant plus que de l’assemblage et de la configuration.

Pour le développement d’un connecteur, il existe des outils no-code particulièrement intéressants, dédiés à l’intégration d’applications. 

Parmi les plus utilisés, nous pouvons citer Zapier et Integromat. Ces outils sont déjà connectés à des centaines d’applications du marché, et permettent de créer des connecteurs relativement complets.

Ces connecteurs fonctionnent le plus souvent sur le principe de déclencheur : 

  1. Un événement est émis dans une application 1 (par exemple réception d’une commande)
  2. Cela va entraîner une action dans une application 2 (par exemple envoi d’un mail au client)
  3. Et une autre action dans une application 3 (par exemple création d’une fiche dans l’ERP).

Capture du site Zapier

Chaque logiciel ou application présent sur ces plateformes propose un nombre limité de déclencheurs et d’actions, avec lesquels vous allez pouvoir “jouer” pour créer vos connecteurs personnalisés.

Ces services ont bien sûr un coût, qui peut dépendre du nombre d’utilisateurs, du nombre d’événements, du nombre de connecteurs mis en place.

Leurs défauts ? 

Ils ne fonctionnent pas forcément en temps réel. 

De plus, malgré un catalogue de plus en plus complet, tous les outils ne sont pas disponibles sur Zapier ou Integromat. 

Et pour un outil donné, il faut bien étudier les possibilités offertes par l’intégration afin de savoir si elle répond à votre besoin. 

Ajoutons enfin que ces plateformes d’intégrations ne sont pas les plus adaptées si vous avez besoin d’échanges de données bidirectionnels entre deux applications : vous n’êtes pas totalement à l’abri de certains risques, comme la création de doublons, ou l’écrasement de données historiques sensibles.

Les plateformes d’intégration no-code sont cependant un excellent compromis pour tester la pertinence d’un connecteur avant d’envisager un développement sur-mesure, ou pour lier des outils très répandus, en suivant des process simples.

Ici aussi un temps de configuration et de test est à prévoir, et l’itération est possible : vous pouvez lier plusieurs applications au sein d’un même processus, faire évoluer votre intégration à tout moment…

Solution 3 : le développement de connecteurs sur mesure

Le développement d’un connecteur sur mesure consiste à créer de toutes pièces une application web, permettant la transmission de données et d’instructions entre deux plateformes. Cela implique de mettre en place un hébergement adapté, et le coût d’entrée est relativement important.

Mais c’est la solution qui offre le plus de flexibilité et d’impact : on va développer exactement ce dont vous avez besoin, au lieu d’utiliser un outil existant pour le faire correspondre au mieux à votre demande. 

C’est aussi la solution la plus pertinente sur le long terme : la base technique permet d’itérer à l’infini, sans être limité par un outil, en restant propriétaire de ses données, et en maîtrisant tous les éléments de la chaîne. Ici, vous n’êtes pas dépendant d’une autre entreprise qui demain pourrait faire des choix vous mettant en danger, voire cesser son activité

Peu d’entreprises, même les éditeurs de logiciels, réalisent elles-mêmes ce type de développement. Les développeurs de l’entreprise se concentrent sur la feuille de route produit, et le développement du connecteur peut être réalisé en parallèle, par des équipes externes disposant d’une expertise complémentaire, rodées à ce type d’exercice.

Les pré-requis techniques sont ici moins stricts puisque le sur-mesure peut utiliser n’importe quel type de communication avec votre plateforme, et qu’il fait lui-même le choix de son hébergement. 

En revanche, auprès d’applications du marché, il faut toujours surveiller l’existence ou non d’API par exemple, et si elles sont versionnées et sécurisées.

Les solutions hybrides

Puisque chaque solution a ses avantages et ses inconvénients, il n’est pas à exclure de les utiliser en complémentarité ! 

Un éditeur, par exemple, peut commencer par mettre en place un connecteur entre son produit et un intégrateur comme Zapier, pour que sa plateforme soit intégrée à un maximum du marché.

Il peut ensuite choisir de créer un connecteur dédié vers une solution comme Hubspot, qui vise à être le centre des écosystèmes des entreprises. Cela rendra de facto son produit connecté à toutes les applications Hubspot (qu’on appelle l’Operation Hub), et cela lui ouvre donc un marché colossal.

Pour n’importe quel projet de connecteur, avancer par étapes peut être un bon pari. Lancer un développement sur-mesure prend du temps : dans l’intervalle, vous pouvez tester une solution existante couvrant partiellement votre besoin. Si le retour sur investissement est positif, cela peut même permettre de restreindre le périmètre (et donc le coût) du MVP développé !

Les scripts de migration

Cette solution est un cas un peu à part. 

Parfois, vous n’avez pas besoin d’un outil complet, permettant la synchronisation en temps réel ou la réaction à des événements, mais uniquement de transmettre des données d’une application vers une autre, en “one shot”. C’est par exemple le cas lorsque vous changez de logiciel, et que vous souhaitez retrouver votre historique dans le nouvel outil.

Il faut par contre être capable de traduire et transférer l’ensemble des données, en traitant les cas particuliers à la marge.

Dès lors, un script (ensemble de lignes de code s’exécutant de façon ponctuelle et non continue) peut être pertinent, car il est moins coûteux à mettre en place qu’un connecteur, et permet de traiter précisément chaque cas. 

Un script est par essence du développement sur-mesure. Il ne présentera pas d’interface graphique pour faire la correspondance entre chaque champ, mais ne nécessitera pas non plus d’abonnement ou d’hébergement. 

En effet, les scripts s’attachent avant tout à traduire des données, entre une procédure d’export et une d’import. Ces données sont exportées sous forme de fichier CSV sur la plupart des outils. Le traitement peut donc même être effectué au sein d’un tableur.

Certains logiciels proposent des outils de migration intégrés. Mais dans tous les cas, quelle que soit la solution choisie pour votre besoin de migration de données, la conception est centrale, car aucun cas ne doit être négligé.

Tirer le maximum des outils en place

De nombreux outils proposent aujourd’hui des fonctionnalités d’import/export, des intégrations natives avec d’autres outils, des automatisations accessibles par paramétrage, etc.

Avant d’envisager de lourds développements ou la mise en place d’un nouvel outil, nous vous conseillons de prendre le temps d’explorer ces possibilités de configuration, quitte à vous faire accompagner par une agence spécialiste.

De nombreuses automatisations sont notamment réalisables à partir d’une suite bureautique, et même d’un seul tableur, pour couvrir les besoins apportant le plus d’impact !

Florian Agator

Florian Agator

Ingénieur d'avant-projet web @theTribe

Et si on discutait ?