Les approches modernes des modélisations conversationnelles

[EXPER’TECH] Les approches modernes des modélisations conversationnelles


Assistants virtuels personnels et agents avec interfaces conversationnelles sont des technologies qui deviennent de plus en plus populaires auprès de beaucoup de développeurs logiciels. C’est grâce au développement rapide de la compréhension des langages naturels et des technologies à haut débit d’information que nous pouvons observer une forte croissance dans ce domaine.

Ces assistants sont présentés comme des entrées pour des applications et services qui fournissent des méta-strates d’intelligence faisant office d’arbitres entre les applications pour une requête utilisateur [12].

Les démonstrations effectuées les présentent comme extrêmement performants avec une large série de tâches, comme suggérer à un utilisateur de faire quelque chose basé sur les événements précédemment traqués (assistance proactive) ou répondre à une requête utilisateur dite de manière explicite ou écrite (assistance réactive). Nous pouvons citer quelques exemples marquants comme Google Now, Alexa d’Amazon, Siri d’Apple ou encore Cortana de Microsoft. Naturellement, il existe des ensembles de prérequis que ces assistants à échelle industrielle doivent satisfaire [12] :

  • L’étendue des domaines et expériences de compréhension du langage
  • La nature du langage de l’utilisateur
  • La complexité des dialogues
  • L’étendue des modalités et les appareils avec lesquels les assistants peuvent interagir
  • L’étendue des expertises liées aux expériences des auteurs qui est supportée
  • La latence et la capacité du back-end ou des services cloud qui peuvent être contenus
  • La latence et l’exactitude globales des réponses du système
  • Les coûts raisonnables (par exemple : les coûts de la puissance de la machine, de mise en œuvre et de maintenance)
  • Le support de développement d’expériences utilisateurs uniformes (par exemple : la personnalité de l’assistant)
  • La possibilité d’amélioration des expériences


De manière générale, beaucoup de développeurs peinent à trouver un équilibre optimal entre la latence et l’exactitude. Par exemple, le niveau de d’automatisation de Cortana varie, des dialogues totalement automatisés au human-in-the-loop, qui permet à des requêtes plus complexes d’être traitées par des humains [12].

L’approche appliquée pour le seq2seq de Google consiste à mapper une séquence par rapport à une autre (mapper entre les requêtes et les réponses en utilisant des réseaux récurrents) [15]. Cela peut être utile pour les modélisations conversationnelles, autrement dit pour prédire la prochaine séquence selon la ou les précédente(s). Etonnement, cette approche réussi à générer des réponses fluides et précises [15]. Une autre technique appliquée dans le Google Smart Reply est basée sur un classement des réponses qui peuvent démontrer la bonne connaissance du monde réel. La majorité des solutions existantes utilisent une approche standard basée sur les intentions et les entités [7].

Ce comportement se révèle être efficace lors d’un travail sur de simples tâches comme la création d’une alarme ou la réservation d’une table auprès d’un restaurant. Par conséquent, l’argument de vente principalement mis en avant de ces systèmes est qu’ils permettent aux utilisateurs de déléguer de nombreuses tâches grâce à un seul et unique point d’entrée, i.e, qui remplace une recherche sur un site ou une application [11].

Néanmoins, lorsque les tâches vont au-delà du cadre des modélisations conversationnelles principales, les résultats produits par les technologies citées ci-dessus ne répondent pas forcément correctement aux attentes de l’utilisateur. Par exemple, l’approche la plus commune basée sur les entités et les intentions nécessite un entrainement manuel des entités spécifiques au domaine. Pour illustrer, les assistants virtuels de Microsoft utilisent un classificateur binaire de type one-vs-all séparé pour chaque domaine. Dans le cas où la requête de l’utilisateur dépasse le cadre des domaines pré-entrainés, le système peut perdre en performance [12]. Comme mentionné précédemment, l’approche basée sur les la méthode du rang démontre une bonne connaissance du monde, mais les résultats nécessitent le réseau de neurones avec une échelle suffisamment large. [14]. De plus, la méthode du rang peut être efficace même sans comprendre le dialogue, car il utilise les transformations sémantiques et une approche basée autour des règles [1] [13].

Même le seq2seq de Google qui semble être un outil parfait pour les modélisations conversationnelles peut rencontrer de sérieuses difficultés. Premièrement, seq2seq n’est pas capable de mettre à jour sa mémoire à long terme. Par conséquent, les choses importantes comme le nom d’utilisateur sera oublié après plusieurs itérations et donc, aucun nouvel élément ne pourra être mémorisé. Il est également important de souligner le fait que seq2seq n’est pas capable d’obtenir des données de la part de ressources externes. De plus, le savoir obtenu durant la phase d’apprentissage peut ne pas être appliqué à d’autres domaines et demande beaucoup de temps et de données pour apprendre le nouveau modèle. En outre, le modèle a tendance à donner des réponses courtes comme « oui » ou « non » [13]. Dans les scénarios, lorsque l’utilisateur se retrouve inondé avec trop de données et trop peu de temps pour les comprendre, les solutions existantes ne se révèlent pas nécessairement efficaces.

Pour illustrer ce type de scénario, nous avons le système de synthétisation de texte pour les médecins [9] où l’exactitude et la rapidité sont leurs principaux soucis. Il est également important de réaliser que tous les agents conversationnels décrits précédemment sont des agents réactifs, ce qui rend impossible l’implémentation d’analyses prescriptives. Pour résumer, nous pouvons dire qu’il est particulièrement intéressant de développer un agent qui :

  • Est doté de connaissances dans un domaine spécifique
  • Est doté de bon sens
  • Ne nécessite pas l’aide d’un humain
  • Ne nécessite pas un large réseau de neurones pour le réentrainement à chaque itération
  • Suggère des options de décisions



Consultez les références utilisées dans cet article juste ici.



Ecrit par Alibek Jakupov

4 solutions digitales réunions

[EXPER’TECH] 4 solutions digitales qui rendent vos réunions plus attractives


Réussir à captiver une audience lors d’une présentation ou d’un atelier a toujours été un exercice délicat.


La nature des participants et leurs motivations sont souvent hétérogènes et dépendent de nombreux facteurs : le sujet abordé et son intérêt, leur temps disponible (physique et psychologique) ou encore, le profil de la personne et de l’organisation en charge d’animer la réunion.


Selon une étude de Barco et Circle Research, les salariés au bureau participent en moyenne à 10 réunions par semaine (d’une durée moyenne de 48 minutes). Les personnes interrogées considèrent que 56 % de ce temps passé est inutile. 57 % d’entre elles estiment même que les séances de concertation qui leur sont proposées devraient être plus courtes et moins nombreuses.


Toujours d’après la même étude, la durée idéale d’une réunion est estimée à 21 minutes… Il y a donc urgence à rendre ces réunions plus courtes et plus attractives.


Pour cela, l’organisateur ne doit pas uniquement s’intéresser au fond mais également à la forme de sa réunion. La bonne nouvelle, c’est qu’il existe aujourd’hui une multitude de solutions digitales qui optimisent ce temps passé pour le rendre plus utile et agréable.


Comment stimuler votre auditoire ? On vous a dégoté 4 solutions digitales qui faciliteront les séquences de co-construction ou de co-élaboration… Suivez le guide.



Klaxoon


Klaxoon est une start-up rennaise de la French Tech qui a conquis de nombreuses entreprises à travers le monde depuis sa création en 2014. Elle propose des applications simples et rapides pour faciliter les réunions telles que le brainstorming, le nuage de mots, les sondages ou les quizz.


L’entreprise a déjà remporté de nombreux prix d’innovation grâce notamment à sa Klaxoon Box, un objet connecté qui permet de disposer de la suite d’outils Klaxoon, même sans avoir de connexion internet disponible. Une box qui permet de faire interagir entre 1 et 100 collaborateurs simultanément selon l’offre souscrite.

Offre Klaxoon en janvier 2019

En 2018, Klaxoon a lancé le MeetingBoard, un écran tactile connecté réalisé en partenariat avec Samsung, LG et IIYAMA. Avec une offre d’écrans en 3 tailles, du 46 au 65 pouces, le MeetingBoard vise à simplifier le travail en réunion.

Puis vers la fin d’année 2018, Klaxoon et Microsoft ont annoncé l’interopérabilité de leurs outils.


Désormais, depuis Microsoft Teams et plus largement Office 365, il sera possible d’utiliser la suite d’outils Klaxoon. Ce qui ouvre de nouvelles possibilités de collaboration et de travail en équipe aux millions d’utilisateurs de ces écosystèmes.


Yellow


Yellow est une solution proposée par l’agence SENSORIT depuis 2015.


Yellow apporte la vision digitale du Post-It™ et affirme avoir testé son concept « pendant 2 ans dans les salles de créativitée d’un grand compte » avant d’industrialiser sa solution.


Yellow est un logiciel en Saas qui favorise la créativité lors de la réunion en se concentrant sur les activités de brainstorming et de management visuel. D’une facilité déconcertante, il s’utilise idéalement avec un écran tactile et offre aux collaborateurs la possibilité de développer leurs idées ensemble et même de travailler avec plusieurs sites distants simultanément.


Pas d’applications à installer : tout se déroule en ligne sur un ordinateur, une tablette, un smartphone. Yellow possède de nombreuses applications pour favoriser la créativité et l’agilité des équipes.


Vidéo de présentation des usages avec Yellow : 


Site : https://www.getyellow.io/


iObeya


iObeya est une plateforme de management visuel en Saas qui s’inspire de la méthode OBEYA (qui signifie « grande salle » en japonais).


Cette solution améliore l’efficacité des réunions en proposant de nombreuses trames et modèles pour travailler avec des Post-its et gérer différents projets grâce au Lean Management : diagramme d’Ishikawa, Kanban et autres méthodes agiles.


En s’affranchissant des contraintes d’espace ou de sécurité, iObeya réduit les problématiques courantes de l’organisation en équipe : réduction des problèmes de communication, de la durée des réunions (car elles deviennent de facto, plus efficaces) et même des déplacements physiques puisque la solution est multi-sites et multi-devices (accessible partout, depuis un ordinateur, une tablette ou un smartphone).


Depuis le début de l’année 2017, iObeya fait également partie des applications disponibles via le Windows Store depuis Windows 10. La solution est également utilisable depuis l’écran tactile de Microsoft, le Surface Hub.

Crédits : iObeya via Surface Hub sur le store Microsoft

Vidéo de présentation de iObeya :

Site : https://www.iobeya.com/


Beekast


Beekast est une start-up française née en septembre 2014 et créé par un ancien consultant qui estimait « passer trop de temps » dans des réunions qui parfois n’avaient plus de sens (ni pour lui, ni pour ses interlocuteurs !).


L’objectif de Beekast est de rendre ces réunions plus productives, d’engager les participants et d’aider les animateurs en leur donnant accès à des outils pour tirer le meilleur des échanges. Beekast propose de nombreuses activités (plus d’une cinquantaine, selon le site de l’éditeur).


