Je n’ai pas le temps de faire de la veille !

La veille, un outil essentiel

La veille. Voici un élément essentiel de la vie des développeurs. Elle peut également s’appliquer à de nombreux autres métiers, en dehors même du domaine de l’informatique. Il s’agit d’un point clé dans notre domaine en constante transformation, où ceux qui sauront évoluer dans leur pratique sortiront du lot.

Car la veille c’est, comme son nom l’indique, une activité consistant à être à l’écoute des changements et des nouveautés qui apparaissent tous les jours dans le monde de l’IT. Mais faire de la veille ce n’est pas que ça : c’est aussi entraîner sa curiosité et sa capacité à se remettre en question en faisant constamment évoluer l’étendue de ses connaissances. C’est enfin ce qui va vous permettre d’avoir suffisamment de recul afin de pouvoir faire le tri dans toutes les nouvelles approches et technologies pour faire les bons choix.

Mais voilà, comment faire de la veille lorsque j’ai un travail à temps plein ?

Comment trouver le temps ?

En fonction de votre contexte professionnel vous ne disposez peut-être (sans doute) pas de temps dédié à la veille. En effet, si ces modes de fonctionnements se répandent petit à petit au sein de sociétés éditrices de solutions ou de logiciels par exemple, il s’agit encore d’une situation relativement rare aujourd’hui.

Dans ce cas quels sont les moyens qu’il reste à votre disposition ?

  • Faire sa veille sur son temps libre
  • Tenter d’augmenter son efficacité au travail pour se libérer du temps de veille

Dans un cas comme dans l’autre il s’agit d’un investissement personnel important qu’il faut avoir envie de faire. Et c’est bien de cela dont il s’agit avant tout : la veille doit être un plaisir, non pas une contrainte. Il faut que vous y preniez du plaisir et qu’elle vous apporte de nouvelles perspectives en terme professionnel.

Vous passerez donc par différentes phases au cours de votre vie où l’envie sera plus ou moins présente. L’arrivée d’un enfant, ou un changement de contexte professionnel pourront sans doute chambouler votre vie et il est normal que votre rapport au travail et à la veille en soit bouleversé. Ne vous forcez pas si le moment n’est pas propice, ou tenter de trouver une approche différente. Il existe autant de moyen de faire de la veille que de développeurs dans le monde.

 

Par où commencer ?

Ok, vous avez envie de faire de la veille, vous êtes prêt à vous investir, vous avez soif d’apprendre ! Comme pour votre abonnement à la salle de sport, vous avez pris de bonnes résolutions, vous êtes gonflé à bloc : c’est décidé, aujourd’hui vous recommencez la veille !

Mais voilà, vous ne savez pas par où commencer.

En effet, tout comme le sport, faire de la veille ça s’apprend ; et comme le sport encore, il y a beaucoup de façon de la pratiquer : à vous de trouver celle qui vous convient le mieux.

Faire sa veille seul

Les blogs

Les blogs sont une source inépuisable pour la veille. Vous y trouverez le pire comme le meilleur alors comment trouver le bon contenu ?

Vous passerez dans tous les cas par des nombreuses lectures pour pouvoir commencer à vous faire une liste de sujet et d’auteurs favoris que vous commencerez alors à intégrer dans votre « short list ». (pensez à y intégrer le blog Versusmind ;-) )

Si vous démarrez votre veille et que vous souhaitez avant tout vous tenir au courant des nouveautés, de découvrir de nouveaux sujets pour élargir vos horizons, une source généraliste comme Medium ou Reddit vous permettra de découvrir tous types de sujets.

Si vous avez déjà en tête un domaine plus précis, il existe des plateformes de blog plus spécialisées, voire avec des auteurs sélectionnés, qui vous garantiront une qualité du contenu comme par exemple Smashing Magazine pour le monde du web ou InfoQ pour les sujets d’architecture.

Enfin, si vous vous intéressez particulièrement à un framework ou une technologie, les équipes elles-même ont généralement un blog qui sera forcément une source de qualité, ainsi que pour les experts de la technologie qui proposeront parfois une approche plus poussée de certains concepts.

Les podcasts

Vous avez peu de temps disponible pour lire et vous allez au travail en voiture ? Pourquoi ne pas essayer les podcasts ? Le format est également riche en terme de contenu et très pratique pour faire votre veille même lorsque vous n’avez pas la possibilité de trouver du temps pour lire.

Vous trouverez des podcasts aussi bien généralistes que spécialisés et le format autorise généralement plus de liberté sur la ligne éditoriale.

