L’Expert Map Directory : le coté technique
La problématique
Pour répondre à la problématique d’identification, de recherche des experts et des expertises dans les entreprises multi-sites, nous avons étudié la création d‘un outil permettant de capitaliser, rechercher et synthétiser les informations de manière cartographique.
Copie écran : Rendu cartographique de l'application
La réflexion et le cheminement
Un contexte client favorable
La mise en place de cet outil s’est faite en partant d’un cas client et en suivant l’évolution des besoins du client complétés par nos préconisations en matière de gestion des expertises.
Une cible plutôt O365 mais pas uniquement
Les entreprises ciblées par cet outil sont de taille moyenne et multi-sites, beaucoup de celles-ci étant dans un environnement O365, notre orientation principale était de s’intégrer pleinement dans ce type de Système d’information sans se couper la possibilité d’offrir le service en dehors d’un SI Microsoft.
Briques utilisées dans O365
Les briques nous permettant de faire fonctionner cette application dans O365 sont Sharepoint pour l’application ainsi Teams/Yammer pour les échanges ou OneDrive.
Dans O365, deux possibilités d’offraient à nous, héberger la partie serveur sur nos propres environnements (Provider Hosted App) ou créer une application ( Sharepoint Hosted App) où tout est intégré dans l’environnement O365 du client.
C’est cette seconde solution qui a été retenue car celle-ci nous permettait de nous affranchir une gestion de serveur chez Taemana et permettait aussi de vendre cette application sans abonnement chez nos clients.
Nous nous sommes donc orientés vers la mise en place d’une application mono-page utilisant les services rest O365 (Accès aux listes, recherche , dépôt de documents, interactions Teams/Yammer)
Certains clients assurant l’hébergement en interne sur leur propre ferme Sharepoint 2013, tout a été pensé pour être compatible On Premise.
Version Azure et hébergement hors Microsoft
L’application mono-page pouvant être la même dans tous les environnements, nous avons défini une architecture serveur utilisant les services Azure et pouvant être également déployé sous tout type de serveur.
Nous avons, dans le cadre d’un environnement hors Microsoft, intégré dans l’application une gestion des droits et des accès autonomes.
Pour limiter l’utilisation de ressources, cette architecture permet de gérer plusieurs clients sur une même instance.
L’environnement technologique global du dev à la production
Les serveurs / services :
Docker, O365, Machines virtuelles Debian (VMware, Virtualbox), App service Azure, Redis, Mysql, Nginx, Ferme Sharepoint 2013
Le nécessaire de développement :
Git (Bitbucket), Windows Visual Studio, Vim, Teams, Scripts shell, Powershell.
Les technologies JS:
NodeJs, VueJs, d3.js, webpack, Jest
Aboutissement
- Une seule application client configurable, déclinée pour chaque environnement d’utilisation.
- L’application est disponible sur l’App Source Microsoft.
- L’application peut être déployée en utilisant les services Azure. Le déploiement est automatisé (Scripts PowerShell).
- L’application peut être mise à disposition sur des systèmes. Le déploiement est automatisé (Scripts Shell).
Copie écran : Capitalisation des Experts
Complexité
Les difficultés principales sont :
- Maintien d’un code client commun.
- Sur O365, gestion des backups lors des mises à jour.
- Sur O365 demander un minimum de droit pour rendre l’application installable par tous.
- Délai de validation du package sur Microsoft App Source.
- Lenteur des déploiements Sharepoint O365.
Copie écran : Cartographie des contacts
Copie écran : Cartographie des expertises
Contactez-nous si vous avez des problématiques sur ces sujets ou ces technologies. Nous nous ferons un plaisir d’échanger avec vous.