Une version découverte est accessible pour tester la solution gratuitement avec 3 participants. L’entreprise propose ensuite une grille tarifaire allant de 19€/mois et par animateur (pour 20 participants maximum) à 49€/mois et par animateur (pour 50 participants). Des tarifs annuels réduits sont également proposés.

En 2016, Beekast a levé 2,7 millions d’euros pour accompagner son développement. L’entreprise possède désormais plus d’une centaine de clients et plusieurs milliers d’utilisateurs.

Vidéo de présentation de Beekast:

Site :  https://www.beekast.com/

Quelle que soit la solution que vous choisissez, toutes créent de véritables points d’échanges qui inciteront l’engagement et la créativité de vos participants, quel que soit le sujet abordé.


En intégrant l’une des activités proposées par ces outils, vos présentations peut-être trop « top down » ne le seront plus : vous passerez du statut de présentateur au rôle d’animateur de groupe. Et du point de vue des interactions et du gain en temps, cela change tout.


Alors, tenté par des réunions enfin attractives ? Les essayer c’est les adopter, et vous ne le regretterez pas !



Ecrit par Riad DIKES, Consultant Digital Senior

Enjeux data usine 4.0

[EXPER’TECH] Les enjeux data pour l’usine 4.0


Comment améliorer le pilotage de son activité industrielle grâce à l’exploitation des données dans le cloud ?

L’évolution et la démocratisation des services d’analyses et d’accès à la donnée permettent d’atteindre de nombreux secteurs d’activité qui ne sont plus cantonnés aux traditionnels domaines du tertiaire comme la finance, le commerce ou le marketing.

En effet, dans l’industrie, l’analyse d’indicateurs clés permet de concourir à l’efficacité et la qualité des processus de production. Dans ce secteur, la nouveauté se situe dans la disponibilité et l’explosion du volume de données sources et dans l’utilisation plus courante d’outils orientés big data et reporting aux fonctionnalités toujours plus riches et faciles à mettre en œuvre car disponibles dans le cloud.

Ainsi, nous allons décrire au travers d’un exemple concret les aspects clés d’une architecture permettant de répondre parfaitement au suivi des lignes de production.

Cette architecture de données permet d’alimenter une solution de pilotage d’usine 4.0 pour un groupe d’envergure mondiale, leader sur son marché.

Les enjeux :

1/ Maîtriser et fiabiliser les gisements de données

Il faut le plus souvent faire face à une des problématiques de disparité et de volumétrie de données sources en termes de localisation (stockage) et d’hétérogénéité de formats de compression (bz2, snappy…). 

La réponse réside dans l’utilisation d’un datalake. Exemple : les offres multi cloud Amazon (S3) et Azure (Datalake gen 2).

Avantages d’un datalake :  

  • Le stockage est multi cloud (imposé par les sources), scalable, économique et repose sur un système de fichiers à haute performance compatible HDFS 
  • La communication inter cloud (transmission de données de Amazon vers Azure par exemple) est aisée grâce à l’emploi d’Azure data factory favorisant le déplacement de données sans code ou avec peu de code (70 connecteurs) et la gestion complète des flux


A noter ici qu’Azure data factory est plus largement l’orchestrateur global de la solution en permettant la gestion des workflows d’intégration des données, quel que soit l’endroit où les données résident (datalake, database, cube, …).



2/ Traiter efficacement la volumétrie et la multiplicité des formats de données

L’architecture doit pouvoir faire face aux contraintes de volumétrie des données, aux différents types des données sources (formats csv, Apache Parquet, …) et aux calculs complexes.

Pour cela, nous utilisons la solution Azure Databricks, un service d’analytique performant, simple et collaboratif basé sur Apache Spark.

Les avantages de cette solution : Performance et scalabilité (cluster spark). Lecture en standard de formats de données variés grâce à Spark (scala). Azure databricks peut également couvrir des besoins de calculs. Il est utilisable par les scientifiques de données, les ingénieurs de données et les analystes d’entreprise qui peuvent collaborer sur des projets partagés dans un espace de travail interactif avec la prise en charge de leurs langages préférés tels que Python, Scala, R et SQL.


3/ Préparation des données en vue de leur exploitation et interprétation métier

L’enjeu est de créer, à des fins de reporting, des données cohérentes de qualité. Ces données doivent être centralisées (« une seule vérité »), interrogeables par les métiers et sécurisées.

La réponse proposée : Azure SQL database / datawarehouse pour permettre une modélisation de la vision métier, associée à Azure Analysis Services, des cubes métiers permettant la création de formules (indicateurs métiers en DAX).

Les points forts de cette combinaison : formules dynamiques avec des temps de réponse très performants, l’accès différentiel à la ligne de données par utilisateur y est possible.


4/ Restitution adaptée des données

Il faut assurer un management visuel de la donnée, c’est à dire permettre la transmission visible d’informations critiques (indicateurs clés de performances, suivi des numéros de batch et des étapes de production) par la mise en place d’un outil de reporting accessible à tous et interactif.

On utilise pour cela la solution Power BI qui permet l’analyse visuelle des données, assure la collaboration et le partage sécurisé des tableaux de bord personnalisés et des rapports interactifs.

On notera comme point fort de cette solution : l’interactivité sur les rapports, la facilité d’utilisation, la visualisation native sur mobiles et tablettes, les possibilités de customisation des visuels.


5/ Sécurité et performance

Dans cet exemple, les éléments de l’architecture sont tous en mode PaaS (Platform as a Service) et hautement scalables. Des briques transverses sont utilisées pour assurer des accès transparents (single sign on) et sécurisés des utilisateurs (Azure Active Directory et Azure Active Directory Federation Services) avec une protection complète des identités et un recours à un coffre-fort (Azure Key Vault) pour le stockage des informations (credentials) confidentielles. L’emploi des jetons (token) en lieu et place des mots de passe est systématique et les flux de transmission des données sont cryptés de bout en bout. L’accès à la donnée est restreint (accès control list) quelle que soit la brique utilisée (datalake, databricks, SQL, Analysis services).

En conclusion, il est tout à fait possible aujourd’hui, grâce aux offres cloud comme Microsoft Azure, de créer des architectures performantes, spécifiques et variées qui répondent à des besoins aussi précis et exigeants que le suivi des processus production en milieu industriel. Ces nouvelles possibilités sont les accélérateurs de la transformation des métiers industriels plus globalement dénommée « Smart Factory » ou usine 4.0.

La réponse à ces enjeux techniques constitue une condition nécessaire pour garantir un bon retour sur investissement. Des conditions fonctionnelles liées à l’usage métier, l’ergonomie et aux problématiques de changement que soulèvent ces nouvelles possibilités et outils doivent également être considérées.

Par ailleurs, avec l’avènement des solutions d’Intelligence Artificielle, la maîtrise de l’exploitation des données produites par l’entreprise devient plus que jamais un investissement stratégique.


Ecrit par Pascal Rouze et Amaël Le Lan

Article réglage problèmes configuration PowerBI Report Server

[EXPER’TECH] Comment résoudre les problèmes de configuration de PowerBI Report Server ?


