Le Cloud de Vincent - Blogueurs - MicrosoftTouch

Le Cloud de Vincent

Découvertes, astuces et curiosités de l'ère du cloud
    • 25/5/2015

    Conférencier au SharePoint Saturday New York City 2015

    Cette année encore j’aurai l’honneur d’être conférencier au SharePoint Saturday de New York City http://www.spsevents.org/city/nyc/nyc2015

    Ma présentation sera à propos de l’importance des métadonnées en entreprise. (en Anglais)

    Nous allons commencer par effectuer un rappel théorique des différents types de métadonnées et quels sont les avantages et inconvénients de chacun. Ensuite nous verrons ce qui est supporté par SharePoint et quels sont les outils existants à disposition. Enfin nous terminerons avec l’importance de la mise en place de ces outils en entreprise et comment ils vont vous aider à effectuer une transition vers le Graph et améliorer la trouvabilité du contenu.

    Rappel : il y a beaucoup d’autres très bonnes sessions qui se dérouleront lors de cet évènement gratuit du 25 Juillet. N’hésitez pas à nous rejoindre.

    • 21/5/2015

    Conférencier au SharePoint Saturday Montréal 2015

    Cette année encore j’aurai l’honneur d’être conférencier au SharePoint Saturday de Montréal http://microsofttouch.fr/default/b/vincent/archive/2015/03/04/sharepoint-saturday-montr-al-2015

    J’ai aussi eu l’occasion d’aider à l’organisation aussi cette année, c’est une expérience intéressante et je tiens à remercier Serge, Nico, Luc, Philippe, Seb, Fabrice et Alain pour leur implication sur le projet, c’est beaucoup plus de travail qu’on imagine !

    Ma présentation sera à propos de l’importance des métadonnées en entreprise.

    Nous allons commencer par effectuer un rappel théorique des différents types de métadonnées et quels sont les avantages et inconvénients de chacun. Ensuite nous verrons ce qui est supporté par SharePoint et quels sont les outils existants à disposition. Enfin nous terminerons avec l’importance de la mise en place de ces outils en entreprise et comment ils vont vous aider à effectuer une transition vers le Graph et améliorer la trouvabilité du contenu.

    Rappel : il y a beaucoup d’autres très bonnes sessions qui se dérouleront lors de cet évènement gratuit du 23 Mai. N’hésitez pas à nous rejoindre.

    A Samedi donc !

    • 19/5/2015

    Conférencier au SPBizConf

    Les 17 et 18 Juin 2015 se déroulera la spbizconf (http://www.spbizconf.com/ )

    Cette conférence orientée principalement business (avec un peu de technique aussi) est gratuite, en ligne et se déroulera en Anglais.

    Allez vite vous inscrire !

    Pour ma part j’aurais la chance d’animer une session sur le Graph. On va faire un peu de théorie pour bien poser les bases, parler du Graph de Microsoft et de la vision puis finir par les cas d’utilisation réels et expliquer ce à quoi ça pourrait servir dans votre entreprise.

    Plus d’informations :

    http://www.spbizconf.com/events/using-office-graph-apis/

    • 12/5/2015

    Ce que j’ai retenu de l’ignite (SharePoint)

     Je n’ai pas eu la chance d’être à Chicago cette semaine pour assister à l’Ignite. Je ne m’étendrai pas sur les détails mais disons que pas mal de récents changements internes chez www.negotium.com  ont fait qu’on n’a pas pu s’organiser comme il fallait à temps.

    Cela ne m’a pas empêché de suivre de près (enfin à distance hein) ce qu’il s’est passé durant cette semaine, et ça a été riche en annonces… (surtout si on prend les annonces faites lors de la build la semaine d’avant)

    Avant de démarrer, je vais restreindre le périmètre, je vais principalement parler des annonces et contenu que j’ai retenu sur Office 365 et SharePoint (pas de skype for business ou exchange ici donc) et ce sera principalement orienté pour les itpros et les développeurs (pas de « ils ont sorti telle app pour ipad » donc).

    Autre chose, vue le volume de nouveautés, la liste ne sera sûrement pas exhaustive, aussi n’hésitez pas à commenter !

    Le Graph

    J’ai pas mal joué avec ces derniers temps, attendez-vous à voir des articles sur le sujet arriver. Changement de nom pour commencer, Office Graph devient Microsoft Graph : la raison est simple il va surfacer beaucoup plus de données (notamment Azure Active Directory, la gamme Dynamics,…)

    Dans ce Graph nous retrouvons plusieurs choses, pour commencer une unification des API Office 365 (mail, fichiers, calendrier…).

    Quels sont les avantages d’un tel changement ? Un seul point d’authentification, un seul point de connexion pour les données professionnelles et personnelles. En effet ces API vont permettre aussi d’intégrer les versions grand public des services (OneDrive, Outlook,…)

    Si vous voulez en savoir plus voici quelques sessions :

    http://channel9.msdn.com/Events/Ignite/2015/BRK3199

    http://channel9.msdn.com/Events/Ignite/2015/BRK3154

    http://channel9.msdn.com/Events/Ignite/2015/BRK3193

    Ou bien vous pouvez assister à la session en ligne de Sébastien Levert le 14 Mai http://mvp.microsoft.com/en-us/virtualconference.aspx  ou la mienne le 17 Juin http://www.spbizconf.com/events/using-office-graph-apis/

    SharePoint 2016

    Nous avions déjà eu quelques annonces avant l’Ignite, celle d’une sortie décalée de SharePoint 2016 : la beta sortira au dernière trimestre 2015 et la version publique au second trimestre 2016.

    https://blogs.office.com/2015/04/16/sharepoint-server-2016-update/

    Mais c’est avec la session de Bill Baer qu’on comprend pourquoi :

    Le profil utilisateur sort de SharePoint

    Longtemps critiqué (notamment pour sa difficulté à démarrer et ses problèmes de synchronisation fréquents) le moteur de synchronisation va sortir de SharePoint pour se retrouver dans un service externe et transverse à la suite de serveurs office (Exchange, SP, Skype for business)

    Nouveau service de gestion de la charge

    On peut dire que Microsoft a beaucoup appris en opérant SharePoint sur de larges installations (office 365), un des bénéfices de cette expérience est l’apparition d’un nouveau système de répartition de la charge dans SharePoint. Ce service prendre en compte des paramètres avancés tels que la santé du serveur, sa charge courante, est-ce qu’il est en train d’installer des patchs…

    Nouvelles limites et meilleures performances Comme on peut s’y attendre pour chaque nouvelle version de SharePoint les limitations, les recommandations et les performances vont encore évoluer.

    Nouveau service d’analytics et de suivit de la consommation

    Toujours grâce à l’expérience que Microsoft a acquise sur le web avec SharePoint, un nouveau service d’analyse du trafic et de l’espace ainsi que des performances va faire son apparition

    Nouvelle application de service de recherche

    L’objectif de Microsoft est de permettre aux organisations qui veulent encore fonctionner avec des systèmes on premices de pouvoir le faire. Encore mieux de pouvoir mettre en place des solutions hybrides totales et de bénéficier de tous les avantages possibles. De plus Microsoft est en train de réaliser de gros investissement dans le graph, et ils ne peuvent pas se passer des données qui seront chez le client. C’est pour cela qu’un nouveau service de recherche hybride complétement intégré va faire son apparition, on ne sait pas encore s’il existera un jour une version du graph pour on prem uniquement. (personnellement j’en doute)

    Liens “durables” (persistent? )

    A la manière de bit.ly SharePoint va maintenant fournir des liens courts et persistent vers le contenu qui se trouve dans SharePoint. Et ce peu importe si le contenu est déplacé ou autre.

    Assistant de configuration d’authentification hybride

    Avez vous déjà configuré l’authentification hybride pour SharePoint ? Avec sa bonne cinquantaine de commandes powershell, ses échanges de certificats, les règles firewall, les entrées DNS à changer… Et surtout toutes les erreurs qui peuvent se glisser en court de route ? Microsoft va nous fournir un assistant qui va permettre de configurer toute la partie SharePoint et nous indiquer ce qu’il reste à faire sur le reste de l’infrastructure.

    Intégration native du contenu de project

    Toujours pour améliorer les performances des deux produits, les données project server vont bénificier d’une intégration native dans SharePoint, est-ce qu’on s’en va vers une fusion des deux d’ici 2020 ?

    Création rapide de collections de sites

    L’idée de cette fonctionnalité est de permettre aux administrateurs de ferme SharePoint de créer des collections de sites « maitresses » au sein de leur infrastructure. Une fois ces copies principales créées, la création d’autres collections de sites à partir de ces dernières sera beaucoup plus rapide puisqu’elle ne passera plus pas les étapes d’activation des fonctionnalités.

    Nouveau service de cache distribué

    Qui n’a pas eu des problèmes de stabilité avec le service de cache distribué de SharePoint 2013 ? Microsoft a effectué des améliorations (sans nous dire lesquelles) de ce côté. Mon avis c’est qu’ils ont remplacé appfabric par Redis, mais ce n’est que mon avis personnel.

    Apparition de nouveaux rôles au sein des fermes SharePoint

    Toujours afin de s’adapter au web, d’avoir de meilleures performances et une répartition de la charge mieux spécialisée, Microsoft introduit de nouveaux rôles au sein de SharePoint 2016 : - WFE - APP - Spécialisé (services nécessitant un serveur dédié, je pense à la recherche, ce genre de choses) - Cache L’installation standalone (celle qui embarquait un SQL Server Express) disparait du paysage. Microsoft donne vraiment à SharePoint une dimension adéquat au web et non plus de « petit server qui traine dans un coin » SharePoint 2016 ne supportera plus non plus les installations dans un groupe de travail (non active directory)

    Mise à jour sans interruption de service

    Autre promesse de cette version 2016: celle de pouvoir passer des mises à jour sans avoir à mettre les services hors ligne. En théorie ceci devrait nous permettre de garder une ferme en production (pendant le temps de la mise à jour) avec des serveurs qui ont un niveau de patch différent. Cela devrait grandement simplifier la vie des admins…

    Conformité des serveurs

    Toujours dans l’optique d’aider à la mise à jour et la maintenance des fermes SharePoint, une nouvelle colonne fait son apparition dans la gestion des serveurs : conformité

    Support chiffrement SMTP

    Tout est dans le titre, ça faisait longtemps qu’on le demandait celui là

    Autres

    D’autres annonces ont été faites, si vous voulez plus de détails, la session incontournable : http://channel9.msdn.com/Events/Ignite/2015/BRK2188

    Conclusion

    L’année à venir va être riche en nouveautés, et vous quelles sont celles qui ont attiré votre attention ?

    • 7/4/2015

    MVP Virtual Conference

    J’ai le plaisir de vous annoncer que les MVP American (US, Canada, Latin…) organisent deux jours de conférences en ligne gratuits les 14 et 15 Mai prochains.

    Pour savoir quelles sont les sessions c’est par ici

    http://mvp.microsoft.com/en-us/virtualconference-agenda.aspx

    Pour vous inscrire http://mvp.microsoft.com/en-us/virtualconference-sessions.aspx

    Personnellement je serai le modérateur de Sébastien Levert sur sa session « introduction to AngularsJS applications in Office 365 »

    C’est une superbe opportunité pour échanger avec des experts du monde entier.

    • 4/4/2015

    Renouvelé MVP SharePoint pour la deuxième année et retour d’expérience

    Version courte

    J’ai le plaisir de vous annoncer que j’ai été renouvelé Microsoft Most Valuable Professional pour la deuxième année. C’est reparti pour un tour !

    Introduction

    Pour ceux qui me suivent depuis quelques temps voici la suite d’une série que je publie depuis plus de 5 ans (depuis que je suis devenu MSP). Je vous l’avais promis l’an dernier, voici un retour d’expérience d’un an en tant que MVP.

    Si vous voulez avant ça lire l’épisode précédent (qui contient les liens de tous les épisodes précédents) pour vous mettre dans le bain, c’est par ici.

    Les avantages

    On va commencer par l’aspect « matériel » de la chose. Quand on devient MVP on a accès à de nombreux avantages et goodies, fournis par Microsoft ou non par exemple :

    • Le compte MSDN qui est bourré d’avantages, crédit sur Azure, tous les logiciels Microsoft…

    • Pluralsight, vidéos de formation en ligne

    • Softwares divers et variés du genre camstasia etc...

    • Le totem MVP, c’est la classe sur le bureau

    Le contact avec les autres, et les équipes produits

    Une des choses les plus intéressante d’être MVP c’est d’avoir accès à une communauté internationale d’autres MVP dans sa technologie (mais pas que) et aux équipes produits (si si les gars qui codent les produits que vous manipulez au quotidien). Je vous laisse imaginer la valeur que cela représente dès lors qu’on se retrouve avec une question plus complexe que d’habitude et qui ne trouve pas sa réponse sur Internet.

    De plus l’équipe produit est à l’écoute de ses MVP’s, en effet pour eux nous sommes une vraie mine d’or de retour d’expérience du terrain et des clients. Cela leur permet de se reconnecter avec la réalité et d’ajuster le tir. Chaque équipe organise des Product Group Interaction (PGI’s) entre tous les mois et toutes les semaines, dépendamment de l’activité du produits au moment en question. Tout en sachant que SharePoint par exemple n’est pas codé par une équipe mais par une équipe pour le social, une pour la collab, une pour les sites internet… Et on est aussi de temps à autres invités par les équipes d’autres produits. En définitive j’ai entre une à deux interactions en moyennes avec eux par semaine.

    Durant ces PGI’s les équipes vous présentent les futures fonctionnalités du produits (ou solutions techniques) et vous demandent votre avis. Ou bien ils vous disent « voici ce qu’on a déjà, qu’est-ce que vous feriez différemment et pourquoi ? » C’est super motivant d’avoir un tel poids sur le produit avec lequel on travaille au quotidien.

    Les communautés

    Un autre point positif en tant que MVP c’est qu’on a plus de poids dans les communautés. Les gens se disent « ce gars-là il est reconnu par Microsoft ». Loin de moi l’idée d’en abuser mais l’aspect bénéfique c’est qu’on vous accorde plus de place. Personnellement par exemple j’ai eu plus d’opportunités que jamais l’an dernier pour animer des sessions lors d’évènements. Vu qu’on dispose d’un réseau beaucoup plus grand, il y a toujours quelqu’un pour vous aider lorsque vous cherchez à organiser quelque chose pour la communauté.

    Le MVP summit

    Chaque année en Novembre Microsoft invite les MVP du monde entier (bientôt 4000 personnes), toutes technologies confondues à la maison mère, Redmond, près de Seattle pour une semaine.

    Je dirai que c’est à la fois une forme de remerciement pour notre investissement tout au long de l’année mais aussi et surtout une façon pour eux d’avoir des retours d’expérience de manière intensive. Les journées s’organisent de la manière suivante :

    • Entre 6 et 8h, petit déj

    • 8h à 18h sessions d’une à deux heures avec les équipes produits

    • 18h à 21h évènement

    • 21h à 4h « réseautage autour d’un verre » (histoire de rester politiquement correct ;-) )

    C’est vraiment cool d’avoir ceux qui codent le produit en avant qui notent des trucs quand tu fais une intervention pertinente, on a l’impression d’avoir de l’impact.

    Quel genre d’évènements ? Généralement une soirée avec les MVP de votre pays, une soirée avec votre division produit, une soirée de bienvenue et une soirée en ville de clôture. Cette année Satya Nadella est même venu nous parler 20 minutes.

    Parenthèse : Microsoft Corp comprend de nombreux Français, anciens MVP’s ou MSFT France, toujours sympa de les revoir.

    Conclusion

    Je me répète mais être MVP c’est faire d’incroyables rencontres, échanger avec des gens très bons techniquement voir même ceux qui font la technologie que vous utilisez au quotidien.

    C’est aussi voyager parce qu’en un an mon rôle de MVP m’aura amené à aller à Toronto, NYC, Ottawa, Nashua (près de Boston), Seattle.

    Cela représente une belle reconnaissance pour l’investissement fait au sein de la communauté.

    L’expérience est tout simplement géniale et j’espère le rester tant que je serais assez en forme pour survivre au MVP summit.

    • 1/4/2015

    Veille technologique et places de cinéma

    Un des aspects que je préfère dans mon métier est aussi celui qui est le plus difficile : l’obligation d’apprendre en continu.

     

    En effet je trouve ça génial d’avoir l’opportunité d’apprendre de nouvelles choses quotidiennement, c’est ce qui garde le métier intéressant même si les années passent. C’est aussi une pression importante : on sait qu’un développeur qui ne se forme pas pendant plusieurs années d’affilée devient très vite « obsolète ».

    C’est d’autant plus difficile que beaucoup d’entre nous ont des impératifs de production sur leurs heures de travail et pas beaucoup de temps en dehors de ça.

    Comment est-ce que je fais pour me tenir à jour ?

    Voici quelques astuces.

    Communautés

    C’est tout bête mais simplement le fait de se rendre régulièrement à des groupes usagers permet de se maintenir à niveau. En plus ce n’est pas cher, après le travail et on peut échanger avec la personne en face.

    Flux RSS

    Rien de nouveau là-dedans j’agrège énormément de flux RSS pour me tenir au courant des actualités

    Microsoft Virtual Academy

    Si vous n’êtes pas encore inscrits allez-y maintenant ! Ce sont des modules de formation faits par Microsoft et animés par des experts de la communauté et/ou des employés Microsoft. C’est gratuit et c’est super pratique !

    En plus en ce moment Microsoft Canada organise un concourt qui vous permettra peut-être de gagner des places de cinéma 3D !! (résidents au Canada uniquement)

    Cliquez ici pour tenter votre chance

    Azure

    En tant que MVP j’ai la chance d’avoir du crédit gratuit pour Azure. Si vous ne connaissez pas déjà il y a énormément à apprendre de ce côté et le marché qui est en train de s’ouvrir est gigantesque. Au-delà de jouer avec les technologies présentes, cela me permet de provisionner rapidement des labs sans avoir à avoir un cluster à la maison (ce que je faisais il y a quelques années).

    Cliquez ici pour avoir 220CAD de crédit d’essai sur Azure gratuitement

    MSDN

    MSDN vous donne accès à de nombreux avantages, dont du crédit sur Azure, les téléchargements de tous les logiciels Microsoft, de la formation, du support… C’est clairement un atout en puissance, on ne se pose plus la question de savoir si on a les outils, on les a.

    Cliquez ici pour en savoir plus

    Voici une vidéo qui détaille un peu les avantages http://channel9.msdn.com/Blogs/Breakpoint/s02e07

    Projets personnels

    Grâce à tous ces avantages je peux régulièrement « jouer » avec ce que j’ai besoin d’apprendre au travers de projets personnels.

    Livres

    Rien de tel qu’un bon bouquin pour se plonger dans une technologie.

     

    Voilà j’espère que ce court article vous aura donné quelques perspectives. Et vous comment est-ce que vous faites ? Est-ce que vous avez quelque chose à me recommander ? N’hésitez pas à commenter !

    • 8/3/2015

    Nombre d’éléments fournis pour la génération des facettes

    Depuis SharePoint 2010 vous avez la possibilité d’améliorer l’expérience de recherche en définissant des facettes de recherches personnalisées. Mieux vous pouvez même en développer de nouvelles si vous le souhaitez. Pour rappel les facettes de recherches se situent sur la gauche de la page de résultats et vous permettent de filtrer ces résultats pour arriver plus vite aux éléments qui vous intéressent. (type de fichier, auteur, date de modification…)

    Voici quelques ressources complémentaires si jamais vous désirez en savoir plus.

    Chez Negotium nous avons un produit d’analyse linguistiqu (Attribute) qui permet d’extraire automatiquement des concepts (idées), des entités (personnes, lieux…) et une classification (basée sur la taxonomie). Une fois ces métadonnées extraites nous nous en servons pour générer des facettes de recherche afin d’améliorer votre expérience de recherche.

    Seulement voilà, une question s’est vite posée : sur un ensemble de documents retournés par la recherche important, combien sont retournés à notre facette pour générer les valeurs de filtres ?

    Pourquoi se soucier de cela ? Dépendamment du jeu de résultats fourni cela peut avoir un impact sur l’exactitude du comptage, sur la pertinence des filtres suggérés, etc…

    En effet il semblerait que l’équipe produit SharePoint ait décidé de fournir moins d’éléments pour des raisons de performance, cependant ce n’est indiqué nulle part dans la documentation officielle (en date de ce post). J’ai donc dans un premier temps tenté de poser la question aux autres MVP SharePoint et à l’équipe produit (un des privilèges MVP). Aucune réponse ne m’a été fournie sur le sujet.

    Nous avons donc dû passer du temps avec mon équipe à effectuer de la rétro-ingénierie sur SharePoint.

    Voici les conclusions que nous avons pu en tirer :

    • Par défaut SharePoint ne considère que 80% des résultats retournés pour déterminer quelles facettes sont éligibles

    • Un maximum de 100 résultats sont passés à la facette pour qu’elle génère ses valeurs de filtre

    • Ces valeurs sont définies en dur et nullement configurable

    • Le jeu de résultats fourni dépend de la pagination (pas toujours, il peut laisser plusieurs pages avant de se mettre à jour)

    En espérant que cela vous aide à concevoir et comprendre le comportement des facettes. De mon côté je vais suggérer à l’équipe produit d’ajouter ces informations à la documentation officielle et si possible de rendre une partie de ces valeurs configurable.

    PS : merci à Jean-François pour son temps passé sur le sujet.


    • 4/3/2015

    SharePoint Saturday Montréal 2015

    Cette année aussi Montréal aura le droit à sa propre édition du SharePoint Saturday.

    Pour rappel les SharePoint Saturday ce sont :

    • Des évènements gratuits

    • Dans le monde entier

    • Dédiés à SharePoint/Office 365

    • Le Samedi

    • Avec énormément de sessions de qualités et de conférenciers expérimentés

    Informations pratiques

    Cette édition se déroulera le 23 Mai 2015 au collège Maisonneuve. Il suffit de s’inscrire à cette adresse http://www.spsevents.org/city/montreal/montreal2015

    L’an dernier le SPS MTL a regroupé 200 personnes. Cette année on vise encore plus de monde avec 4 pistes de sessions (20 sessions au total)

    Envie d’aider ?

    Nous sommes à la recherche de bénévoles pour aider au déroulement de cette journée. (enregistrement, manteaux, assistance aux conférenciers…) Contacter Sps@sharepointquebec.org

    Envie de donner une session ?

    Si vous avez des connaissances à partager sur SharePoint/Office 365 n’hésitez pas à postuler pour donner une session : http://www.spsevents.org/city/Montreal/Montreal2015/_layouts/15/SPSEvents/Speakers/SessionForm.aspx

    Une opportunité pour faire du business

    C’est aussi une très bonne opportunité pour atteindre une audience très spécialisée à un coût modeste. Si votre compagnie fait du service et/ou des produits sur SharePoint n’hésitez pas à en parler à votre département Marketing.

    http://www.spsevents.org/city/Montreal/Montreal2015/_layouts/15/SPSEvents/Sponsors/SponsorForm.aspx

    Réseau sociaux

    Twittez #SPSMTL !

    Allez vite vous inscrire, j’espère vous voir là-bas !

    • 16/2/2015

    Participez à la conception de SharePoint 2016!

    Depuis bientôt une semaine Microsoft a mis à disposition un user voice pour SharePoint 2016.

    http://sharepoint.uservoice.com/forums/282887-customer-feedback-for-sharepoint-server

    Le principe? Assez simple, chacun propose des idées et si vous jugez une idée intéressante votez pour elle.

    L'équipe produit regarde régulièrement les idées des fonctionnalités qui ont le plus de votes et les intègre à la roadmap (ou bien vous explique pourquoi ça n'en fera pas partie et ferme l'idée).

    Vous avez un maximum de jetons de vote, une fois que une des fonctionnalités pour lesquelles vous avez votées fermée, vos jetons vous sont remis et vous pouvez voter à nouveau.

    C'est gratuit, rapide et vous pouvez même utiliser un compte Facebook ou gmail pour vous identifier. Allez vite participer au débat pour faire en sorte que SharePoint 2016 ça soit votre idée aussi ;-)

    • 29/1/2015

    Evènements - Annonce des sessions de l’Ignite

    Si vous ne le saviez pas déjà, Microsoft va organiser une conférence du 4 au 8 Mai à Chicago. Cette conférence va regrouper la SharePoint, Exchange, Lync, Project conférence ainsi que les teched nord Amérique. Nous y retrouverons aussi du contenu en rapport avec azure, windows, visual studio. Cet évènement va être un des évènements majeurs en informatique dans l’année, à ne pas manquer donc.

    Aujourd’hui Microsoft vient de publier un article donnant plus de détails sur la conférence, voici l’url.

    http://channel9.msdn.com/Blogs/MicrosoftIgnite/IntrotoSessionCatalog

    On y retrouve notamment la liste des sessions qui seront données (les speakers seront sélectionnés plus tard).

    http://ignite.microsoft.com/Sessions#fbid=mGcNAILg5r6

    Le 3 février Microsoft organisera aussi un tweetjam hashtag #ignitejam pour répondre à toutes vos questions sur l’évènement. (9H PDT soit 18h Paris, 12h Montréal)

    http://twubs.com/ignitejam

    Lien sur le blog office

    http://blogs.office.com/2015/01/28/introducing-microsoft-ignite-session-catalog/

    • 4/12/2014

    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.

    • 1/12/2014

    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 !

    • 28/11/2014

    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

    • 29/10/2014

    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é.

    • 4/10/2014

    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 )

    • 13/8/2014

    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).

    • 21/7/2014

    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.

    • 12/7/2014

    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)

    • 3/7/2014

    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.

    • 30/6/2014

    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.

    • 27/6/2014

    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.

    • 23/6/2014

    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

    • 6/6/2014

    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