Yammer

[ITPro] Article sur le devenir de la collaboration en 2015

Posted on

Où en est la collaboration en 2015 ?

 

 

Cloud, Yammer, SharePoint, Skype, Mobilité, tels sont les nouveaux enjeux de la collaboration pour la prochaine décennie. La collaboration s’est vu offrir de nouvelles fonctionnalités permettant une meilleure productivité et un meilleur usage de ses utilisateurs. Qu’en est-il de la collaboration aujourd’hui et des nouveaux enjeux pour le futur ?

Nouveau Virage

Durant c’est dernières années la collaboration a pris un nouveau virage, elle s’est « ouverte » sur le monde et a permis de redéfinir les usages. Durant les cinq dernières années les évolutions ont été telles qu’elles ont permis de mettre en place de nouvelles façon de fonctionner au sein d’une entreprise et même au-delà. Nous sommes rentrés dans une ère ou la collaboration est devenue un outil commun dont l’utilisabilité se fait de façon quasi transparente pour l’utilisateur jonglant d’un système à un autre, qu’il soit propriétaire ou open-source.

L’évolution de ces outils s’inscrit elle aussi dans une démarche collaborative, où les éditeurs permettent à ses usagers de proposer des fonctionnalités et ainsi permettre de créer des outils beaucoup plus pertinents et correspondent mieux aux usages quotidiens. Un des impacts qui s’est fait ressortir le plus concerne la diminution des cycles de sorti des produits dont l’objectif principal est de satisfaire la demande.

Plus précisément Microsoft est passé maître en la matière, offrant la possibilité via ses sites UserVoice de proposer des fonctionnalités aux votes qui seront potentiellement intégrés dans leurs roadmap.

Un autre exemple et toujours émanant de Microsoft, celle-ci met en ligne et de façon publique les prochaines fonctionnalités de sa plateforme Office 365 qui seront intégrés dans les prochains mois.

Communication

Lorsqu’on parle de collaboration nous ne pouvons pas ne pas parler de communication. La communication est le fer de lance de la collaboration. Essentiellement Lync puis Skype, elle s’est vu octroyer de nouvelles fonctionnalités permettant de transcender la barrière des langues étrangères en proposant des traductions de celles-ci en temps réel.

Destination le cloud

Véritable enjeu majeur de la décennie à venir, le cloud est devenu le nouveau moteur de la collaboration. Il apporte un second souffle à celui-ci en lui offrant un panel de service quasi sans limite.

L’on peut véritablement parler d’ « Online Strategy ». La plateforme Office 365 de Microsoft est en l’étendard et offre à ses usagers une qualité et une puissance de service sans égale et le tout à des coûts défiant toutes concurrences.

Nous sommes entrées dans l’ère du «  As a Service ». Cet enrichissement aussi bien IT que pour les utilisateurs permet d’exploiter une puissance quasi sans limite. A y regarder de plus près et selon les dernières informations du Gartner, Microsoft est devenu le leader sur quatre domaines stratégiques du cloud : Cloud Infrastructure as Service, x86 Server Virtualization Infrastructure, Entreprise Platform Application as a Service et Public Cloud Storage Services. Autant dire une avancée très ciblée.

Le futur est dans le social

Le social est le futur de la collaboration. Cette nouvelle brique qui avant était moins mise en avantau sein des entreprises a rapidement évoluée vers une utilisation quasi indispensable. Qui ne connait pas Facebook, Yammer et autres ? Cette couche sociale a permis d’apporter un nouveau mode de fonctionnement le « Brain Network ». Chaque usage de ces réseaux permet un enrichissement quasi instantané qu’il soit sur de la recherche, sur du travail collaboratif, sur de l’échange ou encore sur le partage de connaissances permettant de communiquer sur l’ensemble des strates d’une entreprise rendant ainsi une meilleure accessibilité entre personnes d’une même entreprise ou externe à celle-ci.

Vous avez dit Hybride ?

Le modèle hybride est et sera la nouvelle norme au sein des organisations sur la partie collaborative dans les prochaines années. L’hybride apporte des réponses là où le cloud ne peut répondre. L’on ne peut tout migrer dans le cloud et l’hybride est l’alternative. Elle offre à la collaboration la capacité de consommer et d’exposer l’ensemble des informations de l’entreprise dans un contexte protégé avec un accès direct à son S.I.

A chaque déplacement