Envie de débuter avec les podcasts ? Pourquoi ne pas essayer La Confrérie ou DevApps.be ?

 

 

Les réseaux sociaux

Les réseaux sociaux et plus particulièrement Twitter sont également une très bonne source puisque vous allez rapidement avoir la possibilité de vous voir du contenu proposé, les grosses annonces relayées, et la possibilité de réagir et échanger avec une communauté de personnes intéressées par les mêmes sujets que vous.

Même dans une position de « consommateur passif », c’est-à-dire sans forcément twitter vous-même ou échanger avec les autres twittos, mais en suivant juste les bonnes personnes vous verrez votre veille, sur tous les autres supports, rapidement alimentée par les partages des autres.

Cela reste aujourd’hui ma principale source pour découvrir de nouveaux contenus de qualité, hors des canaux que je suis déjà.

Github

L’open source a fait sa révolution et a complètement transformé notre métier. Les équipes qui développent nos outils préférés le font en open source sur Github. La transparence est de mise : vous pouvez directement discuter avec les équipes des fonctionnalités que vous souhaiteriez et mieux encore, la développer afin d’améliorer l’outil pour tous.

Il est donc possible de faire une veille directe sur l’évolution de l’outil en suivant de près les issues, les release, les changelogs de vos projets préférés sur Github. Chez certaines équipes, vous pourrez même suivre les réunions d’équipe en vidéo ! Difficile d’être plus frais en termes d’informations.

Les livres

La veille consiste bel et bien en un apprentissage et, dans ce domaine, les livres sont et restent encore aujourd’hui un support important même si leur format ne se limite plus uniquement au papier. Pour se former à une technologie, une méthodologie ou tout autre sujet, ils offrent un large choix et restent accessibles à tous.

Les plateformes de e-learning

L’e-learning est en quelque sorte la V2 du livre. De nombreuses formations sont proposées sur des plateformes vous permettant de suivre les formations en autonomie, voire même avec l’aide d’un mentor. Certaines vous permettent de préparer le passage d’une certification voire d’un diplôme reconnu par l’état.

Même si l’on traverse ici la fine séparation entre la veille et la formation pure et dure, ce format explose littéralement ces dernières années avec de plus en plus de contenu de qualité et des offres de prix abordables.

Quelques exemples, en anglais: EDX, Pluralsight, SkillMeUp… et en français: ENI Editions, LinkedIn Learning...

Faire sa veille en communauté

Le risque inhérent à ne faire que de la veille seule est l’effet « Robinson ». Vous êtes seul et par la force des choses vous retrouvez vite limité.

Un des meilleurs moyens de faire sa veille à mon sens passe par le partage : en parlant avec les autres de vos découvertes et eux des vôtres, vous multiplierez les informations qui viendront à vous, prendrez du recul et comprendrez plus de choses en confrontant les points de vues et les expériences.

Voici donc l’étape 2 : trouvez une communauté ! Elle sera la clé pour conserver votre dynamique. Ici encore, plusieurs options s’offrent à vous.

Les conférences / Meetups

 

Les conférences. Crédits: Devday BE

 

Les conférences sont un concentré de veille et un vecteur de motivation important. A chaque fois c’est pareil : en sortant d’une journée de conférence, vous êtes gonflés à bloc, et voulez tout tester. Malgré tout, ce n’est pas toujours facile de créer des liens et les grosses conférences ne regroupent pas une communauté locale qui permettrait de se retrouver régulièrement.

Pour cette raison, les communautés locales sont idéales. Vous en trouverez dans toutes les villes moyennes et grandes. Il suffit de jeter un œil sur la plateforme Meetup pour s’en rendre compte : ce format de conférence, souvent en after work, ont un grand succès car elles proposent un cadre régulier et informel de rencontre et il est alors très facile de s’y intégrer.

 

Le format Meetup. Crédits: Microsoft Users Group Strasbourg

 

Si malgré tout, vous êtes intimidé, dites vous que toutes les personnes présentent sont ici pour leur intérêt commun et pour échanger avec de nouvelles personnes, alors lancez-vous !

Intégrer une société à la forte culture de veille

Vous vous rendez tous les jours au travail, et discutez avec vos collègues… Un groupe de personnes évoluant dans le même environnement que vous… cela parait donc évident que de faire partie d’une société où cette culture de veille et d’échange est fortement ancrée vous permettra de rentrer de façon naturelle dans cette dynamique. Et si elle n’est pas présente, créez-la!

Les Hackathons

