Blog
Développement
Comprendre les flux applicatifs

Comprendre les flux applicatifs

Ces flux permettent le bon fonctionnement de tout système informatique, ils se doivent d’être rigoureusement conditionnés afin de garantir une exécution renouvelée des processus qu’ils impliquent.

Sécurité et format de données

Les flux applicatifs permettent donc l’échange de données entre différents lieux, par exemple le catalogue produit d’un site de commerce est géré par un flux qui vient chercher de manière permanente ou programmée dans une base de données les articles qui sont présents dans ce catalogue.

Par convention, les données transférées sont en format JSON, plus rarement on peut utiliser des formats XML, TXT ou CSV.

La sécurité de ces données est conditionnée par la sécurité du flux en lui même, on doit donc veiller à autoriser de manière précises les accès et permissions accordées à un tierce concernant un flux donné. Les mécanismes de sécurisations peuvent être :

  • par reconnaissance d’adresse IP : permet d’autoriser seulement l’IP d’un ou plusieurs serveurs à utiliser une API développée.
  • par différents mécanismes d’authentification grâce à des “clés” individuelles.
  • par des protocoles plus sécurisés permettant de garantir l’authentification d’un utilisateur précis (ex: Oauth 2, JWT)

Lexique utile

Pour vous assurer la bonne compréhension des explications fournies dans cette article, faisons un petit tour des termes inerrants à ce sujet.

  • FTP ou SFTP : Il s’agit d’un protocole de transfert de fichiers, ce terme désigne aussi simplement la plateforme utilisée pour gérer les fichiers sur le serveur distant où ils sont stockés.
  • S3 : Il s’agit d’un protocole semblable au FTP mais plus moderne car le S3 repose sur le cloud, les données sont donc plus sécurisées car elles sont répliquées en plusieurs zones et non seulement stockées physiquement à un seul endroit comme celles d’un serveur distant classique utilisé par un protocole FTP. Et un SDK est à disposition des développeurs pour interagir facilement avec les fichiers
  • CRON : Il s’agit d’un programme permettant de configurer la planification de scripts, donc de tâches automatisées, à exécuter à des heures précises.
  • API : Interface de programmations permettant l’échange d’informations entre plusieurs systèmes.
  • Front : Interface côté utilisateur d’une application.

Les types de flux et leur fonctionnement

Ces exemples sont basés sur une situation où nous aurions besoin de récupérer une liste d’articles.

Le dépôt de fichier par FTP ou SFTP

Au niveau de l’architecture de base d’un flux, elle est facilement compréhensible : un applicatif vient interroger à intervalle régulier à l’aide d’un CRON le SFTP où sont enregistrées les données afin de détecter des changements dans des données existantes ou bien des nouvelles données. Une fois ces données récupérées, l’API les traite et les stocke dans une base de donnée.

Côté utilisateur, l’internaute va se connecter à un site, par exemple une boutique en ligne, son navigateur va interroger l’API pour récupérer la liste d’articles, l’API vient donc afficher ce qu’elle trouve dans sa BDD.

Ce type d’architecture de flux est la plus simple qui existe. Elle a pour avantage de rendre maître de sa donnée, cependant elle ne permet pas d’avoir des données en temps réel et va venir surcharger le réseau en faisant tourner peut-être inutilement un CRON si de nouvelles données ne sont pas présentes dans le SFTP.

Le dépôt de fichier par S3

Un dépôt de fichier par S3 représente une architecture un petit peu plus avancée. Les données présentes sur le SFTP vont venir se synchroniser dans le cloud, si un changement est constaté dans le cloud, une fonction applicative va créer une route vers l’API qui viendra elle enregistrer ce changement dans sa BDD.

Pour l’utilisateur, aucun changement n’est à constaté, c’est simplement le chemin emprunté par l’information qui change d’une manière plus efficiente.

À l’inverse d’un dépôt par SFTP, le dépôt par S3 permet d’éviter une surcharge réseau, d’avoir une donnée actualisée en temps réel tout en restant maitre de sa data.

L’appel à d’autres API

Dans certains cas où nous ne serions pas maître de la données dont nous avons besoin, nous pouvons concevoir une API qui vient elle demander la récupération de la liste d’articles à des API tierces qui suivraient elles un cheminement classique développé plus haut.

Par exemple, un site E-commerce type “marketplace” qui regroupe les catalogues de différents prestataires aura une API qui ira appeler celles de ses partenaires pour afficher leurs articles dans son catalogue.

Ce système permet d’avoir des données tout le temps à jour et est très orienté micro-services, il est cependant totalement dépendant du fonctionnement des API tierces.

Le message Queuing

Afin de supplanter cette dépendance aux API tierces, nous pouvons faire appel au message Queuing. Cela désigne un canal dans lequel un applicatif vient déposer un “message”, un peu comme une sorte de boîte de réception, lorsqu’elle aurait un nouvel article dans sa BDD. Ce message pouvant être récupéré par un autre système. Ainsi, même si le système tiers ne fonctionne plus, notre API peut tout de même récupérer sa donnée et venir la stocker dans notre BDD.

Cette méthode permet donc d’avoir une donnée toujours à jour, sans surcharger le réseau et sans non plus dépendre du fonctionnement de l’API tierce.

L’orchestration et le suivi des flux

Lorsqu’un système dispose de plusieurs flux qui fonctionnement simultanément, il est nécessaire de programmer leur exécution dans un ordre bien défini pour assurer la cohérence des informations.

Par exemple, dans notre système d’articles, si un deuxième flux existe pour récupérer une “catégorie”, si je veux récupérer un article et le rattacher à une catégorie qui n’existe pas dans mes données, mon système rencontrera un problème.

En cas de problèmes, il faut également toujours s’assurer d’avoir des outils qui tracent les différentes informations sur la bonne ou mauvaise exécution des flux et idéalement avoir des mécaniques simples pour les relancer en cas d’erreurs.

Temps de lecture
11
minutes
Développement
30
/
01
/
2023
Partager
Agence Digitale & Marketing, spécialisée dans la création de solutions web et mobiles personnalisées, mais aussi de stratégies marketing pour renforcer la présence en ligne des entreprises.
Contactez-nous !

Cela pourrait vous intéresser

Stratégie
9
min de lecture

Pourquoi prioriser la rédaction de contenu web ?

Prioriser la rédaction web booste votre SEO, engage les visiteurs et optimise l'expérience utilisateur. Attirez un trafic qualifié et convertissez vos visiteurs en clients fidèles.
Commercial
9
min de lecture

Comment réaliser une campagne de cold emailing efficace ?

Apprenez à réaliser une campagne de cold emailing efficace avec nos conseils pour personnaliser, segmenter et optimiser vos emails de prospection.
Développement
3
min de lecture

Sobriété numérique : quels sont les enjeux des entreprises digitales ?

L'évolution rapide du secteur digital entraîne une transformation profonde de l’environnement numérique des entreprises, particulièrement dans le secteur des services, qui reposent leur activité sur un parc informatique conséquent. Toutefois, cette révolution technologique a un coût environnemental significatif.

On continue ensemble ?

De l'ébauche d'une idée prometteuse à la réussite de votre aventure entrepreneuriale numérique, nous soutenons votre projet à chaque étape en tissant autour de lui un écrin technologique et marketing personnalisé.
Merci pour votre message !
Nos équipes vous recontacteront dans les plus brefs délais.
Mince, une erreur est survenue..