Développement avec Office 365 : quelles possibilités ?

Microsoft a présenté Office 365 en 2010 avec une volonté de mettre à disposition une plateforme Cloud complète autour de la productivité. Basé entre autres sur la suite Office pour la bureautique, Exchange pour la messagerie, SharePoint pour la collaboration et Lync qui est devenu Skype pour la messagerie instantanée, Office 365 fournit un ensemble d’outils complémentaires et toujours à jour des dernières innovations.

Malgré des fonctionnalités de plus en plus nombreuses et variées, un besoin peut parfois nécessiter du développement afin de s’adapter parfaitement à l’organisation. C’est en sachant cela que Microsoft met en place de plus en plus de possibilités pour les développeurs.

Add-in Office, Add-in Outlook, Office 365 Connector for Groups, Add-in SharePoint, Application Office 365, nous vous proposons de passer en revue principaux types de développement possible avec la plateforme Office 365.

Add-in Office

La suite bureautique Office se présente sur Office 365 pour entreprises sous le nom de « Office 365 ProPlus » correspondant aux versions 2016 des logiciels Word, Excel, PowerPoint, OneNote, Access, Publisher, Outlook, Skype Entreprise et OneDrive Entreprise.

Microsoft a lancé en 2013 un nouveau mode de développement appelé les Add-ins Office permettant de disposer de compléments à Office sur les différentes plateformes à savoir le navigateur web avec Office Online, le PC avec la suite classique Office évidemment, le Mac avec Office for Mac ou encore l’iPad avec les applications Word, Excel notamment qui sont disponibles sur l’App Store Apple.

Les Add-ins Office desktop, web, et iPad

Les Add-ins Office desktop, web, et iPad

Ils représentent l’évolution des compléments COM ou add-ins VSTO et peuvent être créés pour Word, Excel ou PowerPoint (nous verrons Outlook par la suite).

Types de Web Add-ins Office dans Visual Studio 2015 Update 2

Types de Web Add-ins Office dans Visual Studio 2015 Update 2

Le développeur peut créer un Add-in de façon à proposer un bouton intégré dans le ruban existant, un nouvel onglet de boutons dans ce ruban, ou des entrées dans le menu contextuel au clic droit. Ces points d’entrée permettent soit de déclencher une action, soit d’ouvrir une interface « task pane » qui s’ouvre en tant que panneau latéral à droite de la fenêtre.

Les Add-in commands pour Office

Les Add-in commands pour Office

Effectivement l’interface type « Task Pane » consiste à avoir l’interface de l’add-in en panneau latéral. Celui-ci est disponible pour Word, Excel ou PowerPoint, et peut par exemple utiliser des services comme Bing Translate pour traduire le texte sélectionné à la souris par l’utilisateur. Avec la capacité d’interagir avec le document, ce mode a pour but d’être un outil d’aide à la rédaction de document.

Le mode Task Pane pour Word

Le mode Task Pane pour Word

Alternativement, le mode « Content Pane » existe également et consiste à intégrer l’interface de notre add-in comme contenu du document. Disponibles pour Excel ou PowerPoint, le content pane peut ainsi être zoomé ou imprimé. Aussi à un moment donné, l’auteur du document peut décider de figer son content pane en tant qu’image afin de le transmettre comme tel. Ce mode permet par exemple de développer des modes de visualisation spécifiques sur Excel, tirant partie de données de la feuille de données. Sur PowerPoint, un content pane permet par exemple d’intégrer dans un slide, une interface récupérant les données pour se mettre à jour en live.

Le mode Content Pane pour Excel

Le mode Content Pane pour Excel

Le développement d’Add-ins Office (aussi appelé techniquement Office Web Add-in) a l’avantage d’utiliser les technologies web standards (HTML/CSS/Javascript) ce qui permet l’interopérabilité avec les différentes plateformes citées précédemment. Il est donc hébergé comme un site internet.

Par ailleurs, bien que le déploiement utilisait jusque là un site SharePoint (site de type catalogue d’application ou App Catalog), Office 365 propose de déployer des Add-ins d’entreprise via son interface d’administration centrale en uploadant le fichier manifest.xml (contenant nom, description, permissions, déclaratifs des boutons Office créés etc.) et en définissant les personnes, ou les groupes d’utilisateurs (Azure AD) qui peuvent utiliser l’Add-in.