Les hackathons sont un excellent moyen de progresser et d’apprendre beaucoup de nouvelles choses sur un temps très court. Si vous aimez l’ambiance LAN Party, vous serez comblé. S’étalant généralement sur 24 à 48h, il s’agit d’un marathon du code ou l’on tente dans ce temps de relever un défi technique pour prototyper une solution.

Cela permet d’apprendre très vite, car le manque de temps fait que l’on enlève naturellement toutes les barrières qui pourrait nous ralentir dans le cadre d’un projet classique : le but ici n’est pas d’obtenir un projet finalisé mais plutôt un Proof-Of-Concept qui en démontre la faisabilité. C’est une ambiance très galvanisante et une expérience très motivante.

Nous en faisons plusieurs par an depuis toujours chez Versusmind, et cela a donné lieu à de jolis projets d’innovation. Je vous en avais déjà parlé sur le blog: Sniff Bot et Ehpad Go.

Les communautés en ligne

Vous ne trouvez pas de dynamique de veille auprès de vos collègues et aucune communauté locale n’existe ? Il reste les communautés en ligne ! Vous en trouverez de nombreuses sur Facebook ou via les autres réseaux sociaux. Sur Linkedin ou Facebook, par exemple, il existe de nombreux groupes pour s’informer et trouver de l’aide sur divers sujet. Par exemple, l’Azure User Group France sur Linkedin ou le Microsoft User Group de Strasbourg sur Facebook (nous sommes très sympas).

Pas d’excuse !

Vous l’avez lu, il existe plusieurs façons de faire votre veille. Si vous souhaitez vraiment faire de la veille, il vous suffit de choisir la façon qui vous convient le mieux.

Pour résumer, voici les 3 points essentiels pour continuer d’évoluer en tant que professionnel :

  • Tenez-vous au courant : blogs, Twitter, podcasts, conférences
  • Renforcez sans cesse vos bases : lisez des livres sur l’archi, les bonnes pratiques et renforcez votre portefeuille de compétences de conception
  • Sortez de votre zone de confort pour élargir votre horizon : proposez une conférence à un Meetup, participez à un hackathon, etc.

Le plus important : partagez et trouvez des personnes qui ont envie de partager avec vous ! La veille est toujours plus enrichissante et agréable si vous la partagez avec des personnes ayant les mêmes centres d’intérêt.

Bonne veille à tous !

 
Philippe Didiergeorges

Développeur et architecte .Net et Javascript - MVP Visual Studio & Development Technologies

Retour de Hackathon: faire un clone d'Amazon Go en 48h avec Azure et les Cognitive Services

Gestion de stock automatisée avec Azure, de l'IA et un peu d'IOT

Introduction

 

Le week-end dernier (23-35 mars 2018) avait lieu chez Versusmind un grand hackathon interne sur le thème de la santé. Tous les détails ici

A l’occasion de ce hackathon, ce n’est pas moins de 27 Versusiens qui ont planché par équipe sur 4 projets d’innovation dans le domaine de la santé. Ce billet de blog vous présente l’un de ces projets : EhpadGo.

L’histoire de ce projet est un peu particulière car contrairement aux autres, il n’a pas été apporté par un porteur de projet issu du domaine de la santé mais est issu directement de l’équipe et d’une expérimentation menée par Amazon : le magasin sans caissier Amazon Go.
>> Voir la vidéo Amazon Go <<

Les technologies annoncées : capteurs, computer vision et Machine learning. Que des sujets qui nous parlaient déjà et surtout un challenge : que serions nous capable de faire avec nos moyens en un week-end ?

Le sujet est donc né de la technologie mais les applications sont nombreuses à partir du moment ou il y a une gestion automatisée de stock à faire : industrie, commerce, santé. Le cas étudié pour le hackathon est celui des Ehpad : les employés de ces établissements sont souvent en effectif limité et doivent gérer tous les aspects logistiques en plus de s’occuper des résidents. Notre but à donc été de les libérer de l’aspect suivi et gestion du stock. L’idée d’EhpadGo était née.

La Cinématique


Voici la cinématique de l’expérience utilisateur :

1. L’utilisateur se présente à la porte sécurisée pour entrer dans le stock
   a. Il présente badge pour entrer
   b. Une photo est prise et analysée avec le système de reconnaissance faciale pour valider l’accès
   c. Une fois son identité validée, la porte s’ouvre pour le laisser entrer
   d. Sa session est créée dans le système avec une gestion de panier

