fun

Communiquez avec vos Groupes Office 365 grâce aux WebHooks

Citation Publié le Mis à jour le

Bonjour,

Microsoft a annoncé lors d’ Ignite 2016 la montée en puissance de la fonctionnalité Groupes dans Office 365.

Les WebHooks sont des appels HTTP POST pour prévenir de l’apparition d’un événement quelque part.

C’est d’ailleurs la technologie mère qui soutient tous les connecteurs des Groupes Office 365, lisez les lignes suivantes, vous allez comprendre pourquoi.

webhooks
Vous pouvez grâce aux WebHooks publier des messages dans les conversations des Groupes depuis n’importe où.

Quel est l’intérêt ?

L’intérêt et de pouvoir ouvrir la plateforme et la faire dialoguer avec vos applicatifs externes ou même la plateforme Office 365. Ne soyez pas trop verbeux, au risque de polluer les utilisateurs. Les cas d’usages peuvent être les suivants :

  • une erreur de gravité importante
  • un mail office 365 de priorité urgente envoyé par un client spécifique

Voici ce que vous obtiendrez dans l’onglet « Conversations » une fois les webhooks paramétrés :

sans-titre
Onglet « Conversations » d’un Groupe Office 365 avec un Webhook

Démarrez un WebHook lié à un Groupe Office 365.

Ceci se fait grâce à un connecteur, qui est accessible via l’onglet « Connecteurs » de votre Groupe :

snip_20161013143818

Il vous faut ensuite ajouter un WebHook entrant, en donnant « un nom » et éventuellement en choisissant un logo :

snip_20161013144442

Après ceci vous devez copier l’URL du WebHook généré, qui est unique pour votre Groupe Office 365 :

snip_20161013145021

 

 

l’URL est du type : https://outlook.office365.com/webhook/aaa-aaa/IncomingWebhook/aaa/aaa

Ne communiquez pas cette url elle est unique et le WebHook n’est pas authentifié. Au pire vous pouvez toujours le supprimer ou en recréer une autre. Vous pouvez créer plusieurs WebHook dans un Groupe, si vous avez à gérer plusieurs sources.

Testez le webhook