Déploiement d'Add-in sur Office 365

Déploiement d’Add-in sur Office 365

Enfin, un Office Store a été mis en place permettant aux entreprises et ses utilisateurs de disposer d’un magasin d’Add-ins public, et aux développeurs de proposer leurs Add-ins à une audience d’utilisateurs dans le monde entier.

Add-in Outlook

Les Add-ins Outlook ressemblent fortement aux Add-ins Office discutés précédemment. D’ailleurs, ce logiciel de messagerie est intégré dans la suite Office ProPlus. Néanmoins, les Add-ins Outlook ont un fonctionnement spécifique au logiciel de messagerie, en intervenant sur les e-mails et les événements.

Il est possible d’intervenir à la visualisation d’un message ou d’un événement en détectant une pièce jointe, un contenu particulier via une expression régulière. Il est par exemple possible de détecter une adresse postale afin de fournir un plan géographique à l’utilisateur.

Un add-in qui détecte une adresse postale et propose un plan Bing Maps

Un add-in qui détecte une adresse postale et propose un plan Bing Maps

Par ailleurs, il est possible de proposer des outils d’aide à la rédaction d’un message ou d’un événement via un « Task pane » de la même manière que pour les applications Word, Excel et PowerPoint. On peut imaginer par exemple un Add-in qui va récupérer une fiche client et insérer un message prédéfini avec les informations du client dans l’e-mail.

Add-in "Templates" de Microsoft qui propose d'insérer des messages prédéfinis dans vos e-mails

Add-in « Templates » de Microsoft qui propose d’insérer des messages prédéfinis dans vos e-mails

Ces add-ins qui fonctionnent comme des compléments à Outlook fonctionnent désormais pour Office 365 de la même manière que pour le service de messagerie grand public Outlook.com.

Enfin en termes de déploiement, les add-ins Outlook développés peuvent soit être publiés sur le store Office, soit publiés en interne via un catalogue de Exchange Online.

Office 365 Connector for Groups

Les groupes Office 365 rassemblent des outils de base pour collaborer au sein de Office 365 à savoir une adresse de messagerie permettant des conversations, un calendrier partagé, un espace de stockage de fichiers, et un bloc-notes OneNote partagé. En rejoignant un groupe via Outlook, un utilisateur a accès à l’historique des conversations et les différentes ressources. Parmi les avantages de cette fonctionnalité de collaboration, nous avons la parfaite intégration avec Outlook ce qui permet aux personnes plus familières avec Outlook de ne pas être totalement perdues.

Interface Outlook Web App pour les groupes Office 365

Interface Outlook Web App pour les groupes Office 365

En novembre 2015, Microsoft a annoncé une version preview des connecteurs de groupes Office 365 avec une version finale lancée officiellement fin mars 2016 dernier. Ces connecteurs permettent de connecter des services extérieurs comme Trello, Jira, Twitter, GitHub et déjà plus de 50 autres connecteurs disponibles aujourd’hui.

Pour prendre l’exemple de Twitter, nous pouvons définir le connecteur de façon à ce qu’il crée une conversation dans le groupe tous les jours avec tous les tweets d’un utilisateur en particulier, et/ou tous les tweets ayant tel ou tel hashtag.

Connecteur Twitter pour les groupes Office 365

Connecteur Twitter pour les groupes Office 365

Il est également possible de définir le connecteur RSS plus fréquemment de façon à ce que chaque fois qu’un post est fait dans un blog, le groupe reçoit un e-mail afin de réagir en interne.

C’est donc un système qui permet par exemple de faire de la veille technologique, ou bien un système d’alertes pour des outils de type ticketing.

Il existe donc plus de 50  connecteurs pour la plateforme et si vous avez un service particulier, mais il est également possible de créer votre propre connecteur et disposer ainsi d’une solution simple pour connecter vos outils spécifiques aux groupes Office 365.

Add-in SharePoint

SharePoint 2013 avait apporté le nouveau mode de développement orienté Cloud et déploiement SharePoint Online : les Apps SharePoint. Le but était de proposer un mode de développement venant remplacer le modèle des farm solutions qui nécessitaient un déploiement côté serveur, ce qui n’est pas possible dans un contexte Cloud.