2. L’utilisateur prend ou repose des produits sur les étagères du stock
    a. Les étagères sont équipées de capteurs de poids et envoient toute variation dans le système qui est capable d’y associer une modification du stock en live. Chaque étagère est gérée indépendamment, avec un poids unitaire du produit posé dessus. Ainsi pour une variation de 500g sur une étagère dont les produits pèsent 250g, le système déduis que 2 produits ont été pris et le stock est mis à jour en temps réel.
    b. Lorsqu’un changement intervient sur le stock, une caméra située sur l’étagère en question photographie la personne qui a effectué l’action afin de l’identifier et ajouter les produits à son panier. En effet il parait logique que plusieurs personnes puissent être présente au même moment dans le stock et nous avons besoin de savoir qui a pris quoi pour le suivi d’inventaire.

3. L’utilisateur sors du stock avec ses produits
   a. Il badge pour ouvrir la porte
   b. Le système clos alors sa session et lui envoi un e-mail récapitulatif de son passage. Cela permet notamment d’ajouter une garantie de sécurité en cas d’usurpation d’identité et de confirmer à l’utilisateur que le système a bien identifié les produits qui ont été prélevés.

Architecture globale


Lorsque nous avons réfléchi à l’architecture à mettre en place, nous avons cherché comment concevoir une solution qui remplisse tous les critères ci-dessus en terme fonctionnel mais nous avons aussi pris en compte le fait que pour être viable, la solution devait être :
- Facilement déployable, techniquement comme humainement
- Adaptable à un tout petit stock type Ehpad ou immense type dépôt de centrale d’achat
- Scalable
- Abordable financièrement


Ce dernier point était d’ailleurs particulièrement déterminant car si Amazon semble utiliser l’analyse de la vidéo en continu pour suivre les gens, la solution n’est pas viable financièrement pour être diffusée de façon large vu le coût que cela implique. Nous avons donc du faire des choix et après avoir challengé les différentes API cognitives de Microsoft nous avons choisi la Face API qui nous permet de renseigner une base de visages avec leur identité afin de pouvoir ensuite les identifier à partir d’une photo.
Cette solution nous a permis de réduire de beaucoup le nombre d’appel au service afin de rester dans des coûts maitrisés.

Un autre point qui nous a permis de limiter les coûts a été l’utilisation de RaspberryPi et d’Arduino pour les installations de contrôle d’accès et au sein du stock pour les capteurs de poids et de caméra.


Pour les aspects scalabilité et facilité de déploiement, la solution tout entière, hormis le matériel installé physiquement se base intégralement sur une architecture micro-service serverless basée sur les Azure Functions , l’utilisation du Service Bus et une base de données CosmosDB. Tous ces éléments sont conçus pour pouvoir scaler et être géo-répliqués et sont donc parfait pour ce type de solutions.
Pour la facilité de déploiement enfin, l’utilisation de queues sur le Service Bus d’Azure nous permet de rajouter des étagères (ensemble capteurs de poids & caméra) à l’infini. En effet chaques arduino et raspberri de chaque étagère communique avec le système par la même queue et un système de tag permet de filtrer et diriger les messages vers la bonne étagère. Ainsi rajouter une nouvelle étagère peut se faire sans autre opération sur le système que de la déclarer dans la base de données et sur un fichier de configuration des Raspberry et Arduino.

Stack Technique

La partie service, dans le cloud Azure repose donc sur un ensemble de functions Azure, codées en C# et utilisant la partie API manager pour les interractions avec le backoffice principalement et des queues du Service Bus pour les communications entre les functions et les installations physiques.
Les Raspberry Pi que nous avons utilisé pour le contrôle à l’entrée et pour l’identification de la personne au niveau des étagères utilisent des programmes ecris en Python et les arduino chargés de gérer les capteurs de pesée font tourner un programme en C++.
Les API de reconnaissance faciale des Cognitives Services Microsoft sont exploitées avec les librairies dédiée Python et l’envoi de mail récapitulatif utilise le service SendGrid via son API REST.

Détail de l’implémentation

Cinématique 1 : Entrée dans le local

A l’entrée, dans le local, la cinématique est déclenchée par l’utilisateur présentant son badge sur le lecteur. Cela déclenche la prise d’une photo pour une double authentification.
Une fois l’authentification validée, l’utilisateur est libre d’entrer et une demande de création de session est envoyée dans la queue et sera alors traitée quasi instantanément par la function dédiée.
Une session contient les informations de l’utilisateur, sa date et heure d’entrée et une liste de produits vide.

Cinématique 2 : ajout/suppression de produits au panier

Cette cinématique est la plus complexe car elle représente la partie la plus innovante du processus : comment détecter automatiquement les produits prélevés par les utilisateurs sans que cela ne leur demande une autre action que celle de s’emparer des produits ?