“Anywhere, Anytime and Any Devices” tel est le slogan de Microsoft pour montrer que la collaboration s’est accélérée et qu’elle change en offrant un usage accompagnant l’utilisateur à chacun de ses déplacements. Permettant une communication rapide, des échanges simplifiés et une volonté d’être dans un enrichissement permanant. Tablettes, Portables, Smartphone, TV connectée, SmartWatch, Microsoft Band, tous ces objets connectés font que la collaboration sort de son contexte temporairement et permet d’enrichir les utilisateurs en offrant de nouvelles façons de travailler ensemble.

Et SharePoint dans tout ça ?

Difficile de ne pas parler de collaboration sans parler de SharePoint. SharePoint est à ce jour l’outil qui offre un socle collaboratif de plus en plus ouvert vers l’intégration de services qu’ils soient Online, OnPrem, Hybride, Propriétaire ou Open Source. Plus nous avançons dans le temps et plus nous constater que l’outil apporte de nouveaux usages et offre une agrégation de service telle, que les possibilités de collaboration deviennent indispensable à la vie de tous les jours. Yammer, Office 365, SharePoint Online, Office, Windows Phone, Azure …. Tous ses services sont au cœur de SharePoint et vous offre le meilleure de la collaboration pour la prochaine décennie.

Conclusion

En conclusion, nous pouvons dire que la collaboration est un domaine qui est en constante évolution et ce sur plusieurs niveaux comme nous venons de le voir qu’il soit OnPrem ou Online. Une tendance claire se démarque c’est celle du Cloud. Plus nous avançons dans le temps et plus la collaboration Online devient une évidence compte tenu de la masse importante d’information qu’il faut stocker. La collaboration reste un enjeu majeur des S.I et des éditeurs de solutions.

Nabil BABACI

Architecte SharePoint & MVP SharePoint

Sword Group

Advertisements

[yOS] Quelle perception de la collaboration en ce début d’année 2015 ?

Posted on Updated on

Voici une petite interview (ITPRO) sur la perception de la collaboration sur 2015 et 2016
et sur l’approche yOS (Yammer, Office 365, SharePoint)

Ebook : Les usages et techniques de Yammer et Office 365

Posted on

Bonjour à tous,

Nous venons de sortir sur Technet un ebook sur : Les Usages et Techniques de Yammer et Office 365.

La réunion de plusieurs spécialistes (voir la liste des auteurs ci-après) Yammer et SharePoint 2013 ainsi que Office 365 a donné naissance à de nombreux échanges qui ont été consignés dans cet eBook.

Constitué de 12 chapitres cet eBook prend toute la théorie de Yammer en charge. Voici les chapitres de cet eBook écrit par les membres du UGSF:

  1. Introduction
  2. Au commencement Twitter et Facebook régnaient en maitre absolus du réseau social
  3. Pourquoi utiliser Yammer ?
  4. Quel Usage
  5. Sécurité, Risque et Conformité
  6. Yammer et Azure
  7. Qu’est-ce que le Graph?
  8. Le développement Yammer
  9. Yammer API
  10. La customisation Yammer
  11. Retours d’expériences
  12. Les annexes

Cet eBook a été écrit par plusieurs experts et MVP SharePoint avec le soutien du Product Manager Yammer et SharePoint!

  • Alexandre Cipriani [Microsoft]
  • Pierre Erol [SharePoint MVP]
  • Gokan Ozcifci [SharePoint MVP]
  • Nicolas GEORGEAULT [SharePoint MVP]
  • Nabil Babaci [SharePoint MVP]
  • Kevin Treholan [SharePoint MVP]
  • Guillaume Meyer [SharePoint MVP]
  • Soumaya Toumi
  • Michael Nokhamzon
  • Gilles Pommier [Office 365 MVP]
  • Jean-Luc Boucho [Azure MVP]
  • Etienne Legendre

UGSF : Session Yammer API SDK

Posted on

Hello à tous !

Et voici les quelques slides relatives au projet que j’ai releasé sur l’API Yammer sur codeplex. Pour rappel le projet est sur Codeplex : https://yammerapisdk.codeplex.com/

Bon coding.

[CodePlex] Yammer : Yammer API SDK

Posted on

Hello à tous

Vous trouverez sur Codeplex, un de mes petit projet qui va vous permettre d’implémenter du Yammer (RSE Microsoft) dans vos applications grâce à ce petit Wrapper C#.

Lien ici : https://yammerapisdk.codeplex.com/

Pour le moment celui-ci vous permet essentiellement de consommer des informations sur les urls suivantes :

  • api/v1/messages.json
  • api/v1/messages/private.json
  • api/v1/messages/received.json
  • api/v1/messages/following.json
  • api/v1/messages/my_feed.json
  • api/v1/messages/algo.json
  • api/v1/messages/sent.json
  • api/v1/streams/notifications.json
  • api/v1/users/current.json
  • api/v1/users.json
  • api/v1/groups.json
  • api/v1/users/[:id].json
  • api/v1/networks/current.json

