5Revue du répertoire système de SharePoint
Revenons à des concepts un peu plus concrets. Maintenant que les notions d’architecture et de conception ont été vues, il est temps d’explorer la couche plus technique du moteur SharePoint. Bien qu’un site SharePoint soit entièrement défini par la notion de modèle et son contenu dans une base de données, l’interaction avec le framework ASP.NET est une réalité : Assemblées, Master Pages, WebPart, JavaScript, … Lors de l’installation de SharePoint 2007 sur un serveur, la majorité des composants nécessaires à son fonctionnement sont déployés dans un répertoire système : le fameux répertoire 12 Chemin : [Program Files]\Common Files\Microsoft Shared\web server extensions\12\
5.1Spécificité du répertoire 12
Ce répertoire est incontournable lors de tout développement SharePoint qu’il s’agisse d’ajouter de nouvelles images ou de créer de nouveaux modèles de site. En effet, ce répertoire est le fondement du framework SharePoint, un rapide parcours de ce répertoire et de ses sous-niveaux permettent de découvrir les dlls, les user contrôle, les pages d’administration ainsi que les fameux modèles de site ou Site Definition.
Le développement sur une plateforme SharePoint consiste plus à l’intégration de nouvelles fonctionnalités à cette plateforme que la création simple de nouveau site web ASP.NET. En pratique, il s’agit surtout de rajouter des composants web au moteur de génération et de gestion de Site. Les projets auront donc tous comme cible de compléter le système SharePoint, et par conséquence, de se déployer dans les sous-dossiers du répertoire « 12 »
5.2Identification des différents répertoires Son arborescence est spécifique, chaque sous-répertoire correspond à une zone de personnalisation ou d’extension possible des sites SharePoint.

Il peut être extrêmement pratique d’avoir un accès rapide au répertoire 12 sur un serveur SharePoint. Un simple raccourci sur le bureau est un plus mais d’autres astuces ne sont pas à négliger.
Variables d’environnement : PATH Ajouter le chemin vers 12/bin pour les appels vers les applicatifs de gestion comme le stsadm.exe

Barre d’outils de la barre des taches
Vous pouvez ajouter une barre de tache pointant directement le répertoire « 12 » ce qui donne accès à un mini explorateur, toujours bien pratique comme pour lancer des recherches par exemple.