De la même manière qu’une application smartphone qui vient ajouter une fonctionnalité, une App SharePoint vient ajouter une nouvelle fonctionnalité au site sur lequel elle est installée. Cette App dispose d’un environnement relativement hermétique. C’est par la suite que le développeur déclare des autorisations pour que l’App ait accès à des ressources (via les APIs SharePoint) comme par exemple les données du site hôte, les profils utilisateurs, la recherche SharePoint etc.

En installant l’App, l’administrateur consent à ce que l’App ait accès à ces différentes ressources, de la même manière qu’une application smartphone pourrait demander l’autorisation à l’utilisateur du téléphone d’accéder à ses contacts ou à l’appareil photo.

Add-in SharePoint installé

Add-in SharePoint installé

Ces « Apps SharePoint » ou applications SharePoint comme il est possible de retrouver sur les interfacesf, ont été renommées Add-in SharePoint avec les mêmes capacités. Au fil du temps, les possibilités ont été étendues avec de nouvelles APIs sur SharePoint Online et Office 365, mais aujourd’hui également sur SharePoint 2016.

Ce qui est important de comprendre dans les Add-ins SharePoint est le fait qu’un Add-in est relié (dans le sens qu’il est contextuel) à un site hôte : le site sur lequel il est installé. Dans une collection de sites, le site racine peut avoir installé l’Add-in « Employee Directory », mais le sous-site de niveau 3 peut également l’avoir installé. Le site racine et le sous-site sont deux sites SharePoint qui sont deux sites hôtes ayant chacun leur instance de l’Add-in.

En ce qui concerne la création d’Add-in SharePoint, il existe deux modes d’hébergement possibles : SharePoint-hosted et le Provider-hosted.

Mode d'hébergement des Add-in SharePoint

Mode d’hébergement des Add-in SharePoint

Le mode SharePoint-hosted consiste en un « sous-site technique » qui est créé sur le site hôte lorsque l’Add-in est installé. Ce mode permet aux développeurs de créer des artefacts SharePoint comme des colonnes ou des listes SharePoint pour le stockage de données. Ensuite, les interfaces sont développées en HTML/CSS/Javascript avec la possibilité d’utiliser le SDK SharePoint Javascript (JSOM pour JavaScript Object Model) pour récupérer les données des listes. Ce mode a l’avantage de ne pas se soucier de l’hébergement de l’add-in et de pouvoir créer des artefacts SharePoint dans notre Add-in.

Le mode Provider-hosted consiste à héberger son Add-in à l’extérieur de SharePoint. Que ce soit sur un serveur dans votre organisation, ou sur le Cloud Azure. L’avantage ici est de pouvoir développer un website qui tire parti de l’authentification de Office 365, de l’intégration à l’interface SharePoint et des ressources Office 365 comme par exemple les profils utilisateurs, le moteur de recherche tout simplement le contenu de Office 365. Ainsi dans ce mode, vous devez gérer vous-même l’interface, le stockage de données et la montée en charge. A contrario, il n’est pas possible d’y créer des artefacts SharePoint comme des listes. Aussi, le développement se fait dans le langage web que vous voulez comme ASP.NET MVC, PHP etc. Et le requêtage des données Office 365 / SharePoint se fait grâce aux API REST de SharePoint, ou le modèle objet client en C# (Client-Side Object Model).

Dans les deux modes d’hébergement, le packaging de l’Add-in contient un élément principal qui est le manifest.xml, et qui contient toutes les informations de l’Add-in à savoir le nom, la description, la version de l’Add-in mais également la liste des ressources et le niveau d’accès à ces ressources demandées par l’Add-in.

Permissions à accorder à l'Add-in SharePoint

Permissions à accorder à l’Add-in SharePoint

L’authentification est gérée par Azure AD et OAuth comme nous verrons dans la partie application Office 365.

Enfin un développeur peut publier son add-in dans le store Office, ou bien publier son add-in dans un catalogue qui est un site SharePoint pré-créé dans Office 365.

Application Office 365 et Microsoft Graph

