Tout d’abord, avant d’attaquer, juste un petit rappel : ce qui est présenté dans cet article est basé sur une version « Beta » des outils (VS & outils Beta1) et de SharePoint (Tech Preview) et les fonctionnalités ou certains détails peuvent changer d’ici la sortie officielle.
Visual Studio 2010 comme outil de développement

Pour la prochaine version de SharePoint (SharePoint Foundation aka WSS 4.0 et SharePoint Server 2010) Visual Studio 2010 sera le seul environnement de développement. Exit Visual Studio 2008 et 2005 qui resteront le bon choix pour les développements sur la version 2007, VS 2010 ne permettant pas de faire de développement pour l’ancienne plateforme, hormis les workflows.
Mais au-delà de Visual Studio, c’est aussi la possibilité de pouvoir développer sur un poste client type Windows 7 ou Vista SP1 : enfin le rapprochement avec les habitudes des autres développeurs .Net, même si cela ne suffira certainement pas à abandonner pour certains (dont moi sans doute) leurs jolies machines virtuelles qui ont le bon goût de ne pas « polluer » le poste de travail classique et d’être facilement clonables.
A noter que la beta 2 de Visual Studio 2010 actuellement disponible au téléchargement (au moins pour les abonnés MSDN) comporte déjà les outils pour SharePoint mais qu’ils ne fonctionneront qu’à partir de la beta 2 de SharePoint (prévu fin Novembre). Donc évitez de vous évertuer à le faire fonctionner avec une version Tech Preview de SharePoint 2010, ça ne marchera pas !
Modèles de projets, modèles d’éléments
Vous retrouverez un ensemble de modèles de projets et d’éléments afin de vous simplifier le travail tout comme en leur temps les Extensions WSS pour Visual Studio (VSeWSS 1.3 CTP : http://www.microsoft.com/downloads/details.aspx?familyid=FB9D4B85-DA2A-432E-91FB-D505199C49F6&displaylang=en).
Les projets actuellement disponibles sont :
Mis à part des classiques attendus, on y retrouve l’importation de WSP (pratique pour migrer d’anciens développements), de workflow réutilisable (et oui, le retour des workflows SharePoint Designer avec réintégration dans Visual Studio) mais aussi la Web Part “Visuelle” : enfin un designer pour vos WebParts (pour la petite histoire, vous verrez que cela ressemble pour beaucoup à ce qui est fait par la SmartPart). On remarquera aussi le projet "Business Data Catalog Model” qui a gardé son ancienne appellation mais qui correspond aux Business Connectivity Services, alias BDC v2.
Côté éléments de projet, une fois créé un projet vide on trouve :
On y retrouve de nouveaux éléments comme les formulaires de workflow, mais aussi les pages d’applications ou les ressources pour localiser proprement vos applications.
Organisation du projet
Au sein d’un projet SharePoint, vous retrouverez plusieurs éléments :
- Des features
- Un package (solution)
- Des éléments (WebParts, événements, modules, …)
Mais vous aurez aussi la possibilité d’ajouter des répertoires spéciaux, des répertoires mappés sur certains des répertoires du “14” (ex-12 :)) :
- le répertoire Layouts
- le répertoire Images
- …
- mais aussi le répertoire de son choix. Voici ce que ça donne si l’on clique sur “SharePoint Mapped Folder”:
Donc continuez d’apprendre le bon fonctionnement du répertoire “12” / “14”, cela vous servira toujours, mais vive les assistants.
Packaging et déploiement
Nouveauté de la version 2010, les “sandboxed solutions”, c’est-à-dire des solutions ciblées sur une collection de site. Ces solutions seront limitées et vous ne pourrez pas réaliser tous les développements possibles, mais deviendra une solution (ah ah) de choix pour les hébergements mutualisés voire hébergés en ligne (on pense à SharePoint Online et aussi à l’annonce de SharePoint Online for Internet websites).
Ce choix s’effectue dès la création du projet lorsque vous entrez l’url du site SharePoint sur lequel vous déploierez votre solution. Notez que vous gagnerez aussi le F5/Debug sans souci à la Workflow SharePoint sous Visual Studio 2008.
Mais cela ne s’arrête pas là. Tout d’abord, vous disposez d’un nouvel onglet dans les propriétés de la solution qui vous permettra de personnaliser les actions à effectuer lors du déploiement et du retrait des solutions. Les 2 configurations, “Default” et “No Activation” permettent respectivement de déployer et d’activer les fonctionnalités, et de simplement déployer la solution (par exemple pour des mises à jour). Vous pouvez aussi rajouter vos actions pre et post déploiement comme ceux que vous aviez avec le build de projet.
Ces configurations peuvent être éditées, et il sera possible de réaliser ses propres étapes afin d’enrichir si besoin ce qui est fourni par défaut (l’extensibilité est de mise avec VS 2010 !).
On pourrait se dire : c’est déjà très bien, mais… Ce n’est pas tout ! Vous aurez aussi un designer de solution qui vous permettra d’éditer ses attributs sans mettre la main dans l’XML, de sélectionner les fonctionnalités que vous voulez y placer. Dans les onglets “Advanced” et “Manifest” vous obtiendrez des options avancées pour sélectionner d’autres assemblies mais aussi personnaliser le code XML du manifest. Le mot d’ordre : simplifier tout en laissent la possibilité d’ouvrir le capot pour mettre les mains dans le cambouis.
Et les fonctionnalités dans tout ça ?
Elles ont bénéficié du même niveau de finition que le reste :
De quoi éditer simplement sa fonctionnalité, ajoutez des dépendances mais aussi d’éditer le manifest pour le personnaliser au besoin. Sachez aussi que vous pourrez organiser les éléments dans vos fonctionnalités sachant que le designer a aussi le bon goût de vous filtrer automatiquement les éléments selon le scope sélectionné pour votre fonctionnalité : impossible de vous tromper et placer une WebPart dans une fonctionnalité de scope Web.
Je m’arrête ici pour cette fois-ci, mais j’espère vous avoir donné un aperçu suffisamment exhaustif des outils présents dans Visual Studio 2010 pour vous faciliter la vie de développeur SharePoint.
Visual Studio 2010 s’avère plein de promesses pour vous offrir une expérience de développement sans pareil, avec en plus de nouvelles capacités d’extension grâce à MEF, Managed Extensibility Framework, histoire de pouvoir se greffer et enrichir les outils standards en façon totalement intégrée. Cela nous laisse imaginer plein de possibilités et les projets communautaires vont certainement fleurir autour de ces possibilités.
Les équipes Microsoft ont aussi mis les bouchées doubles pour vous fournir dès maintenant des informations en ligne :
Bref, ya plus qu’à ! (en attendant la beta publique, patientez avec toute cette lecture et ces présentations).s
Gat, développeur un jour, SPDéveloppeur toujours