Voici un détail des principaux répertoires concernant le développement :
ISAPI Il contient toutes le DLLS ainsi que les web services
LOGS
Il contient les fichiers de logs de la plateforme. Pratique en cas d’erreur ou de problème.
CONFIG Il contient l’ensemble de fichiers de configurations comme les fameux fichiers de trust que sont le minimal ou le medium par exemple
Bin il contient une partie de DLLS de bas niveau ainsi qu’une série d’utilitaire de gestion
Parmi les divers utilitaires se trouve le fameux. STSADM.exe Cet outil permet de gérer 90% des opérations d’administration de base de la ferme SharePoint via les lignes de commande.
Ressources Il contient les fichiers de traduction utilisé pour l’internationalisation des interfaces
Templates
Ce répertoire est l’un des plus importants car il contient tous les éléments constituant le rendu internet, les modèles de site ainsi que la partie applicative. C’est ici que le développeur devra le plus souvent déployer ses composants. Voici le détail des sous niveau du répertoire Templates
Il contient tous les contrôles utilisateurs de la plateforme.
Ces contrôles sont utilisés souvent pour les zones d’administration ainsi que les composants principaux des sites comme la brique de recherche des pages maitres.
Il contient les sous-répertoires de définition de toutes les fonctionnalités disponible de la plateforme.
Les « Features » ou fonctionnalités sont l’un des fondements de la personnalisation et l’extensibilité de SharePoint 2007. Ce sont des composants à base d’XML définissant tout nouvelle option ou paramétrages d’un site SharePoint. Elles seront largement couvertes par un prochain tutoriel
Ce répertoire fédère l’ensemble des images de la ferme. Ces les images sont disponibles via l'url /_layouts/images/xxx.gif
Contient principalement toutes les pages applicatives
Le répertoire « Layouts » est aussi une des originalités de la plateforme. SharePoint permet effectivement de créer et maintenir des milliers de sites. Afin d’uniformiser et de faciliter la maintenance de l’ensemble, chaque site SharePoint fait référence à un répertoire virtuel « _layouts » qui se retrouve toujours à la base de n’importe quelle site SharePoint. Toutes pages applicatives .NET stockés dans ce répertoire est ainsi accessible à tout niveau d’une collection de site SharePoint et en plus, utilise toujours le contexte locale du site web qui l’appelle
Par exemple, la page d’administration settings.aspx d’un site est à l’url
http://DnsDuSite/sites/ExempleDeSite/_layouts/settings.aspx
Il contient toutes les définitions de sites du serveur Web. Ce sont les véritables modèles de site qui permettent la génération des sites.
Il contient tous les fichiers XML de définition des types de contrôles ou composants utilisés sur les serveurs Web.
Un « Site Definition » ou modèle de site se compose de multiple fichier mais surtout d’un manifeste XML écris dans le Schéma CAML de SharePoint qui décrit l’ensemble de la création du site, de la master page jusqu’au type de contenu ou la WebPart à positionner comme les Features à utiliser.
Un tutoriel dédié viendra bientôt les expliquer en détail.
Le CAML est un schéma XML dédié à la conception de site SharePoint. Il est incontournable dans le développement SharePoint car il couvre de nombreuses opérations :
Définition des sites
Définition des vues de données
Définition des listes
Gestion des requêtes sur les données
Paramètre des Web services
…
Il signifie « Collaborativ Application Markup Language »
5.3Préparation d’une solution de développement
Pour reprendre une remarque du début du chapitre, le développement SharePoint consiste surtout à s’intégrer dans le modèle de génération de site. Soit en créant de nouveaux modèles de sites, soit en rajoutant de nouveaux composants ou fonctionnalités. En effet, un site SharePoint reste avant tout un site web en technologie ASP.NET. Cependant, vous ne pouvez pas recompiler l’ensemble, SharePoint a été pensé comme une plateforme extensible ainsi qu’un produit fini et prêt à l’emploi. Il vous faut donc intégrer des évolutions en utilisant ses interfaces d’extensibilité que ce soit par l’ajout de Features, de contrôles utilisateurs ou tout autres composants ASP.NET modulaires. Cependant, pour que la plateforme SharePoint puisse les utiliser il faut les déployer et les déclarer de manière bien précise. Une partie non négligeable du développement SharePoint consiste souvent à valider cette opération de déploiement. En effet, tant que le composant n’est pas correctement déployé et déclaré, il est assez difficile de l’utiliser dans une interface SharePoint, donc de le tester et le valider. Pour faciliter grandement cette opération, l’une des meilleurs techniques reste souvent de reproduire l’arborescence 12 dans sa propre solution Visual Studio Exemple :
 Ensuite, il vous suffit de rajouter dans un fichier de commande BAT ou CMD, la copie des fichiers et les quelques lignes de commande pour déclarer les composants pour automatiser l’opération.
Ce fichier de commande peut être piloté directement par les événements de compilation des projets Visual Studio. Les variables système comme le nom du projet et du composant compilé servent très bien de paramètres pour ces scripts de déploiement pour les rendre réutilisables par exemple.
Note :
6Pour aller plus loin…
Ce tutoriel a eu plus pour vocation de vous sensibiliser sur les bases de l’architecture SharePoint. Cependant, les notions d’utilisation et de paramétrage avancés n’ont pas été couvertes. Un bon développeur SharePoint est avant tout un développeur ASP.NET mais aussi un bon utilisateur des espaces web SharePoint voire un bon gestionnaire. Plus vous connaitrez le fonctionnement intrinsèque et l’utilisation de la plateforme SharePoint, mieux vous saurez l’étendre et la personnaliser. Cependant, il ne faut pas tomber dans le piège de re-développer des fonctionnalités déjà existantes simplement parce qu’elle n’est pas dans les plus connues.
Il faut bien se rappeler qu’il s’agit d’un outil de génération de sites, la maitrise de ses APIs et de son modèle déclaratif est une des premières étapes, mais dans tout les cas, SharePoint reste avant tout une véritable application ASP.NET et donc utilise les fondamentaux du développement .NET
7Rendez-vous dans le prochain atelier…
Dans l’atelier 2, « créer votre modèle de site SharePoint », vous allez mettre en place une solution complète sous Visual Studio d’un modèle de site SharePoint avec de son propres graphisme, sa mise en page et ses Webparts. Vous apprendrez également à le déployer ainsi que son extensibilité.

Requête d’interrogation type XPath.
Lexique

| Truc et astuce
|

| Zoom sur la technique
|

| Définition d’un concept avancé
|

| Référence MSDN
|

| Attention sécurité
|
Printemps 2009
Tutoriel Découverte de SharePoint 2007
Page sur
|