Recherche sur l'architecture d'un systéme complexe pour un site de freelance .
référence:
https://medium.com/@krishnaanaril/embedding-power-bi-in-angular-part-1-a1847de9a2e8
https://medium.com/@emccul13/socket-io-9bceb00dbf46
Aperçu de la formation : Cette formation gratuite en ligne, qui fournira une présentation des services AWS de base pour le calcul, le stockage, les bases de données et la mise en réseau. Notre expert technique AWS présentera un aperçu d’AWS en parlant des principales fonctionnalités, des cas d’utilisation et des meilleures pratiques.
Qui devrait participer: Virtual AWSome Day est l’événement idéal pour les responsables informatiques, les ingénieurs système, les administrateurs système et les architectes qui souhaitent en savoir plus sur l’infonuagique et apprendre à utiliser le nuage AWS.
AWS Summit Paris - Track 3 - Session 2 - IoT Partie 2 - Mettez en place l'inf...Amazon Web Services
Gérer les événements des objets connectés en temps réel avec AWS Lambda, utiliser Amazon ECS pour déployer les micro-services d’un backend scalable et robuste. Ce sont les techniques à mettre en oeuvre pour déployer un environnement de gestion des objets connectés. Et maintenez votre application à jour en continu grâce aux solutions de déploiement continu d’Amazon.
Amazon Web Service par Bertrand Lehurt - 11 mars 2014SOAT
Attention, soirée spécial cloud computing!
IAAS, PASS, SAAS... Perdu avec autant d'acronyme qui représente des types de cloud computing?
Ça tombe bien, Bertrand Lehurt vous propose une soirée d'introduction à l'IAAS (Infrastructure As A Service) avec Amazon Web Services, suivi d'une séance les mains dans le cambouis.
Vous allez apprendre à déployer une petite application en utilisant les services nécessaires dans la jungle de ceux proposés (plus de 37). Au cours de la soirée, nous aborderons donc l'utilisation d'EC2, S3, ELB, EBS, Cloudfront et Auto scaling et les architectures types qui sont utilisées dans le cloud computing.
La vidéo de la présentation est visible ici : http://youtu.be/0AUJ_hcMNhQ
Alex Coqueiro, AWS Public Sector Solutions Architect Manager, takes us on a fascinating demo and show & tell. He uses Amazon Web Services' Artificial Intelligence tools: Alexa, Poly, Rekognition and Machine Learning.He creates in real time a voice enabled truck. He turns the truck on. Monitors it's motions in real time, and finally uses Amazon Machine Learning to identify a potentially dangerous situation, generating a voice alarm, which Amazon Polly delivers through a phone call!
AWS Summit Paris - Track 3 - Session 1 - IoT Partie 1 - Connectez vos objets ...Amazon Web Services
Les objets de notre quotidien deviennent maintenant des objets-connectés quelque soit leur complexité, allant d'une simple lampe jusqu’à une voiture.
Nous verrons dans cette session les interfaces et architectures permettant de connecter ces objets au Cloud AWS afin de pouvoir ensuite exploiter ces données. Pour se faire nous utiliserons les services managés AWS permettant de traiter ces informations en temps réel et sur une échelle massive comme Amazon Kinesis et AWS Lambda.
Bonnes pratiques pour la gestion des opérations de sécurité AWSJulien SIMON
Modèle de sécurité partagée
Protection des données
Gestion des utilisateurs et des autorisations
Journalisation des données
Automatisation des vérifications
Aperçu de la formation : Cette formation gratuite en ligne, qui fournira une présentation des services AWS de base pour le calcul, le stockage, les bases de données et la mise en réseau. Notre expert technique AWS présentera un aperçu d’AWS en parlant des principales fonctionnalités, des cas d’utilisation et des meilleures pratiques.
Qui devrait participer: Virtual AWSome Day est l’événement idéal pour les responsables informatiques, les ingénieurs système, les administrateurs système et les architectes qui souhaitent en savoir plus sur l’infonuagique et apprendre à utiliser le nuage AWS.
AWS Summit Paris - Track 3 - Session 2 - IoT Partie 2 - Mettez en place l'inf...Amazon Web Services
Gérer les événements des objets connectés en temps réel avec AWS Lambda, utiliser Amazon ECS pour déployer les micro-services d’un backend scalable et robuste. Ce sont les techniques à mettre en oeuvre pour déployer un environnement de gestion des objets connectés. Et maintenez votre application à jour en continu grâce aux solutions de déploiement continu d’Amazon.
Amazon Web Service par Bertrand Lehurt - 11 mars 2014SOAT
Attention, soirée spécial cloud computing!
IAAS, PASS, SAAS... Perdu avec autant d'acronyme qui représente des types de cloud computing?
Ça tombe bien, Bertrand Lehurt vous propose une soirée d'introduction à l'IAAS (Infrastructure As A Service) avec Amazon Web Services, suivi d'une séance les mains dans le cambouis.
Vous allez apprendre à déployer une petite application en utilisant les services nécessaires dans la jungle de ceux proposés (plus de 37). Au cours de la soirée, nous aborderons donc l'utilisation d'EC2, S3, ELB, EBS, Cloudfront et Auto scaling et les architectures types qui sont utilisées dans le cloud computing.
La vidéo de la présentation est visible ici : http://youtu.be/0AUJ_hcMNhQ
Alex Coqueiro, AWS Public Sector Solutions Architect Manager, takes us on a fascinating demo and show & tell. He uses Amazon Web Services' Artificial Intelligence tools: Alexa, Poly, Rekognition and Machine Learning.He creates in real time a voice enabled truck. He turns the truck on. Monitors it's motions in real time, and finally uses Amazon Machine Learning to identify a potentially dangerous situation, generating a voice alarm, which Amazon Polly delivers through a phone call!
AWS Summit Paris - Track 3 - Session 1 - IoT Partie 1 - Connectez vos objets ...Amazon Web Services
Les objets de notre quotidien deviennent maintenant des objets-connectés quelque soit leur complexité, allant d'une simple lampe jusqu’à une voiture.
Nous verrons dans cette session les interfaces et architectures permettant de connecter ces objets au Cloud AWS afin de pouvoir ensuite exploiter ces données. Pour se faire nous utiliserons les services managés AWS permettant de traiter ces informations en temps réel et sur une échelle massive comme Amazon Kinesis et AWS Lambda.
Bonnes pratiques pour la gestion des opérations de sécurité AWSJulien SIMON
Modèle de sécurité partagée
Protection des données
Gestion des utilisateurs et des autorisations
Journalisation des données
Automatisation des vérifications
Construire des Applications Web Performantes - Rule Book WebinarAmazon Web Services
Premier d'une série de Webinaire "Voyage dans le Cloud AWS", nous allons voir comment construire des applications Web performantes en utilisant le Cloud AWS.
Track 2- Atelier 4 - Architecturez pour de la haute disponibilitéAmazon Web Services
AWS fournit une plate-forme idéale pour la construction de systèmes hautement disponibles, fiables, compétitifs, à tolérance de pannes et fonctionnant avec un minimum d'intervention humaine. Cette session couvre la plupart des sujets liés à la haute disponibilité, à la tolérance aux pannes et aux caractéristiques des différents services nécessaires à la création d’applications hautement disponibles dans le cloud AWS. Différents sujets seront abordés : architectures sur plusieurs zones de disponibilité, meilleures pratiques d’Amazon EC2 et d’Amazon RDS, systèmes faiblement couplés et redondants utilisant Amazon SQS, load balancing et scalabilité automatique. Tout cela s'appuyant sur des services intrinsèquement conçus pour répondre à des besoins de haute disponibilité et de tolérance aux pannes comme Amazon S3, AWS Elastic Beanstalk.
Chiffrez vos données avec AWS KMS et avec AWS CloudHSMJulien SIMON
Webinaire 19/12/2016
Chiffrement et gestion des clés
Comment AWS protège vos données avec le chiffrement
Comment AWS KMS simplifie le chiffrement
Alternatives à AWS KMS : AWS CloudHSM et solutions partenaires
Une analyse de la sécurité d'Amazon Web services selon la norme ISO 27002 faite à l'occasion du séminaire cloud computing organisé par le centre de compétence technique (CCT) du CNES
http://cct.cnes.fr/cct05/public/2010/index.htm#seminaires
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...Nathalie Richomme
Le « cloud » est le nouveau mot-clé pour créer le buzz dans l’IT. Grâce aux nouvelles apps, accessoires, etc., nous utilisons ou stockons tous des données dans le cloud parfois sans parfois s’en rendre compte. Amazon, au-delà de son si populaire site marchand, dispose d’un vaste catalogue de web services (AWS). Au sein de ces services, l’un d’entre eux dipose d’un grand potentiel pour les développeurs 4D. Il s’agit d’Amazon Simple Storage Service (S3). S3 constitue la solution Amazon de stockage sur le Cloud.
Présentation d'Amazon Web Services - Human Talks GrenobleBastien Libersa
Talk d'introduction à Amazon Web Services : qu'est-ce qu'AWS ? A quoi ça sert ? Comment on l'utilise ?
Application à un cas pratique : le site www.monaviscompte.fr
Nous présenterons certains des mécanismes clés pour l’utilisation de la plateforme AWS comme environnement de déploiement élastique ; nous discuterons aussi des clients qui utilisent actuellement AWS pour leurs développements et leurs tests ; enfin, nous vous donnerons quelques conseils pour vous aider à gérer votre infrastructure et rester compétitif.
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévuAmazon Web Services
Le Cloud Computing offre de nombreux avantages, tels que la possibilité de passer vos applications à l'échelle en fonction de vos besoins. Si vous avez une nouvelle application et que vous souhaitez utiliser le Cloud AWS, vous serez amené à vous poser la question suivante : "Par où dois-je commencer ?". Rejoignez-nous sur cette session pour comprendre les bonnes pratiques qui vous permettront de passer de 0 à plusieurs millions d'utilisateurs. Nous vous montrerons comment combiner au mieux les services AWS, prendre les bonnes décisions pour architecturer vos applications et déployer des infrastructure scalables dans le Cloud.
Introduction à la sécurité dans ASP.NET CoreMSDEVMTL
Nous aborderons différentes façons de sécuriser votre application ainsi que vos données sous .NET Core. Au menu? La nouvelle API Data Protection, nous verrons quel en est sa philosophie. J'introduirais également le nouveau mécanisme d'authentification avec ASP.NET Core Identity et les autorisations avec ASP.NET Core authorization
Que sont le cloud computing et Amazon Web Services (AWS)? Comment mon entreprise peut-elle tirer profit du cloud computing? Si vous cherchez des réponses à ces questions, suivez ce webinaire et apprenez comment baisser vos coûts, être plus agile et maintenir, voire améliorer, le niveau de sécurité de vos applications.
Construire des Applications Web Performantes - Rule Book WebinarAmazon Web Services
Premier d'une série de Webinaire "Voyage dans le Cloud AWS", nous allons voir comment construire des applications Web performantes en utilisant le Cloud AWS.
Track 2- Atelier 4 - Architecturez pour de la haute disponibilitéAmazon Web Services
AWS fournit une plate-forme idéale pour la construction de systèmes hautement disponibles, fiables, compétitifs, à tolérance de pannes et fonctionnant avec un minimum d'intervention humaine. Cette session couvre la plupart des sujets liés à la haute disponibilité, à la tolérance aux pannes et aux caractéristiques des différents services nécessaires à la création d’applications hautement disponibles dans le cloud AWS. Différents sujets seront abordés : architectures sur plusieurs zones de disponibilité, meilleures pratiques d’Amazon EC2 et d’Amazon RDS, systèmes faiblement couplés et redondants utilisant Amazon SQS, load balancing et scalabilité automatique. Tout cela s'appuyant sur des services intrinsèquement conçus pour répondre à des besoins de haute disponibilité et de tolérance aux pannes comme Amazon S3, AWS Elastic Beanstalk.
Chiffrez vos données avec AWS KMS et avec AWS CloudHSMJulien SIMON
Webinaire 19/12/2016
Chiffrement et gestion des clés
Comment AWS protège vos données avec le chiffrement
Comment AWS KMS simplifie le chiffrement
Alternatives à AWS KMS : AWS CloudHSM et solutions partenaires
Une analyse de la sécurité d'Amazon Web services selon la norme ISO 27002 faite à l'occasion du séminaire cloud computing organisé par le centre de compétence technique (CCT) du CNES
http://cct.cnes.fr/cct05/public/2010/index.htm#seminaires
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...Nathalie Richomme
Le « cloud » est le nouveau mot-clé pour créer le buzz dans l’IT. Grâce aux nouvelles apps, accessoires, etc., nous utilisons ou stockons tous des données dans le cloud parfois sans parfois s’en rendre compte. Amazon, au-delà de son si populaire site marchand, dispose d’un vaste catalogue de web services (AWS). Au sein de ces services, l’un d’entre eux dipose d’un grand potentiel pour les développeurs 4D. Il s’agit d’Amazon Simple Storage Service (S3). S3 constitue la solution Amazon de stockage sur le Cloud.
Présentation d'Amazon Web Services - Human Talks GrenobleBastien Libersa
Talk d'introduction à Amazon Web Services : qu'est-ce qu'AWS ? A quoi ça sert ? Comment on l'utilise ?
Application à un cas pratique : le site www.monaviscompte.fr
Nous présenterons certains des mécanismes clés pour l’utilisation de la plateforme AWS comme environnement de déploiement élastique ; nous discuterons aussi des clients qui utilisent actuellement AWS pour leurs développements et leurs tests ; enfin, nous vous donnerons quelques conseils pour vous aider à gérer votre infrastructure et rester compétitif.
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévuAmazon Web Services
Le Cloud Computing offre de nombreux avantages, tels que la possibilité de passer vos applications à l'échelle en fonction de vos besoins. Si vous avez une nouvelle application et que vous souhaitez utiliser le Cloud AWS, vous serez amené à vous poser la question suivante : "Par où dois-je commencer ?". Rejoignez-nous sur cette session pour comprendre les bonnes pratiques qui vous permettront de passer de 0 à plusieurs millions d'utilisateurs. Nous vous montrerons comment combiner au mieux les services AWS, prendre les bonnes décisions pour architecturer vos applications et déployer des infrastructure scalables dans le Cloud.
Introduction à la sécurité dans ASP.NET CoreMSDEVMTL
Nous aborderons différentes façons de sécuriser votre application ainsi que vos données sous .NET Core. Au menu? La nouvelle API Data Protection, nous verrons quel en est sa philosophie. J'introduirais également le nouveau mécanisme d'authentification avec ASP.NET Core Identity et les autorisations avec ASP.NET Core authorization
Que sont le cloud computing et Amazon Web Services (AWS)? Comment mon entreprise peut-elle tirer profit du cloud computing? Si vous cherchez des réponses à ces questions, suivez ce webinaire et apprenez comment baisser vos coûts, être plus agile et maintenir, voire améliorer, le niveau de sécurité de vos applications.
Découverte d'Azure Logic App, solution PAAS permettant de construire des workflow d’intégration d'application. Positionnement de Logic App par rapport à l’évolution des architectures d’intégration d'application.
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Microsoft Technet France
Implémenter l'authentification ADFS est le premier pas pour migrer vers des scénarios Online et hybrides, mais cela présente d'importants défis. Cette session propose un retour d'expérience sur les problèmes rencontrée lors de précédentes grosses migrations, ainsi que les bonnes pratiques pour implémenter au mieux cette authentification et garantir une bonne expérience utilisateur.
Speakers : Yvan Duhamel (Microsoft), Vincent Runge (Microsoft France)
Développez votre application Facebook avec Windows AzureMicrosoft
Les applications Facebook peuvent plus que les autres être soumises à de fortes bouffées de succès viral. Il est donc primordial de les héberger sur un cloud. Venez voir la simplicité de mise en oeuvre sur la plateforme Windows Azure.
De A à Z : Choisir une architecture pour sa solution applicativeMicrosoft
En partant d’un besoin concret qui tient compte des nouveaux usages, nous évaluerons des architectures pouvant servir de squelette à notre solution applicative. Quelles technologies nous aideront à mettre en œuvre au mieux cette solution, et plus généralement, quelles sont les questions à se poser pour bien choisir une architecture et les technologies qui lui seront associées ? Cette session est la première du parcours « De A à Z : Concevoir et développer une solution applicative ». Nous y choisirons les technologies qui seront mises en œuvre dans la solution, tout au long de ce parcours d’une journée. Elle peut être suivie de manière totalement indépendante puisque seul le scénario métier sert de fil rouge dans le parcours.
APIs dans Azure : serverless ou pas serverless?Marius Zaharia
Quels scénarii ? Quelle infrastructure derrière ? Quel développement ? Quelles options d’intégration ?Passons en revue – avec leur similitudes et différences - les options principales d’implémentation des APIs dans Azure, Azure Functions et API Apps.
Hébergement du protocole kerberos dans un cloudMouadNahri
établir des bases fiables et des normes pour sécuriser leur infrastructure cloud est un atout prémordial, le module keystone d'openstack reste limité en terme d'authentification puisque l'ensemble des password sont stockés dans un fichier texte non shiffré, d'où le besoin d'intégrer le protocole de renforcement de sécurité Kerberos.
Depuis son lancement lors de la PDC 2008, de nombreuses applications ont pu bénéficier des services de la Plateforme Windows Azure. Pour bénéficier des ressources du Cloud, les applications d’entreprise ont dû peu à peu être adaptées pour évoluer vers un modèle hybride : cloud et à demeure. Ces premières expériences permettent aujourd’hui d’avoir le recul suffisant pour apporter un premier niveau de réponses aux questions suivantes : • Quels profits peut-on tirer de ce modèle ? • Quels en sont les scénarios d’usage et les contraintes (synchronisation de données, connectivité applicative et réseau, sécurité,…) ? • Quels sont les chemins de migration d’une application à demeure vers le cloud et inversement ? • Comment prendre en compte la capacité à reconsidérer la répartition des services d’une application entre le mode cloud et à demeure, voire, à l’extrême, cibler la totale réversibilité de cette application ? Dans le cadre de cette session nous nous efforcerons donc de répondre à chacun de ces points et bien entendu d’illustrer notre propos avec quelques démonstrations…
1. République Tunisienne
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université de Tunis El Manar
Institut Supérieur d’informatique
Rapport de Mini projet systèmes Complexes
Spécialité : Deuxième année cycle ingénieur
Mention : Sciences de l’Informatique
Spécialité : Génie Logiciel
Système Complexe d’un site de freelance
Par
Sayeh Hiba karaa Eya
Hamzaoui Balkiss Ferjani Maroua
Enseignant :Mr Ben Ishak Hichem, Enseignant,ISI Groupe
1 : IDL1
Année Universitaire : 2020-2021
3. Notre application dispose de plusieurs services au niveau BACK END.
• Web Api « Projet »
Entity Framework (EF) Core, la prochaine génération de l'Object Relational Mapper (ORM) est
approuvé de Microsoft et utilisé aux côtés d'ASP.NET depuis des années et s'est forgée la
réputation d'être un outil essentiel dans la boîte à outils de tout développeur pour .NET Framework,
et maintenant .NET Core.
.NET Core comprend également un système d'injection de dépendances intégré et un modèle de
classe pour les contrôleurs. Ces fonctionnalités facilitent considérablement le développement des
API REST. D’où nous allons créer une API REST « Projet » pour gérer les projets de notre
application et selon l’architecture suivante :
Réellement, nous allons y trouver deux tables Projets et domaine qu’on s’intéresse à les gérer à
travers cet web API. Ce dernier est lié au service TextMining qui présente des techniques de
Machine Learning permettant un traitement particulier des données (dans notre cas c’est détecter
les projets similaires).
4. • Web Api « Historique »
C’est aussi une API REST basée sur le même principe du service « Projet » connecté à sa propre
base de données, nous allons y trouver une seule table nommée service « historique » que nous
allons la gérer à travers ce service.
• Web Api « Compte »
Dans ce Service, nous allons créer une API REST simple pour servir une application cliente.
Nous utiliserons SQL Server comme base de données connectée à notre application avec EF Core,
en se basant sur le design pattern Repository qui est un modèle de référentiel qui est un modèle de
conception qui assure la médiation des données depuis et vers les couches de domaine et d'accès
aux données (comme Entity Framework) et Unit of Work Pattern qui est un modèle de conception
avec lequel nous pouvons exposer diverses repositories dans notre application. L’architecture de
ce service sera comme suit:
Nous avons également deux tables « Société » et « Client » dans SQL Server que nous allons
gérer à travers cette web API. Aussi, cette dernière est liée au service Identity Server comme étant
une solution open source .NET de gestion d’identité et de contrôle d’accès. Il repose sur les
5. protocoles OpenID Connect et OAuth pour mettre en place une solution favorisant la protection de
l’authentification des utilisateurs via une base de données ou des fournisseurs externes d’identité
(Google, Facebook), la gestion des sessions et la fédération (single sign-on).
• Web Api « PowerBI »
C’est une web API en relation avec Power BI service, responsable de la génération du Dashboard
et des rapports de la table historique.
• Web Api « EWS »
C’est l’api responsable de tout exchange des emails, des contacts et des calendriers reliés au
serveur de messagerie Microsoft Exchange Server.
Entre autres notre application est liée à un frontend développé avec le framework Angular.
Le frontend est exécuté sur le Serveur NodeJS lié à plusieurs services :
• Socket.io • Google Map • Power BI
II. Description détaillée des différents composants 1. Identity server
1.1. Définition
Construire un environnement sécurisé et robuste au sein de nos applications est une étape cruciale
afin de pouvoir délivrer des solutions logicielles de haute qualité et de grande valeur destinées à
nos clients.
L’évolution accrue des technologies a poussé les applications à se développer en taille et en
complexité. Aussi, la montée en puissance des architectures distribuées et de microservices sur le
backend complique encore davantage tout cela, ce qui se traduit par un environnement logiciel
beaucoup plus complexe.
Identity Server est un Framework qui nous permet d'utiliser OpenID Connect et OAuth au sein de
nos applications ASP.NET Core.
Ce Framework nous permettra de disposer, gratuitement, d'un ensemble de fonctionnalités
permettant la gestion d'identité et de contrôle d'accès.
6. 1.2. Objectif
L’objectif ultime derrière cet outil est de résoudre certains de ces problèmes tout en vérifiant
l’identité de l’utilisateur et en contrôlant l’accès à l’aide d’OpenID Connect et d’OAuth. Nous
implémenterons le flux OAuth et utiliserons ces protocoles d'identité et d'autorisation en
implémentant IdentityServer4 en tant que fournisseur OpenID Connect, puis on va l’utiliser pour
authentifier notre client Angular SPA afin d'autoriser l'accès à une API Web ASP.NET Core
indépendante.
Il est très important d’exposer certains concepts et termes que nous aborderons dans le cadre de
cette solution.
●Contrôle d’identité et d’accès :
L'identité, comme son nom l'indique, désigne un ensemble d'attributs qu'un système informatique
peut utiliser pour représenter une personne, une organisation, une application ou un appareil.
Le contrôle d'accès , quant à lui, fait référence à une technique de sécurité utilisée pour
réglementer qui ou quoi peut accéder et utiliser les ressources (données et opérations) dans un
environnement informatique.
●Authentification et autorisation :
L'authentification désigne le processus utilisé pour déterminer si un utilisateur est bien celui qu'il
prétend être. Une fois authentifiée, l'autorisation détermine les ressources auxquelles un utilisateur
donné doit pouvoir accéder et ce qu'il est autorisé à faire avec ces ressources.
●OpenID Connect et OAuth :
OpenID Connect (OIDC) est une couche de protocole d'identité et d'authentification simple
construite au-dessus du protocole OAuth qui permet aux applications (généralement appelées
clients) de vérifier l'identité des utilisateurs finaux. OAuth, abréviation de « Open Authorization
», est un protocole standard ouvert permettant une autorisation API sécurisée. Spécifique au
domaine de la programmation, le terme API (abréviation de « Application Programming Interface
») désigne dans ce contexte une interface agissant comme un transmetteur de données entre les
différentes applications, interfaces utilisateur ou pages Web. Afin d’éviter tout risque
7. d’interception de ces données par des tiers et leur utilisation abusive, une autorisation des transferts
de données effectués entre ces API est par conséquent nécessaire.
Voici un diagramme montrant comment ces concepts et protocoles s'intègrent dans un scénario
d'authentification et d'autorisation de base.
1.3. Architecture
Pour résumer ce flux de travail :
1. L'utilisateur (propriétaire de la ressource) lance une demande d'authentification auprès du
serveur d'autorisation.
2. Si les informations d'identification sont valides et que tout est vérifié, le serveur
d'autorisation obtient le consentement de l'utilisateur final et accorde à l'application cliente
un jeton d'accès.
3. Le jeton d'accès est attaché aux demandes ultérieures adressées au serveur de ressources
protégées.
4. Le serveur d'autorisation valide le jeton d'accès; en cas de succès, la demande de ressources
protégées est accordée et une réponse est renvoyée à l'application cliente.
8. 1.4. Etapes d’implémentation
1.4.1. Implémentation d’AuthServer
L' AuthServer est notre fournisseur OpenID Connect et OAuth, c'est donc un excellent point de
départ car il s'agit essentiellement du hub de notre solution.
Pour cela, nous allons créer un nouveau projet à l’aide du modèle ASP.NET Core MVC. L’étape
suivante consiste à l’amorcer avec les packages IdentityServer requis. J'ai nugetté le package
IdentityServer4 principal avec IdentityServer4.AspNetIdentity. Le deuxième package fournit une
intégration entre IdentityServer et le système d'identité d'ASP.NET Core.
Configurer IdentityServer
Une fois les packages installés, nous sommes prêts à configurer et à activer IdentityServer dans
notre projet.
Données utilisateur et identité ASP.NET Core
Nous avons également besoin d'un endroit pour stocker les données utilisateur de notre
application, des éléments tels que leurs informations d'identification, leurs informations de profil,
etc. Pour cela, nous pouvons tirer parti du système d'identité d'ASP.NET Core et utiliser l'approche
d'accès aux données par défaut avec Sql Server et Entity Framework Core gérant la persistance.
Créer le schéma de base de données avec les migrations de base Entity Framework
En utilisant les migrations code-first, nous pouvons générer notre schéma de base de données
Sql Server basé sur le modèle que nous définissons dans le code.
Ensuite, nous avons besoin d'une nouvelle classe DbContext. IdentityDbContext est le contexte
de base de données de base utilisé par Identity, nous l’avons donc étendu en créant
AppIdentityDbContext . Cette étape n'est pas obligatoire mais est utile si nous devons personnaliser
ou remplacer les valeurs par défaut du modèle d'identité.
1.4.2. Partie Front
En ce qui concerne la partie Front, nous allons travailler avec Angular. Nous allons suivre
ces étapes-là :
●Élaboration d’un flux d’inscription des utilisateurs ;
9. ● Organisation des composants avec des modules ;
●Enregistrement du point de terminaison d’API ;
●Elaboration d’un flux de connexion ;
●Implémentation d’un service d’authentification.
2. MS Exchange Server
2.1. Définition
Microsoft Exchange Server est un groupware (logiciel de groupe de travail) pour serveur de
messagerie électronique créé par Microsoft, pour concurrencer Lotus Domino d'IBM.
Microsoft Exchange est très utilisé dans les entreprises, 52 % du marché des plates-formes de
messagerie et de collaboration d'entreprise en 2008. C'est un produit de la gamme des serveurs
Microsoft, conçu pour la messagerie électronique, mais aussi pour la gestion d'agenda, de contacts
et de tâches, qui assure le stockage des informations et permet des accès à partir de clients mobiles
(Outlook Mobile Access, Exchange Active Server Sync) et de clients web (navigateurs tels que
Internet Explorer, Mozilla Firefox, Safari).
2.2. API « Microsoft.Exchange.WebServices »
Microsoft Exchange Web Services (EWS) est une interface par laquelle vous pouvez gérer par
programme des éléments Exchange tels que le calendrier, les contacts et les e-mails. Avec EWS,
vous pouvez stocker ou récupérer toutes les données de votre compte Exchange, offrant une grande
flexibilité dans la gestion et la manipulation des données de messagerie sur un serveur Exchange
pour un utilisateur, un groupe d'utilisateurs ou une organisation entière. EWS est un outil puissant
pour transférer les données des systèmes de messagerie hérités vers les services hébergés Exchange
ou Exchange Server.
Étant donné qu'EWS est un service Web normal, nous pouvons accéder à Exchange à partir de
n'importe quelle plate-forme. Dans .NET, nous pourrions simplement ajouter une référence Web à
notre projet. Cela générerait automatiquement des classes proxy que nous pouvons utiliser pour
communiquer avec EWS. Ces cours nous permettraient d'envoyer des e-mails, recevoir des emails,
envoyer des invitations à des réunions, gérer les contacts, etc.
10. 2.3. Architecture d’Exchange Server
2.4. Les fonctionnalités de ce système
2.4.1. Établissement d'une connexion à Exchange Server
Pour configurer une connexion à EWS, vous devrez créer un objet ExchangeService et vous
connecter au serveur d'accès au client Exchange (CAS) approprié à l'aide d'un compte disposant
d'un accès suffisant tel qu'un administrateur. Vous aurez besoin du nom de compte et du mot de
passe pour établir la connexion.
2.4.2. Gestion des éléments de contact
Après avoir établi une connexion à EWS, vous pouvez commencer à gérer vos éléments. Pour
récupérer vos éléments de contact à partir d'Exchange, vous devez spécifier le dossier Contacts et
le nombre de contacts que vous souhaitez récupérer à partir d'Exchange. On peut récupère tous les
contacts d’Exchange ; en spécifiant une valeur plus petite, vous pouvez réduire le nombre d'articles
retournés. Cela peut être particulièrement utile lors des recherches.
11. Si vous choisissez de mettre à jour ou de supprimer un élément, il existe une variété d'options
quant à la façon dont l'opération se déroulera. Par exemple, pour la suppression, vous pouvez
spécifier une suppression définitive et pour la mise à jour, vous pouvez définir la manière dont les
conflits doivent être gérés.
Enfin, les modifications apportées à l'élément Contact doivent être enregistrées avant que les
modifications ne soient reflétées dans le serveur Exchange. Pour enregistrer un contact, vous devez
créer un Contact objet et renseigner les Contact propriétés du nouvel objet avec les données
appropriées.
2.4.3 Gérer les éléments du calendrier
La gestion des éléments de calendrier est un peu plus complexe que l'exemple Contact. Pour les
calendriers, il existe deux types distincts : les rendez-vous et les réunions. Ces deux types de
calendrier sont accessibles via le même objet, et la détermination du fait qu'un élément est un
rendez-vous ou une réunion est déterminée par le nombre de participants.
Commençons par récupérer certains éléments de calendrier d'Exchange. La récupération des
éléments du calendrier est similaire à la récupération des éléments de contact. Vous devez spécifier
le type d'élément que vous souhaitez récupérer et vous devez également en spécifier le nombre.
Après avoir effectué certaines opérations sur vos éléments de calendrier, vous souhaiterez
peutêtre effectuer des actions telles que leur mise à jour ou leur suppression. Ceci est très similaire
à la façon dont nous avons géré les modifications des éléments de contact. Pour stocker les
éléments de calendrier, vous devez juste enregistrer.
2.4.4 Gestion des éléments de courrier électronique
Le dernier élément est le courrier électronique. Là encore, la gestion des e-mails nécessite
également un objet de service connecté. Tous les e-mails ont en commun six fonctionnalités, à part
la lecture des e-mails, et devraient être familiers à quiconque a déjà utilisé le courrier électronique
:
• Créer et envoyer des e-mails
12. • Transférer des e-mails
• Répondre aux e-mails
• Mettre à jour les e-mails
• Supprimer des e-mails • Enregistrer les e-mails
3. Socket IO
3.1. Définition
Socket.IO est une bibliothèque JavaScript qui permet une communication en temps réel,
bidirectionnelle et basée sur les événements. Cela signifie que Socket.IO permet une
communication instantanée entre le client et le serveur d'une application afin que vous puissiez
voir les modifications apportées à une application sans même actualiser la page. Comme son nom
l'indique, il est basé sur l'API WebSocket. Socket.IO fonctionne également sur chaque plate-forme,
navigateur ou appareil, et se concentre également sur la fiabilité et la vitesse.
De plus, les connexions effectuées via Socket.IO sont extrêmement fiables. Ils sont établis même
en présence de proxies, d'équilibreurs de charge, de pare-feu personnel ou de logiciels antivirus.
Pour cela, Socket.IO s'appuie sur Engine.IO , qui établit d'abord une connexion longue
interrogation, puis tente de passer à de meilleurs transports testés sur le côté, comme WebSocket.
3.2. Fonctionnalités
En fait, vous pouvez utiliser SocketIO pour beaucoup de choses lors de la création d'une
application. Vous pouvez vous le faire pour les notifications push, les jeux multi-joueurs, et ce dont
nous allons parler aujourd'hui, les applications de chat. La connexion persistante établie par
Socket.IO entre le client et le serveur permet aux deux parties de commencer à envoyer des données
à tout moment. Cela signifie que lorsqu'un message est créé et envoyé par un utilisateur, nous
pouvons utiliser Socket.IO pour afficher ce message à l'utilisateur qui l'a envoyé et à toute personne
à qui il a été envoyé en temps réel.
14. 3.4. Etape d’implémentation
La première chose que vous devez faire est npm install socket.io.Puis votre serveur doit
etre en écoute sur le port 3000 tandis que votre application Angular sera toujours servie sur 4200.
Ensuite , écouter vos sockets côté serveur , apres avoir configurer notre connexion socket sur le
client -côté de notre application angulaire. Alors maintenant, vous pouvez simplement generez
votre component chat, et un service spécifique.puis établit alors la connexion au socket de votre
serveur. Ensuite, vous souhaitez définir vos fonctions dans votre service pour gérer vos messages
de chat en temps réel. De plus, assurez-vous d'injecter votre ChatService car c'est là que nous avons
défini la fonction getMessages qui devrait recevoir tous les messages envoyés et les pousser
immédiatement dans le tableau de messages à rendre.
Il faut garantir que le socket du côté serveur écoute l'événement de nouveau message et reçoit
l'objet de message que nous avons transmis du côté client. Cela réémettra l'objet message sur
chaque socket écoutant sur un client.
Une fois que vous avez fini cette étape vous devrez rendre ces conversations privées d'une
manière ou d'une autre et visibles uniquement par certains utilisateurs. Dans notre cas, nous devons
les restreindre afin que seuls les utilisateurs membres du groupe puissent les voir.
Pour commencer, les discussions de groupe doivent être acheminées vers une page particulière
à l'aide du routage angulaire.
Vous pouvez transmettre l'identifiant en tant que paramètre et vous pouvez utiliser cet identifiant
pour restreindre la discussion de groupe aux seuls utilisateurs qui sont membres de ce groupe. Pour
cela, j'ai fait en sorte que le composant de chat ne s'affiche que lorsqu'un utilisateur est membre de
ce groupe.
Donc, à ce stade, si vous avez accès à un identifiant unique, vous pouvez créer une salle et
contraindre les messages à être envoyés uniquement à cette salle.
Pour faire notre discussion de groupe, nous allons transmettre l'identifiant unique envoyé par
notre client et demander à notre utilisateur de rejoindre une salle nommée par cet identifiant.
Cette fonction, définie dans notre serveur de chat, nous permet de transmettre l'identifiant unique
que nous obtenons de nos paramètres dans notre composant de groupe et de l'envoyer au serveur
chaque fois que l'utilisateur se connecte à une socket. Ensuite, nous devons refactoriser afin que
15. lors de notre événement de nouveau message, ce message ne soit renvoyé qu'aux clients qui font
partie de la salle.
Après avoir fait cela dans notre serveur, revenons du côté client pour lui faire rejoindre le groupe.
Une grande caractéristique de Socket.IO est que nous n'avons en fait pas besoin d'écrire de
fonctions spéciales pour une déconnexion. Avec Socket.IO, un socket sera supprimé d'une pièce à
chaque fois qu'il est déconnecté.
Un autre avantage de Socket.IO est que si une connexion est perdue, un client déconnecté
essaiera de se reconnecter pour toujours jusqu'à ce que le serveur soit à nouveau disponible. Ceci
est maintenu via un mécanisme de pulsation, permettant à la fois au serveur et au client de savoir
quand l'autre ne répond plus.
4. GoogleMap
4.1. Définition
Google Maps est un service Web qui fournit des informations détaillées sur les régions
géographiques et les sites du monde entier. En plus des cartes routières conventionnelles, Google
Maps offre des vues aériennes et par satellite de nombreux endroits. Dans certaines villes, Google
Maps propose des vues de rue comprenant des photographies prises à partir de véhicules.
Google Maps propose plusieurs services dans le cadre de la plus grande application Web, comme
suit :
• Un planificateur d'itinéraire propose des itinéraires pour les conducteurs, les motards,
les marcheurs et les utilisateurs des transports en commun qui souhaitent effectuer un trajet
d'un endroit spécifique à un autre.
• L'interface du programme d'application ( API ) de Google Maps permet aux
administrateurs de sites Web d'intégrer Google Maps dans un site propriétaire tel qu'un guide
immobilier ou une page de service communautaire.
• Google Maps pour mobile propose un service de localisation pour les automobilistes
qui utilise la localisation GPS (Global Positioning System ) de l'appareil mobile (si disponible)
ainsi que les données des réseaux sans fil et cellulaires .
16. • Google Street View permet aux utilisateurs de visualiser et de parcourir des images
panoramiques horizontales et verticales au niveau de la rue de différentes villes du monde.
• Des services supplémentaires offrent des images de la lune, de Mars et du ciel pour
les astronomes amateurs.
4.3. Architecture
4.4. Etape d’implémentation
Les cartes Google sont utilisées dans de nombreuses applications car un emplacement avec des
cartes visibles joue un rôle important pour rendre les informations plus conviviales. Les cartes
intégrées peuvent afficher des marqueurs de localisation ou activer la sélection visuelle de l'adresse
ou afficher des avis de localisation géographique, etc.
Dans cet partie, nous ajouterons Google Maps dans un projet angulaire en utilisant le module
Angular Google Maps(AGM). L'ajout / l'intégration de Google Maps dans un projet Angular
devient très simple en utilisant ce module :
Etape 1 : Installez Angular Google Maps
Pour utiliser Google Maps dans l'application Angular, installez le package « @agm/core ».
Etape 2 : Types d'installation pour GoogleMaps
Ensuite, nous installerons Google Maps bibliothèque de types. Puis, ouvrez le fichier «
tsconfig.app.json » déjà disponible à la racine, ajoutez maintenant « Google Maps » dans le
tableau de types.
17. Etape 3 : Mettre à jour le module d'application
Ensuite, ouvrez le « app.module.ts » fichier, import « AgmCoreModule » puis mettez à jour le
tableau « imports ».
Lors de l'importation de « AgmCoreModule », nous devons définir notre Google Console Clé API
sous une propriété « apiKey ». Comme nous ont activé la bibliothèque de « places » requise pour
effectuer une recherche de lieux à l'aide de la barre de recherche.
Etape 4 : Obtenir la clé API Google
Premièrement, Aller à la Google Console portail. Vous devez vous inscrire / signer avec
vos informations d'identification Google. Deuxièmement, sélectionnez le projet ou créez-en un
nouveau. Vous devrez peut-être remplir les détails de paiement conformément aux nouvelles
règles. Mais ils fournissent des crédits gratuits afin que vous puissiez facilement choisir à des fins
de développement. Troisièmement, après avoir créé et sélectionné le projet, cliquez sur « Créer des
identifiants » puis « APIKeys ». Cliquez ensuite sur « Restreindre la clé ». Finalement, activer «
API Maps Javascript » et « API Places ». Assurez-vous d'avoir activé trois types de services d'API
sur votre clé. API JavaScript Maps (Afficher la carte), API Places (Résultats de la recherche de
lieux) & API de géocodage (Convertir Lat & Long en adresse)
Etape 5 : Ajout de Google Maps dans le composant
Pour créer une carte Google dans le modèle, nous ajoutons le < agm-map/> composant avec des
propriétés de liaison pour la définition latitude, longitude, zoom et autres configurations. La carte
aura également un marqueur, qui est créé en ajoutant le < agm-marker /> composant.
Etape 6 : Mettre à jour le modèle d'application
Ajoutez le modèle AGM dans le composant App pour afficher Google Map de base avec
l'emplacement actuel. Pour obtenir les coordonnées actuelles telles que la longitude et la latitude,
nous utiliserons service de géolocalisation dans le navigateur.
Etape 7 : Mettre à jour la classe de composant
Lors du chargement des composants, nous appellerons « navigator.geolocation » Service API pour
obtenir la position actuelle de l'utilisateur. Le « SetCurrentLocation() » est la méthode récupérera
18. la latitude et la longitude pour définir Google Map sur l'emplacement actuel. Puis, Ajouter la
hauteur de la carte dans « app.component.scss ».
Etape 8 : Barre de recherche de lieux
Dans « app.component.html » nous allons maintenant ajouter une barre de recherche avec des
informations d'adresse et de latitude et longitude. Le marqueur peut maintenant être déplacé afin
que l'utilisateur puisse le faire glisser vers l'emplacement souhaité.
Etape 9 : Mettre à jour le modèle de composant d'application
Etape 10 : Mettre à jour la classe de composant
Dans « app.component.ts » nous ajouterons la méthode de saisie semi-automatique de Google map
pour renvoyer l'ensemble de données d'adresse. Le service de localisation de géocodeur renverra
l'adresse en fonction de la latitude et de la longitude. La variable de référence du modèle « #search
» dans le champ de saisie est utilisé pour trouver les événements clés pour la récupération des
adresses en fonction de localisation actuelle.
5. TextMining
Nous avons conçu un service de « TextMining » qui a pour but principalement de comparer
chaque nouveau projet déposé par un client avec les projets qui sont en attente de traitement,
chercher les similitudes pour le classifier dans la base donnée avec les projets qui lui sont
similaires, selon un domaine bien précis.
Ce service se base principalement sur des algorithmes d’apprentissage automatique par réseaux
de neurones “Machine Learning”.
Ces algorithmes s'opposent aussi aux algorithmes d'apprentissage classiques du fait du nombre
de transformations réalisées sur les données entre la couche d'entrée et la couche de sortie.
En effet, ils tordent l'espace et permettent de représenter avec pertinence des phrases qui auraient
des représentations très similaires avec les méthodes traditionnelles.
Par exemple, si on compare les deux phrases « si déçu par le film, n'allez pas le voir, vraiment je
ne l'aime pas ! » et « j'aime ce film ! allez le voir, vous ne serez pas déçu », elles contiennent
quasiment les mêmes mots mais ont des sens opposés. Avec les techniques d'apprentissage
19. classiques, leurs représentations sont très proches et un algorithme de classification n'arrivera pas
à les différencier.
5.1. Architecture
C’est dans cette optique que nous avons opté à l’utilisation de NLTK qui est un puissant package
Python et qui permet d’analyser, prétraiter et comprendre la sémantique du texte écrit.
5.1. Preprocessing
La première étape du traitement des données permet de récupérer le texte sous forme XML et le
nettoyer afin de pouvoir l'utiliser ultérieurement dans vos algorithmes.
Cette étape comporte 5 phases essentielles :
20. 5.1.1. Tokenisation
La tokenisation est la première étape de l'analyse de texte. Le processus de décomposition d'un
paragraphe de texte en petits morceaux, des mots ou des phrases. Le jeton est une entité unique qui
constitue des blocs de construction pour une phrase ou un paragraphe.
Résultat :
5.1.2 Stopwrods
Stop words ou Mots vides considérés comme du bruit dans le texte. Ce sont les mots très courants
dans la langue étudiée ("et", "à", "le"... en français) qui n'apportent pas de valeur informative pour
la compréhension du "sens" d'un document.
Dans NLTK pour supprimer les mots vides, vous devez créer une liste de mots vides et filtrer
votre liste de mots avec ces mots vides.
5.1.3. Lemmatizer
La lemmatisation réduit les mots à leur mot de base, qui est des lemmes linguistiquement
corrects. Il transforme le mot racine à l'aide du vocabulaire et de l'analyse morphologique.
Dans le processus de lemmatisation, on transforme donc « suis » en « être » et « attentifs » en
« attentif ».
21. 5.1.4. POS-tragger
Ce tagueur traite une séquence de mots et attache sa nature à chaque mot rencontré. Par
exemple : [(et, 'CC'), ('permet', 'VB'), ('complètement', ADV)]
• CC : Conjonction de coordination
• VB : Verbe
• Complétement : adverbe
5.2. Word sense disambiguation
La deuxième étape c’est l’élimination de l’ambiguïté pour un mot, en utilisant les mots de
contexte entourant le mot cible et ses parents, tels que les synonymes, les hypernymes, les
hyponymes, les méronymes et les holonymes.
Cette étape nécessite l’importation de la bibliothèque Wordnet. Wordnet est un dictionnaire qui
fait partie de Natural Language Tool Kit (NLTK) pour Python.
Dans WordNet, des mots similaires sont regroupés dans un ensemble connu sous le nom de
Synset. Les mots d'un Synset sont connus sous le nom de Lemmes.
Dans cet exemple, les synset du mot « computer » sont les suivant :
>>> wordnet.synset("computer.n.01").lemma_names()
['computer', 'computing_machine', 'computing_device', 'data_processor',
'electronic_computer', 'information_processing_system']
5.3. Semantic feature selection
C’est une méthode de sélection de caractéristiques discriminantes et sémantiques pour la
catégorisation de texte, elle est basée également sur Wordnet.
La categorisation résulte à des vecteurs contenant des mots de la même catégorie.
22. 5.4. Semantic similarity calculation
Cette étape consiste à l'évaluation de la similitude sémantique des mots et des concepts.
WordNet, est utilisé pour des applications de ce type.
La valeur de similitude des mots dans WordNet est calculée entre chaque paire de mots en
considérant la profondeur du sous-nombre de mots et le chemin le plus court entre eux.
En général, la similitude sémantique est une mesure de la distance conceptuelle entre deux objets,
en fonction de la correspondance de leur signification.
La comparaison des projets va être calculée comme suit, plus la valeur de similitude en
pourcentage est importante, plus les projets sont similares.
1. Power BI
6.1. Définition
Power BI est un outil puissant qui nous aide à créer des informations rapides et interactives à
partir d'un large éventail de sources de données. Nous aborderons ici le service Power BI, qui est
un SaaS , et comment intégrer des tableaux de bord, des rapports et des tuiles Power BI dans des
applications Web.
Power BI peut être intégré dans une application de deux manières :
• Incorporation pour les clients : Ceci permet d'incorporer des tableaux de bord et des
rapports aux utilisateurs qui n'ont pas de compte Power BI. Les API Power BI sont appelées
en fonction du compte principal de l'application et les rapports / tableaux de bord sont mis
à la disposition des utilisateurs de l'application.
• Incorporation pour votre organisation : Ceci permet d'incorporer des tableaux de bord /
rapports pour les utilisateurs de votre organisation, qui ont des comptes Power BI.
23. 6.2. Incorporation pour les clients
6.2.1. Architecture Power BI
6.2.2. Description du flux du travail
1. Lorsque l'utilisateur parcourt l'interface utilisateur, il appelle l'API pour le jeton d'intégration.
2. L'API authentifie l'application à l'aide des informations d'identification du compte principal
et de la demande de jetons.
3. Azure AD renvoie le jeton en cas de validation réussie, sinon rejetez la demande.
4. Le jeton incorporé est renvoyé à l'interface utilisateur à partir de l'API.
5. L'interface utilisateur appelle l'API Power BI pour obtenir les données spécifiques au rapport
avec le jeton.
24. 6. L'API Power BI renvoie les données de rapport et l'interface utilisateur les affiche dans la
page Web.
7. (Facultatif) Autorisation utilisateur via des rôles personnalisés stockés sur le serveur SQL (ou
par tout autre moyen)
6.2.3. Conditions Préalables
Avant de commencer ce didacticiel, vérifiez que vous disposez à la fois des dépendances Power
BI et du code répertoriées ci-dessous :
Dépendances Power BI
1. Propre locataire « Azure Active Directory » .
2. Pour authentifier votre application par rapport à Power BI, :
Principal de service : Un objet principal de service Azure Active Directory (Azure AD) qui
permet à Azure AD d'authentifier votre application.
6.2.4. Configuration de l’environnement de développement analytique intégré
Étape 1 : Sélectionner la méthode d'authentification
Étape 2 : Inscrire une application Azure AD
Étape 3 : Créer un espace de travail Power BI
Étape 4 : Créer et publier un rapport Power BI
Étape 5 : Obtenez les valeurs des paramètres d'intégration
• Identité du client
• Secret du client
• ID de l'espace de travail
• Identifiant du rapport
• ID du locataire
• Nom d'utilisateur et mot de passe Power BI
Étape 6 - Accès à l'API du principal du service
25. Étape 7 - Activer l'accès à l'espace de travail Étape
8 - Intégrez votre contenu
6.3. Incorporation pour les organisations
6.3.1. Architecture Power BI
6.3.2. Description du flux du travail
1. Lorsque l'utilisateur parcourt l'interface utilisateur, il est invité à se connecter avec ses
informations d'identification Power Bi.
2. Les informations d'identification de l'utilisateur sont validées avec Azure AD pour générer
des jetons d'accès.
26. 3. L'interface utilisateur appelle l'API Power BI pour obtenir les données spécifiques au rapport
avec le jeton.
4. L'API Power BI renvoie les données de rapport et l'interface utilisateur les affiche dans la
page Web.
6.3.3. Conditions Préalables
Avant de commencer ce didacticiel, vérifiez que vous disposez à la fois des dépendances Power BI
et du code répertoriées ci-dessous :
Dépendances Power BI
• Votre propre locataire « Azure Active Directory » .
• L'une des licences suivantes :
Power BI Pro
Premium par utilisateur (PPU)
6.3.4. Configuration de l’environnement de développement analytique intégré
Étape 1 - Inscrire une application Azure AD
Étape 2 - Créer un espace de travail Power BI
Étape 3 - Créer et publier un rapport Power BI
Étape 4 - Obtenez les valeurs des paramètres d'intégration
• Identité du client
• Secret du client
• ID de l'espace de travail
• Identifiant du rapport
Étape 5 - Intégrez votre contenu