Vous pouvez utiliser hurl.it ou un outil en ligne de commande, curl (téléchargeable ici, croyez moi ne perdez pas de temps à le chercher ailleurs sur le net 😉

L’équipe dev outlook nous propose un excellent tutoriel pour utiliser curl via https://dev.outlook.com/Connectors/GetStarted je n’ai rien a y ajouter.

pour mémoire, la ligne de commande est :

SET WEBHOOKURL="https://outlook.office365.com/webhook/aaa-aaa/IncomingWebhook/aaa/aaa"

curl -H "Content-Type: application/json" -d "{\"text\": \"Hello World!\"}" %WEBHOOKURL%

Voici la correspondance complète des champs JSON avec l’affichage des WebHooks dans la conversation des groupes :

sans-titre001

{
"title": "Hello from curl",
"text": "Visitez le [Portail Dev Outlook](https://dev.outlook.com) pour en apprendre plus sur les Connecteurs Office 365!",
"themeColor": "EA4300",
"potentialAction": [{"@context": "https://schema.org",
                    "@type": "ViewAction",
                    "name": "Open Outlook Dev Center",
                    "target": ["https://dev.outlook.com"]}
                    ]
}

Lancez vous !

Les possibilités sont infinis, voici la liste de quelques liaisons envisageables et les outils …

via zapier.com (quel bel outil !)

Voici comment configurer l' »Action » dans zapier pour paramétrer « Webhooks by Zapier »

snip_20161018140636

via flow.microsoft.com

Voici la configuration qu’il faut appliquer dans flow à votre activité « HTTP » :

snip_20161018121826

via ifttt.com

Il faut ajouter le channel « Maker » dans votre « Recipie », et configurer les champs comme suit :

snip_20161018155609

via du code

Voici différentes manières de faire un appel à un WebHook avec du code, pour l’intégrer dans votre application préférée :

Technologie Code
PHP <!--?php
class OfficeSender {private $_url;
private $_jsonData;
public function __construct($url, $data)
{$this->_url = $url;
$this->_jsonData = $data;
}

public function sendRequest()
{
$ch = curl_init($this->_url);
$jsonDataEncoded = json_encode($this->_jsonData);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$result = curl_exec($ch);
}
}
$url = 'https://outlook.office365.com/webhook/aaa-aaa/IncomingWebhook/aaa/aaa';
$data = array(
'text' => 'test', // you put summary or text as key
'title' => 'welcome from php'
);

$req = new OfficeSender($url, $data);
$req->sendRequest();
?>

Node.js SharePoint www.eliostruyf.com
Powershell Set-StrictMode -Version Latest

$webhookURI = "https://outlook.office365.com/webhook/aaa-aaa/IncomingWebhook/aaa/aaa"

$pjson = @{
"title" = "Hello from powershell";
"text" = "This is my message. Hello there!";
"themeColor" ="EA4300";
}

Invoke-WebRequest `
-Uri $webhookURI `
-Method "POST" `
-Body (ConvertTo-Json -Compress -InputObject $pjson)

Un grand merci à Toufik pour avoir testé et réalisé les scripts en PHP et NodeJS !

Sources :
webhook dans sharepoint
https://www.eliostruyf.com/sample-node-js-sharepoint-webhook-application-released/
https://dev.outlook.com/Connectors/GetStarted

Pour aller plus loin :

Webhooks Azure Automation

#aOS Rennes, retour sur un super évènement, pas trop loin de la France

Citation Publié le Mis à jour le


Bonjour,

Voici un retour sur les sessions de l’évènement de la communauté aOS qui s’est déroulé à Rennes le 16 Juin 2016 dans les locaux de la FrenchTech Rennes St Malo.

Vous trouverez ci dessous l’agenda de la journée, avec les liens vers les slides et les replay des sessions réalisés par le laboratoire des technologies Microsoft Supinfo.

Agenda :

 La communauté aOS à Rennes
par Fabien Dibot et Aurélien Prévot
Changements Office 365 dans un monde qui change  ppt video
par Patrick Guimonet et Aurélien Prévot
Dessine-moi un SharePoint  video
par Kevin TRELOHAN
Office 365 pour l’éducation video
par Nathalie Goudeau et Eudes-Olivier Robert
 Linux, FreeBSD et workloads open source sur Azure Iaas ppt video
par Stanislas QUASTANA, Microsoft
 Expériences émergentes & Collaboration d’entreprise ppt video
par Fabrice BARBIN
Repas communautaire
 Présentation de Azure DevTest Lab ppt video
par Mikael KRIEF (AZUG.fr)
 Pyramid Analytics, votre Power BI on-premises
par Anne FILIPPI (Pyramid analytics) video
Les containers dans Azure ppt video
par Fabien DIBOT (SII) & Christian TRITTEN (SII)
Au-delà de Yammer : vers un nouvel Office 365 social ppt video
par Thierry BUISSON (GFI)
Xamarin – Developpement multi-plateforme en toute agilité ppt video
par Guillaume COLLIC
Office 365 & Azure : le duo parfait ! ppt video
par Sabine CHOUK (OBS) & Yoann GUILLO (Ai3)

Merci à tous les sponsors et les organisateurs, force est de constater que l’accueil était à la hauteur de nos espérances !

image[1]

« C’est joli la Bretagne et puis c’est pas loin de la France. » (Coluche)

aOS Orléans-Tours le 18 mars 2016 : pourquoi venir ?

Publié le Mis à jour le

Bonjour,

aOS_logoLa communauté aOS organise le 18 mars 2016 à Orléans une conférence ayant pour sujet les technologies collaboratives autour des produits Microsoft (Sharepoint 2016, Office 365, Skype, …).

Le but de cette conférence est de :

  • Découvrir les nouveautés autour des technologies Microsoft (SharePoint 2016, Office 365, Skype Entreprise, …)
  • Partager et échanger entre utilisateurs de la plateforme collaborative Microsoft

 

 » OK, mais je ne connais pas les technologies Microsoft « 

Justement, un des buts de la conférence est de te faire découvrir les nouveautés de la plateforme, en toute objectivité et indépendance. Un témoignage client te permettra également de te rendre compte de réel cas d’intégration de ces solutions et comment elles peuvent t’aider dans ton travail de tous les jours.

Des experts internationaux viennent animer cette conférence, et seront disponible tout au long de la journée. Ils seront ravis de répondre à tes questions (sur la compatibilité de ton site web avec ie6 par exemple).

  » Orléans c’est beau mais c’est loin … « 

Orléans est une très belle ville , si tu n’en es pas convaincu tu peux toujours consulter cette vidéo. C’est aussi le point de départ pour visiter les châteaux de la Loire, et vu que la conférence est un Vendredi tu pourras rester sur place tout le week-end et faire découvrir à ta moitié tous les châteaux à proximité (ce qui justifiera facilement que tu passes ton vendredi en conférence).

Pour venir en train, tu pourras venir de Paris Austerlitz en mois d’une heure à la gare d’Orléans (et PAS Fleury les Aubrais). Consultes les horaires de train via ce lien

Une fois arrivé à la gare d’Orléans, en 10 minutes tu seras place du Martroi, sans trainer dans les boutiques rue de la République.

snip_20160303112619

Pour venir en voiture, prends l’autoroute A10 depuis Paris, sortie 14, direction Orléans Nord puis Orléans. Le parking place du Martroi est accessible depuis la rue d’Escures ou la rue Bannier

Pour venir en TRAM, c’est via le tram B, arrêt Jeanne d’arc

Orléans_Jeanne_d'Arc_place_du_Martroi[1]Dans tous les cas, place du Martroi, si tu regardes dans la même direction que Jeanne d’Arc (la statue, pas la vrai), la CCI est sur ta DROITE (coté épée).

CCI-martroi-facade-batiment[1]

Chambre de Commerce et d’Industrie du Loiret
23, Place du Martroi
45044 Orléans Cedex 1

 » Je ne sais pas quand c’est, ni comment m’inscrire.. « 

La conférence se déroulera le vendredi 18 mars 2016 à la CCI d’Orléans à partir de 8H30, elle est gratuite et pour t’inscrire il te suffie de cliquer sur ce lien eventbrite.

Le programme est le suivant :

yos_agenda

 

 » Je n’ai pas le temps « 

Arrête de jouer à candy crush ou à 94% , tu te rendras compte du précieux temps que tu économises, et pourras ainsi venir.

 » Mon employeur ne veux pas que je vienne « 

Il a raison ! Passer toute une journée à te former gratuitement sur les nouvelles technologies est une perte de temps ! Rencontrer des clients, des conférenciers internationaux et échanger sur les bonnes (ou mauvaises) pratiques de mise en place projets ne sert à rien.

Office 365 / de la neige pour noël !

Citation Publié le Mis à jour le

Bonjour,

Avant de partir pour quelques jours de congés autour des fêtes de noël, je laisse pour mes collègues qui restent au bureau un petit tuto pour ajouter de la neige sur leur site Office 365. C’est en quelque sorte mon cadeau de fête de fin d’année.

Étape 1 : Ajoutez les outils dans la bibliothèque « SiteAssets »

Allez dans Contenu du site :

Cliquez sur « Pièces jointes » :

Dézippez et glissez le dossier « tb-tools » ci-joint dans cette bibliothèque (avec le mode explorateur windows) de façon à avoir l’arborescence suivante :

http://<votresiteoffice365>/votresite/SiteAssets/tb-tools/

Revenez sur votre page d’accueil, puis ajoutez une webpart « Editeur de contenu » :

Dans les propriétés de la webpart, saisissez le lien dans les propriétés, puis publiez votre page :

../SiteAssets/tb-tools/fall2.1/o365.html

Cliquez sur OK…

Ouvrez cette page, fermez les yeux, rouvrez les…. Ça y est !

PS : Ceci doit aussi fonctionner sur Sharepoint.

Voici une courte vidéo de l’effet :

Powershell / patientez quelques minutes en couleur ;)

Publié le Mis à jour le

Bonjour,

Il est parfois utile, pour diverses raisons, de patienter lors de l’exécution d’un script Powershell. Je livre ci-dessous le code d’une fonction permettant d’afficher un curseur coloré pendant N minutes :


function TB-CountDown($waitMinutes) {
	$startTime = get-date
	$endTime   = $startTime.addMinutes($waitMinutes)
	$timeSpan = new-timespan $startTime $endTime
	write-host "`nSleeping for $waitMinutes minutes..." -backgroundcolor black -foregroundcolor white
	
	# $cursor = @("-","\","|","/","-","","","",">","<",">","<",">","<",">","<",">","<")
	$cursor = @("-","\","|","/")
	$colors=@("Black","DarkBlue","DarkGreen","DarkCyan","DarkRed","DarkMagenta","DarkYellow","Gray","DarkGray","Blue","Green","Cyan","Red","Magenta","Yellow","White")
	 
	$i=0
	while ($timeSpan -gt 0) {
		$color = Get-Random -Input $colors
		$timeSpan = new-timespan $(get-date) $endTime
		write-host "`r".padright(1," ") -nonewline
		Start-Sleep -m 100
		if (($cursor.length) -gt $i ){
			$t =$cursor[$i]
			write-host -foregroundcolor $color "  $t" -nonewline
			$i++
		}
		else{
			$i=0
		}
	}	
		
	write-host ""
}

Attention si vous faites du transcript, chaque caractère affiché ajoute une ligne dans votre fichier de transcript

Sources : http://poshtips.com/2010/03/29/powershell-countdown-timer/