La build 2015 (fin avril 2015) a permis de dévoiler de nouvelles APIs Office 365 mises à disposition par Microsoft. Le nom donné à l’origine était « Office 365 Unified API » qui a été changé en « Microsoft Graph » (https://graph.microsoft.io/). L’objectif est de permettre aux développeurs de disposer d’une API unifiée pour tous les services de la plateforme Office 365. Ainsi, il est possible d’accéder aux différentes ressources de la plateforme (e-mails, contacts, fichiers, tâches, groupes) avec un seul point d’entrée. En plus de centraliser les ressources en un webservice, Microsoft a inclus une API Office Graph qui permet d’utiliser du machine learning couplé au moteur de recherche de SharePoint afin de constituer un graphe de relations entre personnes et contenus dans Office 365 pour ainsi fournir des informations intelligentes à l’utilisateur.

Contrairement aux Add-ins SharePoint, nous parlons ici de créer des applications autonomes (non liées à un site SharePoint), qui tirent parti des données Office 365. Que ce soit des applications mobiles natives pour Android, iOS ou Windows, ou des sites ASP.NET MVC, PHP, du Ruby etc, il est possible de se connecter à Microsoft Graph.

C’est dans cet esprit que nous avons vu des nouveaux portails arriver sur Office 365 comme Delve que nous pouvons appeler next-gen portal, ces nouveaux types de portails apportant une valeur ajoutée à l’utilisateur en lui permettant d’accéder directement au contenu qui peuvent l’intéresser. De la même manière il est possible d’imaginer des portails de nouvelle génération qui utilisent la richesse des APIs Microsoft Graph pour proposer de nouveaux outils riches.

Delve sur Office 365 : un next-gen portal

Delve sur Office 365 : un next-gen portal

Les mécanismes d’authentification se basent sur des standards OpenID Connect et OAuth 2.0 avec techniquement une couche Azure Active Directory. C’est aussi grâce à l’utilisation du flow d’authentification OAuth que les différents langages peuvent s’authentifier facilement à Microsoft Graph.

Enrichissez vos applications avec Microsoft Graph

Enrichissez vos applications avec Microsoft Graph

Il est donc possible de créer une application mobile qui se connecte à Office 365 pour récupérer les e-mails de l’utilisateurs et ses fichiers.

Un autre exemple consiste à enrichir votre website existant de données provenant de Office 365, comme les contacts de l’utilisateur connecté.

Enfin un dernier exemple pourrait consister à créer un website « usine à sites » permettant aux administrateurs de la plateforme SharePoint Online d’automatiser la création de sites.

  • Un utilisateur peut créer des demandes de création de site en renseignant son besoin, les fonctionnalités qu’il souhaite avoir.
  • Ensuite un administrateur peut vérifier, et valider cette demande ce qui créée le site ainsi demandé.
  • L’usine à sites applique automatiquement un template défini au préalable (listes SharePoint prédéfinies, contenu prédéfini par exemple),
  • L’usine à sites applique la charte graphique de l’entreprise.
  • On obtient alors une application Office 365 d’automatiser accélérant les opérations de l’administrateur, et en évitant les erreurs humaines de manipulation.

Office 365, un nouveau monde pour les développeurs SharePoint et les développeurs en général

Office 365 est donc une plateforme qui comprend désormais un nombre d’outils de plus en plus nombreux et varié. Bien que cela puisse être difficile de choisir dans cette diversité, ces outils répondent à la plupart des besoins d’outils de productivité pour votre organisation. Néanmoins, des développements sont parfois nécessaires pour répondre à des besoins spécifiques de l’organisation.

Nous avons vu dans cet article quelles étaient les principales possibilités en termes de développements pour étendre les différents outils proposés par la plateforme afin de les adapter au mieux à vos besoins.

Enfin, comme nous avons vu à la Build 2016, Microsoft continue toujours d’améliorer sa plateforme et les possibilités pour les développeurs (intégrez par exemple Skype dans vos applications tierces) afin d’avoir une plateforme Office 365 la mieux adaptée aux besoins de votre organisation.

Un commentaire. Laisser un commentaire

Bonsoir,

Merci pour votre article , existe-t-il pour outlook 2010 un logiciel ou complément en français  » Add-in « Templates » de Microsoft  » pour insérer les modelés types , comme vous le mentionner dans votre article ?
Mille mercis pour votre aide !

Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *