Le Cloud de Vincent - Blogeurs - MicrosoftTouch

Le Cloud de Vincent

Le Cloud de Vincent

Découvertes, astuces et curiosités de l'ère du cloud
  • Build automatisé de solutions SharePoint (full trust) 2013 – Où sont mes solutions?

    Suite de la série sur le build automatisé de solutions SharePoint 2013 (full trust) avec tfs 2013 et visual studio 2013.

    http://microsofttouch.fr/default/b/vincent/archive/2014/10/29/build-automatis-233-de-solution-sharepoint-server-fulltrust-avec-visual-studio-online.aspx

    Si vous avez suivit ma série vous avez dû vous rendre compte que les dll étaient compilées mais que les wsp étaient absents.

    C’est parce que par défault msbuild ne package pas vos solutions. C’est dommage hein ?

    Voici un peu de documentation supplémentaire qui indique d’ajouter IsPackaging=true à la définition de build en tant que paramètre.

    http://msdn.microsoft.com/en-us/ff622991.aspx

    Ce qui nous donne au final /p:VisualStudioVersion=12.0;IsPackaging=true

    A bientôt pour la suite des articles.

  • Visual Studio 2013 Update 4 et build automatisé de solutions SharePoint (full trust)

    Pour faire suite à ma série sur le build automatisé de solutions full trust pour SharePoint voici une mise à jour de mon correctif.

    En effet si vous regardez la seconde erreur expliquée ici vous verrez qu’il faut remplacer des lignes pour faire fonctionner le tout.

    Avec l’update 4 on sent que Microsoft prépare l’arrivée complète du 64 bits puisque les nouvelles lignes de remplacement sont désormais.

    <Import Condition="'$(Language)' == 'C#'" Project="$(MSBuildExtensionsPath32)\Microsoft\Windows Workflow Foundation\v3.5\Workflow.Targets" />

    <Import Condition="'$(Language)' == 'VB'" Project="$(MSBuildExtensionsPath32)\Microsoft\Windows Workflow Foundation\v3.5\Workflow.VisualBasic.targets" />

    Vous noterez l’ajout du 32 dans le paramètre (le paramètre précédent n’a plus l’air disponible).

    Bons builds !

  • Mise à jour de Novembre des outils développeurs Office

    Si vous faites du développement SharePoint vous avez sûrement remarqué que les outils ont une nouvelle mise à jour de disponible.

    Avec les précédentes versions, les dll’s Microsoft.SharePoint.Client.Search et Microsoft.SharePoint.Client.Search.Applications n’étaient pas présentes (probablement un oubli).

    Deux solutions s’offraient alors à vous :

    • Vous assurer que tous vos développeurs avaient les binaires de SharePoint installés sur leur machine

    • Embarquer une copie de la dll prise sur une machine SharePoint

    Dans les deux cas ce n’était pas pratique.

    Ces dll sont maintenant présentes en version 15 et 16 à cet endroit C:\Program Files\Common Files\microsoft shared\Web Server Extensions\

    De plus si vous aviez des références à une copie embarquée, en réouvrant le projet, la référence devrait se mettre à jour automatiquement (pas toujours le cas).

    Je n’ai pas trouvé de changelog officiel de la part de Microsoft à ce sujet mais j’ai pensé qu’il était intéressant que ce soit écrit quelque part.

    Bons développements

    http://aka.ms/OfficeDevToolsForVS2013

  • Build automatisé de solution SharePoint server (fulltrust) avec visual studio online

    Introduction

    Depuis plusieurs articles j’évoque le fait que nous (Negotium, la compagnie où je travaille) avons migré vers visual studio online (TFS Online). Ce service offre une majorité des fonctionnalités offertes par la version on premises de Team Foundation Server 2013 et même certaines fonctionnalités exclusives.

    Si vous n’avez qu’une vague idée de ce que peut faire TFS2013/VSO et que vous voulez en apprendre plus je vous recommande très fortement Professional Application Lifecycle Management de chez Wrox.

    Les grands axes de Visual Studio Online

    De manière générale TFS2013/VSO s’articule et intègre fortement les uns avec les autres les axes suivants :

    • Planification : Permet de planifier le travail à effectuer (agile ou cascade,...), suivre l’avancement, voir l’évolution de la capacité de travail...

    • Code : Permet de centraliser le code, suivre l’évolution du code, tout ce que faire un contrôle de code source digne de ce nom de manière générale.

    • Compilation : Permet de générer des versions compilées et versionées du code, suivies, avec un résumé des changements.

    • Tests : Permet de s’assurer de la qualité des versions en exécutant des tests unitaires, des déploiements, des tests fonctionnels automatisés ou non.

    Méthodologie de mise en place

    Bien évidement tous ces éléments sont liés les uns aux autres ce qui permets des scénarios du genre « tel test automatisé utilise telle portion du code et a planté, remontée des rapports et des traces au développeur concerné et ajout des éléments pour suivre la correction du bug ».

    Quand on commence à apprendre comment fonctionne cette industrie logicielle on s’aperçoit qu’il faut mettre les choses en place dans un certain ordre. En Juillet nous avons migré notre code existant (ok pas dans l’ordre mais dû à la migration), tout de suite après ça nous avons reconsolidé nos backlogs et réorganisé les équipes en scrum. Nous étions déjà en scrum par le passé mais suite à de nombreux mouvements d’équipes, la méthodologie s’était un peu relâchée.

    Compilation automatisée – avantages

    L’étape suivante était donc la mise en place de compilation automatisée avec les objectifs principaux suivants :

    • Suivit, versionnement et constitution de notes de versions des livrables (déjà fait mais à la main)

    • Avancer vers la mise en place de tests automatisés

    • Gain de temps

    Les options avec Visual Studio Online

    Vous avez deux possibilités pour effectuer de la compilation automatisée avec Visual Studio Online :

    • Utiliser le service de build préconfiguré en ligne

    • Configurer votre propre machine et la connecter au service

    L’avantage évident du service de build hébergé c’est de ne pas avoir à passer du temps en configuration de l’environnement et de ne payer que pour les minutes de compilation que vous consommez et non pour le reste du temps où la machine serait inutilisée.

    Si l’on se fie à cette page http://www.visualstudio.com/en-us/get-started/hosted-build-controller-vs.aspx#software il est indiqué que SharePoint 2010 et 2013 (ainsi que de nombreux autres composants) sont installés sur les environnements de build fournis par Visual Studio Online. J’ai donc naturellement commencé à configurer mon plan de build pour utiliser ce service.

    Cependant ce qui n’est pas préciser c’est que l’édition de SharePoint installée est Foundation. Mon projet se basant sur certains des dll’s de l’édition Server (publication, traduction…) deux choix s’offraient à moi :

    • Embarquer une copie locale des dll’s manquantes sur mon contrôle de code source

    • Monter ma machine de build

    Il est évident qu’embarquer les dll’s manquantes va nettement alourdir le poids des sources, risque de causer des conflits et nécessitera de les mettre à jour régulièrement. Je me suis donc tourné vers la seconde option.

    Configurer sa machine de build pour SharePoint Server 2013 (full trust)

    Les étapes de configuration de la machine de build ne sont pas si compliquées que ça ce que j’ai eu à faire :

    • Installer SharePoint server 2013 (uniquement les binaires, pas de psconfig à passer)

    • Installer Visual Studio 2013

    • Installer les Office dev tools (depuis web platform installer)

    • Installer le contrôleur et l’agent de build TFS, puis le connecter à mon visual studio online (http://msdn.microsoft.com/en-US/library/ms181712#deploy )

    Première erreur : version passée par MSBuild

    Une fois terminé j’ai eu le droit à un beau message d’erreur de ce genre : cannot find build process template for project type SharePoint…

    Ceci est dû au fait que pour je ne sais quelle raison, le framework MSBuild (c’est la technologie qui gère le processus de build) estime que c’est la version 11 (2012) de visual studio qu’il faut utiliser. Cela ne correspond pas à la version de visual studio et des outils de développement Office installés.

    Pour fixer ce problème il suffit d’éditer la définition de build, dans l’onglet process, puis avancé, puis spécifier /p:VisualStudioVersion=12.0 pour MS Build Arguments.

    Seconde erreur : Version du tooling SharePoint

    Une fois que c’est fait, une autre erreur, principalement liée au même problème : avec l’arrivée de la nouvelle version de workflows, les process templates de workflows traditionnels ont été déplacés mais les références pas mises à jour. Je suis d’ailleurs surpris que 2 ans après la sortie des première versions des outils cela n’ait toujours pas été corrigé.

    Commencez par faire un backup du fichier C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\SharePointTools\Microsoft.VisualStudio.SharePoint.Workflow.targets puis éditez le.

    Au lignes 37 et 38 remplacez

    <Import Condition="'$(Language)' == 'C#'" Project="$(MSBuildFrameworkToolsPath)\Workflow.Targets" />

    <Import Condition="'$(Language)' == 'VB'" Project="$(MSBuildFrameworkToolsPath)\Workflow.VisualBasic.targets" />

    Par

    <Import Condition="'$(Language)' == 'C#'" Project="$(MSBuildFrameworkToolsPath)\Microsoft\Windows Workflow Foundation\v3.5\Workflow.Targets" />

    <Import Condition="'$(Language)' == 'VB'" Project="$(MSBuildFrameworkToolsPath)\Microsoft\Windows Workflow Foundation\v3.5\Workflow.VisualBasic.targets" />

     

    Mot de la fin

    Et voilà! Maintenant les builds automatisés de projets full trust pour SharePoint Server 2013 sont en place. A noter que c’est valable pour Team Foundation Server 2013 comme pour Visual Studio Online. Aussi ma machine de build est hébergée dans Azure mais qu’elle pourrait l’être on prem dans les deux cas de figure.

    La prochaine fois je vous parlerai probablement d’incrémentation des numéros de version des assemblies et/ou de scripts pré/post build puisque ce sont les deux éléments qui me manquent avant de pouvoir commencer à mettre en place du test automatisé.

  • Conversion d’un certificat protégé par mot de passe (pfx) en certificat non protégé (snk)

    Au travail je suis en train de mettre en place du build automatisé pour des projets SharePoint (full trust) sur visual studio online. (Attendez-vous à voir plusieurs articles à ce sujet au fur et à mesure que je rencontre et résous des erreurs)

    Qui dit développement SharePoint dit assemblies signés par un certificat. Lorsque l’on initialise le projet on a deux options :

    • Certificat est protégé par mot de passe : (extension pfx) c’était au début du tooling SharePoint, ou bien si vous avez monté la structure de solution (visual studio) vous-même avec plusieurs assemblies.

    • Certificat non protégé : (extension snk) option par défaut du tooling depuis quelques années

     

    Dans mon cas le certificat était protégé par mot de passe, cependant le problème c’est qu’il faut taper ce mot de passe lorsque l’on veut compiler pour la première fois les sources sur une nouvelle machine. Ce n’est vraiment pas pratique lorsque l’on fait du build automatisé (pas d’humain pour taper un mot de passe lors de la compilation). Ce qui nous donne des messages d’erreur de ce genre.

    Cannot import the following key file: cert.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_XXXXXXXXXXXXXXX

    C’est d’autant moins pratique lorsque l’on essaie de configurer ça avec les hosted build machines. Ces machines sont des machines pré configurées par Microsoft pour éviter d’avoir à monter sa propre machine de build. (on ne peut donc pas les administrer).

    Le framework msbuild ne fournit pas de manière simple de rentrer le mot de passe et l’outil en ligne de commande sn.exe (sert à importer les certificats dans le store de la machine) prompte lui aussi pour le mot de passe. En fait c’est logique : un mot de passe doit être mémorisé mais écrit nulle part. (principe de sécurité de base).

    Il me restait donc à supprimer le mot de passe du certificat, seulement l’interface visual studio ne permet pas d’effectuer cela. Il n’y a qu’à générer un nouveau certificat dans ce cas ? Surtout pas ! Cela va changer la public key du nom d’assembly et potentiellement poser des problèmes pour tous les éléments enregistrés en base de données après la mise à jour ! (je pense notamment aux event receivers).

    La solution ? Convertir le certificat grâce à un bout de code (exécuté dans une app console) trouvé sur pastebin http://pastebin.com/dpMxqsK4

    X509Certificate2 cert = new X509Certificate2(@"KEY.pfx", "pfxPassword", X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet);

    RSACryptoServiceProvider provider = (RSACryptoServiceProvider) cert.PrivateKey;

    byte[] array = provider.ExportCspBlob(!provider.PublicOnly);

     

    using (FileStream fs = new FileStream("FileName.snk", FileMode.Create,     FileAccess.Write))

    {

    fs.Write(array, 0, array.Length);

    }

    En espérant que cela vous fasse gagner du temps dans la mise en place de vos builds automatisés sur visual studio online.

     

    PS : idéalement votre entreprise devrait acheter un certificat intermédiaire public et monter une PKI. A partir de cette PKI vous devriez générer vos certificats protégés par mot de passe. Ces certificats devraient être importés une fois (via GPO si possible) sur les machines des développeurs et les machines de build. Cela permettrait de :

    • garder la clef privée protégée même en cas de vol des sources

    • ne pas avoir à donner le mot de passe aux développeurs ou à le mettre dans un script

    • permettre à vos clients de s’assurer que l’assembly qu’ils reçoivent a bien été publié par vous et non par un attaquant

    • mettre en place du build automatisé (sur vos machines uniquement pas celles hébergées par VS online)

    (voir authenticode http://msdn.microsoft.com/fr-fr/library/ms172240.aspx )

  • Localisation du JavaScript d’une solution Full Trust

    Introduction

    Nous, développeurs SharePoint des anciens temps où régnaient les solutions « full trust » avons bien compris une chose : l’utilisation de JavaScript améliore de loin nos solutions.

    En effet cela permet de diminuer la charge des serveurs et de rendre l’expérience utilisateur plus « responsive ».

    Mais voilà, lorsque l’on veut afficher des messages dans des langues différentes en fonction de l’utilisateur, comment faire ? En .NET (comprenez côté serveur) c’est assez simple, il suffit d’utiliser des ressources. (voir un de mes billets relatif au sujet)

    Solutions pour ASP.NET standard

    Le framework asp.net permet déjà une localisation des fichiers JavaScripts, cependant ces méthodologies n’est pas forcément très pratiques compte tenu du cycle de déploiement de SharePoint.

    http://msdn.microsoft.com/en-us/library/bb398935.aspx

    http://msdn.microsoft.com/en-us/magazine/cc135974.aspx

    Une autre méthodologie plus adaptée à SharePoint consiste à faire des dupliquas des fichiers JavaScript et de les déployer dans des sous-dossiers par LCID (1033, 1036…). Cela oblige au pire à dupliquer du code, au mieux à avoir un autre emplacement où l’on gère les ressources. (en plus des resx). (c’est comme ça que SharePoint fonctionne en interne)

    ScriptLink.RegisterScriptAfterUI(this.Page, "JSample/Scripts/myscript.min.js", true, true);

    C’est le second paramètre à true qui permet de faire ça lors de l’appel du script.

    Solution proposée par Microsoft

    En continuant de chercher je suis tombé sur ce billet de l’équipe produit SharePoint http://blogs.msdn.com/b/sharepointdev/archive/2012/04/05/how-to-localize-custom-script-resources-in-sharepoint-2010-abhishek-verma.aspx

    Ils expliquent que SharePoint contient un handler qui permet d’exposer les ressources situées dans la ruche sous forme de JSON (génial !).

    Cependant je ne suis pas hyper fan de la manière dont ils appellent ces ressources car :

    - La manière dont c’est présenté suggérerait de devoir faire du script inline (pas bien)

    - L’appel qu’ils font risque de planter si on est dans une collection de site sur une web app qui n’a pas de collection de site racine

    - Les ressources une fois chargée ne sont pas confinées à un espace de nom ce qui risque de conduire à des conflits avec d’autres composants

    - On ne contrôle pas la séquence de chargement avec l’appel qui est fait, autre risque de conflits

    - Le chargement se fait en même temps que le reste de la page et non de manière asynchrone ce qui dégrade l’expérience utilisateur

    Ma solution

    Voici la solution que je propose, nous allons faire un chargement de script asynchrone via jquery et le JSOM SharePoint et charger les ressources dans un espace de nom dédié. Cela va nous permettre de nous affranchir de toutes les limitations citées plus haut. Le seul point négatif, il va falloir ajouter jquery si ce n’est pas déjà présent. Ce problème n’en est pas vraiment un puisque depuis plusieurs années déjà les développeurs SharePoint utilisent JQuery au sein de leurs projets.

    Vous trouverez l’exemple de code à cette adresse https://github.com/baywet/jsfulltrustlocalize

    Github

    Puisqu’il faut bien une première fois, j’en profite pour vous annoncer que j’ai créé un compte sur github et que c’est là-bas que je posterai mes exemples de code à partir de maintenant. C’est une plateforme très intéressante.

    Le gros point positif ? Si jamais il y a des points d’amélioration dans mes exemples, vous pouvez y participer (ou les autres développeurs présents dans le monde entier).

  • Pourquoi ne pas inclure de contrôles télérik dans vos produits SharePoint ?

    Avant tout cet article se veut être un retour d’expérience sur un cas assez particulier du développement SharePoint. Les produits et composants telerik sont de très bons produits qui permettent d’accélérer vos développements (SharePoint ou non) en vous fournissant des contrôles utilisateurs poussés et paramétrables à souhait.

    Certains d’entre vous le savent déjà, je travaille dans une équipe qui développe des produits pour SharePoint (www.oceanik.com et les autres n’ont pas encore de site dédié, on a encore du travail côté marketing).

    Développer du produit est assez différent du développement de solutions ponctuelles (pour répondre au besoin d’un client particulier dans un contexte particulier). En effet votre produit va être déployé dans une myriade d’environnements complexes et différents et être utilisé pour un même besoin initial mais de manières variées.

    Dans ce contexte nous avons utilisé des composants télérik dans nos produits SharePoint. Après plusieurs mois sans problèmes certains de nos clients nous sont revenus en nous indiquant que depuis l’installation de nos produits certaines de nos fonctionnalités ne fonctionnaient pas correctement ou bien que d’autres développements ne fonctionnaient plus du tout.

    Le problème ? Ils avaient déjà une version de télerik déployées, soit via les composants télérik pour SharePoint (qui embarquent les composants télérik pour asp.net que nous utilisions) soit à cause d’autres produits/développements customs. Les versions rentraient en conflit.

    La solution ? Faire de la redirection d’assemblies me direz-vous. Oui mais voilà, quand on emploie ce genre de technique il faut dire que telle version demandée spécifique correspond à telle version sur le système. Si c’est quelque chose sur lequel on peut accompagner le client, il est difficile d’industrialiser le processus, car impossible de savoir à l’avance quelle version aura le client. Autre détail, les thèmes disponibles ont beaucoup changé au fur et à mesure des versions, ce qui faisait aussi planter nos fonctionnalités.

    La vraie solution ? Nous avons dû nous débarrasser de télérik. Dans notre cas il s’agissait simplement de grilles, et nous les avons remplacées par des contrôles javascripts (kendo ui, du télérik en fin de compte).

    De manière plus générale, le développement de solutions « full-trust » ne dispose malheureusement pas d’isolation de contexte d’exécution, c’est d’ailleurs ce qui a mené au nouveau modèle d’apps pour SharePoint. Mon conseil pour tous vos développements SharePoint full trusts : Réduisez au minimum possible (contraintes de coûts) vos dépendances à des composants tiers.

    De la même manière localisez toujours l’utilisation de librairies javascript (ex jquery noconflict), vous ne savez jamais si un de vos clients n’aura pas une vieille version de la même librairie qui posera problème.

    Evidemment tous ces problèmes ne se posent pas avec des apps, donc derniers conseils : ne faites des solutions full trust que si vous en avez absolument besoin.

  • Changement dans le cycle de livraison des CU pour SharePoint


    L’équipe SharePoint a récemment mis à disposition les CU de Juillet pour SharePoint 2010 et 2013.

    Ils ont introduit deux grosses nouveautés. Premièrement les CU (mises à jour cumulatives) ne seront plus publiées tous les deux mois mais tous les mois. Cela s’inscrit dans la démarche d’accélération des cycles produits et « d’agilisation » des équipes produits.

    http://blogs.technet.com/b/stefan_gossner/archive/2014/07/09/july-2014-cu-for-sharepoint-2013-has-been-released.aspx

    http://blogs.msdn.com/b/joerg_sinemus/archive/2014/07/09/sharepoint-2010-and-july-2014-cu.aspx

    Autre précision le CU pour SharePoint 2013 apporte des changements au niveau de l’authentification S2S, du support des reverses proxies et des AAM pour plus d’informations :

    http://technet.microsoft.com/en-us/library/dn751515%28v%3Doffice.15%29.aspx?utm_content=buffer6fea4&utm_medium=social&utm_source=linkedin.com&utm_campaign=buffer

    Rappel ne déployez un CU sur une ferme existante uniquement si cela corrige un problème que vous avez et/ou que le support Microsoft vous le demande. Il est de bonne pratique d’inclure le dernier CU lorsque l’on procède à une installation « fraiche » (quoi que ce point est sujet à débat)

  • Ayez tous les outils d’une startup de première classe en 10 min

    Au travers de ma carrière j’ai eu la chance d’être impliqué dans plusieurs startups et/ou petites entreprises essayant de créer un produit ou service numérique. Cependant une question se pose très rapidement :

    Comment avoir des outils de travail efficaces en minimisant l’impact financier ?

    Et par impact financier j’entends aussi le temps passé à les mettre en place, car c’est du temps qu’on ne passe pas sur son cœur de métier ou plus généralement à créer de la valeur.

    Quels outils ?

    De quels outils a-t-on besoin en startup ? C’est assez simple, les mêmes que dans les grandes entreprises :

    - une suite de bureautique

    - un système de courriels

    - de la téléphonie voir si possible de la messagerie instantanée et unifiée

    - un espace de collaboration

    - un contrôle de code source

    - une industrie logicielle (organisation, tests, déploiements,…)

    Le gros problème étant qu’on ne peut pas vraiment utiliser des services publics (essayer de trouver des clients en envoyant des courriels depuis gmail ou hotmail, c’est pas gagné) et que mettre en place et maintenir tous ces systèmes représente un coût énorme pour une startup.

    Quelle est la solution que je propose ?

    Un trio qui répondra à la majorité de vos besoins sans vous ruiner ni perdre des heures en mise en place : Office 365 + Azure + Visual Studio online.

    Avec Office 365 vous avez :

    - La suite Microsoft Office

    - SharePoint online, tout ce qu’il vous faut pour collaborer en interne et en externe atour de vos documents

    - Exchange online, une vraie messagerie d’entreprise

    - Lync online, messagerie instantanée, téléconférences, et même de la téléphonie complétement intégrés (pour la téléphonie il faudra rajouter quelques étapes de configuration)

    - …

    http://office.microsoft.com/fr-fr/business/

    Avec Visual studio online vous avez :

    - Visual Studio : environnement de développement plus que complet

    - Contrôle de code source

    - Planification du travail (agile, CMMI, …)

    - Industrie de tests

    - …

    http://www.visualstudio.com/explore/application-development-vs

    Avec Azure vous avez :

    - Enormément de briques applicatives, d’infrastructure etc.

    - Une intégration avec office 365

    - Une intégration avec Visual Studio Online

    - …

    http://azure.microsoft.com/fr-fr/documentation/

    Scenario : Ma startup Idéale

    Planification

    On est lundi matin, le CEO et le responsable marketing (on aime tous se donner des titres importants dans une startup) rentrent dans la réunion de sprint planning. Ils ont vendu une nouvelle fonctionnalité à un client important. Ils ont déjà passé le dimanche après-midi à saisir les histoires utilisateurs (les grandes lignes des fonctionnalités) et à les prioriser dans TFS (visual studio online).

    En tant que CTO et avec mon équipe de développeurs je découpe tout ça en tâches en me servant des démonstrations faites au client qui se trouvent sur SharePoint online pour avoir plus de détails. Nous sommes prêts à coder. Ah j’allais oublier, en tant que startup, nous ne sommes pas souvent au bureau, toute la réunion s’est déroulée sur Lync online en visio-conférence.

    Travail

    Pendant la semaine nous développons dans visual studio, un des développeurs est dédié aux tests unitaires et automatisés. Pendant que je code une fonctionnalité, il va coder les tests qui permettent de vérifier qu’elle fonctionne bien. Cela va surtout nous assurer qu’un bug ne sera pas introduit pas la suite sans qu’on s’en aperçoive.

    Evidement à chaque fois qu’on archive quelque chose, on le lie à la tâche sur laquelle on travaille et on met à jour son état. Notre CEO pressé d’avoir sa fonctionnalité opérationnelle peut suivre l’avancement sans avoir à nous déranger quand on code pour nous demander.

    Tests

    Toutes les nuits j’ai un plan de tests qui tourne, il compile le travail de la journée, le déploie dans une machine dans azure, exécute les tests et m’enregistre les résultats. En plus j’ai une vm de qualification sur laquelle est déployée la dernière version stable toutes les semaines. Le CEO peut faire des démonstrations et des tests manuels sans que j’aie à maintenir cette machine à jour.

    Un bug malgré tout ça ? Pas de problème, on le rajoute et on le documente dans TFS, je l’attribue à un de mes développeurs, on le corrige et on livre.

    Livraison

    Bien évidemment l’infrastructure de production est sur azure aussi. S’il s’agit d’un simple site/service web, j’utilise la fonctionnalité de bascule à chaud. Ça intervertit le site de qualification avec la production. Dans tous les cas je fais en sorte d’automatiser au maximum le déploiement, si besoin au moyen de scripts. Ça permet d’éviter les erreurs et ça fait gagner du temps.

    Bilan

    A la fin du sprint la fonctionnalité est livrée et notre startup aura pu se concentrer sur ce qui lui importe : développer son marché et son cœur de métier. Bien entendu ce n’est qu’un cas de figure parmi d’autres et j’aurai aussi pendant la semaine envoyé quelques courriels et pris quelques contacts/rendez-vous grâce à exchange online. Mais le tout en minimisant le bruit qui me rend ainsi que mes collègues inefficaces au travail.

    Je veux ça pour ma startup !

    Le domaine

    Ok ok, rien de plus facile. Il va falloir dans un premier temps acheter un nom de domaine. Je recommande un des grands fournisseurs comme gandi ou godaddy car office 365 pourra les configurer automatiquement pour vous. (à noter que vous n’avez pas obligatoirement besoin du domaine mais je vous le recommande pour forger votre identité)

    Office 365

    Seconde étape commandez un plan office 365 http://office.microsoft.com/fr-fr/business/comparer-toutes-les-offres-office-365-pour-les-professionnels-FX104051403.aspx

    Si vous ne savez pas lequel prendre, le deuxième en partant de la gauche pour une startup sera plus que suffisant, il intègre la licence office pour PC. Durant la configuration, on vous demandera si vous avez un domaine. Si vous passez par un grand fournisseur, il suffit de donner vos identifiants et la configuration se fera pour vous. Sinon les étapes de configurations vous seront indiquées.

    En 5 minutes vous avez déjà l’infrastructure et les outils de bureautique digne d’une multinationale pour un prix réduit.

    On va passer directement à l’étape suivante, vous pourrez créer les comptes des autres membres de l’entreprise plus tard.

    Azure

    Maintenant connectez-vous sur manage.windowsazure.com avec votre compte office 365 et cliquez sur « inscrivez-vous à azure ». Quelques renseignements plus loin et vous voilà prêts à utiliser Azure pour bâtir de superbes applications.

    Visual Studio online

    Ce qui nous intéresse se trouve en bas à gauche.

    tfs3651

    Cliquez sur new

    tfs3652

    Donnez un nom à votre instance visual studio online et prenez bien soin de sélectionner votre répertoire (celui qui est en fait lié à office 365).

    Si vous avez déjà une souscription Azure, cette vidéo explique comment utiliser votre domaine office 365 sur cette souscription https://www.youtube.com/watch?v=pN0us3Zp-TQ

    Conclusion

    Voilà vous avez maintenant une infrastructure qui vous permet de faire tout ce que j’ai mentionné plus haut en 10 minutes de configuration et avec des coûts minimes. Les employés de l’entreprise utilisent un seul et unique compte pour tous leurs outils.

    N’hésitez pas à explorer les possibilités qu’offrent les services en ligne (Azure + office 365 +…) de Microsoft (ou d’autres). Ce sont des éléments à prendre en compte dans la stratégie de votre entreprise qui sont en train de changer les règles du monde de l’entreprise.

    J’ai pris comme exemple une startup mais sachez que mon entreprise actuelle www.negotium.com (150 personnes) est à 100% sur office 365 pour la collaboration, les communications unifiées et la messagerie. Nous utilisons déjà Azure pour une majeure partie de nos infrastructures. Et nous (j’en ai la responsabilité) sommes en train de migrer notre industrie logicielle vers visual studio online.

  • Migration Team Foundation Server 2010 vers Visual Studio Online : différence de modèle de processus

    Mise en contexte

    Dans ma compagnie (www.negotium.com ) nous sommes en train de réaliser une migration importante pour nous peuple du développement : TFS 2010 vers visual studio online (ex tfs online).

    Cela va apporter beaucoup de nouvelles possibilités et outils à notre façon de développer et ça va permettre à notre département TI de décommissionner une (plusieurs en fait) machine. Je suis en train de préparer un article plus complet sur les avantages de la solution en ligne par rapport à l’édition en ligne.

    Entre TFS 2010 et VS Online il y a quand même eu :

    - TFS 2012

    - TFS 2013

    Outils

    On parle donc d’une migration de 3 versions (enfin ça dépend de comment on compte). Avant tout je voudrais dire qu’on utilise l’outil de migration gratuit http://www.opshub.com/main/index.php/products/vsomigrationutility

    Autre information à prendre en compte, nous ne sommes intéressés que par la migration des éléments de travail (tâches, bugs…), de la sécurité et du contrôle de code source (incluant les notes, les liaisons etc). Les plans de build seront à refaire de toute manière et les agents de déploiements/tests seront gérés par VSO/Azure.

    Différence des modèles

    Nous avons cependant rencontré une difficulté lors de nos tests de migration : des différences entre les modèles de processus d’organisation (le truc que vous choisissez tout au début de la création d’un projet) entre la version on prem et online.

    clip_image002

    La solution est assez simple, mais il faut arriver à la trouver tout de même alors je la poste ici des fois que cela vous fasse gagner du temps. Je tiendrais à remercier Jérémie qui travaille avec moi sur ce projet de migration.

    Il nous a suffi de renommer les champs existants pour qu’ils correspondent au nommage utilisé sur VSO avant la migration. Info : les TFS power tools ont une fonctionnalité pour ça mais parce qu’il s’agissait de champs système, on a dû le faire en ligne de commande. (vous devez bien entendu être admin du server tfs)

    witadmin changefield /collection:http://negotiumtfs:8080/tfs/DefaultCollection /n:System.HyperLinkCount /name:"Hyperlink Count"

    plus d’informations ici

    http://msdn.microsoft.com/en-us/library/dd236909.aspx

    Une fois cela effectué sur les champs en défaut nous avons pu continuer nos tests.

    Je vous tiendrais au courant si jamais nous rencontrons d’autres difficultés.

  • Disponibilité des Samples et SDK office 365 sur Github

    Pour ceux qui ne l’auraient pas encore vu les équipes de Microsoft qui travaillent sur Office 365 ont créé un espace sur GitHub.

    https://github.com/officedev

    Qu’est-ce qu’on va y trouver ?

    - Des exemples de code réalisés par Microsoft et par la communauté

    - Des démonstrations présentées pendant les sessions de Microsoft et par la communauté

    - Une partie des « documents » sources pour la documentation MSDN

    - Les SDK pour les plateformes « tierces » (IOS, androïd…)

    - …

    Le message c’est que Microsoft s’ouvre à la communauté et veut créer un seul endroit où les développeurs (toute plateforme confondues) peuvent se retrouver pour participer à les projets ensemble et mettre du contenu à disposition. Donc n’hésitez pas à aller y faire un tour et à soumettre du contenu/des patchs/des projets.

    Allez voir http://dev.office.com aussi.

  • Office 365 mise à disposition de la roadmap

    Je voulais écrire un article à ce sujet il y a quelques jours mais Christophe a été plus rapide que moi.

    C'est ce qui est bien avec Office 365, ça regroupe nos technologies et donc nos communautés.

    Dans les grandes lignes les équipes d'office 365 ont mis à disposition la roadmap (les fonctionnalités qui vont arriver) de manière publique.

    Pour plus de détails je vous conseille de lire l'article de Christophe http://microsofttouch.fr/default/b/christophe/archive/2014/06/20/office-365-visibilit-233-roadmap.aspx

  • Sélectionné pour le SharePoint Saturday New York City !

    Bonjour à tous,

    Billet rapide pour vous dire que je présenterai ma session sur le multilinguisme dans SharePoint 2013 à New York.

    L’évènement se passe le Samedi 26 Juillet, chez Microsoft New York, sur Time Square.

    N’hésitez pas à vous y inscrire si vous pouvez venir, c’est l’occasion d’apprendre plein de choses !

    http://www.spsevents.org/city/NYC/NYC2014/sessions

    A bientôt

  • Dépréciation des Apps Auto-hébergées

    Rappels

    Pour rappel les apps auto-hébergées sont le modèles d’apps disponible uniquement dans SharePoint online (office 365) qui provisionnent automatiquement un azure web site(et éventuellement une base sql azure) lorsqu’elles sont déployées.

    Cela facilitait grandement les problématiques d’hébergement, de gestion des tenants (isolation des données de différents clients) et d’authentificationpuisqu’une grande partie de la configuration était faite automatiquement

    Annonce

    Ça faisait déjà quelques temps que ce modèle d’applications était en suspens. En effet depuis plus d’un an que SharePoint 2013 est en production sur office 365, nous n’avions toujours pas la possibilité de :

    - Vendre ce type d’apps sur le store office 365

    - Avoir des détails quant à la facturation

    - Gérer l’aspect backup, élasticité, redondance…(même depuis la console azure)

    Microsoft a donc récemment annoncé la dépréciation de ce modèle d’applications. Concrètement ça veut dire, arrêtez de faire des applications de ce type, migrez les applications existantes vers le modèle provider hosted et attendez-vous à un dé-commissionnement des applications déjà déployées d’ici fin 2014.

    Pour plus d’informations voici le lien de l’annonce http://blogs.office.com/2014/05/16/update-on-autohosted-apps-preview-program/

    Quelle est la suite ? Microsoft devrait faire de nouvelles annonces d’ici peu concernant un nouveau modèle ;-)

  • Petit MSP devient grand MVP

    English readers you’ll find your version here.

    Version courte

    clip_image002

    Certains d’entre vous l’ont déjà vu sur les réseaux sociaux, depuis le 1er Avril je suis Microsoft MVP (Most Valuable Professional) SharePoint Server.

    Je suis extrêmement fier de faire partie de cette communauté, qui compte les meilleurs professionnels des technologies Microsoft et les grands contributeurs des communautés.

    L’année à venir sera riche en rencontres, évènements, activités communautaires et projets divers et variés.

    Je tiens à remercier quatre MVP en particulier :

    - Jean-Sébastien DUCHENE : MVP Enterprise Client Management Français pour ses conseils et m’avoir poussé à progresser dans cette voie (je ne pensais pas être à la hauteur).

    - Loïc REBOURS : MVP Client Development Français pour avoir appuyé ma candidature

    - Vlad CATRINESCU : MVP SharePoint Server Canadien pour avoir appuyé ma candidature et pour ses conseils.

    - Nicolas GEORGEAULT : MVP SharePoint Server Canadien pour les mêmes raisons.

    Nouveau blog

    Vous avez dû remarquer que depuis quelques mois je blog en Français en en Anglais. Essayant ainsi de m’adapter à ma nouvelle terre d’accueil qu’est le Canada.

    Le fait d’avoir les entrées dupliquées et mélangées en Français et en Anglais est un peu brouillon.

    J’ai donc décidé de créer un blog pour mes posts en Anglais. Est-ce que ça veut dire que j’abandonne mes lecteurs Francophones qui suivent ce blog depuis ses débuts ? Loin de là. L’idée est surtout que ce soit mieux rangé et plus agréable à parcourir. Et il continuera d’y avoir du contenu exclusif en Français. La preuve, la dernière partie de cet article.

    Rétrospective : le MSP devient MVP

    J’ai commencé ce blog il y a 4 ans, avec un objectif double : noter les éléments intéressants que j’arrivais à réaliser si jamais j’en avais besoin à nouveau plus tard et partager avec la communauté.

    Peu après je suis devenu Microsoft Student Partner, pour être nommé l’année suivante MSP expert SharePoint. Je me suis ensuite fait muter sur le programme MSP Canada un an plus tard et en septembre dernier j’ai terminé mes études et le programme MSP. (je vous recommande de lire les articles dans l’ordre, ils ne sont pas très longs et vous verrez la progression).

    A la fin du programme MSP il y a plusieurs suites logiques pour les étudiants membres :

    - Rentrer chez Microsoft : en effet on a déjà quelques contacts, un intérêt pour la société, des compétences techniques… Quelques noms qui me viennent en tête Jimmy Marchetto, Jérémy Julia, Sébastien Brasseur…

    - Rentrer chez un partenaire et devenir (ou pas) MVP : Loic Rebours, Js Duchene, Nabil Babaci, Wilfried Woivré

    - Rentrer chez un autre grand éditeur (FB, Amazon, Google…) : Betty Moreschini, Pierre Thurau…

    - Monter sa boite : Matthieu Dordolo, Rodrigue Hajjar…

    L’étendue des possibilités est vaste, ne négligez rien, donnez-vous à fond ! Il y a des rockstars cachées profondément en vous et il ne tient qu’à vous de les mettre au grand-chose à force de travail.

    Dans mon cas pourquoi avoir choisi la voie « partenaire et MVP » ?

    Rentrer chez Microsoft

    Avant tout cette partie ne reflète que mon avis sur le sujet, vous pouvez ne pas être d’accord, n’hésitez pas à participer en commentant.

    J’ai un profil très technique aussi voici les options que j’aurai si je postulais chez Microsoft :

    - Avant-Vente : là c’est principalement de la vente, avec un profil technique pour guider le client dans ses choix. Très peu pour moi.

    - Microsoft Consulting Services : ils aident les grands comptes à mettre en place les solutions. C’est très bien pour les profils jeunes qui veulent monter en compétences rapidement et qui ont déjà des bases solides. Je ne sais pas trop pourquoi mais l’expérience ne me tentais pas trop.

    - Primary Field Engineer : c’est le genre de personne qu’on appelle à 3h du matin parce qu’une grosse infra pour un gros client est tombée. Tu y vas et il faut que ça marche. Ce sont des bons. Si je n’avais pas eu cette envie de partager avec la communauté, j’aurais probablement tenté l’aventure.

    - Evangélistes : diffusent la bonne parole technique sur une technologie Microsoft, les places sont très rares. Ça me plairait beaucoup, mais il n’y a jamais eu d’ouverture sur ma techno.

    - Equipe produit : Redmond uniquement (enfin presque), ce sont ceux qui codent le produit. Je ne pense pas avoir le niveau pour le moment. Ou du moins pas les compétences qu’ils recherchent. Je connais bien le produit, mais eux ils s’en foutent de ça parce qu’ils FONT le produit. Mais pourquoi pas plus tard ?

    En définitive je dirais que quand les occasions se sont présentées, je n’étais pas disponible et quand j’étais disponible il n’y avait pas d’occasion. Problème de timing, mais ce n’est pas pour ça que l’option est exclue définitivement, on ne sait jamais ce que l’avenir nous réserve ;-)

    Rentrer chez un autre grand éditeur

    Au-delà des compétences générales de développeur qui sont très importantes (analyse, algo, architecture, diagnostic, test…), il faut forcément choisir une technologie. Se spécialiser ça prend du temps, et autant le faire sur quelque chose qui nous plait.

    Venant à la base du milieu linux/php/mysql (je me demande si ça en étonne beaucoup), j’ai fini par me retrouver assez tôt dans les technologies SharePoint car :

    - On peut faire de l’IT

    - On peut faire du dev

    - Il y a beaucoup de compétences impliquées

    - Et le fondamental de SharePoint c’est de créer du lien dans l’entreprise, de partager la connaissance, une belle mission je trouve (un hippie ce Vincent en fait…)

    Si j’avais voulu rentrer chez un autre grand éditeur il aurait fallu que je me spécialise dans d’autres technologies (au lieu de simplement les explorer en surface par curiosité) et je n’ai tout simplement pas eu le temps.

    De plus Microsoft entretien une vraie relation avec les étudiants (MSP, Ambassadeurs, évènements, Imagine cup…) ce qui n’est pas forcément le cas de la concurrence. Ça nous pousse à nous engager auprès de la marque (oui qu’on ne se méprenne pas, c’est aussi une forme de marketing).

    Et monter ta boite alors ?

    Mes parents sont chefs d’entreprise depuis dix ans, et je viens de l’univers de la startup à la base. Ayant vécu l’expérience plusieurs fois au travers des autres ça demande :

    - Une idée dans laquelle on croit vraiment

    - Un plan bien fait (parce que sinon ça reste un rêve hein)

    - Une mise de fond

    - Un entourage compétent et/ou qui vous supporte

    - Le sens des responsabilités

    - Une énergie incroyable

    Si vous avez tout ça lancez-vous ! C’est une superbe expérience, même (et peut être surtout ?) si ça ne fonctionne pas du premier coup. Mais pensez-y deux fois et assurez-vous bien que vous avez tout ça car ce n’est pas facile tous les jours.

    Dans mon cas je n’ai jamais réussi à réunir tout ça en même temps. Mais ce n’est pas pour cela que l’idée est exclue de manière définitive.

    Conclusion

    Encore une fois j’ai été assez bavard. J’espère que le retour d’expérience sur le programme MSP/MVP et les choix de vie associés vous auront intéressés (surtout les MSP’s).

    J’essaierai de penser à faire une rétrospective (plus courte) au bout d’un an de MVP pour partager l’expérience avec vous.

    N’hésitez pas à commenter si vous voulez échanger ou bien compléter ce retour d’expérience.

  • Remise à disposition du SP1 pour SharePoint 2013

    La nouvelle circule depuis quelques heures sur les réseaux sociaux et autres média de communications : Microsoft vient de livrer une nouvelle version du SP1 de SharePoint 2013.

    http://blogs.technet.com/b/stefan_gossner/archive/2014/04/22/sp1-for-sharepoint-2013-has-been-rereleased.aspx

    Pour ceux qui ont déjà installé le SP1 défectueux : installez le nouveau par-dessus et exécutez à nouveau le psconfig

    Pour ceux qui n’avaient pas encore déployé le SP1 : installez simplement cette nouvelle version (+ ps config)

    Pour ceux qui avaient téléchargé la version ISO avec le SP1 intégré en vue de l’installation d’une nouvelle ferme : vous pouvez garder vos ISO, Microsoft ne publiera pas de nouvelle version. (ces versions n’étaient pas impactées par le problème).

    Et le CU d’avril alors ? Pour le moment il contient peu de mises à jour (et a été retiré du téléchargement publique ?). Microsoft devrait communiquer bientôt sur la conduite à adopter.

    Bonnes installations !

    Pour référence :

    http://microsofttouch.fr/default/b/vincent/archive/2014/04/03/retrait-du-sp1-de-sp2013-sp1-for-sp2013-not-available-anymore.aspx

    http://microsofttouch.fr/default/b/vincent/archive/2014/03/11/evolution-de-la-compatibilit-233-syst-232-me-sharepoint-2010-et-2013.aspx

    http://microsofttouch.fr/default/b/vincent/archive/2014/02/26/service-pack-1-for-office-suite-2013-client-and-server-is-out.aspx

  • Retrait du SP1 de SP2013 / SP1 for SP2013 not available anymore

    Billet rapide pour vous informer que Microsoft rencontre actuellement quelques soucis avec le SP1 pour SharePoint 2013.

    Ils ont donc décidé de retirer le SP du téléchargement et demandent aux clients de patienter avant de l'installer si possible

    http://blogs.msdn.com/b/joerg_sinemus/archive/2014/02/26/sharepoint-2013-service-pack-1.aspx


    Quick post to inform you about the fact that Microsoft is having some issues with SP1 for SP2013 and it is no more available for dowanload. (see link above)

  • Donnez votre avis sur le remplaçant d’infopath !

    clip_image002

    Microsoft a annoncé lors de la SharePoint conference 2014 la fin d’infopath. Ils n’ont cependant pas encore annoncé de successeur à cette technologie puisque c’est encore en développement chez eux. (ou peut-être même pas encore commencé à développer).

    Afin de satisfaire au mieux les utilisateurs de SharePoint, Microsoft mène actuellement une grande enquête pour savoir ce que vous désirez voir dans SharePoint autour des formulaires (au sens large).

    Si vous avez des idées/avis, n’hésitez pas à les soumettre.

    http://officeforms.uservoice.com/

  • Write a review on infopath’s replacer!

    clip_image002

    Microsoft announced at the SharePoint Conference 2014 infopath's discontinuity. They have not yet announced a successor to this technology since it is still under development on their side. (or maybe not even started to develop).

    In order to better match SharePoint users’ expectations, Microsoft is conducting a major survey to find out what you want to see in SharePoint around forms.

    If you have ideas / opinions, feel free to submit these.

    http://officeforms.uservoice.com/

  • Outstanding announcements of the SharePoint Conference 2014 for Office 365

    Microsoft has given much information during the SharePoint Conference 2014. It is sometimes difficult to not miss something, so I made a summary of information that marked me.

    Storage evolution 1 TB and beyond!

    During the SharePoint Conference 2014 Microsoft announced a significant change in the limitations of SharePoint Online Storage: 1 TB Max per site collection (including the "mysite" or onedrive for business) and unlimited storage (understanding billed per GB) by tenant.

    Key points:

    - Plans E1 to E4 and A1 to A4 are concerned, small business and medium plans are limited to 1 and 20 TB because they have only one and twenty collections of sites. Government, dedicated plans and home prenium are not concerned.

    - By default the onedrive for business remains limited to 25 GB, we need to change the parameter from your administration of holding.

    http://blogs.Office.com/2014/03/14/SharePoint-online-Announces-1TB-site-collections-and-unlimited-tenant-storage-scale/

    New plan available

    A new plan emerged, the personal. Identical to the Home Prenium (which will be now called Home) but cheaper and restricted to one person only.

    http://blogs.Office.com/2014/03/13/announcing-Office-365-personal-a-new-way-to-access-Office-365/

    Free Apress eBook for migrating to Office 365

    A press has recently directed a free ebook which deals with the migration to Office 365

    http://www.Apress.com/9781430265269

    Change management in Office 365

    I came across a very good article by Chris O'Brien referring to this problem and future developments. The updates publication time for SharePoint online is very fast. Customers have no pre-production environments and are not warned in advance when an update is the impact. This can lead to some surprises during the deployments of updates by Microsoft especially when the customer has customized its environment.

    Fortunately Microsoft will address this issue with:

    - Implementation of an infrastructure of tenant notification to notify changes.

    - Creation of a pre-release clients group (reduced number, under NDA).

    - Creation of a first to be deployed to clients group (updates take several days to deploy on Office 365), you can activate it from your tenant.

    - More communications about what happens (public roadmap) via the office team blogs

    The main article is available at this address http://www.sharepointnutsandbolts.com/2014/03/Office-365-first-release-and-NDA-preview.html

    Office Graph and Code Name Oslo

    Microsoft introduced two new technologies working together. The first one, office graph is a learning machine that will iterate through all your data, contacts, appointments, etc and link the items to each other in a logical way. For example Office graph will overlap with the fact that you attended a meeting and that a powerpoint presentation was made at this meeting. This way you will be able to search "presentations which I assisted" for example.

    Another technology introduced: Olso. Olso analysis data provided by Office Graph, analysis your search behavior and other parameters to present proactively the elements that might assist you in your work. For example the records of my domain on which my colleagues have worked recently. Or at least, it will provide an enhanced search.

    These are two quite complex concepts to explain in writing. But I think it's a big step forward: the computer becomes little by little "smart." Best remains that you were watching the video below or you do a tour on the team blog to get your idea.

    Last detail, Oslo is already available to members of the TAP program customers. General availability is expected at the end of calendar year.

    http://www.youtube.com/embed/4S29PxHNjQA 

    http://blogs.office.com/2014/03/11/introducing-codename-oslo-and-the-office-graph/

    Power BI and data connection on premise

    Finally something that has been a little less heard of during the SPC, the general availability of Power BI. It is true that it happened about two weeks before but it is also a big feature of office 365 platform.

    Reminder: Power BI provides the possibility to operate your data in-house, external, in documents, on the internet, in short all your data and view them in a simple, intuitive and meaningful way. This is the BI made available to users who are now themselves capable of building their reports, dashboards, to query data to finally draw their conclusions.

    http://blogs.msdn.com/b/powerbi/archive/2014/02/10/announcing-the-general-availability-of-power-BI-for-Office-365.aspx

    If you want to see what looks like Power BI, a lot of videos and examples are available here http://www.Microsoft.com/en-us/powerbi/default.aspx#fbid= iHsGFNGKN85 (as well as a free trial version)

    Recently Kameron Berget has posted a great article on how to expose your data on prem in power BI.

    http://SharePoint-community.NET/Xn/detail/6614983:BlogPost:83104

    Conclusion

    So here are the outstanding office 365/SharePoint online facts that I found very interesting in recent weeks.

    If you want some more you can go take a look at the blog of the office team or at Chris O'Brien’s, very complete.

    http://blogs.Office.com/2014/03/14/Office-365-news-round-up-21/

    http://www.sharepointnutsandbolts.com/2014/03/an-implementers-summary-of-SPC14.html

    What may I have missed? What are your outstanding announcements?

  • Les annonces marquantes de la SharePoint Conference 2014 pour Office 365

    Microsoft a donné beaucoup d’informations lors de la SharePoint Conference 2014. Toutes plus intéressantes les unes que les autres. Il est parfois difficile de ne pas passer à côté de quelque chose, aussi je me suis permis de vous faire un récapitulatif en Français des informations qui m’ont marqué.

    Evolution du stockage 1 To et au-delà !

    Lors de la SharePoint Conference 2014 Microsoft a annoncé un changement important dans les limitations de stockage pour SharePoint Online : 1To Max par collection de sites (y compris le « mysite » ou onedrive for business) et du stockage illimité (comprendre facturé au Go) par tenant.

    Ce qu’il faut retenir :

    - Les plans E1 à E4 et A1 à A4 sont concernés, les plans small business et medium sont quant à eux limités à 1 et 20 To car ils n’ont qu’une et vingt collections de sites. Les plans gouvernementaux, dédiés et home prenium ne sont pas concernés.

    - Par défaut le onedrive for business reste limité à 25 Go, il faut changer le paramètre depuis votre administration de tenant.

    http://blogs.office.com/2014/03/14/sharepoint-online-announces-1tb-site-collections-and-unlimited-tenant-storage-scale/

    Nouveau plan disponible

    Un nouveau plan fait son apparition, le personnal. Identique au Home Prenium (qui va s’appeler maintenant Home) mais moins cher et réservé à une personne uniquement.

    http://blogs.office.com/2014/03/13/announcing-office-365-personal-a-new-way-to-access-office-365/

    Ebook Apress gratuit pour la migration vers Office 365

    A press a récemment réalisé un ebook gratuit qui traite de la migration vers Office 365

    http://www.apress.com/9781430265269

    Gestion du changement dans Office 365

    Je suis tombé sur un très bon article de Chris O’Brien évoquant ce problème et les évolutions à venir. Le rythme de publication de mises à jour pour SharePoint online est très rapide. De plus les clients n’ont pas d’environnements de pré production et ne sont pas avertis à l’avance quand une mise à jour va les impacter. Ceci peut conduire à quelques surprises lors des déploiements de mises à jour par Microsoft surtout lorsque le client a personnalisé son environnement.

    Heureusement Microsoft va adresser ce problème avec :

    - La mise en place d’une infrastructure de notification par tenant pour avertir des changements.

    - La mise en place de clients de tests en pre-release (nombre réduit, sous NDA) des versions à venir.

    - La mise en place de clients d’adoption rapide (les mises à jour mettent plusieurs jours à se déployer sur Office 365), vous pourrez l’activer depuis votre tenant.

    - Plus de communications sur ce qui arrive (roadmap publique) via les blogs de l’équipe office

    L’article détaillé est disponible à cette adresse http://www.sharepointnutsandbolts.com/2014/03/Office-365-first-release-and-nda-preview.html

    Office Graph et Code Name Oslo

    Microsoft introduit deux nouvelles technologies qui travaillent de concert. La première, office graph, est une machine à apprentissage autonome (learning machine) qui va parcourir l’ensemble de vos données, contact, rendez-vous, etc et lier les éléments les uns aux autres de manière logique. Par exemple Office graph va pouvoir recouper le fait que vous avez assisté à une réunion et qu’une présentation powerpoint a été réalisée lors de cette réunion. De cette manière vous serez capables de chercher parmi « les présentations auxquelles j’ai assistées » par exemple.

    Autre technologie présentée : Olso. Olso analyse les données fournies par Office Graph, analyse votre comportement de recherche et d’autres paramètres pour vous présenter de manière proactive les éléments qui seraient susceptibles de vous aider dans votre travail. Par exemple les documents de mon domaine sur lesquels mes collègues ont travaillé récemment. A défaut, il permet de faire de la recherche améliorée.

    Ce sont deux concepts assez complexes à expliquer à l’écrit. Mais je trouve que c’est un gros pas en avant : l’informatique devient petit à petit « intelligente ». Le mieux reste encore que vous regardiez la vidéo ci-dessous et/ou que vous fassiez un tour sur le blog de l’équipe pour vous faire votre idée.

    Dernier détail, Oslo est déjà disponible pour les clients membres du programme TAP. La disponibilité générale devrait se situer en fin d’année civile.

    http://www.youtube.com/embed/4S29PxHNjQA

    http://blogs.office.com/2014/03/11/introducing-codename-oslo-and-the-office-graph/

    Power BI et connexion données on premice

    Enfin quelque chose dont on a un peu moins entendu parler durant la SPC, la disponibilité générale de Power BI. Il est vrai que c’est arrivé environ deux semaines avant mais c’est aussi une grosse nouveauté de la plateforme office 365.

    Pour rappel Power BI c’est la possibilité d’exploiter vos données internes, externes, dans des documents, sur internet, bref toutes vos données et de les visualiser de manière simple, intuitive et significative. C’est la BI mise à disposition des utilisateurs qui sont désormais eux-mêmes capables de construire leurs rapports, tableaux de bord, d’interroger les données pour enfin tirer leurs conclusions.

    http://blogs.msdn.com/b/powerbi/archive/2014/02/10/announcing-the-general-availability-of-power-bi-for-office-365.aspx

    Si vous voulez voir à quoi ressemble Power BI, énormément de vidéos et d’exemples sont disponibles ici http://www.microsoft.com/en-us/powerbi/default.aspx#fbid=iHsGFNGKN85(ainsi qu’une version d’essai gratuite)

    Récemment Kameron Berget a posté un super article sur comment exposer vos données on prem dans power BI.

    http://sharepoint-community.net/xn/detail/6614983:BlogPost:83104

    Conclusion

    Voici donc les nouveautés office 365/SharePoint online qui m’ont marqué ces dernières semaines.

    Si vous voulez en savoir plus vous pouvez aller faire un tour du côté du blog de l’équipe office ou de celui de Chris O’Brien, très complet.

    http://blogs.office.com/2014/03/14/office-365-news-round-up-21/

    http://www.sharepointnutsandbolts.com/2014/03/an-implementers-summary-of-SPC14.html

    Et vous vos nouveautés ?

  • Webcast pour les ITPros sur Office 365

    English readers: full article available here http://blogs.office.com/2014/03/19/ignite-live-webcast-series-march-24-28/ go ahead.

    Du 24 au 28 Mars Microsoft Corp organise une série de webcast d’une heure chacun sur office 365.

    C’est gratuit et c’est un bon moyen de se former à cette « nouvelle » plateforme (ou du moins à ses nouveautés).

    Ça se passera tous les soirs de 18 à 19h pour la France (vérifiez que je ne me suis pas trompé dans la conversion de l’heure) et en journée de 13 à 14h pour le Québec.

    Pour les inscriptions il suffit de suivre le lien que j’ai donné en haut, ça sera bien évidemment en Anglais.

    Le programme :

    24 Mars Office 365 pour les ITPros : vue d’ensemble des composants clef d’une perspective IT.

    25 Mars Services de communication et de messagerie : apprenez comment gérer et sécuriser le volume de communications toujours croissant avec un environnement cloud ou hybride.

    26 Mars Déploiement en production partie 1 : apprenez comment pousser un environnement pilote vers la production. Emphase mise sur la migration des boites courriel.

    27 Mars Déploiement en production partie 2 : Approfondissez la première partie. Discussion détaillée sur les environnements hybrides

    28 Mars Améliorer Office 365 : voyez comment tirer le meilleur parti d’office 365 avec le SSO, l’authentification multi-facteurs et la mise à disposition sur le cloud des déploiements on prem.

  • Accès anonyme à une application auto-hébergée pour SharePoint

    Ces derniers jours j’ai travaillé sur une application auto-hébergée pour SharePoint (Office 365 en fait)

    J’avais besoin de fournir un accès anonyme à une des pages sans que les clients de l’application aient à accorder l’accès anonyme à leur site SharePoint. Mais j’avais aussi besoin de lire des propriétés sur le web de l’app (app web, celui qui est provisionné lorsqu’on déploie une app)

    J’ai beaucoup cherché mais j’ai fini par trouver la solution :

    //uri de l’app web, vous pouvez le passer par query string par exemple

    var targetUrl = new Uri("https://<tenantname>-<appinstallationid>.sharepoint.com/<appname>");

    var token = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, targetUrl.Authority, TokenHelper.GetRealmFromTargetUrl(targetUrl));

    using (var ctx = TokenHelper.GetClientContextWithAccessToken(targetUrl.ToString(), token.AccessToken))

    ….

    Vous devez aussi accorder le droit à l’application de s’exécuter de manière autonome depuis le manifeste

    clip_image002

    J’espère que ça va vous faire gagner du temps si vous tombez sur la même problématique.

  • Anonymous access for SharePoint autohosted apps

    These days I’ve been working on an auto hosted app for SharePoint (office 365 actually).

    I had to grant an anonymous access to one of the pages without requiring clients to give anonymous access to their SharePoint site. But I still needed to read a few properties from the App Web web site (the SPWeb provisioned by SharePoint when installing an app)

    I had to play around a lot but I finally found the solution:

    //uri of the app web, you can pass this url via a query string parameter

    var targetUrl = new Uri("https://<tenantname>-<appinstallationid>.sharepoint.com/<appname>");

    var token = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, targetUrl.Authority, TokenHelper.GetRealmFromTargetUrl(targetUrl));

    using (var ctx = TokenHelper.GetClientContextWithAccessToken(targetUrl.ToString(), token.AccessToken))

    ….

    You also need to add the “allow app only calls to SharePoint” in the manifest.

    clip_image002

    I hope it’ll save you a lot of time.

    Cheers

  • Operating system compatibility of SharePoint 2010/2013 has evolved

    clip_image002

    Service pack 2 for SharePoint 2010 and Service pack 1 for SharePoint 2013 recently came out.

    A support of 2012R2 at last !

    Both service packs bring support for Windows Server 2012R2. This is a recurrent problematic for IT services. How to reduce the number of different versions of an operating system in order to make maintenance cheaper and easier?

    Warning: “in place” upgrade of operating system for SharePoint 2013 is not supported by Microsoft. You need to reinstall the farm and migrate the content. See section “overview of improvements” in this article http://support.microsoft.com/kb/2817429

    I won’t be surprised if it was the same for SharePoint 2010, even if it’s not indicated (see http://support.microsoft.com/kb/2724471/ )

    Therefore I decline any responsibility in damages you may cause using following instructions.

    Migration of my dev vm’s

    However I tried to migrate my development machines to WS2012. Again, if I break those, no big deal. (plus I had some snapshots)

    Starting migration from:

    - SP2010: windows server 2008R2

    - SP2013: windows server 2012

    I began by installing sp2 on the 2010 machine and sp1 on the 2013 one. Once it was installed, I updated system to 2012R2. I was surprised to see that SharePoint was working pretty well on both machines after the installation. I only had a couple of log entries

    Encountered (and solved) problems after migrating

    Secure Token Service

    On both machines I had this error:

    Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/62476613

    Exception: System.ServiceModel.ServiceActivationException: The service '/SecurityTokenServiceApplication/securitytoken.svc' cannot be activated due to an exception during compilation. The exception message is: Exception has been thrown by the target of an invocation.. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentNullException: Value cannot be null.

    Just in case I re-ran the psconfig in order to register again SharePoint services. But it didn’t solve the issue. Solution came from this msdn forum thread, the author indicated that we only need to re-provision services to solve the problem. He also provides us the powershell script to do so.

    http://social.msdn.microsoft.com/Forums/sharepoint/en-US/82433e07-4a19-4a89-b026-b9fe2a43847e/event-id-3806-and-id-3-problems-after-upgrade-to-server-2012-r2?forum=sharepointgeneral

    SharePoint management Shell not working

    The second problem I had due to the upgrade is related to powershell 3 which runs on .net 4. (problem I had only on the 2010 machine). Solution is pretty simple, you only have to edit the shortcut to management shell as documented in this article.

    http://blogs.msdn.com/b/calvarro/archive/2013/01/04/powershell-3-0-net-4-0-amp-sharepoint-2010.aspx

    Conclusion

    Migrating my dev vm’s went well. I’ve done it a week ago and I had no other problem at this time. Bu again these are developments machines, beware on your environments where the consequences could be bigger.