Conception et développement d’un api qui facilite l’intégration de nouveaux capteurs À une plateforme iot existante dans une chaîne d’approvisionnement À base de la blockchain Quan niệm và phát triển d'un api qui facilite l'intégration de nouveaux capteurs À một nền tảng iot tồn tại dans une chaîne d'approvisionnement Và base de la blockchain
Trang 1DERISSE HOLLYN
CONCEPTION ET DÉVELOPPEMENT D’UN API QUI FACILITE L’INTÉGRATION DE NOUVEAUX CAPTEURS À UNE PLATEFORME IOT EXISTANTE DANS UNE CHAỴNE D’APPROVISIONNEMENT À
BASE DE LA BLOCKCHAIN
THIẾT KẾ VÀ PHÁT TRIỂN MỘT API HỖ TRỢ TÍCH HỢP CÁC CẢM BIẾN MỚI VÀO NỀN TẢNG IOT HIỆN CĨ TRONG CHUỖI CUNG ỨNG DỰA
TRÊN BLOCKCHAIN
MÉMOIRE DE FIN D’ÉTUDES EN MASTER INFORMATIQUE
Je donne mon accord pour la soutenance :
Dr HO Tuong Vinh
HANỌ - 2022
Trang 2DERISSE HOLLYN
CONCEPTION ET DÉVELOPPEMENT D’UN API QUI FACILITE L’INTÉGRATION DE NOUVEAUX CAPTEURS À UNE PLATEFORME IOT EXISTANTE DANS UNE CHAỴNE D’APPROVISIONNEMENT À
BASE DE LA BLOCKCHAIN
THIẾT KẾ VÀ PHÁT TRIỂN MỘT API HỖ TRỢ TÍCH HỢP CÁC CẢM BIẾN MỚI VÀO NỀN TẢNG IOT HIỆN CĨ TRONG CHUỖI CUNG ỨNG DỰA
TRÊN BLOCKCHAIN
Spécialité : Systèmes Intelligents et Multimédia
Code : Programme Pilote
MÉMOIRE DE FIN D’ÉTUDES EN MASTER INFORMATIQUE
Sous la direction de :
Dr HO Tuong Vinh,
Enseignant-Chercheur en Informatique à l’IFIResponsable des laboratoires de recherche MSIMembre de l’équipe de recherche UMMISCO Vietnam
HANỌ - 2022
Trang 3résultats qui y sont présentés sont exacts, et n’ont jamais été publiés ailleurs Les sources desinformations citées dans ce mémoire ont été bien précisées.
LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêutrong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trìnhnào khác Các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc
Signature de l’étudiant
DERISSE HOLLYN
Trang 4La réalisation de ce mémoire n’aurait été possible sans l’intervention de certaines sonnes de près ou de loin Qu’elles trouvent ici l’expression de mes plus sincères remercie-ments.
per-Je tiens tout d’abord, à exprimer ma reconnaissance et mes remerciements envers l’AUF(Agence Universitaire Francophone) de m’avoir accordé une bourse d’études de Master Jeremercie également l’IFI (Institut Francophone International), son administration et soncorps professoral pour la richesse et la qualité de son enseignement, tout en déployant degrands efforts pour assurer à ses étudiants une formation actualisée Je tiens également àmanifester ma profonde gratitude à l’endroit de notre responsable de formation de Master,
le Docteur HO Tuong Vinh ; car non seulement il nous a donné gỏt à la recherche, mais ils’est aussi efforcé de repousser davantage nos limites personnelles
Mes sincères remerciements au MIS Labs (Research Labs in Multimedia, Intelligent tems, Information & Communication Technologies) pour les commoditées qu’ils m’ont ac-cordés en m’ouvrant ses portes, l’accueil chaleureux réservé et les bonnes conditions dontj’ai bénéficié tout au long de mon séjour dans ses murs
Sys-J’adresse encore mes vifs remerciements au Docteur Tuong Vinh HO, mon encadreurprincipal, pour son soutien et les dispositions qu’il m’a apportées tout au long du stage Ames promotionnaires et plus particulièrement à AZEMENA Henri Joel, pour leurs critiquesconstructives qui m’ont aidées à améliorer mon travail
Enfin, je manifeste mes plus sincères remerciements à mes parents, ma famille et à mesamis pour l’encouragement apporté durant la réalisation de ce mémoire
DERISSE HOLLYN
Trang 5pour produire et distribuer un produit ou un service spécifique Ces fournisseurs et prise partagent des données entre elles destinées à la traçabilité du produit final Dans l’ob-jectif d’avoir un suivi efficace des produits tout au long de la chaîne d’approvisionnement,les fournisseurs vont devoir collecter et partager de nouvelles données Pour arriver à cetobjectif ; des questions se posent À savoir ; "Comment collecter de manière efficace et trans-parente les données des produits ?” “Comment collecter et partager les nouvelles données
entre-de traçabilité ?" “Quelle solution permet d’intégrer facilement ces nouvelles données ?"Afin d’apporter une partie des réponses aux problématiques actuelles, ce mémoire aurapour but de déterminer l’impact de l’Internet des Objets dans le secteur de la logistique et dutransport routier Et pour y parvenir, nous proposons des APIs robustes flexibles et prêtes àêtre utilisés pour répondre à cette question Ces APIs, vont en effet faciliter la vie à ces entre-prises en leur offrant la possibilité de faciliter l’évolution de ces systèmes (en offrant la possi-bilité d’intégrer de nouveaux capteurs sans pour autant refaire tout le système), de suivre, decontrôler, de journalier ou même de tracer un produit en temps réel au sein de l’entreprise
ou dans le processus de transport et de logistiques des biens et produits de l’entreprise
La solution proposée est une approche basée sur une architecture blockchain, IoT et cro services qui consiste à mettre en place un système évolutif qui collecte des données tout
mi-en assurant leur intégrité à partir d’API prêtes à être utilisées Pour atteindre les résultatssouhaités, nous collecterons les données des capteurs à des fins de traçabilité, puis nousmodéliserons et implémenterons notre système en utilisant les technologies nodeJS, soli-dity, ethereum et reactJS
Keywords : IoT, Blockchain, Traçabilité, Micro services, Ethereum, Solidity, Smart contract,
peer to peer (P2P), distributed database, IPFS (Inter Planetary File Sharing), orbitDB, tenant application
Trang 6multi-tribute a specific product or service These suppliers and the company share data with eachother for the traceability of the final product In order to have an efficient tracking of productsalong the supply chain, suppliers will have to collect and share new data To achieve this goal,questions arise Namely ; "How to efficiently and transparently collect product data ?" "How
to collect and share new traceability data ?" "What solution makes it easy to integrate thisnew data ?"
In order to provide some of the answers to the current issues, this dissertation will aim todetermine the impact of the Internet of Things in the logistics and road transport sector And
to achieve this, we propose robust, flexible and ready-to-use APIs to answer this question.These APIs will indeed make life easier for these companies by offering them the possibility
to facilitate the evolution of these systems (by offering the possibility to integrate new sensorswithout redoing the whole system), to track, to control, to log or even to trace a product inreal time within the company or in the process of transport and logistics of the company’sgoods and products
The proposed solution is an approach based on blockchain, IoT and micro services tecture which consists in setting up a scalable system that collects data while ensuring theirintegrity from APIs ready to be used To achieve the desired results, we will collect data fromthe sensors for the purpose of traceability, then we will model and implement our systemusing nodeJS, solidity, ethereum and reactJS technologies
archi-Keywords : IoT, Blockchain, Traceability, Microservices, Ethereum, Solidity, Smart contract,
peer to peer (P2P), distributed database, IPFS (Inter Planetary File Sharing), orbitDB, tenant application
Trang 7multi-IoT Internet of Things
IDC International Data Corporation
MIS Labs Research Labs in Multimedia, Intelligent Systems, Information Communication
Technologies
P2P Peer to Peer
IPFS Inter Planetary File Sharing
CRIIF Centre de Robotique Intégrée d’Ile de France
SI Système Informatique
SCM Supply Chain Management
IdO Internet des Objets
TIC Techniques de l’Information et de la Communication
Trang 81.1 La chaîne d’approvisionnement 1
1.2 Nouvelles données de traçabilité 2
2.1 Chaîne d’approvisionnement 5
2.2 Système de traçabilité [24] 6
2.3 système d’emballage alimentaire intelligent [11] 7
2.4 Une architecture de système de traçabilité de la chaîne du froid [8] 8
2.5 La traçabilité avec la blockchain dans une chaine d’approvisionnement [1] 12
2.6 Utilisation de l’IoT et la blockchain dans une chaîne d’approvisionnement ali-mentaire [16] 15
2.7 Architecture micro services [17] 18
3.1 Diagramme de cas d’utilisation général 20
3.2 Architecture du système 28
3.3 Le micro-service "blockchain" 28
3.4 Architecture du déploiement 29
4.1 L’IoT gateway canalise les données des capteurs vers le système 32
4.2 Liste des utilisateurs 45
4.3 Service 46
4.4 Écran qui montre la liste des capteur apteur 47
4.5 Écran pour enregistrer un capteur dans le système 47
4.6 Capteur - service 48
4.7 Utilisateur 48
4.8 Utilisateur service 49
4.9 Authenticate 49
4.10 Liste des services 50
4.11 Service 50
Trang 91.1 Méthodologie 3
2.1 Tableau de synthèse des travaux sur la traçabilité dans une chaîne d’approvi-sionnement 16
2.2 Tableau de synthèse des travaux sur la traçabilité dans une chaîne d’approvi-sionnement (2) 17
3.1 Cas d’utilisation de la gestion de compte du système 21
3.2 Cas d’utilisation de la gestion des services 21
3.3 Cas d’uttilisation de la gestion des capteurs 22
3.4 Cas d’utilisation de la vérification de l’état de fonctionnement des différents microi services du système 22
3.5 Cas d’utilisation de la gestion des tâches automatiques du système 23
3.6 Cas d’utilisation de l’authentification 23
3.7 Cas d’utilisation de la consomation des services 24
3.8 Exigences non fonctionnelles 25
3.9 Cas d’utilistion et services à implémenter 26
4.1 Service "Utilisateur" 35
4.2 Service "Service" 36
4.3 Service "Capteur" 37
4.4 Service "Capteur-Service" 38
4.5 Service "Utilisateur-Service" 39
4.6 Service "Base de données" 40
4.7 Service "Blockchain" 42
4.8 Service "Scheduler" 43
4.9 Service "Health Check" 44
4.10 Évaluation des micro services implémentés 53
4.11 Évaluation des cas d’utilisation implémentés 54
4.12 Évaluatio des exigences non fonctionnelles 55
Trang 101 Introduction 1
1.1 Contexte 1
1.2 Présentation du problème 1
1.3 Motivation 2
1.4 Objectifs 2
1.5 Méthodologie 2
1.6 Structure du mémoire 3
2 État de l’art 4 2.1 Chaîne d’approvisionnement 4
2.2 Traçabilité dans une chaîne d’approvisionnement 5
2.3 IoT et la traçabilité dans la chaîne d’approvisionnement 6
2.3.1 Avantage de l’IoT dans une chaîne d’approvisionnement alimentaire 7
2.3.2 Quelques compagnies qui utilisent l’IoT dans leur chaîne d’approvision-nement 9
2.4 Blockchain et la traçabilité dans la chaîne d’approvisionnement 11
2.4.1 Avantages de la blockchain dans une chaîne d’approvisionnement 11
2.4.2 Quelques compagnies qui utilisent la blockchain dans leur chaîne d’ap-provisionnement 12
2.5 Blockchain et IoT dans la chaine d’approvisionnement 14
2.6 Tableau de synthèse 15
2.7 Micro-services 15
2.7.1 Architecture des micro-services 15
2.7.2 Avantages des micro-services 17
2.8 Remarque 17
3 Solution proposée : analyse et conception 19 3.1 Raffinement du problème 19
3.2 Analyse : exigences fonctionnelles et non fonctionnelles 19
3.2.1 Exigences fonctionnelles 19
3.2.2 Exigences non fonctionnelles 23
Trang 113.3 Les services à implémenter 24
3.4 Conception 24
3.4.1 API Gateway 24
3.4.2 Micro-services 27
3.4.3 Implémentation IoT 27
3.4.4 Blockchain 28
3.4.5 Déploiement 29
4 Implémentation et évaluation de la solution 30 4.1 Choix des technologies 30
4.1.1 Back-end 30
4.1.2 Front-end 31
4.1.3 Stockage de données 31
4.2 Outils et technologies 31
4.2.1 Physique 31
4.2.2 Non physique 32
4.3 Installation et configuration 32
4.4 Détails des services 33
4.4.1 Service “API gateway” 33
4.4.2 Service “Utilisateur” 34
4.4.3 Service “Services” 34
4.4.4 Service "Capteur" 34
4.4.5 Service "Capteur - Service" 35
4.4.6 Service "Utilisateur-Service" 36
4.4.7 Service "Base de données" 37
4.4.8 Service "Blockchain" 40
4.4.9 Service "Scheduler" 41
4.4.10 Service "Check Health" 41
4.4.11 Service "Broker" 42
4.5 Système implémenté 43
4.5.1 Fournisseur 43
4.5.2 Consommateur 46
4.6 Déploiement 47
4.6.1 Intégration continue 48
4.6.2 Déploiement continu 51
4.7 Évaluation du système 51
4.7.1 Vérification 51
4.7.2 Validation 52
4.8 Résultat 52
4.9 Limitations du système 53
4.9.1 IoT 53
4.9.2 Blockchain 55
Trang 12Bibliographie 59
Trang 13la traçabilité de ce produit ; La figure 1.1 illustre une chaîne d’approvisionnement.
FIGURE1.1 – La chaîne d’approvisionnement
1.2 Présentation du problème
Il va sans dire que les données partagées par les sociétés de la chaîne ment ne sont pas exhaustives Quand il s’agit d’ajouter de nouvelles données sur la traçabilitédes produits à la chaîne (figure 1.2), une question principale se pose : "comment procéder ?"
d’approvisionne-Le suivi des données des produits tout au long de la chaîne d’approvisionnement est crucial
La saisie manuelle de données entraîne l’enregistrement de données erronées ment ou mal comprises) D’autres questions sont à soulever telles que : "Comment assurerl’intégrité des données ?", "Comment collecter de manière efficace et transparente les don-nées des produits ?” “Comment collecter et partager les nouvelles données de traçabilité ?"
Trang 14(involontaire-“Quelle solution permet d’intégrer facilement ces nouvelles données ?"
FIGURE1.2 – Nouvelles données de traçabilité
1.3 Motivation
Cette problématique met en évidence les points faibles d’une chaîne ment En ayant conscience de cette problématique réelle, notre motivation est de fournir àces sociétés de la chaîne d’approvisionnement un outil fiable, évolutif, facile à manipuler etintégrer qui améliore la collecte des donnée de traçabilité
d’approvisionne-1.4 Objectifs
À la fin de ce travail, nous voulons implémenter un système qui va arriver à :
— Diminuer jusqu’à éliminer la saisie manuelle des données de traçabilité dans une chaîned’approvisionnement
— Faciliter l’intégration de nouveaux capteurs et les services qui vont avec ; afin de lecter les données de traçabilité dans une chaîne d’approvisionnement
col-— Faciliter la collecte des données de traçabilité pour assurer un suivi plus efficace desproduits dans une chaîne d’approvisionnement
— Assurer l’intégrité des données de traçabilité dans une chaîne d’approvisionnement
1.5 Méthodologie
Pour réaliser ce travail, une méthodologie a été proposée Les étapes et les détails de cetteméthodologie sont synthétisées dans le tableau 1.1
Trang 15Étape Description Résultat attendu
État de l’art Définir les concepts clés du problème et
présenter des solutions qui existent etleur limitation
Mieux omprendre le problème etparvenir à une solution
Raffinement du
problème
Focaliser le travail sur le problème cis et expliquer les exigences fonction-nelles et non fonctionnelles de la solu-tion proposée
pré-Arriver à réduire le problème afind’arriver à la conception de la so-lution proposée
Conception
gé-nérale
Mettre sur pied une conception nérale du système qui va implémen-ter les exigences fonctionnelles et non-fonctionnelles
gé-Arriver à mettre sur pied laconception du système tout enintégrant les exigences fonction-nelles et non fonctionnellesImplémentation Expliquer les différents parties du sys-
tème qui ont été implémentées
Avoir un système qui répond auxexigences fonctionnelles et nonfonctionnelles
TABLE1.1 – Méthodologie
1.6 Structure du mémoire
Ce mémoire est organisé comme suit Dans le chapitre deux, nous proposons une revue
de la littérature, d’abord sur les chaînes d’approvisionnements et la traçabilité avec l’IoT, et
la blockchain Dans le chapitre trois, nous proposons la conception et l’évaluation de la lution proposée Le chapitre quatre concerne l’implémentation et le déploiement de la solu-tion que nous avons proposée Après, nous concluons par le chapitre cinq tout en proposantaussi quelques perspectives
Trang 16État de l’art
Afin de bien comprendre la problématique du sujet et bien saisir la solution proposée,
il est impératif d’expliquer les concepts clés que nous allons rencontrer tout au long de cemémoire
2.1 Chaỵne d’approvisionnement
Depuis les années 1950, la chaỵne d’approvisionnement a évolué d’un domaine d’intérêtexclusif aux militaires et la logistique, en un outil utilisé aujourd’hui dans l’ensemble du pay-sage commercial pour mieux identifier la valeur client et améliorer la prise de décision Enconséquence, la chaỵne d’approvisionnement est passée d’un simple cadre logistique pourdéployer efficacement les ressources, à inclure les cỏts totaux et la distribution, à encadrer
le concept de chaỵne d’approvisionnement autour des incursions actuelles, telles que net des objets (IoT) , blockchain, robotique avancée, big data, drones ou encore imprimantes3D) [25]
l’Inter-Dans sa forme la plus simple, une chaỵne d’approvisionnement est constituée des tés requises par l’organisation pour fournir des biens ou des services au consommateur.Une chaỵne d’approvisionnement peut prendre la forme d’une chaỵne d’approvisionne-ment basée sur un produit ou celle d’un service, ó les services se rejoignent pour offrir unservice client global par opposition à un produit fini, un exemple de ceci serait l’expéditiondes biens des clients, du personnel , la fourniture du navire et du carburant sont tous néces-saires pour fournir le service de transport au consommateur [7]
activi-Dans un environnement de fabrication traditionnel, l’activité d’interface avec les seurs est généralement prise en charge par «l’approvisionnement», les matériaux passerontensuite par les marchandises dans les entrepơts (si produits) à travers le site de fabrication etsur l’entrepơt de produits finis, cette activité est l’activité principale de « Gestion des opéra-tions », tout au long de la chaỵne d’approvisionnement, la logistique jouera un rơle essentieldans le mouvement des matériaux entrants et des marchandises sortantes afin d’assurer que
fournis-le produit fini circufournis-le en aval jusqu’au consommateur
Trang 17FIGURE2.1 – Chaîne d’approvisionnement
La figure 2.1 illustre le traitement des produits au sein d’une chaine ment Les produits bruts sont livrés aux entreprises de transformation qui travailleront surces derniers pour en assurer la transformation Par la suite, les produits seront passés à lalogistique qui se chargera de la livraison aux sociétés de distribution ; qui sera finalementresponsable de l’envoi des produits finis aux consommateurs
d’approvisionne-2.2 Traçabilité dans une chaîne d’approvisionnement
Le cadre sur la traçabilité a été construit depuis 1994 avec la définition de la traçabilité
comme la capacité de retrouver l’historique et l’utilisation ou la localisation d’un article ou
d’une activité grâce à une identification enregistrée (ISO 8402, 1994) suivie de la définition
sur l’assurance qualité qui énonce la traçabilité comme la capacité de retracer l’historique,
l’application ou l’emplacement de ce qui est considéré (ISO 9001, 2000) Une description plus
concrète fournie par l’Union européenne par le biais du règlement (CE) n° 178/2002
définis-sant la traçabilité comme la capacité de tracer et de suivre une denrée alimentaire, un aliment
pour animaux, un animal producteur de denrées alimentaires ou une substance destinée à être
ou susceptible d’être incorporée dans des denrées alimentaires ou aliments pour animaux, à toutes les étapes de la production et de la distribution[22].
La traçabilité dans la chaîne agricole / alimentaire est aujourd’hui une exigence mentale, qui devient obligatoire dans presque tous les pays développés L’objectif d’un sys-tème de traçabilité est de collecter de manière rigoureuse toutes les informations liées audéplacement des différents produits le long de la chaîne d’approvisionnement [22] Ces in-formations s’avèrent essentielles face à la crise de la sécurité alimentaire, et permettent degérer efficacement l’action de rappel des produits qui en découle (Dabenne et Gay, 2011)[9].Pour assurer la sécurité et la qualité des produits alimentaires, les consommateurs peuventidentifier des indicateurs extrinsèques et des signaux transmettent des informations sur lesproduits par le biais de la certification et de l’étiquetage, qui sont disponibles sur le pointd’achat (Caswell, 2006)[6] et obtiennent des informations standard sur les produits alimen-taires (Gellynck et al, 2006)[26]
fonda-La traçabilité donne aux entreprises la possibilité de suivre les produits et les dises tout au long de la chaîne d’approvisionnemnt et de glaner des informations exactessur la provenance des intrants, les pratiques d’approvisionnement des fournisseurs et lesprocessus de conversion Avec ces données en main, les entreprises peuvent faire des pré-dictions, exécuter des scénarios et optimiser dynamiquement les opérations Les équipes dedirection peuvent mieux servir les clients, identifier la consommation inutile de ressources,
Trang 18marchan-réagir plus rapidement aux changements de la demande et exécuter les commandes plusefficacement Ils sont également capables d’identifier les opportunités stratégiques de lachaỵne de valeur, d’innover plus rapidement, de minimiser l’impact des perturbations in-ternes et externes et de certifier des processus et des produits durables.
FIGURE2.2 – Système de traçabilité [24]
La figure 2.2 illustre le fonctionnement général d’un système de traçabilité Les rentes sociétés de la chaỵne partagent les données du produit tout au long de sa transforma-tion et à son tour le système de traçabilité les utilise pour fournir la traçabilité de ce produitquand le consommateur en a besoin
diffé-2.3 IoT et la traçabilité dans la chaỵne d’approvisionnement
L’Internet des objets (IoT) est défini comme une plate-forme mondiale d’objets gents connectés à Internet qui permet aux objets de se connecter à tout moment, n’importe
intelli-ó en utilisant n’importe quel réseau ou service (Atzori, Iera, Morabito, 2010 ; Borgia, 2014 ;
de Vass, Shee Miah , 2018) Il est considéré comme une extension des systèmes TIC tés (par exemple, ordinateurs, ERP, e-mail, fax, téléphone et WMS) qui facilitent tradition-nellement le partage d’informations entre les individus, les organisations et les industries(Borgia, 2014) Par conséquent, l’IoT agit comme une architecture de service d’informationémergente facilitant l’échange de biens dans les réseaux d’approvisionnement mondiaux(Liu Sun, 2011) Les étiquettes RFID, les capteurs, les actionneurs, les téléphones portables
héri-et les services GPS auraient la capacité de capturer héri-et de surveiller les données en temps réel
de presque tous les maillons des chaỵnes d’approvisionnement contemporaines (Ben-Daya,Hassini et Bahroun, 2017) [23]
L’Internet des objets (IdO) est censé apporter des avantages commerciaux tangibles gia, 2014 ; Madakam et al., 2015 et Russo et al., 2015) L’adoption de l’IdO a le potentiel d’amé-
Trang 19(Bor-liorer les processus opérationnels, de réduire les cỏts et les risques grâce à sa transparence,
sa traçabilité, son adaptabilité, son évolutivité et sa flexibilité (Zhou et al., 2015)[10]
2.3.1 Avantage de l’IoT dans une chaỵne d’approvisionnement alimentaire
Dans cette étude (Hanhan et al., 2017) [11] sur la chaỵne d’approvisionnement taire ; les auteurs expliquent qu’avec la technologie IoT, les capacités de surveillance dans
alimen-la section de traitement peuvent être plus facilement réalisées La surveilalimen-lance au stade dutraitement avec la collecte de données en temps réel par l’IoT a un impact positif sur l’aug-mentation de la maintenance Par exemple, l’utilisation de capteurs pour surveiller la tempé-rature sur la machine peut être utilisée pour prendre des mesures préventives lorsqu’il existedes informations relatives à des températures hors plage (dépassant les limites normales),cela évitera certainement d’endommager le moteur La technologie IoT offre également descapacités de transparence de bout en bout en temps quasi réel Cela concerne la traçabilité,qui, au stade de la transformation, fait référence à la capacité d’enregistrer ou d’obtenir desdonnées via des étiquettes RFID ou d’autres supports de suivi afin que toutes les étapes detraitement du produit puissent être mieux contrơlées Avec la traçabilité, il est possible d’op-timiser l’ensemble de la chaỵne à l’étape de transformation et d’augmenter l’efficacité del’étape de transformation dans l’industrie alimentaire Par exemple, dans la production desauces, une PME utilisant une machine à l’étape de transformation qui utilise la technologieIoT pour améliorer la traçabilité affiche une augmentation de 30% des revenus par rapportaux revenus précédents (Apriharta et.al., 2021) Cet exemple montre que la technologie IoTpeut augmenter l’efficacité et l’efficience de l’étape de traitement [11]
FIGURE2.3 – système d’emballage alimentaire intelligent [11]
La figure 2.3 montre un système d’emballage alimentaire intelligent qui utilise le concept
Trang 20IoT En intégrant des capteurs sur les emballages de produits alimentaires tels que les quettes RFID ou intelligentes, puis en utilisant une connexion Internet, des données tellesque la température, l’humidité et l’éclairage peuvent être dirigées vers le service cloud In-ternet Ces données peuvent être utilisées pour déterminer l’état des aliments, notamment
éti-en ce qui concerne la qualité et la sécurité des produits aliméti-entaires Ensuite, sur la base
de ces données, une analyse sera effectuée, qui influencera la prise de décision concernantl’emballage des produits alimentaires L’utilisation de l’IdO a un bon potentiel dans le déve-loppement de nouveaux systèmes de capteurs intégrés dans les emballages de produits ali-mentaires afin d’améliorer la capacité à transmettre des informations relatives au contrôle
du poids et du volume des produits alimentaires [11]
FIGURE2.4 – Une architecture de système de traçabilité de la chaîne du froid [8]
La figure 2.4 représente une chaîne d’approvisionnement du froid La chaîne du froid estune chaîne d’approvisionnement alimentaire spéciale, dans laquelle la température est tou-jours sous contrôle tout au long du processus, depuis l’acquisition des matières premières
et des ressources, le stockage, le transport, la transformation jusqu’à la vente des produits et
la consommation afin de garantir la sécurité alimentaire [27][19] La chaîne nement alimentaire vise l’acquisition mondiale de ressources et de matières premières, lafabrication mondiale et les ventes mondiales Par conséquent, le support de l’informationdoit également être mondialisé[8]
Trang 21d’approvision-2.3.2 Quelques compagnies qui utilisent l’IoT dans leur chaîne
d’ap-Les employés d’Amazon avaient l’habitude de parcourir les étages des entrepôts pourrechercher chaque produit Ils utilisent désormais des robots connectés au Wi-Fi four-nis par Kiva Systems - qu’Amazon a acquis en 2012 - pour identifier les produits enlisant les codes QR à l’aide de caméras intégrées
Le système d’IA évalue par exemple quels produits doivent être prioritaires pour lescommandes Amazon Prime, et les robots font le reste Pendant ce temps, les travailleurspeuvent se concentrer sur l’emballage d’une commande ou le réapprovisionnementdes étagères Ce sont des robots et des humains qui travaillent côte à côte grâce à l’IoT
• Ligne maersk
Maersk est l’une des plus grandes entreprises du monde du transport maritime Avecdes opérations de livraison de produits frais dans 343 ports à travers 121 pays, elledispose également d’une chaîne d’approvisionnement extrêmement complexe et cru-ciale
Pour résoudre ce problème, la société danoise s’est associée à Ericsson en 2012 pourinstaller une surveillance en temps réel sur l’ensemble de sa flotte avec la technologie
de communication mobile et par satellite d’Ericsson Depuis lors, le partenariat s’estdéveloppé pour inclure la sécurité, l’efficacité et le soin du fret
La technologie d’Ericsson permet désormais aux 300 000 conteneurs réfrigérés de Maersk
de transmettre des statistiques vitales, telles que la température, l’emplacement et mentation électrique, par satellite Les informations sont envoyées dans le cloud etanalysées dans un bureau central
l’ali-En plus d’offrir des informations en temps réel à mesure que les problèmes se loppent, la collaboration a également conduit à une sécurité accrue pour le personnel
déve-du port, car les conteneurs nécessitent désormais moins d’inspection manuelle
• VOLVO
Le constructeur automobile suédois Volvo n’est pas le seul à promouvoir les gies IoT dans les voitures, mais l’Internet des objets a également un impact sur ce qui
technolo-se pastechnolo-se dans les coulistechnolo-ses pour mettre ces voitures sur la route
Volvo utilise des services basés sur le cloud et des technologies IoT pour soutenir lecôté logistique de sa chaîne d’approvisionnement en commandant des composants
de différents pays pour expédier des véhicules à des fournisseurs du monde entier Lasociété a déclaré à V3 qu’elle utilisait le cloud, car ces services leur offrent une plusgrande flexibilité par rapport aux configurations sur site
Trang 22De plus, l’entreprise a établi l’année dernière une relation avec Microsoft, qui tait à tester son casque de réalité mixte HoLoLens La société pense que le casque pour-rait transformer la conception des voitures et la relation entre les offres et les clientspotentiels.
• Dallas Area Rapid Transit (DART)
Le transport et la gestion de flotte sont une partie importante de la chaỵne visionnement et de la logistique, et l’IoT fait déjà des vagues dans cet espace Si vouspouviez avoir une visibilité sur l’ensemble de votre flotte, de sorte que vous sachiezexactement ó chaque camion peut se trouver et quand, et quel est le meilleur itiné-raire à emprunter un jour donné (et quand il pourrait avoir besoin d’entretien ).C’est exactement ainsi que la technologie IoT a aidé DART Basé à Dallas, au Texas,DART est l’un des plus grands fournisseurs de transports publics aux États-Unis iltransporte plus de 100 millions de passagers par an À l’aide des systèmes Internet desobjets de Cisco, elle surveille et optimise les performances de l’ensemble de sa flotte
d’appro-• Autorité des transports du New Jersey (NJTA)
Alors que l’IoT est clairement un outil important de réduction des cỏts à long terme,dans le New Jersey, aux États-Unis, il s’est également avéré être une mesure de sécu-rité efficace La New Jersey Turnpike Authority travaille avec IBM pour déployer 3 000capteurs le long de l’autoroute à péage du New Jersey, l’une des routes les plus fréquen-tées des États-Unis Les données générées sont utilisées par les services d’urgence etles opérateurs de gestion du trafic afin qu’ils puissent se rendre plus rapidement surles lieux d’un accident , et réduire l’accumulation de congestion
• Port de Hambourg
Le port de Hambourg, en Allemagne, est l’un des ports les plus actifs d’Europe et, parconséquent, l’un des principaux moteurs économiques de la région Le nombre deporte-conteneurs qui transitent par le port devrait passer de huit millions en 2010 à 25millions d’ici 2025, tandis que le fret total qu’il traite atteindra 296 millions de tonnescontre 121 millions en 2010 Cette augmentation de la capacité exerce d’énormes pres-sions sur logistique au port
Pour y répondre, l’autorité portuaire de Hambourg (HPA) - qui travaille avec SAP et
sa solution HANA - intègre des capteurs et des capacités de communication dans les
"principaux actifs tangibles" du port, notamment un éclairage intelligent basé sur ladétection de mouvement pour n’éclairer que les zones nécessaires
Trang 23La fonction principale des capteurs est d’identifier la capacité sous-utilisée récurrenteafin qu’elle puisse être utilisée correctement Cependant, de nombreux autres élémentsconnectés tels que des caméras, des capteurs de détection de chaleur et des systèmesd’alarme empêchent le vol et fournissent des informations pour planifier les mises àjour de sécurité.
Les transporteurs et les prestataires logistiques voient apparemment déjà les avantages
de l’efficacité opérationnelle apportés par l’IoT
• Décathlon
Le suivi et la traçabilité sont la forme la plus courante d’IdO dans la chaîne visionnement et un certain nombre d’entreprises voient de réels avantages à aller del’avant avec cette technologie Decathlon - un détaillant de sport qui possède 850 ma-gasins dans 22 pays en est un excellent exemple
d’appro-Il utilise la technologie IoT, telle que l’identification par radiofréquence (RFID) de point Systems, dans plus de 400 de ses magasins, et prévoit d’étendre son utilisation
Check-du marquage RFID à des millions de ses proCheck-duits à travers le monde
Soi-disant, la technologie de suivi garantit que les produits de Decathlon sont livrésaux fournisseurs avec une précision de 100 % à chaque fois, et que les articles arriventprêts à être mis en rayon, ce qui fait gagner du temps aux employés en ne vérifiant pasmanuellement chaque livraison
2.4 Blockchain et la traçabilité dans la chaîne
d’approvision-nement
La blockchain, qui est au cœur de la technologie bitcoin, est en fait un outil très fiablemoyen efficace d’échange d’informations entre les parties Cela crée un grand livre de tran-sactions numérique immuable qui est maintenu par des ordinateurs réseau distribué Cettetechnologie partageant le potentiel, elle est protégée contre l’architecture d’accès non au-torisé et la transparence totale en font un outil idéal pour révolutionner les méthodes degestion de la chaîne d’approvisionnement d’aujourd’hui [4]
Dans cet aspect, le principal avantage de l’introduction de la technologie blockchain estaudit synchronisé entre la fourniture des partenaires et les processus en temps réel optimi-sation du temps Plus important encore, la blockchain augmente l’ensemble du pro- niveau
de confiance des entités de la chaîne de mouvement, ainsi que facilite la prise de décisionpro- à chaque étape grâce à la possibilité de fournir un accès unique à l’in- formation quipermet de synchroniser et d’anticiper les processus et les actions [4]
2.4.1 Avantages de la blockchain dans une chaîne d’approvisionnement
La blockchain, même dans sa version la plus basique, dans l’introduction de la chaîned’approvisionnement permet d’assurer ce qui suit [4] :
— élimination des intermédiaires inutiles ;
Trang 24— la sécurité des paiements et la protection contre la fraude
— la décentralisation, c’est-à-dire la possibilité pour les entités d’un processus logistique
de participer au suivi en temps réel des opérations : au suivi des mouvements de cules et de marchandises ; dans des documents sous forme de réalisation de contratsintelligents et donc de réduction des erreurs et des risques de fraude ; dans les maillonsillégaux de la chaîne d’approvisionnement en éliminant : la contrefaçon de marchan-dises, la contrebande et le travail illégal, etc ;
véhi-— la traçabilité du lieu d’origine jusqu’au consommateur final ; les droits des mateurs et la protection de la sécurité sanitaire, ce qui permet une prise de décisiond’achat éclairée
consom-FIGURE2.5 – La traçabilité avec la blockchain dans une chaine d’approvisionnement [1]
Dans le cadre d’une chaîne d’approvisionnement alimentaire, la figure2.5 illustre le canisme utisé pour assuré la traçabilité avec blockchain Tout au long de sa transformation,les données de traçabilité du produit sont partagées sur le blockhain ; assurant ainsi une sé-curité des données et la disponibilité pour toutes les sociétés de cette chaîne
mé-2.4.2 Quelques compagnies qui utilisent la blockchain dans leur chaîne
d’approvisionnement
En tant que technologie émergente, il est probablement encore trop tôt pour que la part des entreprises envisagent de la mettre en œuvre Cependant, certaines entreprises de
Trang 25plu-divers secteurs utilisent déjà les capacités de la blockchain à bon escient dans leurs propreschaỵnes d’approvisionnement [21] :
• FedEx
FedEx, qui est l’une des plus grandes entreprises de transport maritime, a intégré lablockchain dans sa chaỵne de contrơle Pour suivre ses expéditions, le géant du trans-port maritime a adopté la Blockchain De plus, l’entreprise a rejoint BiTA et a lancé unprogramme pilote basé sur la blockchain dans l’espoir que le programme indiqueraclairement quelles données doivent être stockées sur Blockchain pour mieux régler leslitiges avec les clients
La mise en œuvre de Blockchain permettra aux clients de recevoir des informations demanière plus rapide et fiable et à leur service clientèle de répondre aux questions entemps opportun
de papier, automatise l’ensemble du processus et accélère la transparence de la chaỵned’approvisionnement
• Ford
Fin janvier 2020, il a été annoncé que Ford Motor Company se préparait à utiliser ckchain afin de retracer les approvisionnements en cobalt Le cobalt est considérécomme un ingrédient essentiel des batteries de voitures électriques Ford, avec IBM,prévoit de suivre ses matières premières comme le cobalt auprès des fournisseurs
Blo-En utilisant Blockchain, l’entreprise automobile veut s’assurer qu’elle obtient un duit authentique pour maintenir sa qualité Lorsque le cobalt sera extrait, ils figurerontdans le grand livre, puis l’entreprise pourra suivre ó il va à partir de là
pro-• De Beers
De Beers, le plus grand producteur de diamants au monde par la valeur de ses pierresprécieuses, utilise également la technologie Blockchain pour suivre chaque diamantnaturel de la mine au comptoir de vente au détail La plate-forme blockchain, connuesous le nom de Tracr, aide à vérifier l’authenticité des diamants et à s’assurer qu’ils
ne proviennent pas de zones de conflit ó les pierres précieuses peuvent être utiliséespour financer la violence
Le directeur général de De Beers, a un jour noté que Tracr, le réseau basé sur la chain, peut suivre un diamant tout au long de la chaỵne d’approvisionnement, offrantune assurance de traçabilité des actifs d’une manière qui n’était pas possible aupara-vant
Trang 26block-• UPS
UPS, qui signifie United Parcel Service, est une autre des entreprises qui utilisent ckchain dans la chaîne d’approvisionnement En novembre 2018, ce géant de la logis-tique a rejoint la Blockchain in Trucking Alliance (BiTA) afin d’apporter une transpa-rence accrue dans la chaîne d’approvisionnement entre toutes les organisations Enmars 2019, il a été annoncé qu’UPS et la société de technologie de commerce élec-tronique “Inxeption” avaient déployé collectivement une plate-forme alimentée par lablockchain pour améliorer les chaînes d’approvisionnement des commerçants
Blo-En dehors de cela, UPS a également déposé un brevet pour un système de blockchainqui stockerait la destination, le mouvement, le mode de transport et d’autres informa-tions cruciales des colis, garantissant ainsi l’efficacité et la transparence
2.5 Blockchain et IoT dans la chaine d’approvisionnement
Dans leur article (publié le 20 juillet 2019) sur les applications de la blockchain et de l’IoTdans les chaînes d’approvisionnement[2], les auteurs, expliquent que la technologie Block-chain est déjà utilisée en combinaison avec des étiquettes RFID inviolables pour faciliter
la vérification de la provenance (par exemple, la source géographique ou l’origine) et thenticité des bouteilles de vin fin Les étiquettes sont apposées sur le bouchon et visent àéliminer les tentatives de remplissage des bouteilles de vin avec un produit moins cher Enenregistrant les données sur la Blockchain et en vérifiant la traçabilité et la provenance desbouteilles de vin, les consommateurs peuvent vérifier l’historique et l’authenticité du vinacheté en saisissant l’ID du produit dans le système [12] Il convient de noter qu’une certi-tude absolue sur l’authenticité de tout produit alimentaire ou boisson ne peut être obtenuequ’en utilisant des méthodes d’analyse scientifique du produit lui-même plutôt qu’en s’ap-puyant sur des caractéristiques de sécurité cachées ou manifestes sur l’emballage extérieur.Plusieurs projets sont en cours de développement pour appliquer une combinaison de Blo-ckchain et d’IoT pour une traçabilité et une interopérabilité améliorées Par exemple, desentreprises telles que Evrythng, basée au Royaume-Uni ; OriginTrail, basé en Slovénie, unfournisseur de protocole Blockchain ; et Ambrosus‚ une startup Blockchain basée en Suisse‚visent à combiner la Blockchain et l’IoT pour les secteurs de l’alimentation, des biens deconsommation, de l’habillement et de la pharmacie Ce faisant, leurs réseaux IoT alimen-tés par Blockchain permettront un dialogue sécurisé et sans friction entre les capteurs‚ lesregistres distribués et les bases de données pour optimiser la visibilité de la chaîne d’appro-visionnement et l’assurance qualité [3] [14] [15] Dans un autre exemple, Skycell, une entre-prise développant des conteneurs pour produits biopharmaceutiques réfrigérés, utilise descapteurs IoT avec la Blockchain pour surveiller la température‚ l’humidité‚ et l’emplacement‚réduisant ainsi les écarts de température à un niveau inférieur à 0,1% [13]
l’au-La combinaison de ces deux technologies ouvrent de nombreuses possibilité, notamentdans la traçabilité En utilisant les objets connectés, on peut automatiser la collecte des don-nées et les partagé sur la blockchain qui assure l’intégrité et la disponibilité de ces donnéespour tous (figure 2.6)
Trang 27FIGURE2.6 – Utilisation de l’IoT et la blockchain dans une chaỵne d’approvisionnement mentaire [16]
ali-2.6 Tableau de synthèse
Le tableaux de synthèse 2.1 et 2.2 organisent les différents travaux mentionnés plus hautavec leurs cas d’utilisation et les technologies utilisées
2.7 Micro-services
Le but de ce travail est d’adopter le partron d’architecture micro service Dans cette partie
on va faire l’introduction générale de ce dernier Les microservices également connus sous lenom d’architecture de microservices sont un style architectural qui structure une applicationcomme un ensemble de services (C Richardson, Microservices patterns)[18]
2.7.1 Architecture des micro-services
L’architecture microservice est une alternative à l’architecture monolithique (qui est lavoie traditionnelle pour le développement de logiciels) Elle surmonte les défis de l’archi-tecture monolithique, en décomposant le monolithe en un ensemble de petits services et enles faisant communiquer entre eux via un mécanisme léger (c’est-à-dire l’API RESTful) [20]
La figure 2.7 représente une application fictive de boutique en ligne Cette applicationest divisée en plusieurs micro services ó chacun d’entre eux est responsable d’une partie del’application et à sa propre base de données Le micro-service "account" est responsable detout ce qui à rapport à la gestion des comptes Le micro-service "inventory" s’occupe de tout
ce qui a rapport à la gestion de l’inventaire Le micro-service "shipping" s’occupe de tout cequi a rapport à la gestion des livraisons
Trang 28Cas d’utilisation Compagnies / travaux /
études
Technologies
Automatiser la recherche de produit
physique sur les étagères
Maintenir les produit à une bonne
tem-pérature
Ligne Maersk IoT
Utiliser la réalité augmenté dans la
conception de voiture
Déployer des robots et des techniques
d’apprentissage automatique dans ses
Rapidement diriger les services
d’ur-gence et les opérateurs de gestion du
trafic sur les lieux d’un accident
Autorité des transports duNew Jersey (NJTA)
IoT
Identifier les capacités sous-utilisée
ré-currente afin qu’elles puissent être
utili-sées correctement
Port de Hambourg IoT
Garantir que les produits de Décathlon
sont livrés aux fournisseurs avec une
précision de 100 % à chaque fois
Permettre au client de recevoir les
infor-mations de manière plus rapide
Ajouter de la transparence à
l’écosys-tème de l’approvisionnement
alimen-taire
Walmart Blockchain
S’assurer d’obtenir des produit
authen-tique pour maintenir la qualité
Trang 29d’approvi-Cas d’utilisation Compagnies / travaux /
études
Technologies
Apporter une transparence accrue dans
la chaỵne d’approvisionnement entre
toutes les organisation
Système de traçabilité de la chaỵne
d’ap-provisionnement du vin basé sur la
en les rendant détectables et vérifiables
à l’aide du réseau blockchain [15]
Origin Trail IoT et
Block-chain
Conçu pour un débit élevé et de grands
ensembles de données à une fraction du
cỏt Optimisé pour DeFi, NFT et IoT[3]
Ambrosus IoT et
Block-chain
TABLE 2.2 – Tableau de synthèse des travaux sur la traçabilité dans une chaỵne sionnement (2)
d’approvi-2.7.2 Avantages des micro-services
L’architecture de microservice présente les avantages suivants :
• Il permet la livraison et le déploiement continus d’applications volumineuses et plexes
com-• Les services sont petits et faciles à entretenir
• Les services sont déployables indépendamment
• Les services sont évolutifs indépendamment
• L’architecture microservice permet aux équipes d’être autonomes
• Il permet d’expérimenter et d’adopter facilement de nouvelles technologies
• Il a une meilleure isolation des pannes
L’architecture de microservices permet la livraison rapide, fréquente et fiable d’applicationsvolumineuses et complexes Il permet également à une organisation de faire évoluer sa piletechnologique[18]
2.8 Remarque
En ayant connaissance de tous les concepts expliqués plus haut, on est bien imbu decomment les chaỵnes d’approvisionnement utilisent l’IoT et la blockchain pour faire une ges-tion très efficace Maintenant, comment faire pour ajouter de nouvelles données qui vont
Trang 30FIGURE2.7 – Architecture micro services [17]
améliorer la traçabilité des produits ? On a remarqué que, dans toutes les solutions IoT etblockchain qui existent pour les chaines d’approvisionnement, il n’y a pas l’implémentationsimple, rapide de nouveaux capteurs qui collectent les données de traçabilité
Dans le travail qu’on va effectuer, on va mettre en place un ensemble d’APIs, fiable, ponible en tout temps, facile à intégrer, facile à utiliser, sécurisé, prêt à l’utilisation à toutesles entreprises d’une chaîne d’approvisionnement voulant ajouter de nouvelles données detraçabilité dans leurs système de gestion de chaîne d’approvisionnement ; ou toutes entre-prises voulant diminuer le travail manuel consistant à saisir les données de traçabilité dansleur système de gestion de chaîne d’approvisionnement ; notre système va automatiser cetravail fastidieux avec l’intégration de nouveaux capteurs dans leur système interne de ges-tion
Trang 31Pour arriver à l’implémentation de ce système, on va utiliser :
— L’IoT et les capteurs pour faire la collecte de données de manière automatique.
— La blockchain pour assurer l’intégrité de ces données.
— Le patron d’architecture micro-service pour avoir un système adaptable, fiable et
dis-ponible en tout temps
3.2 Analyse : exigences fonctionnelles et non fonctionnelles
Maintenant qu’on a connessance du problème spécifique qu’on va résoudre, on peutparvenir aux différentes exigences fonctionnelles Cette partie présente les differentes exi-gences fonctionnelles et non fonctionnelles du système qu’on va développer
3.2.1 Exigences fonctionnelles
Pour décrire les exigences fonctionnelles on a utilisé le diagramme de cas d’utilisation
La figure 3.1 illustre le diagramme de cas d’utilisation Ce diagramme présente tous lescas d’utilisation du système de façon globale Les paragraphes suivants vont expliquer lesdifférents cas d’utilisation de ce diagramme
Le système va être utilisé par deux grands acteurs : les fournisseurs et les consommateurs
• Fournisseur
Trang 32FIGURE3.1 – Diagramme de cas d’utilisation général
— Gérer les comptes
L’administrateur gère le compte de tous les utilisateurs du système ; c’est-à-direconsommateurs et fournisseurs Ce cas d’utilisation est décrit dans le tableau 3.1
— Gérer les services
L’administrateur gère les différents services qu’un consommateur va utiliser Cecas d’utilisation est decrit dans le tableau 3.2
— Gérer les capteurs
L’administrateur gère les différents capteurs qui sont utilisés dans les services Cecas d’utilisation est décrit dans le tableau 3.3
— vérifier l’état du système
l’administrateur peut faire une vérification dans le système pour voir l’état defonctionnement de tout le système Ce cas d’utilisation est décrit dans le tableau3.4
— Gérer l’ordonnanceur du système (scheduler)
L’administrateur peut configurer le système pour faire des tâches ment à un temps précis ou dans un intervalle de temps Ce cas d’utilisation estdécrit dans let tableau 3.5
Trang 33automatique-Cas d’utilisation : Gérer les comptes
Description Faire la gestion des comptes utilisateurs (sociétés) et
ad-ministrateurs
Acteur principal Administrateur du système
Préconditions L’administrateur du système a un compte dans le système
et est authentifié
Scénario principal de
réus-site
L’administrateur peut voir, créer, modifier et supprimer
un compte dans le système
Exceptions L’administrateur n’a pas de compte dans le système ou n’a
pas de compte actif
fréquence d’utilisation Cette fonctionnalité va être utilisée à chaque fois que
l’ad-ministrateur veut faire la gestion des comptes qui sont registrés dans le système
en-Postconditions L’administrateur a fait la gestion d’un compte
TABLE3.1 – Cas d’utilisation de la gestion de compte du système
Cas d’utilisation : Gérer les services
Description Faire la gestion des services du système
Acteur principal Administrateur
Préconditions L’administrateur a un compte dans le système et est
au-thentifié
Scénario principal de
réus-site
L’administrateur peut créer, voir, modifier, ou supprimer
un service avec succès
Exceptions L’administrateur n’a pas de compte dans le système ou
son compte est inactif
fréquence d’utilisation Cette fonctionnalité va être utilisée à chaque fois que
l’ad-ministrateur veut faire la gestion d’un service
Postconditions Le service est créé, a été vu, est modifié ou est supprimé
TABLE3.2 – Cas d’utilisation de la gestion des services
— Consommateur C’est l’utilisateur qui utilise le système pour tracer l’état d’un
objet/-produit dans un environnement donnés à un temps donné
Trang 34Cas d’utilisation : Gestion des capteurs
Description Faire la gestion des capteurs du système
Acteur principal Administrateur
Préconditions L’administrateur a un compte dans le système et est
au-thentifié
Scénario principal de
réus-site
L’administrateur peut créer, voir, modifier, ou supprimer
un capteur avec succès
Exceptions L’administrateur n’a pas de compte dans le système ou
son compte est inactif
fréquence d’utilisation Cette fonctionnalité va être utilisée à chaque fois que
l’ad-ministrateur veut faire la gestion d’un capteur
Postconditions Le capteur est créé, a été vu, est modifié ou est supprimé
TABLE3.3 – Cas d’uttilisation de la gestion des capteurs
Cas d’utilisation : Verifier le fonctionnement du système
Description Faire une vérification de tous les micro services du
sys-tème pour savoir leur état
Acteur principal Administrateur
Préconditions L’administrateur a un compte dans le système et est
Exceptions L’administrateur n’a pas de compte dans le système ou
son compte est inactif
fréquence d’utilisation Cette fonctionnalité va être utilisée à chaque fois que
l’ad-ministrateur veut savoir l’état de fonctionnement des férents micro services du système
dif-Postconditions L’état de fonctionnement des différent micro services du
Trang 35don-Cas d’utilisation : Gestion des opérations automatique du système
Description Faire la gestion des différentes tâches qui vont être
répé-tées à intervalle régulier ou à un moment déterminé
Acteur principal Administrateur
Préconditions L’administrateur a un compte dans le système et est
Exceptions L’administrateur n’a pas de compte dans le système ou
son compte est inactif
fréquence d’utilisation Cette fonctionnalité va être utilisée à chaque fois que
l’ad-ministrateur veut faire la gestion d’une tâche tique
automa-Postconditions La tâche automatique est créé, a été vu, est modifié ou est
supprimé
TABLE3.5 – Cas d’utilisation de la gestion des tâches automatiques du système
Cas d’utilisation : Authentification
Titre Authentifier utilisateur
Description L’utisateur qui veut utiliser le l’application doit utiliser ses
identifiants
Acteur principal La société qui utilise les APIs du système
Préconditions La société doit avoir un compte dans le système
Scénario principal de
réus-site
La société reçoit un access token qu’elle va pouvoir utiliser
avec les APIs
Exceptions La société a saisi les mauvais identifiants / la société n’a
pas de compte dans le système / le compte de la société aété désasctivé ou supprimé
fréquence d’utilisation va être utilisé à chaque fois que la société à besoin d’un
access token
Postconditions La société reçoit un access token afin d’utiliser les APIs du
système
TABLE3.6 – Cas d’utilisation de l’authentification
3.2.2 Exigences non fonctionnelles
Les exigences non fonctionnelles garantissent que le système logiciel respecte les règleslégales et de conformité Ils garantissent la fiabilité, la disponibilité et les performances du
Trang 36Cas d’utilisation : Consommer les services
Titre Consommer les APIs des services
Description La société peut utiliser tous les APIs des différentes
ser-vices auxquels elle est abonée
Acteur principal La société qui utilise les APIs
Préconditions La société doit avoir un access token valide
Scénario principal de
réus-site
La société fait appelle aux APIs avec succès
Exceptions Le access token de la société n’est pas valide / la société
fait appelle aux APIs sans access token
fréquence d’utilisation Il va être utilisé à chaque fois que la société veut avoir des
données en provenance des APIs
Postconditions La société reçoit les données démandé à l’API
TABLE3.7 – Cas d’utilisation de la consomation des services
système logiciel Ils garantissent une bonne expérience utilisateur et une facilité d’utilisation
du système Ils aident à formuler la politique de sécurité du système Le tableau 3.8 liste lesdifférentes exigences non fonctionnelles
3.3 Les services à implémenter
Pour développer le système, on a déterminé un ensemble de micro-service à développer.Chaque cas d’utilisation présenté dans le diagramme 3.1 a un ensemble de micro servicequi va avec Le tableau 3.9 liste les services (qui vont être développer) correspondant aux casd’utilisation du système
3.4 Conception
Le système est composé de 3 grandes parties (figure 3.2) ; API Gateway, Microservices etl’implémentation de IoT Ces 3 grandes parties sont expliquées comme suit
3.4.1 API Gateway
L’API Gateway est le services ou toutes les requêtes passées par un utilisateur vont arriver
en premier Ce service a 2 grands rôles
— Vérification des tokens Une fois que l’utilisateur passe une requête avec le token qu’il/elle
a reçu après son authentification, ce service a pour but de vérifier ce token Les sus de vérification déterminent si le token est valide ou non en vérifiant sa date d’ex-piration, la méthode de hachage utilisée, l’identité de l’utilisateur et ses droits d’accès
Trang 37proces-Nom de l’exigence Description de l’exigence
Intégrité des données Toutes les données qui sort du système sont exactement
les même qui en sont entrée
Performance Le système doit être en mesure de recevoir et traiter de
gi-gantesques quantité de données Il doit aussi pouvoir pondre à plusieurs requêtes simultannées
ré-Sécurité Le système assure que seuls les acteurs autorisés peuvent
y accéder
Fiabilité Le système est opérationnel en tout temps
Convivialité Le système est simple à utiliser et a un interface facile à
comprendre et à naviguer
Échangeabilité/
maintena-bilité
Le système est activement maintenu et est évolutif
Temps de réponse et temps
de traitement net
Le temps de réponse est réduit au minimum et le temps
de traitement est ultra rapide
Capacité, croissance et
Réglementation légale Le système suit les règles légales
Lois (termes et conditions ) Le système suit les règlement et politiques de la
compa-gnie qui assure la sécurité de l’utilisateur et de ses nées
don-Normes Le système suit les normes IEEE
La technologie Le système est développé avec des technologies de
pointes stables et suit les architectures qui le rendent cace
effi-Intégrité C’est un système dans lequel ses paramètres
opération-nels et techniques obligatoires se situent dans les limitesprescrites
TABLE3.8 – Exigences non fonctionnelles
— Redirection des requêtes Une fois que l’identité et droit d’accès de l’utilisateur sont
vérifiés, ce service a pour but de rediriger cette requête vers le service correspondant
De ce cette façon, la localisation des services est protégée L’utilisateur a un seul pointd’accès aux différents services
Trang 38Cas d’utilisation Description Services
Authentification Permet de vérifier les
iden-tifiants des utilisisateurs etleur fournir un token d’accèspour utiliser les API du sys-tème
Service "Utilisateur" et vice "API Gateway"
Ser-Consommer les services Permet de faire des appels
aux APIs pour recevoir lesdonnées de traçabilité
Service "Base de données" /service "Utilisateur-Service"/ Service "Capteur-Service"Gestion des services Permet d’ajouter de nou-
veaux services au sytème,modifier ou supprimer desservices du système
Service "Services"
Gestion des comptes Permet d’ajouter de
nou-veaux comptes utilisateur(consommateur et four-nisseur) au sytème ou demodifier des comptes dusystème
Service "Utilisateur"
Gestion des capteurs Permet d’ajouter de
nou-veaux capteurs au sytème,modifier ou supprimer descapteurs du système
d’en-Service "Check Health"
Gestion des tâches
automa-tique du système
Permet de donner de tonomie au système à tra-vers des action déclencherpar une date déterminée
l’au-Service "Scheduler"
Enregistrement des données
de traçabilité
Permet de sauvegardertoutes les données de traça-bilité pour le bonne société
Service "Base de données" /Service "Brocker"
TABLE3.9 – Cas d’utilistion et services à implémenter
Trang 393.4.2 Micro-services
Pour la solution, on va concevoir un ensemble de services qui vont être disponibles pourles tiers Ces services vont respecter quelques critères de l’architecture microservice et vontpermettre au système de :
• Avoir une productivité améliorée Le découpage de l’application en fragments
auto-nomes plus petits facilite sa maintenance Chaque service peut être développé, ployé et géré indépendamment
dé-• Avoir une meilleure résilience Cette architecture facilite le processus d’identification
et de résolution de la cause première des problèmes de performances
• Avoir une évolutivité accrue Le fait que chaque service puisse être écrit dans un
lan-gage ou une technologie différente permet aux équipes DevOps de choisir la pile nologique la plus appropriée pour chaque module sans se soucier d’incompatibilité.Les services peuvent également être déployés sur plusieurs serveurs, ce qui réduit l’im-pact sur les performances des composants les plus exigeants
tech-• Avoir une intégration continue/déploiement continu (CI/CD)
L’architecture des microservices permet aux équipes interfonctionnelles de per, tester, résoudre les problèmes, déployer et mettre à jour les services de manièreindépendante, ce qui accélère le déploiement et le dépannage
dévelop-• Optimiser les fonctionnalités de l’entreprise Lorsque l’accent est mis sur un service
spécifique par rapport à l’ensemble du système, il est plus facile de personnaliser lesbesoins de chaque composant pour améliorer les fonctionnalités de l’entreprise
3.4.3 Implémentation IoT
Les données du système vont être produites par les capteurs Dans cette optique, on plémente le réseau des IoT Le réseau se constitue de :
im-• Ensemble de capteur Tous les capteurs du réseau qui vont produire les données qui
vont être utilisées plus tard pour être visualiser, agréger et analyser
• IoT Gateway L’IoT Gateway a plusieurs rơles dans ce système Ces rơles consistent de :
— convertir les données brute produites par les capteurs Les données brutes duites par les capteurs sont généralement des signaux sinusọdaux Ces signauxsont reçus par le Gateway qui les convertit en signaux numériques Les signauxnumériques sont utilisés pour transmettre les données au système
pro-— Envoyer les données au système Une fois que les données sont prêtes, le Gatewayenvoie ses données au système qui va faire des traitements sur ces données.L’intégration de nouveaux capteurs se fait comme suit ; une fois que les capteurs et lesservices de la société consommatrice sont enregistrés dans le système, la société fournis-seuse va ajouter les capteurs qui seront accompagné de l’IoT gateway ó on doit collecter lesdonnées de traçabilité
Trang 40FIGURE3.2 – Architecture du système
3.4.4 Blockchain
Pour garantir l’intégrité des données enregistrées dans le système, nous utiliserons la ckchain La blockchain, dans son essence, ne permet pas la modification ou la suppressiondes données qui y sont enregistrées En conséquence, nous mettrons en place un mécanismequi enregistrera les données de traçabilité sur la blockchain, trouvera et vérifiera l’intégritédes données du système
blo-Dans notre système, nous utilisons Ethereum qui est une blockchain décentralisée etopen source avec une fonctionnalité de contrat intelligent Il est adaptable et flexible
FIGURE3.3 – Le micro-service "blockchain"
La figure 3.3 illustre la mise en œuvre de la blockchain dans le système Le système mente une tâche automatique qui s’exécute à un intervalle de temps (qui peut être modifié) ;son rôle est de hacher les bases de données du système et de sauvegarder ces hachages sur
implé-la blockchain Pour vérifier que les données sont bien intégrées, nous comparons le hash de
la base de données et celui enregistré sur la blockchain