Cet article a pour but de familiariser l’utilisateur avec la procédure d’installation et le premier lancement de PowerBi Report Server. En dehors de l’information officielle disponible sur le site de Microsoft (https://powerbi.microsoft.com/fr-fr/report-server/) il y a très peu de ressources en ligne avec des tutoriels ‘pas à pas’ pour ceux qui veulent commencer à utiliser le Report Server mais qui ont une connaissance limitée des bases multidimensionnelles et SSAS.


Ce tutoriel permettra aux lecteurs d’installer leur premier serveur et de publier le rapport Power Bi connecté à la base SSAS (Adventure Works dans notre cas).


Après l’installation de Power Bi Report Server, si vous ne disposez pas d’une base multidimensionnelle, ni le rapport ni le répertoire de travail ne s’afficheront, même si vous ne publiez pas un rapport (‘page introuvable’). Pour résoudre ce problème il nous faut suivre la procédure suivante :


Première étape
Télécharger la version d’essai gratuite sur le site de PowerBI (https://powerbi.microsoft.com/fr-fr/report-server/#).


Deuxième étape
Installer SQL Server Wizard (https://www.microsoft.com/en-us/sql-server/sql-server-downloads-free-trial) pour pouvoir installer Analysis Services et les autres outils nécessaires.
Attention : il faut installer la version ‘developer’


Troisième étape
Il faut que l’édition soit personnalisée.


Quatrième étape
Dans le Wizard :

1. Aller dans Installation.

2. Cliquer ‘Nouvelle installation autonome SQL Server’ ou ‘Ajout de fonctionnalités à une installation existante’.



3. Nouvelle installation SQL Server.



4. Une édition gratuite – developer.

5. Dans l’onglet ‘Sélection de fonctionnalités’ cocher : Services Moteur de base de données, Analysis Services, Reporting Services Natif, Connectivité des outils clients, SDK de l’option Connectivité



6. Dans l’onglet ‘Configuration de l’instance’ choisir ‘Instance par défaut’ (il est tout de même possible de choisir l’instance nommée, cela ne change presque rien).



7. Dans l’onglet ‘Configuration du Serveur’ cliquer sur suivant.



8. Après, dans l’onglet ‘Configuration de moteur de base de données’, choisir ‘Mode d’authentification Windows’ puis ‘Ajouter l’utilisateur actuel’.



9. Dans l’onglet suivant ‘Configuration d’Analysis Services’ il est important de choisir le ‘Mode multidimensionnel’ car le ‘Mode tabulaire’ ne nous fourni pas les fonctions suffisantes pour créer et déployer le rapport test ‘Adventure Works’ qui est en mode multidimensionnel. N’oubliez pas d’ajouter l’utilisateur actuel.



10. Après, il faut cocher ‘Installer et configurer’.



11. Finalement, cliquer sur ‘Installer’.

N.B. Il vous sera demandé de redémarrer l’ordinateur
N.B. Pour tester si le serveur a été bien installé il faut aller dans SSMS


Cinquième étape
Dans l’écran d’accueil de SSMS :

1. Choisissez ‘Reporting Services’ comme type de serveur.



2. Ensuite, cliquez sur ‘Nom’ puis ‘Parcourir’.

3. Parmi les serveurs locaux il faut choisir celui qui a été créé récemment, dans notre cas ‘LAP Server Analysis Services’.



4. Ensuite, il faut télécharger la base Adventure Works disponible sous forme de BackUp (fichier abf). Il est nécessaire de savoir que seulement les rapports ayant une connexion active soit aux Analysis Services soit au Cube. Le fichier est disponible sous le lien (http://download-codeplex.sec.s-msft.com/Download/Release?ProjectName=msftdbprodsamples&DownloadId=461461&FileTime=129872944184770000&Build=21053)

5. Dans SSMS, clique droit sur l’instance, puis ‘Restaurer’ et ‘Parcourir’ le fichier abf dans l’un des répertoires proposés (pensez à sauvegarder le fichier dans l’un de ces répertoires au préalable).



6. Il est important de savoir que, pour pouvoir publier les rapports, il faut obligatoirement avoir une base sous forme de cube ou une autre base SSAS.


Sixième étape
Après avoir effectué cette procédure il faut suivre les autres étapes indiquées sur le site https://powerbi.microsoft.com/fr-fr/documentation/reportserver-install-report-server/. Le problème doit être résolu.


Ecrit par Alibek Jakupov

Article CaaS Kubernetes AKS

[EXPER’TECH] Le CaaS sur Azure avec Kubernetes


Comment développer et héberger ses applications conteneurisées sur
Azure Kubernetes Services ?

Entre IaaS et PaaS : le CaaS 


Les services de cloud publics comme Microsoft Azure proposent aujourd’hui différentes façons d’héberger vos applications. 

Historiquement, on a connu d’abord le IaaS, « Infrastructure As A Service », qui permet de déployer en quelques clics depuis un portail web une machine virtuelle (entre autres) sous n’importe quel système d’exploitation et d’y installer notre application. Avec sa scalabilité verticale (on ne peut qu’augmenter/réduire les ressources d’une VM, en ajouter une est une opération complexe), le IaaS demeure aujourd’hui largement utilisé pour deux raisons principales : 

  • Historique : ce sont souvent des machines (physiques ou virtualisées) migrées depuis un datacenter précédemment hébergé en interne ou par un tiers hébergeur (dans les deux cas, on parle d’hébergement on-premises par opposition à un hébergement cloud) 
  • Confort/ROI : c’est un mode d’hébergement et d’administration technique connu et maitrisé par les entreprises, avec souvent des investissements à rentabiliser (formations, outils de gestion/monitoring…). 


Est ensuite apparu le PaaS, « Platform As A Service », qui propose des services d’hébergement flexibles directement gérés par l’éditeur. Scalables verticalement, et parfois horizontalement (multiplication transparente des instances du service), le PaaS a de nombreuses qualités avec un coût qui n’est pas forcément plus important que le IaaS. Malheureusement, il ne répond pas à tous les besoins. Son autre inconvénient est l’adhérence qui se crée par rapport aux services implémentés. Il n’est pas trivial de déplacer une application conçue pour Amazon AWS vers Microsoft Azure (ou l’inverse) lorsque des services PaaS ont été utilisés : il faudra sans doute revoir certaines parties de l’application et s’attaquer à des travaux de réécriture (développement) potentiellement non négligeables. 

Grâce aux conteneurs, une troisième solution est aujourd’hui disponible. Docker a su démocratiser l’utilisation de ses conteneurs avec des outils simples et pratiques, et surtout grâce à la construction d’une communauté active autour de ces technologies. Les avantages face aux machines virtuelles en IaaS et aux services en mode PaaS sont notables : 

  • Pas de maintien du système d’exploitation, on change simplement l’image de base de son conteneur.
  • Une application qui tourne dans un conteneur est indépendante : elle embarque sa configuration et ses dépendances. Le conteneur fonctionnera donc partout de la même façon, indépendamment de son déploiement. 
  • Les conteneurs sont une excellente solution pour les architectures micro-services. 
  • La consommation de ressources d’un conteneur est bien plus faible que celle d’une machine virtuelle. 
  • Scalabilité verticale et horizontale avec un orchestrateur de conteneurs. 
  • Le temps d’instanciation rapide d’un conteneur (pas d’OS à démarrer) en fait un excellent candidat à la scalabilité horizontale. 


Le conteneur Docker s’est rapidement imposé comme solution de conteneurisation, puis l’orchestrateur initié par Google qui fut offert à la Cloud Native Computing Foundation, Kubernetes (ou K8s), est en bonne position pour devenir le leader sur le marché des orchestrateurs de conteneurs Docker (et pas uniquement ceux-là, il sait en effet gérer d’autres technologies de conteneurs). 


Le CaaS « Container As A Service » propose donc une alternative aux mondes du PaaS et du IaaS. Le principe est simple : proposer une plateforme de gestion de conteneurs gérée en mode PaaS sur votre fournisseur de cloud. Vous n’avez plus qu’à déployer vos images Docker dessus ! 


Se lancer dans le CaaS sur Azure 


Microsoft Azure propose une solution CaaS sous Kubernetes nommée AKS (Azure Kubernetes Service). Entièrement managée, vous n’aurez qu’à choisir le nombre de nœuds (de machines virtuelles) qui composent le cluster et leur puissance (tout cela peut être modifié par la suite). 


Mettre à jour votre instance AKS vers une version plus récente de Kubernetes se fait en un clic, et le service AKS propose une disponibilité de 99.5% (à ne pas confondre avec la disponibilité des nœuds, qui est de 99.9% sur un seul nœud).  


Cas pratique 1 : le site e-commerce 


Prenons le cas d’une enseigne de e-commerce qui héberge son infrastructure business sur des machines virtuelles en mode IaaS + PaaS sur Azure. Pour héberger son site de vente, elle dispose de cinq serveurs frontaux derrière un load-balancer, de deux serveurs applicatifs hébergeant l’import des flux produits et le back-office et d’une base de données sur Azure SQL (PaaS). 

Premier problème rencontré : l’enseigne constate que l’utilisation du site entre 1h et 6h du matin est quasi nulle. Elle paye donc cinq serveurs frontaux alors qu’un seul suffirait (disons deux, pour assurer la haute disponibilité du site). 

Second problème, lors des soldes : le site doit absorber quatre à cinq fois plus de visiteurs à la seconde. Les deux solutions qu’elle a trouvées pour tenter de répondre à ces pics d’utilisation sont l’ajout de ressources sur les cinq serveurs frontaux, et/ou l’ajout de frontaux supplémentaires le temps des soldes.  

La première option montre vite ses limites : aligner des VM très puissantes coûte rapidement très cher et le gain en temps de réponse n’est pas proportionnel à la dépense supplémentaire.  

La seconde possibilité est difficilement envisageable car relativement fastidieuse et risquée (c’est une opération manuelle qui mobilise des compétences et demande du temps, les gestes techniques ne sont pas anodins puisqu’il s’agit de modifier la topologie de l’environnement de production). Ceci sans compter que l’opération inverse doit être réalisée une fois la période de pics de fréquentation passée, soit finalement peu de temps après. 

Une solution semble donc évidente : utiliser une architecture PaaS. La base de données y est déjà hébergée, il suffit de passer le site et le back-office chacun sur une Application Web Azure. A priori, pas ou peu de code à réécrire, la migration peut se faire rapidement et sans trop de problèmes. Un passage au CaaS est également envisageable, mais sera plus coûteux sur le moment : il faudra conteneuriser l’application et la découper en micro-services.  

L’avantage d’une telle démarche est réel lorsque l’on considère les nouvelles possibilités de gestion du  cycle de déploiement de chaque service et surtout si l’on souhaite absolument limiter l’adhérence  par rapport à tel ou tel cloud provider. Avec une telle architecture il devient possible de changer de provider très facilement ou même de faire le choix d’un retour au mode on-premises avec un hébergement interne ou chez un tiers hébergeur « traditionnel ». 


Cas pratique 2 : l’hébergement de conteneurs indépendants 


Le Docker Hub fourmille d’applications packagées prêtes à être utilisées. Votre entreprise possède potentiellement elle aussi des applications conteneurisées. AKS peut être alors vue comme une solution d’hébergement « mutualisée » prête à l’emploi pour vos collaborateurs : au lieu d’avoir à demander la création d’une ressource PaaS ou IaaS Azure au service infrastructure de votre entreprise, qui devra être monitorée, facturée en interne, documentée (etc…), votre collaborateur aura la possibilité de demander très facilement l’hébergement de son application conteneurisée sur le cluster AKS existant. 

Les cas d’usages sont multiples :  

  • Environnement de test / développement,  
  • Application déployée pour un événement particulier, 
  • Application nécessitant une très haute disponibilité,  
  • Hébergement d’un service non disponible en PaaS sur votre fournisseur de Cloud mais disponible sur le Docker Hub, 
  • Micro services, APIs…  


Pour aller plus loin avec AKS … voici quelques ressources pour se lancer dans l’aventure AKS : 



Ecrit par Alexis Deluze et Amaël Le Lan

Etudes VS Fun

[EXPER’TECH] Etudes vs. Fun : le jeu comme outil d’apprentissage ?


Introduction à l’approche moderne

De nos jours, une grande partie des études scientifiques ont pour but de faciliter l’usage efficace et l’intégration des technologies de l’information ainsi que des logiciels innovants dans le processus d’éducation. Il n’est pas surprenant de voir que les résultats de ces recherches sont souvent compromis entre efficacité, disponibilité et, le plus important, les mathématiques en tant qu’exactitude physique. Cependant, ces dernières années le développement des technologies ont permis de rendre ces programmes plus efficaces, rapides et précis, ce qui les approche de l’alternative idéale aux outils d’éducation déjà existants. Ces outils permettent aux étudiants d’avoir une compréhension plus large, profonde et compatissante de la société, de la culture, de l’économie ainsi que de la politique internationale, passée comme présente. Cela leur permet également d’acquérir de précieuses compétences de communication pour pouvoir travailler avec les différences et les distances existantes dans le monde. En leur fournissant une telle série d’outils, cela permettra de favoriser l’information, la réflexion et l’expression de plus de jeunes tout en leur donnant accès à l’apprentissage avec succès.


Ces mêmes expériences fournissent les compétences qui permettront aux étudiants d’être plus productifs dans un futur international, numérique et de plus en plus basé autour de l’information. Un des exemples les plus parlant au sujet de ces technologies et de leur application est le laboratoire physique virtuel. Par définition, le laboratoire physique virtuel est un logiciel ou un ensemble de logiciels, qui implémente le modèle mathématique des processus physiques. Le rôle de ce type de logiciel croît énormément si l’on se penche sur les sciences naturelles comme la chimie, la physique et les mathématiques. Pour raison, il arrive que les outils requis soient impossibles à obtenir, et dans la plupart des cas, impossibles à installer. Par conséquent, le prix de l’équipement augmente, ce qui rend le processus d’éducation encore plus complexe et plus cher.


Un des avantages principaux à l’utilisation d’un laboratoire physique virtuel est la possibilité de l’écrire dans n’importe quel langage de programmation, ce qui donne un nombre de solutions illimité. Les processus physiques sont faciles à exprimer en utilisant des formules mathématiques et des équations.


De plus, il n’est pas nécessaire d’acheter un équipement couteux ou radioactif. L’un des facteurs les plus pertinents à prendre en compte est la sécurité des étudiants. L’utilisation d’un logiciel est plus facile à garantir d’un équipement.



Aperçu des solutions existantes


TechNet Virtual Labs

Ces laboratoires virtuels (figure 1) proposent un modèle physique solide, qui a pour caractéristiques principales la justesse, une grande vitesse de traitement et la disponibilité. Le système existe en deux versions, une basée sur les clients et l’autre basée sur le web qui offrent toutes deux des fonctionnalités variées (celle basée sur les clients est plus sophistiquée). L’un des inconvénients les plus évidents de la solution est qu’elle requiert un grand nombre de prérequis, ce qui pose un problème pour les écoles et les universités qui ne possèdent pas d’équipements spécifiques ou d’ordinateurs modernes.


DNA Extraction Virtual Labs

Cet ensemble de logiciels permet une recherche sophistiquée autour de l’ADN (figure 2). L’exactitude des données permet une certaine liberté d’usage des résultats provenant des expérimentations pour effectuer des recherches approfondies. Ces laboratoires aident les jeunes à connaître les domaines d’études basiques mais également à mener leurs propres recherches. « Détecter les maladies génétiques chez les nouveau-nés, analyser les preuves médico-légales, étudier un gène cancéreux, effectuer des frottis buccaux et extraire l’ADN des cellules humaines ».


PCR

La PCR (abréviation pour Réaction en chaine par polymérase) est un outil simple d’utilisation et peu couteux qui peut être utilisé pour se concentrer sur un segment d’ADN et le copier un milliard de fois. La PCR est utilisé tous les jours pour diagnostiquer des maladies, identifier des bactéries et des virus, associer des criminels à des scènes de crimes, etc.

Malheureusement, cet outil est développé uniquement pour les étudiants en médecine, mais est toujours considéré comme un exemple idéal d’intégration des Technologies de l’information et de la communication (notamment des principes de la modélisation mathématique) dans le processus d’éducation.


Laboratoires virtuels sur Dephi

Les laboratoires virtuels (figure 4) sont implémentés en utilisant des langages de programmation, Object Pascal Delphi, l’environnement XE et #C .net Framework 4.0. Pour un bon approvisionnement du matériel et une meilleure assimilation le laboratoire est divisé en plusieurs étapes : 1) l’étude théorique du matériel, 2) visionner des vidéos tutoriels du laboratoire avec illustrations des équipements nécessaires, 3) effectuer les calculs et remplir les tables.



Conclusion

Selon ces données, nous pouvons dire que les technologies de l’Information et de la Communication sont intégrées de manière continue au processus d’éducation. La justesse et la disponibilité sont les principaux facteurs qui distinguent les ICT des autres outils d’éducation. A première vue, les systèmes modernes sont idéaux et n’ont pas d’inconvénients majeurs. Cependant, comme nous l’avons vu dans cet article, l’inconvénient principal de la majorité de ces systèmes est un coût élevé et un grand nombre de prérequis nécessaires, ce qui rend presqu’impossible de fournir le logiciel aux différentes structures. La problématique principale est de rendre ces logiciels spéciaux de plus en plus accessibles et efficaces pour les étudiants. Ainsi, au-delà de l’efficacité d’un point de vue physique et mathématique, le système proposé permet aux étudiants d’être plus investis dans le processus d’éducation. Pour ces raisons, et d’autres, nous pouvons dire que les laboratoires physiques virtuels sont la meilleure solution pour les classes de sciences naturelles modernes.



Ecrit par Alibek Jakupov, traduit de l’anglais.

Virtual Laboratory Microsoft.net XNA

[EXPER’TECH] Laboratoire physique virtuel Avec Microsoft.net XNA


Les bases techniques

Le critère principal lors du choix de logiciel pour le développement d’un laboratoire physique virtuel est la rapidité de création des projets. Le travail du laboratoire virtuel doit remplacer les vraies installations expérimentales et le principal avantage est que sa quantité peut être illimitée. Lors du choix de la plateforme de développement, il est nécessaire de passer en revue les solutions existantes comme XNA Framework ou Unity 3D Engine ou Unreal Development Kit.

Microsoft XNA représente l’ensemble des outils compatibles à l’environnement d’exécution (.net) qui a été développé par Microsoft dans le but de faciliter le développement et la gestion des jeux vidéo. Le concept principal du XNA est de permettre aux développeurs de ne pas avoir à réécrire le « modèle de code répété ». De plus, XNA inclus l’intégration de la majorité des outils de développement de jeux vidéo en un seul et même système.

La base de la structure du XNA est composée de .net Compact Framework 2.0 pour développer les jeux sous Windows (certaines implémentations permettent également le développement pour Xbox 360). Cette structure est accompagnée d’une collection de librairies qui sont directement utilisées pour créer des jeux interactifs avec des graphiques élaborés, supportant un maximum la réutilisation de code sur toutes les plateformes cibles, ce qui permet de développer sur plusieurs plateformes. Cette structure s’exécute sur une version modifiée du Common Language Runtime, optimisée pour le développement de jeux, dans le but de fournir un environnement de runtime maniable. L’environnement est disponible pour Windows XP, Windows Vista Windows 7 et pour Xbox 360 (Winterhalter, 2011).

Le toolkit inclus :

  • “Wrapper” pour DirectX (Direct3d, XINPUT, XACT)
  • Classes Game, GameComponent, GameWindow qui composent la structure d’applications jeux
  • Une collection de classes auxiliaires qui fonctionnent avec les vecteurs, matrices, rayons, quaternions et d’autres fonctions mathématiques (fonctions qui ne sont pas implémentées dans le System.Math standard qui est fourni)
  • “Content Pipeline structure” qui détermine les spécificités du contenu du système XNA

La plateforme XNA insiste fortement sur le PARADIGME ORIENTÉ OBJET, qui permet l’optimisation du code, en accélérant les procédures de développement et de modifications du code en équipe (C# Language Specification, 2015).


La structure et l’implémentation du fonctionnement du laboratoire

Le laboratoire fonctionne comme une application sur XNA qui repose sur les systèmes suivants :

  • Le contenu et son chargement (les ressources nécessaires aux graphiques des jeux, les textes, les fichiers audios, etc.)
  • L’affichage graphique (en 2D)
  • Le traitement des contrôles (la réaction du jeu aux différentes actions de la souris, du clavier ou de la manette)
  • La logique du jeu et l’interaction entre tous les composants du jeu

La classe Game est utilisée de la même manière que le noyau de fonctionnement du laboratoire ou de n’importe quel jeu sur XNA. Dans la classe Game, les méthodes abstraites telles que Draw, Update, LoadContent, UnloadContent, Initialize et d’autres encore sont implémentées. Ainsi, chaque application ultérieure hérite de cette classe et remplace les méthodes importantes (événement dans le cas des jeux) pour ses objectifs. Cela détermine la logique de la future application. De plus, GameWindow classes, Graphic Device, etc. sont les propriétés de la classe parente du jeu (Winterhalter, 2011).

L’implémentation de la classe de base permet de gérer la boucle du jeu, de nettoyer l’écran (le remplir avec une couleur uniforme) et de manipuler les événements en appuyant sur certains boutons (pour fermer la fenêtre du jeu). Le chargement du contenu est supporté par la méthode LoadContent.


Chargement du contenu

Travailler sur XNA présume des opérations spécifiques au contenu du système. XNA fournit un ensemble de « content processors » et « content importers » (il est possible d’ajouter ses propres ressources, en plus de l’utilisation des ressources standards). Le contenu apporté par les importateurs au moment de la compilation transformera le contenu de formats externes supportés vers une interprétation interne, compatible avec XNA (Winterhalter, 2011). Ensuite, les ressources du programme, comme des textures dans les formats dds, bmp et png lors de la compilation, sont converties en un seul et même format externe, uniforme à toutes les structures. Cette approche permet d’éviter la dépendance à un seul format de contenu, par exemple en utilisant les modèles md3 il est nécessaire d’écrire uniquement via un importateur de contenu additionnel. Les processeurs de contenu sont engagés pour reformater le contenu depuis une représentation externe des objets du code géré, comme le chargement du contenu dans la mémoire lors de l’exécution. De plus, XNA approvisionne les importateurs et processeurs pour la plupart des types de contenu. Solution Explorer studio est utilisé pour ajouter le contenu à l’application grâce à un fichier spécial « Content ». Ici, un importateur et un processeur spécifique sont assignés à chaque ressource. Le contenu du code géré est représenté dans les classes Texture, Texture2D, Model, Model Mesh, Effect, etc.

Le chargement dans un code est réalisé par la classe ContentManager (Content Field Class Game), et est supporté par la méthode LoadContent des classes de jeux (selon le bon style de code).

Les processeurs standards sont :

  • Models
  • Textures
  • Raster fonts
  • Shaders


L’affichage graphique

L’affichage des graphiques et des textes est basé sur la classe SpriteBatch. En conséquence, le cas SpriteBatch est créé lorsque la méthode Draw est appelée :

  • SpriteBatch.Begin () dessine
  • SpriteBatch.Draw () est appelée pour dessiner le ‘’sprite’’ (le dessin de toutes les textures ou de ses fragments)
  • SpriteBatch.End () achève le processus de dessin

Avec SpriteBatch.Draw (), les paramètres (la position sur l’écran où la texture est dessinée) pivotent, s’inclinent et se balancent. Aussi, les classes SpriteBatch font automatiquement un tri par Z (Z-order). Les ressources des textures sont transférées par la méthode SpriteBatch.Draw () comme référence à la classe Texture2D, qu’on obtient en téléchargeant le contenu dans l’application.


Les contrôles

Le projet d’un laboratoire virtuel « Détermination du champ magnétique terrestre (composante horizontale) » inclut la classe, sa structure et les relations entre eux qui sont données en Figure 2.

En plus du projet des classes montré dans la figure, il existe un ensemble spécial de classes avec des méthodes statiques, comme Keyboard, Mouse, GamePad, qui représentent un appareil spécifique. Chaque classe possède la méthode GetState() qui déclare respectivement KeyboardState, MouseState, GamePadState (par exemple, position X,Y sur curseur de la souris), ou l’état du code du clavier.

Ci-dessous, la liste des projets de classes :

  • Button
  • Desktop
  • DesktopElement
  • Element
  • Frame
  • Global
  • Message
  • Table
  • Toolbars
  • Toolbox
  • ToolboxElement
  • Wire

Circuit Testing est réalisé par la classe Button dans la méthode checkCircuit(). Le programme détermine si les éléments nécessaires sont présents à l’écran (la liste des objets définis dans la série) et s’ils sont connectés (la connexion est définie pas la classe Wire). Table est une classe qui est en charge de l’affichage de la table des calculs et de l’information qu’elle contient.

Figure 2: La classe du diagramme du fonctionnement du laboratoire virtuel
« Détermination du champ magnétique terrestre (composante horizontale) ».


Gestion de l’application jeu sur la machine utilisateur

Ci-dessous la liste des logiciels nécessaires pour gérer le fonctionnement du laboratoire sur l’ordinateur personnel de l’utilisateur :

  •  .net Framwork 2.0 Redistributable
  • XNA Redistribuable
  • DirectX Redistribuable

De plus, la carte vidéo compatible avec Shader 1.1 est nécessaire.


L’interaction utilisateur

Le processus de gestion du fonctionnement du laboratoire virtuel dans la réalisation de certaines séquences d’actions, qui inclut la saisie des données initiales, commence avec l’expérimentation et l’enregistrement des résultats. La figure 3 montre la Flow Chart de l’interaction utilisateur avec le fonctionnement du laboratoire « Détermination du champ magnétique terrestre (composante horizontale) ».

Figure 3: Etape du diagramme du fonctionnement du laboratoire virtuel
« Détermination du champ magnétique terrestre (composante horizontale) ».


Le début du scénario signifie le point d’entrée dans le fonctionnement du laboratoire. Après le lancement du programme, le menu principal du programme est affiché à l’utilisateur, qui est désigné comme Desktop. En plus de la simulation du support pour la construction du circuit électrique, le menu principal possède le bouton Submit pour commencer la simulation du verrouillage/déconnexion du circuit et l’affichage du signe Help. Après le verrouillage du circuit, les résultats des calculs et des mesures des éléments du circuit sont enregistrés dans la table (classe Table). Tous les éléments du projet sont connectés en utilisant une classe Global spéciale. Dans le cas d’une construction erronée du circuit, le message d’erreur « Circuit is incorrect » est affiché.

Les fenêtres de contrôle des éléments sont utilisées pour la conception de l’interface utilisateur pour le fonctionnement du laboratoire virtuel. En général, tous les étudiants connaissent bien les systèmes d’exploitation Microsoft Windows. L’usage des éléments de contrôle communs, comme les boutons, les champs de donnée, les fenêtres, les barres de défilement, etc. simplifient le processus de compréhension et de gestion du laboratoire virtuel. De plus, la référence complète est disponible pour les étudiants. L’interface modèle pour le laboratoire « Détermination du champ magnétique terrestre (composante horizontale) » est donnée en figure 4.

Figure 4: Le modèle de l’interface de fonctionnement du laboratoire virtuel
« Détermination du champ magnétique terrestre (composante horizontale) ».

Figure 5: Le modèle de l’interface de fonctionnement du laboratoire virtuel
« Détermination du champ magnétique terrestre (composante horizontale) ».


Une formation sur la simulation du support pour construire un circuit électrique est disponible pour les étudiants (figure 5). Dans ce cas, les étudiants choisissent des objets dans la liste des outils et les placent sur le support. Les étudiants ont besoin de déployer un câble entre les éléments pour construire le circuit. Le câble est un outil par défaut, par conséquent il sera l’élément de fonctionnement si aucun de ces outils n’est choisi. Les boutons pour débuter la simulation et le menu auxiliaire sont situés sur l’écran initial. Si le circuit est construit avec une erreur, le message d’erreur apparait. Pendant la simulation, les étudiants ont l’option de l’arrêter et de continuer à construire le circuit depuis la dernière sauvegarde.



Ecrit par Alibek Jakupov, traduit de l’anglais.

IoT Apps Azure

[EXPER’TECH] Concevoir et déployer des applications IoT avec Azure


Aujourd’hui, l’IoT se retrouve partout. Dans tous les secteurs, car il n’y a pas de limite à ce que l’on peut connecter en disposant sur des objets des capteurs. 

  • Dans l’industrie pour la maintenance prédictive : c‘est le cas le plus souvent évoqué car pour les opérationnels, les défaillances et les interruptions sont les pires ennemis de la productivité et de la rentabilité. 
  • Dans la ville, pour faire face aux enjeux de l’urbanisation, par exemple JC Decaux, qui “connecte” ses abribus. 
  • Dans la santé, secteur pionnier en matière d’utilisation de la technologie IoT sur le lieu de travail : 60 % des établissements de santé au niveau mondial ont en effet intégré cette technologie dans leurs activités, et ils sont 87 % au total à envisager de le faire d’ici 2019. 

Et bien d’autres exemples encore dans notre quotidien. 


Mais en pratique, quelles sont les solutions pour mettre en œuvre son projet  IoT ? 


Il existe aujourd’hui des services qui permettent d’accélérer et simplifier la mise en œuvre de solutions IoT. Nous nous intéressons ici plus particulièrement aux offres du cloud Azure de Microsoft. 

Depuis des services clé en main jusqu’aux briques techniques nécessaires à une implémentation spécifique à grande échelle, nous avons dressé ci-dessous une liste des possibilités offertes. 

  • IoT central, solution disponible dans Azure en mode SaaS (software-as-a-service) entièrement managé. Il facilite la connexion, la surveillance et la gestion à grande échelle des ressources IoT, même sans connaissance particulière du cloud. Il a l’avantage de se mettre rapidement et facilement en place, il est scalable et sécurisé. 

Ce service doit être utilisé pour les solutions simples qui ne nécessitent pas une personnalisation avancée. Exemple avec le scénario suivant : un climatiseur connecté envoie des données de télémétrie comme la température et l’humidité, et signale son état (allumé ou éteint). Suivant les diverses propriétés d’appareils, telles que la version du microprogramme et divers paramètres, comme la température de la cible, des actions peuvent être déclenchées suivant des règles prédéfinies. 

  • Les accélérateurs de solutions IoT (anciennement IoT Suite) : des solutions PaaS pour accélérer le développement d’une solution IoT. Ils proposent des scenarios métiers préétablis et permettent des personnalisations intégrales. Cela nécessite des compétences développement .NET ou Java pour personnaliser le back-end ainsi que des compétences front-end (JavaScript) pour personnaliser la visualisation. En intégrant des modèles prédictifs et du Machine Learning ce type d’accélérateur peut très facilement être utilisé pour prédire la défaillance d’un appareil distant afin d’effectuer les actions de maintenance en amont d’une panne. On peut citer par exemple les moteurs d’avion ou les ascenseurs. Un tableau de bord de maintenance prédictive pour afficher l’analytique de maintenance prédictive est même déjà présent.  

Il existe également différents modules disponibles sous forme de services PaaS  (Platform-as-a-Service)  pour concevoir et implémenter des architectures sur mesure :  

  • IoT Hub : Ce service permet de se connecter à un hub IoT depuis les appareils afin de surveiller et contrôler sur de larges échelles (jusqu’à plusieurs milliards). Particulièrement utile pour une communication bidirectionnelle entre les appareils IoT et le back-end. Il s’agit du service sous-jacent d’IoT Central et des accélérateurs de solution IoT. 

Diverses API sont disponibles afin d’aider à déployer une communication fiable et bidirectionnelle entre des appareils IoT et une solution back-end. 

De plus, Microsoft travaille avec les fabricants d’appareils et les fournisseurs de réseaux pour garantir une meilleure connectivité. A titre d’exemple nous pouvons citer Sigfox. 

  • Service IoT Hub Device Provisioning : Il s’agit d’un service d’assistance pour IoT Hub utile pour provisionner des appareils sur le hub IoT de façon sécurisée. Avec ce service, il est possible de facilement et rapidement provisionner des grandes quantités d’appareils (millions) plutôt que de le gérer ‘manuellement’ et unitairement. 
  • IoT Edge : Ce service repose sur IoT Hub. Il peut être utilisé pour analyser les données sur les appareils IoT plutôt que dans le cloud. En déplaçant une partie des travaux de calculs d’analyse à la périphérie, moins de messages sont envoyés au cloud. 
  • Azure Digital Twins : pour créer des modèles complets de l’environnement physique en permettant de modéliser les relations et les interactions entre les personnes, les espaces et les appareils. Par exemple, afin de prévoir les besoins de maintenance d’une usine, analyser les besoins énergétiques en temps réel d’un réseau électrique ou optimiser l’utilisation de l’espace disponible d’un bureau. 
  • Time Series Insights : pour stocker, visualiser et interroger de grandes quantités de données de série chronologique générées par les appareils IoT. A utiliser avec IoT Hub par exemple. 
  • Azure Maps : Ce service fournit des informations géographiques aux applications web et mobiles. Il s’agit d’un ensemble complet d’API REST et de contrôles JavaScript web afin de créer des solutions applicatives desktop ou mobiles. 


En conclusion, la valeur ajoutée de ces solutions réside essentiellement dans la réduction de la complexité de conception et de déploiement. Elle se traduit également par une diminution des coûts avec une meilleure réponse aux enjeux du « time to market » en raccourcissant les délais de mise sur le marché d’une offre/ d’un service associé. 

Ces services IoT entièrement gérés et ces accélérateurs de solution sont donc utilisables pour différents secteurs d’activité et problématiques métiers :  surveillance à distance, maintenance prédictive, espaces intelligents … 


L’enjeu principal reste de concevoir une architecture au dimensionnement adapté avec une capacité d’évolutivité forte. Les services Azure permettent cela mais il faudra veiller à bien optimiser son intégration afin de maîtriser les coûts de fonctionnement associés à ces services. Comme tout projet, il est important de procéder à certaines étapes de validation aussi bien techniques que fonctionnelles ainsi qu’à un outillage et une politique précise de gestion de l’exploitation des solutions déployées. La mise en œuvre de versions pilotes, d’un éventuel MVP (minimum viable product) et une gestion agile du projet sont les clés de succès pour une solution adoptée, maîtrisée et pérenne. Des simulations et des estimations sont également requises afin de border les éventuels impacts économiques liés aux effets d’échelle induits par de tels projets. 


Ecrit par B. David F-X Thiombiano

Webinar Azure DevOps

[EXPERT’WEB] Retour d’expérience DevOps et Azure : réalisation d’une marketplace BtoB


Revisionnez notre webinar du 19 décembre !


Nous vous présentons pourquoi l’adoption d’une démarche DevOps est un facteur clé de succès projet. Nous prendrons comme exemple la conception et la mise en œuvre d’un projet de Business Platform type Market Place de services dans un contexte BtoB.


Ce type de projet implique une multiplicité d’acteurs et de responsabilités dont il faut savoir gérer la complexité sur la durée. A ce titre, vous pourrez comprendre comment l’alliance des solutions cloud Azure et de la méthodologie DevOps permet d’optimiser et sécuriser un investissement projet de transformation, depuis sa phase de conception jusqu’à son exploitation dans la durée.


Visionnez-le dès maintenant !


Speakers : Amaël Le Lan, Directeur adjoint Expertime et Kevin Menant, Architecte solutions Cloud et .net

IA chantier transformation digitale

[EXPER’TECH] Intelligence artificielle : prochain chantier de votre transformation digitale

D’ici 2020, rien ne sera plus comme avant : il y aura 200 milliards d’objets connectés (Le Big Data) et 5% des transactions économiques seront gérées par des agents autonomes (Gartner). Ces évolutions générant toujours plus de données, l’Intelligence Artificielle (IA) voit son développement s’accélérer tout naturellement afin de nous prêter main forte.

Chatbot Microsoft Azure Bot Framework

[EXPER’TECH] Architecture ChatBot avec Microsoft Azure et Bot Framework

Depuis quelques temps, les chatbots ou agents conversationnels ont investi les plateformes digitales et en ont révolutionné l’utilisation. Que ce soit pour commander une pizza en tant que particulier via son mobile ou pour réserver une salle en tant que salarié d’une entreprise, les formes traditionnelles de communication sont de plus en plus abandonnées pour laisser place à un recours accru aux chatbots.

Meet Up Expertime

[EXPER’TIMES] Meet’Up Expertime

Rendez-vous le 13 septembre 2018 au LAB RH pour le Meet’Up Expertime !

 

Retrouvez Expertime à l’occasion de son Meet’up autour de l’Intelligence Artificielle, l’occasion de venir échanger autour des problématiques actuelles de l’IA, de rencontrer nos intervenants experts et réseauter avec des passionnés.

 

Chaque jour en tant qu’individu, pour nos besoins personnels ou dans le cadre de notre activité professionnelle nous utilisons des solutions de plus en plus intégrées à nos contextes. Ces nouveaux outils sont plus « intelligents », plus adaptatifs, capables parfois d’ubiquité, ils embarquent des mécanismes prédictifs, ils utilisent des possibilités collaborative décuplées grâce à l’interconnexion constante et aux architectures de services cloud ultra-disponibles.

Pour l’entreprise, les possibilités sont énormes, après avoir créé et stocké des quantités toujours plus importantes d’information, elles ont désormais la possibilité d’exploiter et « cultiver » ces données pour améliorer leurs activités.

L’avènement de pratiques et mises en œuvre rendus possibles grâce à la convergence d’un ensemble de facteurs concordants : des technologies désormais matures, ultra-performantes et ultra-disponibles sur le cloud ; La taille du capital d’information numérique désormais accumulé dans l’entreprise ; L’évolution culturelle de nos sociétés civiles qui amène les entreprises à repenser leur modèle via un prisme digital, sous peine, à défaut, d’être littéralement uberisé.

 

Expertime est depuis 15 ans un partenaire reconnu des grandes entreprises et organisations dans leurs actions de transformation digitale. Les solutions collaboratives, le e-commerce, les solutions mobiles, la Business Intelligence, la transformation des S.I grâce au cloud et plus récemment l’intégration applicative de l’IA et la data-science, nous avons accompagné et réalisé de nombreux projets. Ce retour d’expérience, tel un coup d’œil dans le rétroviseur permet de mieux comprendre l’ampleur du virage de l’intelligence artificielle.

 

Dans ce contexte, Expertime, en tant qu’acteur de l’économie numérique et expert de l’intégration et du conseil sur ces solutions propose cette semaine un meetup « L’intelligence artificielle un accélérateur pour la transformation digitale des entreprises ».

Une soirée pour exposer différents concepts et réalités :

  • L’IA et la culture Data, du point de vue décideur de notre partenaire Microsoft
  • Des cas concrets d’intégrations possibles sur des solutions Digital Workplace, assistant virtuel et marketing intelligence avec nos experts et le témoignage de clients sur leurs retours d’expériences

 

NOS INTERVENANTS

  Amaël Le Lan – Deputy Director Expertime IDF – Head of Innovation .
En tant qu’expert de l’intégration applicative & exploitation de la donnée et de la Business Intelligence auprès des grandes entreprises, Amäel nous présentera les problématiques de l’Intelligence Artificielle.

Lionel Billon – Data & AI Solutions Sales Director chez Microsoft.
Lionel nous présentera son point de vue de décideur sur l’Intelligence Artificielle et la culture Data

Alibek Jakupov – Data Science Consultant.
Alibek illustrera les concepts abordés de manière concrète par des solutions.

 

 

POURQUOI VENIR ?

 

L’occasion de partager et comprendre ensemble, suivant nos expériences et activités respectives, comment appréhender dès maintenant ces nouvelles opportunités IA au bénéfice de la transformation et de la performance des organisations.

Rejoignez-nous
le Jeudi 13 septembre
Au LAB RH  58 bis rue de la Chaussée d’Antin, 75009 Paris

Inscrivez-vous ici !

 

EXPERTIME

 

Expertime accompagne les entreprises dans leur transformation digitale : conseil sur les opportunités à saisir et mise en œuvre de solutions innovantes en commerce connecté et entreprise connectée. Nous intervenons dans tous les secteurs d’activités, principalement des grands Groupes du CAC 40 (secteur du luxe, industrie aéronautique, secteur public, pharmaceutique…).

Terraform

[EXPER’TECH] Terraform : déployer et gérer son infrastructure cloud de façon déclarative

Pourquoi Terraform ?

Avec le développement des services de cloud computing et le rapprochement des équipes de développement et d’infrastructure (le fameux concept « DevOps »), un besoin d’outillage au niveau du déploiement d’une infrastructure et de sa gestion se fait ressentir. Deux options possibles pour ces opérations : la possibilité de passer simplement par l’interface web des différents services de cloud, ou bien, dans un mode plus automatisé, la possibilité d’utiliser les scripts et API de déploiement.

Le problème de la première solution, au-delà des nombreuses opérations humaines successives, est le manque de traçabilité. A moins de faire une documentation complète et de la maintenir à jour à chaque modification de l’infrastructure, impossible de savoir de manière fiable qui a fait quoi sur l’infrastructure déployée. Les scripts de déploiement quant à eux, bien qu’ils puissent être versionnés dans un gestionnaire de code source (comme Git ou TFS), peuvent parfois s’avérer complexes à écrire et à maintenir, en raison notamment de la multitude de cas à gérer (déployer un service, le modifier, le supprimer) et des bugs que cela induit.

La solution, c’est Terraform : cet outil édité par HashiCorp sous licence libre vous permet de décrire entièrement votre infrastructure cloud de façon déclarative. On parle ici « d’infrastructure as code ». Du code ? Mais quelle différence avec mes scripts de déploiement ? Et bien la différence c’est que le code que vous allez produire pour décrire votre infrastructure ne sera pas le code utilisé pour la déployer, il n’en sera que le paramètre d’entrée. En effet, avec Terraform pas besoin de décrire comment vous allez déployer vos services, ici on décrit simplement l’état final que l’on attend : je veux une VM, avec un disque dur, une carte réseau, etc…

 

Fonctionnement

Une fois votre architecture décrite sous forme de fichiers plats grâce au langage HCL (HashiCorp Configuration Language) dont la syntaxe est proche du JSON, il ne vous reste plus qu’à la tester sur votre environnement cible avec la commande « Terraform plan ». Terraform va alors générer le code nécessaire au déploiement de l’infrastructure déclarée dans vos fichiers et vous faire un récapitulatif de ce qui va changer sur votre environnement. Vous n’avez alors plus qu’à vérifier les modifications, puis demander à Terraform de déployer avec la commande « Terraform apply ». Il s’occupera alors de vous instancier tous les services que vous avez décrits.

Besoin de modifier un service ? Si vous vous apercevez que votre serveur de base de données est sous-dimensionné et qu’il faut changer le niveau de facturation de celui-ci, une petite modification dans vos fichiers suivie d’un « Terraform apply » suffit. Le service sera modifié.

Supprimez un service de vos déclarations, il sera également supprimé dans le cloud.

Vos fichiers Terraform sont donc le miroir de votre infrastructure déployée. Ceci implique que toute modification faite sans passer par Terraform sera perdue la prochaine fois que vous voudrez appliquer une configuration Terraform, sauf si vous avez répercuté les changements dans vos fichiers Terraform.

Une autre utilisation est la possibilité de déployer autant d’infrastructures identiques que vous le souhaitez. Le déclaratif vous garantit en effet que peu importe le nombre de fois où vous déployez votre architecture, elles seront toutes identiques. Dans le cadre d’environnements de développement / qualification / préproduction / production, vous pouvez bien sur utiliser des fichiers de configurations propres à chaque environnement, vous n’avez pas forcément besoin de déployer trois frontaux sur un environnement de recette par exemple.

 

Cas pratique : déployer une base de données sur Microsoft Azure

Microsoft propose sur son offre de cloud public un découpage comme suit : un répertoire Azure contient une ou plusieurs souscriptions (une souscription = une facturation), qui contiennent des groupes de ressources (sortes de conteneurs métier), eux-mêmes contenant les services déployés. Le point d’entrée de Terraform est le groupe de ressources, c’est-à-dire qu’il n’est pas nécessaire de déclarer dans vos fichiers Terraform tous les groupes de ressources de votre souscription, mais uniquement celui sur lequel vous voulez travailler.

Il vous faudra au préalable installer la CLI Azure, permettant à Terraform d’interagir avec Azure grâce à Azure Resource Manager (AzureRM). Une fois la CLI installée, lancez une invite de commande PowerShell et tapez « az login » pour vous connecter à vos souscriptions Azure. Enfin, téléchargez Terraform depuis le site officiel et décompressez l’exécutable dans le dossier contenant vos fichiers Terraform. Tapez ensuite « .\terraform.exe init » pour télécharger le plugin Azure de Terraform.

Créez un fichier « test.tf » et collez-y le code suivant en changeant à minima les valeurs en gras :

provider « azurerm » { }

 

resource « azurerm_resource_group » « test » {

name = « terraform-test-group »

location = « West Europe »

}

 

resource « azurerm_sql_server » « test » {

name = « terraform-test-sql »

resource_group_name = « ${azurerm_resource_group.test.name} »

location = « West Europe »

version = « 12.0 »

administrator_login = « admin-login »

administrator_login_password = « MyP4$sW0rd »

}

 

resource « azurerm_sql_database » « test » {

name = « MyDatabase »

resource_group_name = « ${azurerm_resource_group.test.name} »

location = « West Europe »

server_name = « ${azurerm_sql_server.test.name} »

}

 

La première ligne indique à Terraform que nous allons déployer sur Microsoft Azure. Le premier bloc « resource » déclare un groupe de ressources Azure. Le second bloc « resource » est la définition d’un serveur SQL. Enfin, le dernier bloc représente notre de base de données.

Dans votre invité de commande PowerShell, tapez « .\terraform.exe plan ». L’outil va alors faire un récapitulatif de ce qu’il va créer, mettre à jour, ou supprimer sur votre souscription Azure.

 

Terraform : déployer et gérer son infrastructure cloud de façon déclarative

 

Si vous êtes d’accord avec le plan, faites un « .\terraform.exe apply ». Une fois les services créés, vous pouvez les modifier en éditant votre fichier « test.tf » et en relançant la commande « .\terraform.exe apply ». Pour supprimer toutes vos ressources, faites un « .\terraform.exe destroy ».

En deux minutes montre en main, vous avez déployé un serveur MSSQL avec une base de données. Il ne vous reste plus qu’à imaginer le gain de temps sur une architecture plus complexe.

 

Alexis DELUZE

Architecte technique

Expertime Open Hong Kong

[EXPERT’NEWS] Expertime Groupe s’implante à Hong Kong !

Expertime Groupe est officiellement arrivé à Hong Kong

 

Nous sommes heureux de vous annoncer l’arrivée officielle d’Expertime Open, filiale d’Expertime Groupe, sur le marché Hongkongais ! Le 7 juin dernier, les bureaux d’Expertime Open se sont installés au sein de la Chambre de Commerce et de l’Industrie de Hong Kong, accompagnés de Powell Software notre éditeur de solutions de Digital Workplace.

 

En constante expansion et développement, Hong Kong devient petit à petit une des destinations les plus prisées en terme de Business Development. Nombreux sont les français choisissant d’ouvrir une extension à leur activité sur le continent asiatique. Nos collaborateurs ont donc déménagé de l’autre côté du globe, dans le but d’agrandir le réseau de partenaires et de clients d’Expertime. Cette ouverture marque une étape importante dans le développement de notre structure et représente une grande opportunité, poussée depuis quelques mois par nos clients faisant appel à nos services pour des projets à destination de l’Asie, que nous avons su saisir.

 

A propos d’Expertime Open

 

Expertime Open accompagne les entreprises clientes et partenaires autour de la conception et tout au long de la production de solutions Web (sites internet institutionnels, intranets, extranets), E-commerce et Chatbot. En créant des expériences digitales performantes, Expertime Open place le savoir-faire technologique et l’innovation au cœur de chacun des projets, de l’idée à la réalisation en passant par l’étude, l’idéation, la conception, l’UX, le design, le développement et la maintenance.

 

Contactez-nous dès maintenant pour plus de renseignements !

Power Bi Custom Visuals

[EXPER’TECH] État de l’art : développement de custom visuals

Outils de développement existants

Il en existe actuellement deux majeurs et un mineur permettant de développer des Custom Visuals sous Power BI, les deux majeurs nécessitent Node.js :

 

– Avec le langage Typescript, en utilisant des bibliothèques comme SVG & d3.js. Cette méthode est la plus courante et on trouve des guides expliquant les démarches datant de 2016 [1]. C’est aussi par ailleurs ce qui a été utilisé pour nos visuels du scorecard & du mailtracker développés en mai-juin 2017. On peut trouver nos guides dans le répertoire K:\PowerBi\Custom Visual.

 

– Avec le langage R, en utilisant des bibliothèques comme Plotly & ggplot2. Cette démarche est la plus récente (mi-juin 2017) [2] et on peut trouver des guides de la même année [3]. Une documentation officielle pour la bibliothèque Plotly sous R est disponible [4].

 

– Enfin, la solution émergente (fin 2017) [5] est un tronc de visuels à importer et à modifier directement sur Power BI. Un guide provenant de la personne qui a créé ce tronc de visuels a été publié pour aider à comprendre comment fonctionne le tronc [6].

 

 

Analyse des méthodes

 

Avec Typescript et SVG/d3.js

Cette méthode est la plus ancienne et la plus documentée dans nos propres ressources. C’est donc un terrain déjà exploré. On peut travailler sur ce langage avec un environnement comme Visual Studio.

Les avantages

Comme nous avons pu le voir dans nos guides SVG/d3.js en Typescript, l’avantage est de pouvoir utiliser ces bibliothèques graphiques pour une grande liberté de création. Il est donc possible de créer des lignes, des cercles, de couleur et de taille personnalisées à n’importe quel endroit dans la fenêtre de notre visuel. De plus, il est possible de retranscrire un script en JavaScript vers du Typescript plutôt facilement.

Les inconvénients

Cette méthode de développement nécessite l’installation de Node.js ainsi que la bibliothèque d3.js en amont, ainsi que l’installation de certificats pour pouvoir faire fonctionner un serveur et avoir le visuel en direct. Ce visuel en direct n’est utilisable que sur un navigateur, pas sur Power BI Desktop. Pour ce qui est des visuels exportés, il est évidemment tout à fait possible de les importer sur le navigateur, mais aussi sur la version Desktop de Power BI.

Le code à fournir pour obtenir un visuel fonctionnel nécessite au moins une centaine de lignes car quasiment tout se fait manuellement. Ceci s’explique par le besoin de créer le « corps » du visuel, mais aussi le « mapping » des variables. Globalement, cette méthode requiert un apport lourd en lignes de code.

 

Avec R et Plotly/ggplot2

Cette méthode est le concurrent de la méthode Typescript SVG/d3.js. On développe en R – Plotly en installant R [7] puis l’environnement Rstudio [8].

Les avantages

Le principal avantage de Plotly est l’interface utilisateur déjà intégrée dans le visuel. Elle permet donc de choisir quelles courbes afficher, de zoomer, d’autoscaler, ou encore de sélectionner une partie de l’axe horizontal en quelques clics [9].

Il est aussi possible de changer la visibilité des graphes en public/privé/secret selon le besoin.

La documentation officielle et les troncs de visuels qui sont mis à disposition sont très riches, la prise en main ne devrait donc pas être longue [4].

Les inconvénients

On retrouve ici les mêmes nécessités d’installation en amont pour Node.js & le serveur du visuel en direct.

 

Avec le tronc-visuel d3.js sur Power BI

C’est la méthode la plus récente et qui consiste à développer directement sur le visuel :

Les avantages

Cette méthode ne nécessite pas d’installation en amont, ni de serveur. On retrouve ici les mêmes avantages de liberté de création que la méthode classique.

Les inconvénients

Le principal inconvénient est que le visuel est limité à 30 000 points de données.

On retrouve les mêmes inconvénients que le développement classique en Typescript SVG/d3.js : l’apport en lignes de code est lourd. De plus, cette méthode présente quelques spécificités par rapport à la méthode classique dans le sens où certaines lignes de code qui fonctionnaient auparavant ne fonctionnent plus et nécessitent des modifications comme expliqué ici [6].

 

 

Pour résumer

 

Méthode SVG/d3.js R Plotly Tronc-visuel d3.js
Date 2016 juin-17 nov-17
Environnement de programmation Visual Studio Rstudio Directement sur le visuel
Langage Typescript R javascript Typescript
Avantages Liberté de création d’objets graphiques Interface sur visuel intégrée sur chaque graphe Pas d’installation, plug & dev
Inconvénients Lourd en code N/A (mis à part la prise en main pour ma part) Lourd en code et 30 000 points-données max

 

 

Références

[1]         « Build Your Custom Visuals in Power BI (Step-by-Step) – Tsmatz ». [En ligne]. Disponible sur: https://tsmatz.wordpress.com/2016/09/27/power-bi-custom-visuals-programming/. [Consulté le: 04-avr-2018].

[2]         « Interactive R custom visuals support is here! | Blog Microsoft Power BI | Microsoft Power BI ». [En ligne]. Disponible sur: https://powerbi.microsoft.com/fr-fr/blog/interactive-r-custom-visuals-support-is-here/. [Consulté le: 03-avr-2018].

[3]         « Interactive Charts using R and Power BI: Create Custom Visual Part 1 | RADACAD ». [En ligne]. Disponible sur: http://radacad.com/interactive-map-using-r-and-power-bi-create-custom-visual-part-1. [Consulté le: 04-avr-2018].

[4]         « plotly ». [En ligne]. Disponible sur: https://plot.ly/r/. [Consulté le: 03-avr-2018].

[5]         « D3.js Visual – create your own custom visual », D3.js Visual – create your own custom visual. [En ligne]. Disponible sur: https://appsource.microsoft.com/en-us/product/power-bi-visuals/WA104381354. [Consulté le: 04-avr-2018].

[6]         « Power BI D3.js Custom Visual », Azure BI. [En ligne]. Disponible sur: https://azurebi.jppp.org/power-bi-d3js-visual/. [Consulté le: 04-avr-2018].

[7]         « The Comprehensive R Archive Network ». [En ligne]. Disponible sur: https://cran.rstudio.com/. [Consulté le: 04-avr-2018].

[8]         « Download RStudio – RStudio ». [En ligne]. Disponible sur: https://www.rstudio.com/products/rstudio/download/#download. [Consulté le: 04-avr-2018].

[9]         « Getting Started with Plotly for R ». [En ligne]. Disponible sur: https://plot.ly/r/getting-started/. [Consulté le: 04-avr-2018].

Solutions collaboratives ROI

[EXPER’TECH] Solutions collaboratives : bonnes pratiques de déploiement et appréhension du ROI

 

Dans un monde où l’information connait une croissance exponentielle, où les données circulent à forte vélocité, certaines entreprises peinent à saisir les enjeux de cette nouvelle dynamique qui demandent une flexibilité sans précédent. De ce fait, les collaborateurs au sein de l’entreprise, sont privés d’outils en adéquation avec les contraintes d’agilité du monde actuel.

 

Là où dans la vie privée la recherche d’information est quasi instantanée, un collaborateur passe en moyenne 20% de son temps à rechercher de l’information interne nécessaire à la réalisation de ses fonctions (Etude McKinsey, 2016).

 

Pour renverser la tendance, les entreprises s’orientent vers des solutions collaboratives et mettent en place des projets de déploiement associés. L’objectif premier de ces projets est d’offrir une expérience de travail agile, moderne et intuitive à des collaborateurs qui ont goûté à la révolution de l’écosystème des applications mobiles.

 

Dans ce type de projet, il est impératif d’avoir à disposition les bonnes pratiques de déploiement de solutions collaboratives afin de mieux appréhender la problématique du ROI. En effet bien appréhender le ROI est crucial pour de tels projets, qui représentent un coût non négligeable avec une multitude de chantiers à la clé : cadrage technique, déploiement, migration, formation, décommissionnement, …

 

Bien que certains gains soient immédiatement perceptibles, comme la réduction des coûts en termes d’infrastructures dans le cas, par exemple, d’un décommissionnement d’infrastructures « on premise » pour une orientation vers un environnement « full cloud » ou « hybride », il existe aussi des gains plus difficilement quantifiables :

  • Moins de perte de temps à rechercher une information
  • Coédition sur les documents afin de réduire les allers/retours par mails
  • Réunions optimisées avec des outils de vidéo-conférence
  • Un meilleur engagement de vos collaborateurs
  • Impact sur la productivité et le bien-être au travail

 

Sur de tels projets, avec de forts enjeux humains, Il y existe des approches autres que le simple raisonnement ROI comme indicateur exclusivement financier.

 

N’oublions pas la motivation première de ces projets abordée en introduction : offrir une expérience de travail agile, moderne et intuitive à des collaborateurs qui ont goûté à la révolution digitale.

La motivation première de ces projets n’est pas les coûts (du moins pas uniquement), mais répondre à des difficultés, frustrations induites par une entreprise qui n’offre pas un environnement de travail moderne et en phase avec l’évolution des technologies. L’offre d’un environnement de travail moderne peut avoir un impact positif sur la perception de votre marque employeur auprès de vos collaborateurs, pouvant optimiser l’attractivité et réduire au passage votre turn over.

 

En général, ces projets s’inscrivent dans une stratégie de transformation des méthodes de travail et de l’environnement digital des collaborateurs.

 

Dans ce contexte, il est primordial de se concentrer sur l’adoption de cette plateforme par les collaborateurs afin de maximiser l’impact positif au sein de l’entreprise.

 

Un certain nombre de bonnes pratiques sont à suivre afin de maximiser l’adoption des nouveaux services digitaux :

  • Rattacher les nouveaux services collaboratifs à des cas d’usages pragmatiques dans lesquels les collaborateurs s’identifieront. Le but est d’apporter des solutions aux problèmes de vos collaborateurs. Idée d’indicateur : réaliser un comparatif avant/après du taux de satisfaction de vos collaborateurs par rapport à des scenarii d’usages bien identifiés, …
  • Coupler une stratégie d’accompagnement au changement à votre stratégie de déploiement.Ces deux points ne peuvent être décorrélés. Les collaborateurs ne doivent pas subir le déploiement. Ce dernier doit aller au rythme des utilisateurs en fonction de leur appétence et de leur maturité digitale. C’est là que l’accompagnement entre en jeu avec un plan de communication, formation, support et accompagnement humain. Idées d’indicateurs : Réaliser un comparatif avant/après du taux de satisfaction de vos collaborateurs par rapport à des scénario d’usages bien identifiés, Mesurer le taux d’adoption des différents services de votre plateforme collaborative par le biais de rapports trimestriels, Mesurer le taux de satisfaction des collaborateurs autour de la qualité du déploiement, …
  • S’appuyer sur des solutions tierces comme Powell 365 pour maximiser l’adoption. Par exemple, dans le cas d’Office 365, l’écosystème peut effrayer les utilisateurs avec sa pléthore de services, dont certains offrent plus ou moins lesmêmes fonctionnalités. Les utilisateurs peuvent alors se sentir perdus au milieu de tous ces services. La mise en place de portail collaboratif permet aux collaborateurs de bénéficier des nouveautés et des fonctionnalités d’Office 365 au sein d’un emplacement unique sans avoir à basculer d’un service à l’autre. Idées d’indicateur : Mesurer le taux d’adoption des nouveaux services par le biais de sondages trimestriels, …
  • Sensibiliser le management.La mise en place de solutions collaboratives implique nécessairement une évolution des méthodes de travail au sein de l’entreprise. Les managers ont un rôle essentiel à jouer et doivent être des vecteurs de cette transformation (Digital Workplace : accélérateur de transition vers les nouveaux usages, Adel Badri). Des sessions de sensibilisation aux nouveaux usages sont alors organisées mettant en scène des scénarios de prise en main spécialement conçus pour que le manager puisse se projeter dans une utilisation au quotidien de ces nouveaux outils, pour lui et pour ses équipes.
  • Mettre en avant les solutions de vidéo-conférence afin de limiter les déplacements. Idées d’indicateur : Comparer une année de frais comptables liées aux déplacements professionnels à une année post déploiement, …
  • Moderniser l’image de l’entreprise en profitant des nouveaux outils pour assoir une marque employeur moderne. Idées d’indicateurs : Mesurer la satisfaction des collaborateurs par rapport lieu de travail, Mesurer l’évolution du turnover avant/après le déploiement, Mesurer l’évolution de la cooptation avant/après le déploiement, …

 

En synthèse, il est impératif de bien définir ses objectifs stratégiques en termes de digitalisation ainsi que l’impact attendu pour mettre en place la bonne stratégie de déploiement et ainsi garantir le succès du projet en termes d’adoption utilisateurs et de ROI.

 

Ecrit par Kévin Anandout

Blockchain supply chain

[EXPER’TECH] La Blockchain en tant que Supply Chain

Contexte 

Dans le monde connecté et intégré d’aujourd’hui, l’activité économique se déroule dans des réseaux d’entreprises qui couvrent des frontières géographiques et juridictionnelles. Les réseaux d’entreprises se rencontrent généralement sur des marchés où producteurs, consommateurs, fournisseurs, partenaires, marchés et autres parties prenantes possèdent, contrôlent et exercent leurs droits, privilèges et engagements sur des objets de valeur appelés actifs.

Les actifs peuvent être tangibles et physiques, comme les voitures et les maisons, ou intangibles et virtuels, comme les certificats et les brevets. La propriété et le transfert d’actifs créent de la valeur dans un réseau d’entreprises et sont connus sous le nom de transactions.

Les transactions impliquent généralement divers participants : des acheteurs, des vendeurs et des intermédiaires (ex : les banques) dont les accords ou les contrats sont enregistrés dans des entreprises commerciales. Une entreprise utilise généralement plusieurs registres pour suivre la propriété des actifs et les transferts d’actifs entre les participants de ses différentes branches d’activité. Les ledgers sont les systèmes d’enregistrement (systems of record ou SORs) pour les activités économiques et les intérêts d’une entreprise.

On peut distinguer trois topologies de réseaux pour le ledger d’entreprise :

  1. Un réseau centralisé qui gère le flux d’informations et d’opérations à partir d’un point central unique.
  2. Un réseau de ledger distribué qui répartit la charge de travail de calcul entre plusieurs nœuds dans un réseau.
  3. Un réseau de ledger décentralisé qui permet aux nœuds de prendre des décisions de traitement et de calcul indépendamment de ce que d’autres nœuds homologues peuvent décider.

 

Figure 1. Types de réseaux : centralisé, distribué et décentralisé.

 

Le cas de la Supply Chain 

Dans le cas de la Supply Chain, nous considérerons le troisième modèle, c’est-à-dire le système décentralisé. Cette blockchain fonctionne comme un consortium.

Une blockchain de consortium est partiellement publique et partiellement privée : cela signifie qu’un groupe présélectionné de nœuds contrôle le processus de consensus (habituellement), mais d’autres nœuds peuvent être autorisés à participer à la création de nouvelles transactions et / ou à leur révision.

Dans notre cas, cela signifie considérer la blockchain comme une chaîne d’approvisionnement :  changer d’état étant très sensible, pour des raisons de sécurité, il vaut mieux que seuls les nœuds présélectionnés soient autorisés à construire les transactions. Par contre, tout le monde peut être mineur dans le nœud autorisé à générer un nouveau bloc. Cette blockchain sera ce que l’on appelle un consortium.

Figure 2. Niveaux de consensus blockchain.

Confidentialité dans un consortium :

Considérons que nous avons plusieurs détaillants et fournisseurs dans un système de chaîne d’approvisionnement : ainsi, chaque fournisseur sera en mesure de voir les commandes d’achats ou de l’inventaire de l’autre, s’ils sont membres d’un consortium.

 

Trois questions se posent alors :

  1. La nature de l’information : Virtuelle vs Réelle :

Bitcoin utilise la blockchain pour gérer la propriété d’une crypto-monnaie (monnaie virtuelle). L’utilisation d’une chaîne de blocs pour gérer la propriété d’actifs physiques, comme dans une chaîne d’approvisionnement, aura des exigences technologiques différentes (par exemple, GPS et RFID). Ces différentes exigences conduiraient à une conception et une mise en œuvre différentes.

 

  1. Quand avons-nous besoin de générer un nouveau bloc ?

Lorsque l’état de l’objet est changé par un nœud présélectionné, une transaction se produit et nous devons générer un nouveau bloc par un mineur. Le changement d’information doit être synchronisé entre la RFID et la blockchain.

Figure 3. Une transaction dans la chaîne d’approvisionnement.

 

La figure 4 montre un exemple, lorsque l’emplacement de l’objet change.

  1. Premièrement, la « location » sera mise à jour dans l’objet automatiquement et localement en utilisant le GPS.
  2. Un nœud présélectionné lit le nouvel emplacement et met à jour le nouvel état. Une nouvelle transaction sera alors diffusée dans l’ensemble du réseau par ce nœud présélectionné.
  3. Un mineur reçoit cette nouvelle transaction et commence à résoudre la preuve de travail (ou Proof of Work). Puis, il génère un nouveau bloc, insère une transaction dans le bloc et diffuse ce nouveau bloc.
  4. Enfin, après avoir reçu le nouveau bloc par le réseau, la blockchain sera mise à jour et le mineur recevra une récompense automatiquement par un contrat intelligent intégré dans la blockchain.

Figure 4. Exemple de validation d’une nouvelle transaction et mise à jour de la chaîne de blocs pour le changement de localisation.

 

  1. Comment motiver un mineur à générer un nouveau bloc dans la chaîne d’approvisionnement ?

En intégrant les contrats intelligents dans le système comme suit.

La figure 5 montre un contrat intelligent (ChainCode) comme un pseudocode dans lequel, si l’état de l’objet change, qu’un nouvel état est lu par RFID et qu’un mineur peut résoudre la preuve de travail, alors le mineur génère un nouveau bloc, insère une transaction dans ce nouveau bloc, puis le diffuse sur l’ensemble du réseau.

Pour cette action, le mineur recevra automatiquement des coins en récompense par contrat intelligent intégré en blockchain.

Figure 5. Pseudocode d’un contrat intelligent par lequel un mineur est motivé pour valider une nouvelle transaction.

Dans un cas général, avec un autre type de consensus que la Proof-of-Work, un mineur serait un validateur et se comporterait comme décrit dans la figure 6.

Figure 6. Pseudocode d’un contrat intelligent par lequel un validateur est motivé pour valider une nouvelle transaction.

 

CONCLUSION :

Les systèmes de comptabilité centralisés et basés sur la confiance conduisent à des goulots d’étranglement et à des ralentissements des transactions. Le manque de transparence, ainsi que la susceptibilité à la corruption et à la fraude, conduisent à des différends. Devoir régler les différends et éventuellement annuler les transactions ou fournir une assurance pour les transactions est coûteux. Ces risques et incertitudes contribuent à des occasions d’affaires manquées.

De plus, des copies non synchronisées des business ledgers sur les propres systèmes de chaque participant au réseau amènent à des décisions commerciales erronées prises sur des données temporaires et incorrectes. Ou bien alors, au mieux, la capacité de prendre une décision en toute connaissance de cause est retardée pendant la résolution des différentes copies des registres.

S’appuyant sur le système blockchain, toutes les informations d’objets dans la chaîne d’approvisionnement étant transparentes et ouvertes, l’entreprise de logistique pourra mettre en place un suivi en temps réel de ses produits. Le consommateur pourra ainsi obtenir l’information complète des produits à tous niveaux de la chaîne d’approvisionnement, ce qui sera bénéfique pour établir un environnement de marché sain. En utilisant la technologie blockchain, plus aucun membre du système n’aura la capacité de manipuler les informations sur les objets, ce qui augmente la sécurité et la qualité du produit.

 

Article rédigé par Siamak SOLAT