Voici le détail de cette cinématique :
1. L’arduino qui gère les capteurs de poids détecte une modification du poids sur une tablette et envoi un message dans la queue pour signaler l’événement. Les informations envoyées sont l’identifiant de la tablette concernée, la nouvelle mesure et l’ancienne. Afin de limiter les traitements un premier filtre a été codé afin d’éliminer des variations trop faibles qui seraient dues à des légère perturbations.
2. Le message dans la queue est traité par la function abonnée à cet événement.
3. La function récupère les informations du produit associé au produits présent sur la tablette en question, dont le poids unitaire, et calcul le nombre de produits prélevés/déposés et met à jour le stock en temps réel
4. Un message est déposé dans une autre queue afin de demandé au(x) Raspberry de la zone de prendre une photo de la personne devant la tablette
5. Le(s) Raspberry(s) concerné traite le message et déclenche la prise de photo
6. La photo est transmise à l’API Face afin d’identifier la personne dans les personnes présentes
7. Un appel à l’API de mise à jour de session est effectué afin d’associer les produits prélevés au panier de l’utilisateur
8. L’API transmet l’appel à la function
9. La function récupère la session en cours de l’utilisateur et effectue la mise à jour

Nous avons volontairement fait le choix de placer la gestion des capteurs de poids et la prise de photo sur des appareils distincts afin de tester les performances du système de queues d’Azure dans l’optique de pouvoir avoir un système plus distribué. L’action de prendre la photo, déclenchée par le changement de poids doit donc transiter de l’arduino par le cloud avant de redescendre vers le Raspberry.
Cela permet d’anticiper une évolution de la solution. En effet dans le cadre du Hackathon, nous avons prototypé une seule étagère, avec deux tablettes et une caméra. Le problème qui se pose est qu’une seule et unique caméra ne permet pas d’identifier un utilisateur dans tous les cas. Si celui-ci ne fait pas face à la caméra la reconnaissance est compromise.

La solution de passer par des queues permet de prévoir plusieurs caméra, installées sous plusieurs angles pour renforcer les chances d’identification. Cela permet aussi d’adapter la solution à tout type de disposition matérielle tout en impactant au minimum le code source.

Il s’est avéré selon nos tests que les temps de transmission depuis l’envoi de la mesure de poids par l’arduino à la réception de l’ordre de prise de photo, restait généralement sous les 0,5s ce qui nous a paru acceptable dans la majorité des scéanarii. Des tests plus poussés seront bien sûr à envisager dans le cas d’une mise en production mais les résultats obtenus nous ont globalement satisfait.

Cinématique 3 : Sortie du local et fin de la session

La sortie du local est finalement la cinématique la plus simple : l’utilisateur badge pour sortir. Un message de demande de fermeture de la session. Il est immédiatement libre de sortir pendant que la function dédiée clos la session, en enregistrant la date et l’heure de sortie.
Un e-mail récapitulatif est alors envoyé contenant la date et heure de l’entrée, la durée de présence et le détail des produits enregistrés. Cela fait office de justificatif et permet par la même occasion de garantir une protection supplémentaire contre l’usurpation d’identité et le vol de matériel puisque la personne est immédiatement avertie.

Bilan et perspectives

Au final, nous avions démarré ce week-end de hackathon sans aucune certitude de pouvoir atteindre un résultat fonctionnel et le fait d’avoir pu relever tous les défis que nous nous étions fixés, avec en prime une solution financièrement abordable est une grande satisfaction pour toute l’équipe.

Vous trouverez ci-dessous la vidéo de la démo de l’application tournée en toute fin de hackathon :

>> La démo, en vidéo <<


La solution est bien sûr perfectible à de nombreux égards mais le POC est intégralement fonctionnel et les tests menés lors de ce Hackathon nous permettent aujourd’hui de savoir quelles sont les technologies à mettre en œuvre, leurs performances et leur degré de maturité.
En termes de perspectives, les usages sont bien entendu nombreux car ils sont applicables à de très nombreux scénarii dans de nombreux domaines métiers. L’avenir nous dira ou ce projet nous mènera !

Un grand merci à toute l’équipe Versusmind d’avoir répondu présent à ce hackathon et plus particulièrement à mon équipe de tueurs d’élites du code :)  Je vous laisse sur ces belles paroles avec quelques photos du week-end et de l’installation de notre projet, afin que vous puissiez juger vous-même de nos qualités de bricoleurs de l'extrême.

Philippe Didiergeorges