D’autres fonctionnalités vont arriver notamment celle relatives à de l’administration, de la suppression et du post de message.

Je rajouterais aussi un Kit de Site Internet utilisant cette API avec les dernières nouveautés WEB

Enjoy !

 

Yammer : Développez avec Yammer c’est facile !

Posted on

Introduction

De plus en plus nous sommes confrontés à l’utilisation des RSE, et l’on ne peut pas ne pas passer outre. Aujourd’hui le message de Microsoft est très clair nous sommes dans l’air du Cloud Computing et de ce fait Yammer, plateforme de RSE, fait partie toute intégrante du nuage magique. Elle trouve sa place tout naturellement dans cet écosystème où se mêlent gestion documentaire, SharePoint et Office 365.

Comment aborder le développement ?

Yammer propose à ce jour et selon sa propre documentation, plusieurs API pouvant être exploitées assez facilement (http://developer.yammer.com/documentation/ ). Nous retrouvons ainsi dans le détail :

  • API REST
  • SDK  : JavaScript, Ruby, Python
  • SDK Mobile : IOS, Windows Phone 8
  • Widget Embarqué : HTML/JavaScript
  • OpenGraph : API centrée sur les activités liées à l’utilisateur

Vous l’aurez compris nous pouvons développer avec Yammer sur tout type de support que cela soit du Web, du client lourd, des Apps etc… les possibilités sont pluriels et les idées ne manquent, que cela soit sur des outils tiers, ex : outils d’analyse et de reporting ( GoodData Yammer Analytics) ou des outils CRM. Un APP Store Yammer est présent et vous permets de consommer des apps et/ou d’en publier

Si l’on se concentre un peu plus sur la partie REST API, nous distinguons plusieurs « end points » disponible pour les développeurs (http://developer.yammer.com/restapi ) :

  • Messages
  • Users
  • Groups
  • Search
  • Activities
  • Autocomplete
  • Invitations
  • Suggestions
  • Networks

Plus concrètement, cette api se manipule uniquement en HTTPS et vous donnent des réponses JSON.

Quant aux opérations fournit, uniquement du GET, POST et DELETE.

Quand est-il du modèle d’authentification ?

Le modèle d’authentification est basé sur OAuth 2.0, apportant une simplicité d’opération et d’implémentation sur tout type de support client. Lorsque l’on développe des Yammer Apps toute application est composée d’un identifiant applicatif publique et d’un identifiant privé (secret).

Deux types d’authentifications existent l’un pour application serveur (Server Side Authentication Flow) :

  Etapes Requêtes
1 Demande d’authentification depuis une application server (client id, url de l’app) https://www.yammer.com/dialog/oauth?client_id=%5B:client_id%5D&redirect_uri=%5B:redirect_uri%5D
2 Une redirection vers une autorisation de l’application est demandée http://%5B:redirect_uri%5D?code=%5B:code%5D
3 Demande d’authentification depuis une application server (client id, code secret de l’app et code de l’app) https://www.yammer.com/oauth2/access_token.json?client_id=%5B:client_id%5D&client_secret=%5B:client_secret%5D&code=%5B:code%5D
3 Un token (Bearer) est fourni afin d’accéder à une requête émise GET /api/v1/messages/following.json HTTP/1.1Host: http://www.yammer.comAuthorization: Bearer abcDefGhi
4 Résultat de la requête en JSON {“type”:”user”,”id”:1534234,”network_id”:464564,”state”:”active” …….

 

L’autre authentification cliente (Client-Side Flow) :

 

  Etapes Requêtes
1 Demande d’authentification depuis une application cliente (un ID Client est fourni et l’url de l’app) https://www.yammer.com/dialog/oauth?client_id=%5B:client_id%5D&redirect_uri=%5B:redirect_uri%5D&response_type=token
2 Redirection automatique vers l’application par le navigateur, avec le token fourni. http://%5B:redirect_uri%5D#access_token=%5B:access_token%5D
3 Résultat de la requête en JSON {“type”:”user”,”id”:1534234,”network_id”:464564,”state”:”active” …….

 

Quels outils dois-je utiliser pour gagner du temps ?

Il est vrai que compte tenu de la multiplicité des « endpoints », le résultat des objets envoyés par les requêtes sont assez complexes et les « parser » toutes un à un prendrait du temps. Si vous faites du C# des outils comme JSON C# Class generator sur CodePlex (https://jsonclassgenerator.codeplex.com ) ou encore un outil online tel http://json2csharp.com peuvent vous faire gagner un temps précieux. Des outils comme RestSharp (http://restsharp.org ) peuvent vous aider dans le fait d’avoir une API purement cliente. Et sans oublier Fiddler (http://www.telerik.com/fiddler) pour débugger vos applications le plus finement possible.

 

Où puis-je trouver des exemples ?

Sans conteste la première source d’exemple est la plateforme GITHUB. Elle offre pléthore  d’implémentations des API Yammer et ce dans plusieurs langages ainsi vous pouvez trouver des « Wrapper » pour Ruby, JS, ou C#… (https://github.com/search?q=yammer )

Plus simplement un projet sur CodePlex, s’intitulant Yammer.SimpleAPI, est un simple « wrapper » pour C# et son utilisation est assez simple (http://yammersimpleapi.codeplex.com ).

 

Un petit exemple pour la route

Ici nous utilisons une bibliothèque graphique JavaScript du nom de Infovis Toolkit (http://philogb.github.io/jit ) permettant d’avoir une vue « Graphe » de nos objets. La librairie utilisée est la suivante (http://philogb.github.io/jit/static/v20/Jit/Examples/ForceDirected/example1.html ) cela vous donnera une bonne base de départ. Dans notre exemple il me suffit d’implémenter simplement comme dans les exemples fournis dans la documentation Yammer et après avoir créé et déclaré une application, les fichiers JavaScript Yammer, implémenter les méthodes «  yam.config » avec les identifiants applicatifs, appeler la méthode « yam.getLoginStatus » comme par exemple :

 

yam.config({
    appId: "APP ID"
});

yam.getLoginStatus(
function(response) {

    if (response.authResponse) {

        var finalObject;

        yam.request({

            url: "https://www.yammer.com/api/v1/users/current.json",

            method: "GET",

            dataType: "json",

            success: function(data) {

                init(data);
                //Appel de notre fonction Graph
                },

            error: function(xhr2, status2) {

                alert(xhr2.status);

            }

        });

    }
 else {

        alert("not logged in")

        }

}
);

 

Une fois que l’on a choisi quel « endpoint » nous voulons requêter, ici les données relatives à l’utilisateur courant, nous pouvons travailler avec les données JSON et les transmettre assez simplement dans notre librairie. Téléchargez l’exemple 1 et rendez-vous directement dans la fonction « init » du fichier « example1.js ».

Voici ce que nous faisons, nous récupérons les données courantes de l’utilisateur ainsi que des préférences et nous les mettons sous formes d’adjacences  dont le point de départ est l’utilisateur courant, ce qui nous donne :

 

function init(paramdata) {

    // init data

    var adj = [];

    for (var i = 0; i < paramdata.web_preferences.home_tabs.length; i++)

    {

        adj.push(paramdata.web_preferences.home_tabs[i].name);

    }

    var json = [

        {

            //root

            id: paramdata["id"],

            name: paramdata["first_name"],

            data: {

                "$color": "#557EAA",

                "$type": "image",

                "$url": paramdata["mugshot_url"]

            },

            //dépendences

            "adjacencies": adj

        }
    ];

    // suite du code

}

Par défaut le code fourni par cette librairie de prend pas en charge les images ! Si vous observez bien nous avons défini un nouveau type «  Image ». Voici l’extension de paramètre pour cette librairie, celui-ci est à mettre en dehors de la fonction « init »

$jit.ForceDirected.Plot.NodeTypes.implement({

    'image': {

        'render': function (node, canvas) {

            var ctx = canvas.getCtx();

            var pos = node.pos.getc(true);

            if (node.getData('image') != 0) {

                var img = node.getData('image');

                ctx.drawImage(img, pos.x - 15, pos.y - 15);

            }

        },

        'contains': function (node, pos) {

            var npos = node.pos.getc(true);

            dim = node.getData('dim');

            return this.nodeHelper.circle.contains(npos, pos, dim);

        }

    }

});

Tout cela nous donne le résultat suivant :

Graph

Conclusion

Nous pouvons faire pléthore de chose avec l’API Yammer, cet article n’est que purement introductif sur les possiblités offertes. Ajoutons que l’exploitation de cette donnée est très rapide ce qui permet d’avoir des résultats assez prometteurs et dans un laps de temps très courts. Avis au amateurs de développement mobiles qui souhaitent se lancer dans des applications révolutionnaires !