Développeur et architecte .Net et Javascript - MVP Visual Studio & Development Technologies

Construction d’une hotline intelligente, proactive et multi-canal

Retour de Hackathon

Il y a quelques jours avait lieu à Strasbourg le Hacking Industrie Camp. La team Versusmind étant très friande de ce type d’exercices, nous nous sommes alignés sur pas moins de 3 projets avec 11 consultants. Ce billet de blog présente la solution que nous avons conçu et développé sur l’un de ces projet au cours des 2 jours de Hackathon : « Sniffe le réseau »

Le pitch

“Scanner les messages de Twitter à l’aide d’une IA capable de comprendre le sens du message et détecter si celui-ci parle d’une panne de courant afin de détecter les incidents de façon proactive”.

L’équipe est formée, le brainstorming commence : Au-delà de ce premier canal pour la déclaration des pannes, nous proposons d’ajouter deux canaux intéressants dans ce type de scénario (pas d’électricité) : l’application mobile, installée via le store, ou le chatbot qui pourra être ajouté comme contact sur les principales plateformes de discussion sociales, et qui pourront également permettre de notifier l’opérateur de la panne, sans avoir à passer par une centrale téléphonique qui est peut être déjà surchargée.

Très vite, la détection de panne n’est plus le seul objectif et on souhaite accompagner l’utilisateur de bout en bout depuis l’apparition de la panne jusqu’au retour à la normale, ce qui ne représente aucun problème avec des canaux tels que le mobile et le chatbot. On ajoute donc à la liste une API et une interface backoffice pour les techniciens pour gérer les pannes de l’apparition à la résolution et tenir les utilisateurs au courant des avancées.

Et puis tant qu'à faire, on se dit que si on détecte un utilisateur victime d’une panne sur Twitter, on pourrait essayer de l’attirer sur notre chatbot pour lui proposer de l’accompagner de façon proactive.

Le décor est planté : nous allons développer une plateforme de SAV intelligente et multi-canal sur un week-end !


L’architecture

 

L’architecture est posée assez rapidement :

  • Une IA qui soit capable d’analyser le contenu des tweets et de les catégoriser pour définir s’ils signalent une panne
  • Un Service Worker qui analyse un stream de tweets en entrée, les passe à la moulinette de notre IA et alimente l’API avec les résultats positifs
  • Une API chargée de recueillir les signalements et de renvoyer les informations vers les différents canaux
  • Une interface BackOffice pour les opérateurs avec une carte permettant de visualiser les incidents, de les traiter : confirmer en tant qu’incident, suivi de l’intervention, envoi d’informations aux usagers de la zone par chatbot ou notification mobile, etc…
  • Un chatbot pour offrir à nos usagers un accompagnement personnalisé, permettre la déclaration de pannes bien sûr mais aussi des notifications sur l’évolution de la situation et un assistant pour les aider à résoudre des pannes par eux-même (pourquoi pas)
  • Une application mobile pour offrir sensiblement les mêmes services que le chatbot mais par un canal différent et laisser le choix aux utilisateurs

Au niveau technologique, les solutions retenues sont les suivantes :

  • LUIS (Language Understanding Intelligence Service) l’IA de compréhension du langage naturel de Microsoft
  • Azure Stream Analytics pour capturer, analyser et traiter les tweets
  • Microsoft Bot Framework pour le développement du Chatbot
  • ASP.Net MVC  et SignalR pour l’API et le Backoffice
  • BabylonJS pour l'affichage de la carte en 3d
  • Xamarin pour l’application mobile et Azure Notifications Hub pour les notifications mobiles

Proposition de valeur du projet

Le projet a pour but de se servir des possibilités apportées par les dernières évolutions techniques pour améliorer la qualité du service et de l’accompagnement pour les usagers. Il permet en outre :

  • Une détection plus rapide des problèmes
  • Un service après-vente qui contacte de lui-même le client en difficulté
  • Un canal de communication privilégié avec les clients par les réseaux sociaux et les outils de communications que chacun préférera

On peut même imaginer de tout nouveaux scénarii :

  • Un client qui signale une panne pourra être guidé par le bot pour vérifier que la panne ne vient pas de chez lui et le cas échéant être accompagné dans la résolution de son problème avec un simple échange comme il l’aurait fait avec un conseiller. On évitera ainsi certains déplacements inutiles de techniciens sur place pour des faux positifs.
  • Un autre client, dont un proche serait dépendant de l’électricité, s’il est sous respirateur artificiel par exemple, pourra choisir de s’abonner aux alertes dans la zone géographique du domicile de cette personne afin d’être directement notifié en cas de problème.

 

En conclusion

Cette expérience au Hacking Industry Camp restera un excellent souvenir pour toute l’équipe. L’organisation a été vraiment top du début à la fin et l’ambiance était vraiment excellente ! Un grand bravo à toute l’équipe d’Alsace Digitale.
Nous tenons également à remercier les porteurs de projet de pour avoir apporté une si bonne idée ainsi pour leur confiance et leur bonne humeur tout au long du week-end (pas si facile de supporter une bande de dev survoltés, après 2 jours de privation de sommeil). Nous nous sommes vraiment bien amusés et avons appris plein de choses.
Si vous aussi vous voulez découvrir comment ce projet a été développé et toutes les nouvelles choses sympas que l’on a pu faire sur le Bot Framework, avec LUIS, Azure Stream Analytics et BabylonJS, je vous invite à suivre notre blog pendant les prochaines semaines: nos consultants vous détaillerons tout cela dans des billets de blog à venir.

Envie d'un aperçu du résultat obtenu? C'est juste en dessous:

 

Stay tuned!

Philippe Didiergeorges

Développeur et architecte .Net et Javascript - MVP Visual Studio & Development Technologies

Sitecore prend le virage du cloud en version 8.2 avec Azure Web App

La plateforme Sitecore a récemment promu sa nouvelle version: 8.2.1; avec l'annonce notamment de belles nouveautés en rapport avec Azure. Il s'avère que ces annonces marquent le début d'une évolution majeure pour la plateforme qui va se faire de façon itérative dans les mois à venir.

Quelles sont les nouveautés disponibles et à venir et est-ce le bon moment pour se lancer? Décryptage.

 

Qu'est ce que Sitecore?

Commençons par la base: peut-être travaillez vous déjà avec Sitecore? Peut-être en avez-vous juste entendu parler et vous ne savez pas exactement de quoi il retourne ou ce que cela peut vous apporter ?

Sitecore est à l'origine un CMS, c’est à dire un système de gestion de contenu à destination du web, appelé SXM pour “Sitecore Experience Accelerator”, développé sur la plateforme .Net. Il intègre aussi un module de E-Commerce qui va vous permettre, comme son nom l'indique, de gérer une boutique en ligne, un module d'e-mailing et un autre de diffusion print. Le modèle "tout intégré" de la solution est sans aucun doute un gros point fort de la solution et vous permet de gérer l'intégralité de vos interactions avec le client au sein d'une même solution unifiée.

Mais ce n'est pas le seul atout de la solution car Sitecore intègre des fonctionnalités avancées d'analyse et de personnalisation du contenu en fonction de l'utilisation. Le moteur d'analyse de Sitecore apporte un véritable avantage concurrentiel en mêlant l'analyse du comportement de l'utilisateur pour définir un profil et en combinant un grand nombre de données via un système d'apprentissage qui s'affine avec le temps. Ainsi, il vous permet d’améliorer vos connaissances sur vos visiteurs à chaque visite pour mieux répondre à leurs attentes.

 

Comment cela fonctionne-t-il?

Un profil est créé pour chaque nouveau visiteur; et celui-ci va s'affiner au fur et à mesure de ses actions. Les données sont enregistrées à chacune de ses actions. C'est là qu'entre en jeu le troisième grand atout de la solution: le path analyzer.

Source: sitecore.net

 

Le path analyzer va vous permettre d'analyser les données de parcours de vos visiteurs grâce à une visualisation sous forme d'arbre. Vous serez en mesure d'identifier les scénarii qui vous font gagner ou perdre des ventes, de remonter le parcours qui a mené à l'achat de tel ou tel produit, ou encore le parcours emprunté par un client en particulier. Le but de ceci est bien entendu d'avoir un vrai retour sur l'expérience de vos clients et de détecter les améliorations possibles pour développer votre business.

 

Pourquoi Sitecore prend le virage du cloud Azure?

Avant toute chose, il est important de préciser qu'il est possible d’ores et déjà d'héberger Sitecore sur le cloud Azure depuis fin 2010, mais cela devait se faire avec beaucoup d'opérations de configuration accompagnées par la création de machine virtuelles, etc… Réalisable, mais pas nécessairement trivial.

Les évolutions apparues avec la version 8.2.1 apportent le support de l'hébergement sous forme de WebApp Azure, en mode PAAS (Platform As A Service) donc, ainsi que des évolutions qui facilitent grandement le déploiement de nouvelles instances. Le choix de renforcer et de faciliter l'intégration au cloud Azure était finalement assez évident pour plusieurs raisons:

Sitecore est construit en .Net; ainsi le cloud de Microsoft est un choix stratégique évident de par les facilités de déploiement qu'il offre. On s'affranchit également de la charge de mise en place et maintenance de l'infrastructure: c'est le principe même d'une offre PAAS. La sécurité et la continuité de service sont également assurées par la plateforme Azure qui assure la conformité aux certifications européennes dans ces domaines.

La solution apporte également une grande flexibilité avec le support de l'auto-scaling: la mise à l'échelle de la plateforme en fonction de critères de performances se fait de manière automatisée. Par exemple, si vous configurez un seul frontal web, vous déterminez que dès lors que l'occupation CPU dépasse les 80%, Azure provisionne automatiquement une instance de plus afin d'absorber la charge, tout en garantissant la qualité de service. Une fois que la charge redescend sous le seuil de 40%, le nombre d'instances est à nouveau réduit, de façon automatique. Grâce à cela, vous garantissez la pérennité et la qualité de votre service même lors de fortes hausses ponctuelles de votre fréquentation et vous payez le juste prix de ce que vous avez utilisé.

Enfin, la plateforme supporte l'ensemble des technologies utilisées par Sitecore: .Net et SQL Server bien sûr, mais aussi la base MongoDB, le cache Redis et les Scripts ARM pour scripter le déploiement de la plateforme de façon avancée.

 

Je veux démarrer tout de suite, comment ça se passe?

La version 8.2.1 disponible en cette fin d'année 2016, pose les bases de cette évolution mais tout n'est aujourd'hui pas encore finalisé. Concrètement, le module Commerce n'est aujourd'hui pas disponible et arrivera avec la prochaine update au premier trimestre 2017.

Il n'est donc pas possible aujourd'hui de démarrer sur l'ensemble de la solution mais ce n’est l’affaire que de quelques semaines. En attendant, cette solution est parfaite pour les équipes qui souhaite se former sur Sitecore ou commencer à préparer leur déploiement à venir.

Si vous voulez démarrer avec Sitecore sur Azure WepApp, cette nouvelle version vous propose déjà deux solutions en fonction de votre objectif: la solution clé en main ne nécessitant aucune compétence technique pour démarrer rapidement, idéal pour du test ou de la formation, et la solution avancée, nécessitant des compétences techniques, mais qui sera préférée sur des projets réels.

Si vous souhaitez disposer rapidement d'une plateforme opérationnelle, Sitecore met à votre disposition un modèle clé en main; disponible immédiatement sur le marketplace Azure. En à peine 10 minutes, vous disposerez d'une instance XP1 standard. Cela pourra s'avérer utile pour découvrir la plateforme.

Voici la procédure à suivre:

  • Cliquez sur Nouveau pour ajouter un nouveau service, puis recherchez “SiteCore”.

  • Sélectionnez “Sitecore Web Experience Manager 8.2” et cliquez sur Créer

  • Saisissez les informations demandées: nom de l'instance, groupe de ressources, compte SQL et mot de passe d’administration Sitecore, fichier de licence et validation des conditions générales.

  • En cliquant à partir de là, vous lancerez la création de votre instance et en 10 minutes environ vous pourrez commencer à l’utiliser. C’est aussi simple que ça!

Vous avez sûrement remarqué le lien “Options d’automatisation” à côté du bouton OK. Il vous permet d’accéder au modèle ARM (Azure Ressource Manager) pour modifier les options de déploiement. Il s’agit de l’option avancée que nous détaillerons très bientôt sur ce blog à l’occasion d’un prochain article.

 

Ressources complémentaires

Une fois votre instance déployée vous allez pouvoir commencer à utiliser Sitecore et expérimenter toutes les capacités de la plateforme.

Restez à l’écoute! Nous allons traiter sur ce blog tous les aspects liés à Azure, tel que la configuration du modèle de déploiement ARM, la mise en place d’un processus de déploiement continu, la configuration d’auto-scaling et de géoréplication, ainsi que toutes les évolutions futures de la plateforme.

Dans l’immédiat, pour vous accompagner dans l’apprentissage de l’utilisation de la plateforme, plusieurs solutions s’offrent à vous:

Vous ne disposez pas de licence et souhaitez tester la plateforme? Contactez Sitecore par le billet de leur site internet: http://www.sitecore.net/fr-fr

 

Philippe Didiergeorges

Développeur et architecte .Net et Javascript - MVP Visual Studio & Development Technologies

S'abonner à RSS - Le blog de PhilippeD